0.9.9 API documenation
Functions
GLM_EXT_quaternion_common

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > conjugate (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > inverse (qua< T, Q > const &q)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > isinf (qua< T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > isnan (qua< T, Q > const &x)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > lerp (qua< T, Q > const &x, qua< T, Q > const &y, T a)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > mix (qua< T, Q > const &x, qua< T, Q > const &y, T a)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > slerp (qua< T, Q > const &x, qua< T, Q > const &y, T a)
 

Detailed Description

Provides common functions for quaternion types.

Include <glm/ext/quaternion_common.hpp> to use the features of this extension.

See also
GLM_EXT_scalar_common
GLM_EXT_vector_common
GLM_EXT_quaternion_float
GLM_EXT_quaternion_double
GLM_EXT_quaternion_exponential
GLM_EXT_quaternion_geometric
GLM_EXT_quaternion_relational
GLM_EXT_quaternion_trigonometric
GLM_EXT_quaternion_transform

Function Documentation

◆ conjugate()

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

Returns the q conjugate.

Template Parameters
TA floating-point scalar type
QA value from qualifier enum

◆ inverse()

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

Returns the q inverse.

Template Parameters
TA floating-point scalar type
QA value from qualifier enum

◆ isinf()

GLM_FUNC_DECL vec<4, bool, Q> glm::isinf ( qua< T, Q > const &  x)

Returns true if x holds a positive infinity or negative infinity representation in the underlying implementation's set of floating point representations.

Returns false otherwise, including for implementations with no infinity representations.

Template Parameters
TA floating-point scalar type
QA value from qualifier enum

◆ isnan()

GLM_FUNC_DECL vec<4, bool, Q> glm::isnan ( qua< T, Q > const &  x)

Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of floating point representations.

Returns false otherwise, including for implementations with no NaN representations.

/!\ When using compiler fast math, this function may fail.

Template Parameters
TA floating-point scalar type
QA value from qualifier enum

◆ lerp()

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

Linear interpolation of two quaternions.

The interpolation is oriented.

Parameters
xA quaternion
yA quaternion
aInterpolation factor. The interpolation is defined in the range [0, 1].
Template Parameters
TA floating-point scalar type
QA value from qualifier enum

◆ mix()

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

Spherical linear interpolation of two quaternions.

The interpolation is oriented and the rotation is performed at constant speed. For short path spherical linear interpolation, use the slerp function.

Parameters
xA quaternion
yA quaternion
aInterpolation factor. The interpolation is defined beyond the range [0, 1].
Template Parameters
TA floating-point scalar type
QA value from qualifier enum
See also
- slerp(qua<T, Q> const& x, qua<T, Q> const& y, T const& a)

◆ slerp()

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

Spherical linear interpolation of two quaternions.

The interpolation always take the short path and the rotation is performed at constant speed.

Parameters
xA quaternion
yA quaternion
aInterpolation factor. The interpolation is defined beyond the range [0, 1].
Template Parameters
TA floating-point scalar type
QA value from qualifier enum