23#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
24# ifndef GLM_ENABLE_EXPERIMENTAL
25# pragma message("GLM: GLM_GTX_quaternion is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
27# pragma message("GLM: GLM_GTX_quaternion extension included")
39 template<
typename T, qualifier Q>
45 template<
typename T, qualifier Q>
46 GLM_FUNC_DECL vec<3, T, Q>
cross(
48 vec<3, T, Q>
const& v);
53 template<
typename T, qualifier Q>
54 GLM_FUNC_DECL vec<3, T, Q>
cross(
55 vec<3, T, Q>
const& v,
62 template<
typename T, qualifier Q>
63 GLM_FUNC_DECL qua<T, Q>
squad(
73 template<
typename T, qualifier Q>
75 qua<T, Q>
const& prev,
76 qua<T, Q>
const& curr,
77 qua<T, Q>
const& next);
89 template<
typename T, qualifier Q>
90 GLM_FUNC_DECL vec<3, T, Q>
rotate(
92 vec<3, T, Q>
const& v);
97 template<
typename T, qualifier Q>
98 GLM_FUNC_DECL vec<4, T, Q>
rotate(
100 vec<4, T, Q>
const& v);
105 template<
typename T, qualifier Q>
112 template<
typename T, qualifier Q>
119 template<
typename T, qualifier Q>
126 template<
typename T, qualifier Q>
133 template<
typename T, qualifier Q>
140 template<
typename T, qualifier Q>
149 template<
typename T, qualifier Q>
150 GLM_FUNC_DECL qua<T, Q>
fastMix(
160 template<
typename T, qualifier Q>
162 vec<3, T, Q>
const& orig,
163 vec<3, T, Q>
const& dest);
168 template<
typename T, qualifier Q>
169 GLM_FUNC_DECL GLM_CONSTEXPR T
length2(qua<T, Q>
const& q);
174#include "quaternion.inl"
GLM_FUNC_QUALIFIER vec< 3, T, Q > cross(vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
Definition func_geometric.inl:175
GLM_FUNC_DECL qua< T, Q > quat_cast(mat< 3, 3, T, Q > const &x)
Definition quaternion.inl:75
GLM_FUNC_DECL mat< 3, 3, T, Q > mat3_cast(qua< T, Q > const &x)
Definition quaternion.inl:41
GLM_FUNC_DECL mat< 4, 4, T, Q > mat4_cast(qua< T, Q > const &x)
Definition quaternion.inl:69
GLM_FUNC_DECL T length2(vec< L, T, Q > const &x)
Definition norm.inl:26
GLM_FUNC_DECL T extractRealComponent(qua< T, Q > const &q)
Definition quaternion.inl:63
GLM_FUNC_DECL qua< T, Q > toQuat(mat< 3, 3, T, Q > const &x)
Definition quaternion.hpp:127
GLM_FUNC_DECL qua< T, Q > fastMix(qua< T, Q > const &x, qua< T, Q > const &y, T const &a)
Definition quaternion.inl:116
GLM_FUNC_DECL mat< 3, 3, T, Q > toMat3(qua< T, Q > const &x)
Definition quaternion.hpp:113
GLM_FUNC_DECL qua< T, Q > intermediate(qua< T, Q > const &prev, qua< T, Q > const &curr, qua< T, Q > const &next)
Definition quaternion.inl:40
GLM_FUNC_DECL mat< 4, 4, T, Q > toMat4(qua< T, Q > const &x)
Definition quaternion.hpp:120
GLM_FUNC_DECL qua< T, Q > squad(qua< T, Q > const &q1, qua< T, Q > const &q2, qua< T, Q > const &s1, qua< T, Q > const &s2, T const &h)
Definition quaternion.inl:28
GLM_FUNC_DECL GLM_CONSTEXPR qua< T, Q > quat_identity()
Definition quaternion.inl:9
GLM_FUNC_DECL qua< T, Q > shortMix(qua< T, Q > const &x, qua< T, Q > const &y, T const &a)
Definition quaternion.inl:79
GLM_FUNC_DECL qua< T, Q > rotation(vec< 3, T, Q > const &orig, vec< 3, T, Q > const &dest)
Definition quaternion.inl:122
Core features
Definition common.hpp:21
Definition qualifier.hpp:36
Definition type_quat.hpp:20