GLM_GTX_dual_quaternion
GTX Extensions (Experimental)

## Typedefs

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

## Functions

template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > | dualquat_cast (tmat2x4< T, P > const &x)
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > | dualquat_cast (tmat3x4< T, P > const &x)
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > | inverse (tdualquat< T, P > const &q)
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > | lerp (tdualquat< T, P > const &x, tdualquat< T, P > const &y, T const &a)
template<typename T , precision P>
GLM_FUNC_DECL tmat2x4< T, P > | mat2x4_cast (tdualquat< T, P > const &x)
template<typename T , precision P>
GLM_FUNC_DECL tmat3x4< T, P > | mat3x4_cast (tdualquat< T, P > const &x)
template<typename T , precision P>
GLM_FUNC_DECL tdualquat< T, P > | normalize (tdualquat< T, P > const &q)

## 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

typedef highp_ddualquat ddualquat

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

See also
  GLM_GTX_dual_quaternion

Definition at line 283 of file dual_quaternion.hpp.

typedef highp_fdualquat dualquat

Dual-quaternion of floating-point numbers.

See also
  GLM_GTX_dual_quaternion

Definition at line 259 of file dual_quaternion.hpp.

typedef highp_fdualquat fdualquat

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

See also
  GLM_GTX_dual_quaternion

Definition at line 264 of file dual_quaternion.hpp.

typedef tdualquat<double, highp> highp_ddualquat

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

See also
  GLM_GTX_dual_quaternion

Definition at line 252 of file dual_quaternion.hpp.

typedef tdualquat<float, highp> highp_dualquat

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

See also
  GLM_GTX_dual_quaternion

Definition at line 220 of file dual_quaternion.hpp.

typedef tdualquat<float, highp> highp_fdualquat

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

See also
  GLM_GTX_dual_quaternion

Definition at line 236 of file dual_quaternion.hpp.

typedef tdualquat<double, lowp> lowp_ddualquat

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

See also
  GLM_GTX_dual_quaternion

Definition at line 242 of file dual_quaternion.hpp.

typedef tdualquat<float, lowp> lowp_dualquat

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

See also
  GLM_GTX_dual_quaternion

Definition at line 210 of file dual_quaternion.hpp.

typedef tdualquat<float, lowp> lowp_fdualquat

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

See also
  GLM_GTX_dual_quaternion

Definition at line 226 of file dual_quaternion.hpp.

typedef tdualquat<double, mediump> mediump_ddualquat

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

See also
  GLM_GTX_dual_quaternion

Definition at line 247 of file dual_quaternion.hpp.

typedef tdualquat<float, mediump> mediump_dualquat

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

See also
  GLM_GTX_dual_quaternion

Definition at line 215 of file dual_quaternion.hpp.

typedef tdualquat<float, mediump> mediump_fdualquat

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

See also
  GLM_GTX_dual_quaternion

Definition at line 231 of file dual_quaternion.hpp.

## Function Documentation

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

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

GLM_FUNC_DECL tdualquat<T, P> glm::inverse | ( | tdualquat< T, P > const & | q | ) |

Returns the q inverse.

See also
  GLM_GTX_dual_quaternion

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

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

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

GLM_FUNC_DECL tdualquat<T, P> glm::normalize | ( | tdualquat< T, P > const & | q | ) |

Returns the normalized quaternion.

See also
  GLM_GTX_dual_quaternion