Typedefs | Functions
GLM_GTC_quaternion
GTC Extensions (Stable)

Typedefs

typedef detail::tquat< double > dquat
 
typedef detail::tquat< float > fquat
 
typedef detail::tquat
< highp_float > 
highp_quat
 
typedef detail::tquat
< detail::half > 
hquat
 
typedef detail::tquat< lowp_float > lowp_quat
 
typedef detail::tquat
< mediump_float > 
mediump_quat
 
typedef detail::tquat< float > quat
 

Functions

template<typename valType >
valType angle (detail::tquat< valType > const &x)
 
template<typename valType >
detail::tquat< valType > angleAxis (valType const &angle, valType const &x, valType const &y, valType const &z)
 
template<typename valType >
detail::tquat< valType > angleAxis (valType const &angle, detail::tvec3< valType > const &axis)
 
template<typename valType >
detail::tvec3< valType > axis (detail::tquat< valType > const &x)
 
template<typename T >
detail::tquat< T > conjugate (detail::tquat< T > const &q)
 
template<typename T >
dot (detail::tquat< T > const &q1, detail::tquat< T > const &q2)
 
template<typename T >
detail::tvec3< T > eulerAngles (detail::tquat< T > const &x)
 
template<typename T >
detail::tquat< T > inverse (detail::tquat< T > const &q)
 
template<typename T >
length (detail::tquat< T > const &q)
 
template<typename T >
detail::tquat< T > lerp (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a)
 
template<typename T >
detail::tmat3x3< T > mat3_cast (detail::tquat< T > const &x)
 
template<typename T >
detail::tmat4x4< T > mat4_cast (detail::tquat< T > const &x)
 
template<typename T >
detail::tquat< T > mix (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a)
 
template<typename T >
detail::tquat< T > normalize (detail::tquat< T > const &q)
 
template<typename valType >
valType pitch (detail::tquat< valType > const &x)
 
template<typename T >
detail::tquat< T > quat_cast (detail::tmat3x3< T > const &x)
 
template<typename T >
detail::tquat< T > quat_cast (detail::tmat4x4< T > const &x)
 
template<typename valType >
valType roll (detail::tquat< valType > const &x)
 
template<typename T >
detail::tquat< T > rotate (detail::tquat< T > const &q, typename detail::tquat< T >::value_type const &angle, detail::tvec3< T > const &axis)
 
template<typename T >
detail::tquat< T > slerp (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a)
 
template<typename valType >
valType yaw (detail::tquat< valType > const &x)
 

Detailed Description

Defines a templated quaternion type and several quaternion operations.

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

Typedef Documentation

typedef detail::tquat<double> dquat

Quaternion of double-precision floating-point numbers.

See Also
GLM_GTC_quaternion

Definition at line 359 of file gtc/quaternion.hpp.

typedef detail::tquat<float> fquat

Quaternion of single-precision floating-point numbers.

See Also
GLM_GTC_quaternion

Definition at line 354 of file gtc/quaternion.hpp.

typedef detail::tquat<highp_float> highp_quat

Quaternion of high precision floating-point numbers.

See Also
GLM_GTC_quaternion

Definition at line 374 of file gtc/quaternion.hpp.

typedef detail::tquat<detail::half> hquat

Quaternion of half-precision floating-point numbers.

See Also
GLM_GTC_quaternion

Definition at line 349 of file gtc/quaternion.hpp.

typedef detail::tquat<lowp_float> lowp_quat

Quaternion of low precision floating-point numbers.

See Also
GLM_GTC_quaternion

Definition at line 364 of file gtc/quaternion.hpp.

typedef detail::tquat<mediump_float> mediump_quat

Quaternion of medium precision floating-point numbers.

See Also
GLM_GTC_quaternion

Definition at line 369 of file gtc/quaternion.hpp.

typedef detail::tquat<float> quat

Quaternion of floating-point numbers.

See Also
GLM_GTC_quaternion

Definition at line 344 of file gtc/quaternion.hpp.

Function Documentation

valType glm::angle ( detail::tquat< valType > const &  x)

Returns the quaternion rotation angle.

See Also
GLM_GTC_quaternion
detail::tquat<valType> glm::angleAxis ( valType const &  angle,
valType const &  x,
valType const &  y,
valType const &  z 
)

Build a quaternion from an angle and a normalized axis.

Parameters
angleAngle expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
xx component of the x-axis, x, y, z must be a normalized axis
yy component of the y-axis, x, y, z must be a normalized axis
zz component of the z-axis, x, y, z must be a normalized axis
See Also
GLM_GTC_quaternion
detail::tquat<valType> glm::angleAxis ( valType const &  angle,
detail::tvec3< valType > const &  axis 
)

Build a quaternion from an angle and a normalized axis.

Parameters
angleAngle expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
axisAxis of the quaternion, must be normalized.
See Also
GLM_GTC_quaternion
detail::tvec3<valType> glm::axis ( detail::tquat< valType > const &  x)

Returns the q rotation axis.

See Also
GLM_GTC_quaternion
detail::tquat<T> glm::conjugate ( detail::tquat< T > const &  q)

Returns the q conjugate.

See Also
GLM_GTC_quaternion
T glm::dot ( detail::tquat< T > const &  q1,
detail::tquat< T > const &  q2 
)

Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ...

See Also
GLM_GTC_quaternion
detail::tvec3<T> glm::eulerAngles ( detail::tquat< T > const &  x)

Returns euler angles, yitch as x, yaw as y, roll as z.

See Also
GLM_GTC_quaternion
detail::tquat<T> glm::inverse ( detail::tquat< T > const &  q)

Returns the q inverse.

See Also
GLM_GTC_quaternion
T glm::length ( detail::tquat< T > const &  q)

Returns the length of the quaternion.

See Also
GLM_GTC_quaternion
detail::tquat<T> glm::lerp ( detail::tquat< T > const &  x,
detail::tquat< T > const &  y,
T const &  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
TValue type used to build the quaternion. Supported: half, float or double.
See Also
GLM_GTC_quaternion
detail::tmat3x3<T> glm::mat3_cast ( detail::tquat< T > const &  x)

Converts a quaternion to a 3 * 3 matrix.

See Also
GLM_GTC_quaternion

Referenced by glm::toMat3().

detail::tmat4x4<T> glm::mat4_cast ( detail::tquat< T > const &  x)

Converts a quaternion to a 4 * 4 matrix.

See Also
GLM_GTC_quaternion

Referenced by glm::toMat4().

detail::tquat<T> glm::mix ( detail::tquat< T > const &  x,
detail::tquat< T > const &  y,
T const &  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
TValue type used to build the quaternion. Supported: half, float or double.
See Also
GLM_GTC_quaternion
- slerp(detail::tquat<T> const & x, detail::tquat<T> const & y, T const & a)
detail::tquat<T> glm::normalize ( detail::tquat< T > const &  q)

Returns the normalized quaternion.

See Also
GLM_GTC_quaternion
valType glm::pitch ( detail::tquat< valType > const &  x)

Returns pitch value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.

See Also
GLM_GTX_quaternion
detail::tquat<T> glm::quat_cast ( detail::tmat3x3< T > const &  x)

Converts a 3 * 3 matrix to a quaternion.

See Also
GLM_GTC_quaternion

Referenced by glm::toQuat().

detail::tquat<T> glm::quat_cast ( detail::tmat4x4< T > const &  x)

Converts a 4 * 4 matrix to a quaternion.

See Also
GLM_GTC_quaternion
valType glm::roll ( detail::tquat< valType > const &  x)

Returns roll value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.

See Also
GLM_GTX_quaternion
detail::tquat<T> glm::rotate ( detail::tquat< T > const &  q,
typename detail::tquat< T >::value_type const &  angle,
detail::tvec3< T > const &  axis 
)

Rotates a quaternion from an vector of 3 components axis and an angle.

Parameters
qSource orientation
angleAngle expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
axisAxis of the rotation, must be normalized.
See Also
GLM_GTC_quaternion
GLM_FUNC_QUALIFIER T slerp ( detail::tquat< T > const &  x,
detail::tquat< T > const &  y,
T const &  a 
)

Spherical linear interpolation of two quaternions.

Returns the slurp interpolation between 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
TValue type used to build the quaternion. Supported: half, float or double.
See Also
GLM_GTC_quaternion

Definition at line 73 of file compatibility.hpp.

References glm::mix().

valType glm::yaw ( detail::tquat< valType > const &  x)

Returns yaw value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.

See Also
GLM_GTX_quaternion