0.9.9 API documenation
Functions
GLM_GTX_quaternion

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > cross (qua< T, Q > const &q, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > cross (vec< 3, T, Q > const &v, qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T extractRealComponent (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > fastMix (qua< T, Q > const &x, qua< T, Q > const &y, T const &a)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > intermediate (qua< T, Q > const &prev, qua< T, Q > const &curr, qua< T, Q > const &next)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T length2 (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > quat_identity ()
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotate (qua< T, Q > const &q, vec< 3, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotate (qua< T, Q > const &q, vec< 4, T, Q > const &v)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > rotation (vec< 3, T, Q > const &orig, vec< 3, T, Q > const &dest)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > shortMix (qua< T, Q > const &x, qua< T, Q > const &y, T const &a)
 
template<typename T , qualifier Q>
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)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > toMat3 (qua< T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > toMat4 (qua< T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > toQuat (mat< 3, 3, T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > toQuat (mat< 4, 4, T, Q > const &x)
 

Detailed Description

Include <glm/gtx/quaternion.hpp> to use the features of this extension.

Extented quaternion types and functions

Function Documentation

◆ cross() [1/2]

GLM_FUNC_DECL vec<3, T, Q> glm::cross ( qua< T, Q > const &  q,
vec< 3, T, Q > const &  v 
)

Compute a cross product between a quaternion and a vector.

See also
GLM_GTX_quaternion

◆ cross() [2/2]

GLM_FUNC_DECL vec<3, T, Q> glm::cross ( vec< 3, T, Q > const &  v,
qua< T, Q > const &  q 
)

Compute a cross product between a vector and a quaternion.

See also
GLM_GTX_quaternion

◆ extractRealComponent()

GLM_FUNC_DECL T glm::extractRealComponent ( qua< T, Q > const &  q)

Extract the real component of a quaternion.

See also
GLM_GTX_quaternion

◆ fastMix()

GLM_FUNC_DECL qua<T, Q> glm::fastMix ( qua< T, Q > const &  x,
qua< T, Q > const &  y,
T const &  a 
)

Quaternion normalized linear interpolation.

See also
GLM_GTX_quaternion

◆ intermediate()

GLM_FUNC_DECL qua<T, Q> glm::intermediate ( qua< T, Q > const &  prev,
qua< T, Q > const &  curr,
qua< T, Q > const &  next 
)

Returns an intermediate control point for squad interpolation.

See also
GLM_GTX_quaternion

◆ length2()

GLM_FUNC_DECL T glm::length2 ( qua< T, Q > const &  q)

Returns the squared length of x.

See also
GLM_GTX_quaternion

◆ quat_identity()

GLM_FUNC_DECL qua<T, Q> glm::quat_identity ( )

Create an identity quaternion.

See also
GLM_GTX_quaternion

◆ rotate() [1/2]

GLM_FUNC_DECL vec<3, T, Q> glm::rotate ( qua< T, Q > const &  q,
vec< 3, T, Q > const &  v 
)

Returns quarternion square root.

See also
GLM_GTX_quaternion Rotates a 3 components vector by a quaternion.
GLM_GTX_quaternion

◆ rotate() [2/2]

GLM_FUNC_DECL vec<4, T, Q> glm::rotate ( qua< T, Q > const &  q,
vec< 4, T, Q > const &  v 
)

Rotates a 4 components vector by a quaternion.

See also
GLM_GTX_quaternion

◆ rotation()

GLM_FUNC_DECL qua<T, Q> glm::rotation ( vec< 3, T, Q > const &  orig,
vec< 3, T, Q > const &  dest 
)

Compute the rotation between two vectors.

Parameters
origvector, needs to be normalized
destvector, needs to be normalized
See also
GLM_GTX_quaternion

◆ shortMix()

GLM_FUNC_DECL qua<T, Q> glm::shortMix ( qua< T, Q > const &  x,
qua< T, Q > const &  y,
T const &  a 
)

Quaternion interpolation using the rotation short path.

See also
GLM_GTX_quaternion

◆ squad()

GLM_FUNC_DECL qua<T, Q> glm::squad ( qua< T, Q > const &  q1,
qua< T, Q > const &  q2,
qua< T, Q > const &  s1,
qua< T, Q > const &  s2,
T const &  h 
)

Compute a point on a path according squad equation.

q1 and q2 are control points; s1 and s2 are intermediate control points.

See also
GLM_GTX_quaternion

◆ toMat3()

GLM_FUNC_DECL mat<3, 3, T, Q> glm::toMat3 ( qua< T, Q > const &  x)

Converts a quaternion to a 3 * 3 matrix.

See also
GLM_GTX_quaternion

Definition at line 113 of file gtx/quaternion.hpp.

References glm::mat3_cast().

◆ toMat4()

GLM_FUNC_DECL mat<4, 4, T, Q> glm::toMat4 ( qua< T, Q > const &  x)

Converts a quaternion to a 4 * 4 matrix.

See also
GLM_GTX_quaternion

Definition at line 120 of file gtx/quaternion.hpp.

References glm::mat4_cast().

◆ toQuat() [1/2]

GLM_FUNC_DECL qua<T, Q> glm::toQuat ( mat< 3, 3, T, Q > const &  x)

Converts a 3 * 3 matrix to a quaternion.

See also
GLM_GTX_quaternion

Definition at line 127 of file gtx/quaternion.hpp.

References glm::quat_cast().

◆ toQuat() [2/2]

GLM_FUNC_DECL qua<T, Q> glm::toQuat ( mat< 4, 4, T, Q > const &  x)

Converts a 4 * 4 matrix to a quaternion.

See also
GLM_GTX_quaternion

Definition at line 134 of file gtx/quaternion.hpp.

References glm::quat_cast().