18#include "../geometric.hpp"
19#include "../exponential.hpp"
20#include "../ext/vector_relational.hpp"
22#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
23# pragma message("GLM: GLM_EXT_quaternion_geometric extension included")
37 template<
typename T, qualifier Q>
38 GLM_FUNC_DECL T
length(qua<T, Q>
const& q);
46 template<
typename T, qualifier Q>
47 GLM_FUNC_DECL qua<T, Q>
normalize(qua<T, Q>
const& q);
55 template<
typename T, qualifier Q>
56 GLM_FUNC_DECL T
dot(qua<T, Q>
const& x, qua<T, Q>
const& y);
64 template<
typename T, qualifier Q>
65 GLM_FUNC_QUALIFIER qua<T, Q>
cross(qua<T, Q>
const& q1, qua<T, Q>
const& q2);
70#include "quaternion_geometric.inl"
GLM_FUNC_DECL T dot(qua< T, Q > const &x, qua< T, Q > const &y)
Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ...
GLM_FUNC_DECL qua< T, Q > normalize(qua< T, Q > const &q)
Returns the normalized quaternion.
GLM_FUNC_QUALIFIER qua< T, Q > cross(qua< T, Q > const &q1, qua< T, Q > const &q2)
Compute a cross product.
GLM_FUNC_DECL T length(qua< T, Q > const &q)
Returns the norm of a quaternions.