47 #ifndef AI_MATRIX3X3_H_INC 48 #define AI_MATRIX3X3_H_INC 54 template <
typename T>
class aiMatrix4x4t;
55 template <
typename T>
class aiVector2t;
66 template <
typename TReal>
72 a1(static_cast<TReal>(1.0f)), a2(), a3(),
73 b1(), b2(static_cast<TReal>(1.0f)), b3(),
74 c1(), c2(), c3(static_cast<TReal>(1.0f)) {}
76 aiMatrix3x3t ( TReal _a1, TReal _a2, TReal _a3,
77 TReal _b1, TReal _b2, TReal _b3,
78 TReal _c1, TReal _c2, TReal _c3) :
79 a1(_a1), a2(_a2), a3(_a3),
80 b1(_b1), b2(_b2), b3(_b3),
81 c1(_c1), c2(_c2), c3(_c3)
87 aiMatrix3x3t& operator *= (
const aiMatrix3x3t& m);
88 aiMatrix3x3t operator * (
const aiMatrix3x3t& m)
const;
91 TReal* operator[] (
unsigned int p_iIndex);
92 const TReal* operator[] (
unsigned int p_iIndex)
const;
95 bool operator== (
const aiMatrix4x4t<TReal>& m)
const;
96 bool operator!= (
const aiMatrix4x4t<TReal>& m)
const;
98 bool Equal(
const aiMatrix4x4t<TReal>& m, TReal
epsilon = 1
e-6)
const;
100 template <
typename TOther>
101 operator aiMatrix3x3t<TOther> ()
const;
109 explicit aiMatrix3x3t(
const aiMatrix4x4t<TReal>& pMatrix);
114 aiMatrix3x3t& Transpose();
121 aiMatrix3x3t& Inverse();
122 TReal Determinant()
const;
131 static aiMatrix3x3t& RotationZ(TReal a, aiMatrix3x3t& out);
141 static aiMatrix3x3t& Rotation( TReal a,
142 const aiVector3t<TReal>&
axis, aiMatrix3x3t& out);
150 static aiMatrix3x3t& Translation(
const aiVector2t<TReal>& v, aiMatrix3x3t& out);
161 static aiMatrix3x3t& FromToMatrix(
const aiVector3t<TReal>& from,
162 const aiVector3t<TReal>& to, aiMatrix3x3t& out);
180 #endif // __cplusplus 182 #endif // AI_MATRIX3X3_H_INC Assimp build configuration setup.
GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon()
Return the epsilon constant for floating point types.
Definition: scalar_constants.inl:6
GLM_FUNC_DECL GLM_CONSTEXPR genType e()
Return e constant.
Definition: constants.inl:102
GLM_FUNC_DECL vec< 3, T, Q > axis(qua< T, Q > const &x)
Returns the q rotation axis.
Definition: quaternion_trigonometric.inl:17
Definition: matrix3x3.h:174