KudanAR - iOS  1.6.0
GLM_GTX_dual_quaternion

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

Classes

struct  glm::tdualquat< T, P >
 

Typedefs

typedef tdualquat< float, lowp > glm::lowp_dualquat
 
typedef tdualquat< float, mediump > glm::mediump_dualquat
 
typedef tdualquat< float, highp > glm::highp_dualquat
 
typedef tdualquat< float, lowp > glm::lowp_fdualquat
 
typedef tdualquat< float, mediump > glm::mediump_fdualquat
 
typedef tdualquat< float, highp > glm::highp_fdualquat
 
typedef tdualquat< double, lowp > glm::lowp_ddualquat
 
typedef tdualquat< double, mediump > glm::mediump_ddualquat
 
typedef tdualquat< double, highp > glm::highp_ddualquat
 
typedef highp_fdualquat glm::dualquat
 
typedef highp_fdualquat glm::fdualquat
 
typedef highp_ddualquat glm::ddualquat
 

Functions

template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > glm::operator+ (tdualquat< T, P > const &q, tdualquat< T, P > const &p)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > glm::operator* (tdualquat< T, P > const &q, tdualquat< T, P > const &p)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > glm::operator* (tdualquat< T, P > const &q, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > glm::operator* (T const &s, tdualquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > glm::operator/ (tdualquat< T, P > const &q, T const &s)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > glm::normalize (tdualquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > glm::lerp (tdualquat< T, P > const &x, tdualquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > glm::inverse (tdualquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P > glm::mat2x4_cast (tdualquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P > glm::mat3x4_cast (tdualquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > glm::dualquat_cast (tmat2x4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > glm::dualquat_cast (tmat3x4< T, P > const &x)
 

Detailed Description

Defines a templated dual-quaternion type and several dual-quaternion operations.

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

Typedef Documentation

◆ ddualquat

Dual-quaternion of default double-precision floating-point numbers.

See also
GLM_GTX_dual_quaternion

◆ dualquat

Dual-quaternion of floating-point numbers.

See also
GLM_GTX_dual_quaternion

◆ fdualquat

Dual-quaternion of single-precision floating-point numbers.

See also
GLM_GTX_dual_quaternion

◆ highp_ddualquat

typedef tdualquat<double, highp> glm::highp_ddualquat

Dual-quaternion of high double-precision floating-point numbers.

See also
GLM_GTX_dual_quaternion

◆ highp_dualquat

typedef tdualquat<float, highp> glm::highp_dualquat

Dual-quaternion of high single-precision floating-point numbers.

See also
GLM_GTX_dual_quaternion

◆ highp_fdualquat

typedef tdualquat<float, highp> glm::highp_fdualquat

Dual-quaternion of high single-precision floating-point numbers.

See also
GLM_GTX_dual_quaternion

◆ lowp_ddualquat

typedef tdualquat<double, lowp> glm::lowp_ddualquat

Dual-quaternion of low double-precision floating-point numbers.

See also
GLM_GTX_dual_quaternion

◆ lowp_dualquat

typedef tdualquat<float, lowp> glm::lowp_dualquat

Dual-quaternion of low single-precision floating-point numbers.

See also
GLM_GTX_dual_quaternion

◆ lowp_fdualquat

typedef tdualquat<float, lowp> glm::lowp_fdualquat

Dual-quaternion of low single-precision floating-point numbers.

See also
GLM_GTX_dual_quaternion

◆ mediump_ddualquat

typedef tdualquat<double, mediump> glm::mediump_ddualquat

Dual-quaternion of medium double-precision floating-point numbers.

See also
GLM_GTX_dual_quaternion

◆ mediump_dualquat

typedef tdualquat<float, mediump> glm::mediump_dualquat

Dual-quaternion of medium single-precision floating-point numbers.

See also
GLM_GTX_dual_quaternion

◆ mediump_fdualquat

typedef tdualquat<float, mediump> glm::mediump_fdualquat

Dual-quaternion of medium single-precision floating-point numbers.

See also
GLM_GTX_dual_quaternion

Function Documentation

◆ dualquat_cast() [1/2]

template<typename T , precision P>
GLM_FUNC_DECL tdualquat<T, P> glm::dualquat_cast ( tmat2x4< T, P > const &  x)

Converts a 2 * 4 matrix (matrix which holds real and dual parts) to a quaternion.

See also
GLM_GTX_dual_quaternion

◆ dualquat_cast() [2/2]

template<typename T , precision P>
GLM_FUNC_DECL tdualquat<T, P> glm::dualquat_cast ( tmat3x4< T, P > const &  x)

Converts a 3 * 4 matrix (augmented matrix rotation + translation) to a quaternion.

See also
GLM_GTX_dual_quaternion

◆ inverse()

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

Returns the q inverse.

See also
GLM_GTX_dual_quaternion

◆ lerp()

template<typename T , precision P>
GLM_FUNC_DECL tdualquat<T, P> glm::lerp ( tdualquat< T, P > const &  x,
tdualquat< T, P > const &  y,
T const &  a 
)

Returns the linear interpolation of two dual quaternion.

See also
gtc_dual_quaternion

◆ mat2x4_cast()

template<typename T , precision P>
GLM_FUNC_DECL tmat2x4<T, P> glm::mat2x4_cast ( tdualquat< T, P > const &  x)

Converts a quaternion to a 2 * 4 matrix.

See also
GLM_GTX_dual_quaternion

◆ mat3x4_cast()

template<typename T , precision P>
GLM_FUNC_DECL tmat3x4<T, P> glm::mat3x4_cast ( tdualquat< T, P > const &  x)

Converts a quaternion to a 3 * 4 matrix.

See also
GLM_GTX_dual_quaternion

◆ normalize()

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

Returns the normalized quaternion.

See also
GLM_GTX_dual_quaternion