Functions
GLM_GTC_quaternion

Defines a templated quaternion type and several quaternion operations. More...

Collaboration diagram for GLM_GTC_quaternion:

Functions

template<typename T , precision P>
GLM_FUNC_DECL T glm::angle (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, Pglm::angleAxis (T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec3< T, Pglm::axis (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, Pglm::conjugate (detail::tquat< T, P > const &q)
 
template<typename T , precision P, template< typename, precision > class quatType>
GLM_FUNC_DECL T glm::dot (quatType< T, P > const &x, quatType< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4< bool, Pglm::equal (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec3< T, Pglm::eulerAngles (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4< bool, Pglm::greaterThan (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4< bool, Pglm::greaterThanEqual (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, Pglm::inverse (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL T glm::length (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, Pglm::lerp (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4< bool, Pglm::lessThan (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4< bool, Pglm::lessThanEqual (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat3x3< T, Pglm::mat3_cast (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4< T, Pglm::mat4_cast (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, Pglm::mix (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, Pglm::normalize (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4< bool, Pglm::notEqual (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T glm::pitch (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, Pglm::quat_cast (detail::tmat3x3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, Pglm::quat_cast (detail::tmat4x4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL T glm::roll (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, Pglm::rotate (detail::tquat< T, P > const &q, T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, Pglm::slerp (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 Returns the slurp interpolation between two quaternions. More...
 
template<typename T , precision P>
GLM_FUNC_DECL T glm::yaw (detail::tquat< T, P > 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.

Function Documentation

◆ angle()

template<typename T , precision P>
GLM_FUNC_DECL T glm::angle ( detail::tquat< T, P > const &  x)

Returns the quaternion rotation angle.

See also
GLM_GTC_quaternion

◆ angleAxis()

template<typename T , precision P>
GLM_FUNC_DECL detail::tquat<T, P> glm::angleAxis ( T const &  angle,
detail::tvec3< T, P > const &  axis 
)

Build a quaternion from an angle and a normalized axis.

Parameters
angleAngle expressed in radians.
axisAxis of the quaternion, must be normalized.
See also
GLM_GTC_quaternion

◆ axis()

template<typename T , precision P>
GLM_FUNC_DECL detail::tvec3<T, P> glm::axis ( detail::tquat< T, P > const &  x)

Returns the q rotation axis.

See also
GLM_GTC_quaternion

◆ conjugate()

template<typename T , precision P>
GLM_FUNC_DECL detail::tquat<T, P> glm::conjugate ( detail::tquat< T, P > const &  q)

Returns the q conjugate.

See also
GLM_GTC_quaternion

◆ dot()

template<typename T , precision P, template< typename, precision > class quatType>
GLM_FUNC_DECL T glm::dot ( quatType< T, P > const &  x,
quatType< T, P > const &  y 
)

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

See also
GLM_GTC_quaternion

◆ equal()

template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4<bool, P> glm::equal ( detail::tquat< T, P > const &  x,
detail::tquat< T, P > const &  y 
)

Returns the component-wise comparison of result x == y.

Template Parameters
quatTypeFloating-point quaternion types.
See also
GLM_GTC_quaternion

◆ eulerAngles()

template<typename T , precision P>
GLM_FUNC_DECL detail::tvec3<T, P> glm::eulerAngles ( detail::tquat< T, P > const &  x)

Returns euler angles, yitch as x, yaw as y, roll as z. The result is expressed in radians if GLM_FORCE_RADIANS is defined or degrees otherwise.

See also
GLM_GTC_quaternion

◆ greaterThan()

template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4<bool, P> glm::greaterThan ( detail::tquat< T, P > const &  x,
detail::tquat< T, P > const &  y 
)

Returns the component-wise comparison of result x > y.

Template Parameters
quatTypeFloating-point quaternion types.
See also
GLM_GTC_quaternion

◆ greaterThanEqual()

template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4<bool, P> glm::greaterThanEqual ( detail::tquat< T, P > const &  x,
detail::tquat< T, P > const &  y 
)

Returns the component-wise comparison of result x >= y.

Template Parameters
quatTypeFloating-point quaternion types.
See also
GLM_GTC_quaternion

◆ inverse()

template<typename T , precision P>
GLM_FUNC_DECL detail::tquat<T, P> glm::inverse ( detail::tquat< T, P > const &  q)

Returns the q inverse.

See also
GLM_GTC_quaternion

◆ length()

template<typename T , precision P>
GLM_FUNC_DECL T glm::length ( detail::tquat< T, P > const &  q)

Returns the length of the quaternion.

See also
GLM_GTC_quaternion

◆ lerp()

template<typename T , precision P>
GLM_FUNC_DECL detail::tquat<T, P> glm::lerp ( detail::tquat< T, P > const &  x,
detail::tquat< T, P > 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

◆ lessThan()

template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4<bool, P> glm::lessThan ( detail::tquat< T, P > const &  x,
detail::tquat< T, P > const &  y 
)

Returns the component-wise comparison result of x < y.

Template Parameters
quatTypeFloating-point quaternion types.
See also
GLM_GTC_quaternion

◆ lessThanEqual()

template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4<bool, P> glm::lessThanEqual ( detail::tquat< T, P > const &  x,
detail::tquat< T, P > const &  y 
)

Returns the component-wise comparison of result x <= y.

Template Parameters
quatTypeFloating-point quaternion types.
See also
GLM_GTC_quaternion

◆ mat3_cast()

template<typename T , precision P>
GLM_FUNC_DECL detail::tmat3x3<T, P> glm::mat3_cast ( detail::tquat< T, P > const &  x)

Converts a quaternion to a 3 * 3 matrix.

See also
GLM_GTC_quaternion

◆ mat4_cast()

template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4<T, P> glm::mat4_cast ( detail::tquat< T, P > const &  x)

Converts a quaternion to a 4 * 4 matrix.

See also
GLM_GTC_quaternion

◆ mix()

template<typename T , precision P>
GLM_FUNC_DECL detail::tquat<T, P> glm::mix ( detail::tquat< T, P > const &  x,
detail::tquat< T, P > 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, P> const & x, detail::tquat<T, P> const & y, T const & a)

◆ normalize()

template<typename T , precision P>
GLM_FUNC_DECL detail::tquat<T, P> glm::normalize ( detail::tquat< T, P > const &  q)

Returns the normalized quaternion.

See also
GLM_GTC_quaternion

◆ notEqual()

template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4<bool, P> glm::notEqual ( detail::tquat< T, P > const &  x,
detail::tquat< T, P > const &  y 
)

Returns the component-wise comparison of result x != y.

Template Parameters
quatTypeFloating-point quaternion types.
See also
GLM_GTC_quaternion

◆ pitch()

template<typename T , precision P>
GLM_FUNC_DECL T glm::pitch ( detail::tquat< T, P > const &  x)

Returns pitch value of euler angles expressed in radians.

See also
GLM_GTX_quaternion

◆ quat_cast() [1/2]

template<typename T , precision P>
GLM_FUNC_DECL detail::tquat<T, P> glm::quat_cast ( detail::tmat3x3< T, P > const &  x)

Converts a 3 * 3 matrix to a quaternion.

See also
GLM_GTC_quaternion

◆ quat_cast() [2/2]

template<typename T , precision P>
GLM_FUNC_DECL detail::tquat<T, P> glm::quat_cast ( detail::tmat4x4< T, P > const &  x)

Converts a 4 * 4 matrix to a quaternion.

See also
GLM_GTC_quaternion

◆ roll()

template<typename T , precision P>
GLM_FUNC_DECL T glm::roll ( detail::tquat< T, P > const &  x)

Returns roll value of euler angles expressed in radians.

See also
GLM_GTX_quaternion

◆ rotate()

template<typename T , precision P>
GLM_FUNC_DECL detail::tquat<T, P> glm::rotate ( detail::tquat< T, P > const &  q,
T const &  angle,
detail::tvec3< T, P > const &  axis 
)

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

Parameters
qSource orientation
angleAngle expressed in radians.
axisAxis of the rotation
See also
GLM_GTC_quaternion

◆ slerp()

template<typename T , precision P>
GLM_FUNC_DECL detail::tquat<T, P> glm::slerp ( detail::tquat< T, P > const &  x,
detail::tquat< T, P > const &  y,
T const &  a 
)

Returns the slurp interpolation between two quaternions.

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

Definition at line 72 of file compatibility.hpp.

◆ yaw()

template<typename T , precision P>
GLM_FUNC_DECL T glm::yaw ( detail::tquat< T, P > const &  x)

Returns yaw value of euler angles expressed in radians.

See also
GLM_GTX_quaternion


rtabmap
Author(s): Mathieu Labbe
autogenerated on Mon Jan 23 2023 03:38:59