46 #ifndef AI_QUATERNION_H_INC 47 #define AI_QUATERNION_H_INC 53 template <
typename TReal>
class aiVector3t;
54 template <
typename TReal>
class aiMatrix3x3t;
58 template <
typename TReal>
62 aiQuaterniont() : w(1.0), x(), y(), z() {}
63 aiQuaterniont(TReal pw, TReal px, TReal py, TReal pz)
64 : w(pw), x(px), y(py), z(pz) {}
67 explicit aiQuaterniont(
const aiMatrix3x3t<TReal>& pRotMatrix);
70 aiQuaterniont( TReal rotx, TReal roty, TReal rotz);
73 aiQuaterniont( aiVector3t<TReal>
axis, TReal
angle);
76 explicit aiQuaterniont( aiVector3t<TReal> normalized);
79 aiMatrix3x3t<TReal> GetMatrix()
const;
83 bool operator== (
const aiQuaterniont& o)
const;
84 bool operator!= (
const aiQuaterniont& o)
const;
86 bool Equal(
const aiQuaterniont& o, TReal
epsilon = 1
e-6)
const;
91 aiQuaterniont& Normalize();
94 aiQuaterniont& Conjugate ();
97 aiVector3t<TReal> Rotate (
const aiVector3t<TReal>& in);
100 aiQuaterniont operator* (
const aiQuaterniont& two)
const;
110 static void Interpolate( aiQuaterniont& pOut,
const aiQuaterniont& pStart,
111 const aiQuaterniont& pEnd, TReal pFactor);
129 #endif // AI_QUATERNION_H_INC GLM_FUNC_DECL T angle(qua< T, Q > const &x)
Returns the quaternion rotation angle.
Definition: quaternion_trigonometric.inl:6
Definition: quaternion.h:123
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