0.9.7
Functions

Functions

template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > cross (tquat< T, P > const &q, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > cross (tvec3< T, P > const &v, tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > exp (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL T extractRealComponent (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > fastMix (tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > intermediate (tquat< T, P > const &prev, tquat< T, P > const &curr, tquat< T, P > const &next)
 
template<typename T , precision P>
GLM_FUNC_DECL T length2 (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > log (tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > pow (tquat< T, P > const &x, T const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec3< T, P > rotate (tquat< T, P > const &q, tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tvec4< T, P > rotate (tquat< T, P > const &q, tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > rotation (tvec3< T, P > const &orig, tvec3< T, P > const &dest)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > shortMix (tquat< T, P > const &x, tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > squad (tquat< T, P > const &q1, tquat< T, P > const &q2, tquat< T, P > const &s1, tquat< T, P > const &s2, T const &h)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x3< T, P > toMat3 (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat4x4< T, P > toMat4 (tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > toQuat (tmat3x3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tquat< T, P > toQuat (tmat4x4< T, P > const &x)
 

Detailed Description

Extented quaternion types and functions.

<glm/gtx/quaternion.hpp> need to be included to use these functionalities.

Function Documentation

GLM_FUNC_DECL tvec3<T, P> glm::cross ( tquat< T, P > const &  q,
tvec3< T, P > const &  v 
)

Compute a cross product between a quaternion and a vector.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL tvec3<T, P> glm::cross ( tvec3< T, P > const &  v,
tquat< T, P > const &  q 
)

Compute a cross product between a vector and a quaternion.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL tquat<T, P> glm::exp ( tquat< T, P > const &  q)

Returns a exp of a quaternion.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL T glm::extractRealComponent ( tquat< T, P > const &  q)

Extract the real component of a quaternion.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL tquat<T, P> glm::fastMix ( tquat< T, P > const &  x,
tquat< T, P > const &  y,
T const &  a 
)

Quaternion normalized linear interpolation.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL tquat<T, P> glm::intermediate ( tquat< T, P > const &  prev,
tquat< T, P > const &  curr,
tquat< T, P > const &  next 
)

Returns an intermediate control point for squad interpolation.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL T glm::length2 ( tquat< T, P > const &  q)

Returns the squared length of x.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL tquat<T, P> glm::log ( tquat< T, P > const &  q)

Returns a log of a quaternion.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL tquat<T, P> glm::pow ( tquat< T, P > const &  x,
T const &  y 
)

Returns x raised to the y power.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL tvec3<T, P> glm::rotate ( tquat< T, P > const &  q,
tvec3< T, P > const &  v 
)

Returns quarternion square root.

See also
GLM_GTX_quaternion Rotates a 3 components vector by a quaternion.
GLM_GTX_quaternion
GLM_FUNC_DECL tvec4<T, P> glm::rotate ( tquat< T, P > const &  q,
tvec4< T, P > const &  v 
)

Rotates a 4 components vector by a quaternion.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL tquat<T, P> glm::rotation ( tvec3< T, P > const &  orig,
tvec3< T, P > const &  dest 
)

Compute the rotation between two vectors.

param orig vector, needs to be normalized param dest vector, needs to be normalized

See also
GLM_GTX_quaternion
GLM_FUNC_DECL tquat<T, P> glm::shortMix ( tquat< T, P > const &  x,
tquat< T, P > const &  y,
T const &  a 
)

Quaternion interpolation using the rotation short path.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL tquat<T, P> glm::squad ( tquat< T, P > const &  q1,
tquat< T, P > const &  q2,
tquat< T, P > const &  s1,
tquat< T, P > 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
GLM_FUNC_DECL tmat3x3<T, P> glm::toMat3 ( tquat< T, P > const &  x)

Converts a quaternion to a 3 * 3 matrix.

See also
GLM_GTX_quaternion

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

References glm::mat3_cast().

GLM_FUNC_DECL tmat4x4<T, P> glm::toMat4 ( tquat< T, P > const &  x)

Converts a quaternion to a 4 * 4 matrix.

See also
GLM_GTX_quaternion

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

References glm::mat4_cast().

GLM_FUNC_DECL tquat<T, P> glm::toQuat ( tmat3x3< T, P > const &  x)

Converts a 3 * 3 matrix to a quaternion.

See also
GLM_GTX_quaternion

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

References glm::quat_cast().

GLM_FUNC_DECL tquat<T, P> glm::toQuat ( tmat4x4< T, P > const &  x)

Converts a 4 * 4 matrix to a quaternion.

See also
GLM_GTX_quaternion

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

References glm::quat_cast().