| 12345678910111213141516171819202122232425262728293031323334 |
- export module Core.Matrix;
- export import Core.Quaternion;
- export namespace Core {
- class Matrix final {
- Vector4 data[4];
- public:
- Matrix() noexcept;
- Matrix& unit() noexcept;
- Matrix& set(size_t index, const Vector4& v) noexcept;
- Matrix transpose() const noexcept;
- const float* getValues() const noexcept;
- Matrix& operator*=(const Matrix& other) noexcept;
- Matrix operator*(const Matrix& other) const noexcept;
- Vector3 operator*(const Vector3& v) const noexcept;
- Matrix& scale(const Vector3& v) noexcept;
- Matrix& scale(float f) noexcept;
- Matrix& translate(const Vector3& v) noexcept;
- Matrix& translateX(float tx) noexcept;
- Matrix& translateY(float ty) noexcept;
- Matrix& translateZ(float tz) noexcept;
- Matrix& translateTo(const Vector3& v) noexcept;
- Matrix& rotateX(float radians) noexcept;
- Matrix& rotateY(float radians) noexcept;
- Matrix& rotateZ(float radians) noexcept;
- Matrix& rotate(const Quaternion& q) noexcept;
- size_t toString(StringBase& b) const noexcept;
- private:
- Matrix& rotate(float degrees, int a, int b) noexcept;
- };
- }
|