GLM_GTX_dual_quaternion
Experimental extensions

## Typedefs

typedef highp_ddualquat | ddualquat
| Dual-quaternion of default double-qualifier floating-point numbers. More...
typedef highp_fdualquat | dualquat
| Dual-quaternion of floating-point numbers. More...
typedef highp_fdualquat | fdualquat
| Dual-quaternion of single-qualifier floating-point numbers. More...
typedef tdualquat< double, highp > | highp_ddualquat
| Dual-quaternion of high double-qualifier floating-point numbers. More...
typedef tdualquat< float, highp > | highp_dualquat
| Dual-quaternion of high single-qualifier floating-point numbers. More...
typedef tdualquat< float, highp > | highp_fdualquat
| Dual-quaternion of high single-qualifier floating-point numbers. More...
typedef tdualquat< double, lowp > | lowp_ddualquat
| Dual-quaternion of low double-qualifier floating-point numbers. More...
typedef tdualquat< float, lowp > | lowp_dualquat
| Dual-quaternion of low single-qualifier floating-point numbers. More...
typedef tdualquat< float, lowp > | lowp_fdualquat
| Dual-quaternion of low single-qualifier floating-point numbers. More...
typedef tdualquat< double, mediump > | mediump_ddualquat
| Dual-quaternion of medium double-qualifier floating-point numbers. More...
typedef tdualquat< float, mediump > | mediump_dualquat
| Dual-quaternion of medium single-qualifier floating-point numbers. More...
typedef tdualquat< float, mediump > | mediump_fdualquat
| Dual-quaternion of medium single-qualifier floating-point numbers. More...

## Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > | dual_quat_identity ()
| Creates an identity dual quaternion. More...
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > | dualquat_cast (mat< 2, 4, T, Q > const &x)
| Converts a 2 * 4 matrix (matrix which holds real and dual parts) to a quaternion. More...
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > | dualquat_cast (mat< 3, 4, T, Q > const &x)
| Converts a 3 * 4 matrix (augmented matrix rotation + translation) to a quaternion. More...
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > | inverse (tdualquat< T, Q > const &q)
| Returns the q inverse. More...
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > | lerp (tdualquat< T, Q > const &x, tdualquat< T, Q > const &y, T const &a)
| Returns the linear interpolation of two dual quaternion. More...
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > | mat2x4_cast (tdualquat< T, Q > const &x)
| Converts a quaternion to a 2 * 4 matrix. More...
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > | mat3x4_cast (tdualquat< T, Q > const &x)
| Converts a quaternion to a 3 * 4 matrix. More...
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > | normalize (tdualquat< T, Q > const &q)
| Returns the normalized quaternion. More...

## Detailed Description

Include <glm/gtx/dual_quaternion.hpp> to use the features of this extension.

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

## Typedef Documentation

## ddualquat

typedef highp_ddualquat ddualquat

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

See also
  GLM_GTX_dual_quaternion

Definition at line 258 of file dual_quaternion.hpp.

## dualquat

typedef highp_fdualquat dualquat

Dual-quaternion of floating-point numbers.

See also
  GLM_GTX_dual_quaternion

Definition at line 234 of file dual_quaternion.hpp.

## fdualquat

typedef highp_fdualquat fdualquat

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

See also
  GLM_GTX_dual_quaternion

Definition at line 239 of file dual_quaternion.hpp.

## highp_ddualquat

typedef tdualquat<double, highp> highp_ddualquat

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

See also
  GLM_GTX_dual_quaternion

Definition at line 227 of file dual_quaternion.hpp.

## highp_dualquat

typedef tdualquat<float, highp> highp_dualquat

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

See also
  GLM_GTX_dual_quaternion

Definition at line 195 of file dual_quaternion.hpp.

## highp_fdualquat

typedef tdualquat<float, highp> highp_fdualquat

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

See also
  GLM_GTX_dual_quaternion

Definition at line 211 of file dual_quaternion.hpp.

## lowp_ddualquat

typedef tdualquat<double, lowp> lowp_ddualquat

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

See also
  GLM_GTX_dual_quaternion

Definition at line 217 of file dual_quaternion.hpp.

## lowp_dualquat

typedef tdualquat<float, lowp> lowp_dualquat

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

See also
  GLM_GTX_dual_quaternion

Definition at line 185 of file dual_quaternion.hpp.

## lowp_fdualquat

typedef tdualquat<float, lowp> lowp_fdualquat

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

See also
  GLM_GTX_dual_quaternion

Definition at line 201 of file dual_quaternion.hpp.

## mediump_ddualquat

typedef tdualquat<double, mediump> mediump_ddualquat

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

See also
  GLM_GTX_dual_quaternion

Definition at line 222 of file dual_quaternion.hpp.

## mediump_dualquat

typedef tdualquat<float, mediump> mediump_dualquat

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

See also
  GLM_GTX_dual_quaternion

Definition at line 190 of file dual_quaternion.hpp.

## mediump_fdualquat

typedef tdualquat<float, mediump> mediump_fdualquat

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

See also
  GLM_GTX_dual_quaternion

Definition at line 206 of file dual_quaternion.hpp.

## Function Documentation

## dual_quat_identity()

GLM_FUNC_DECL tdualquat<T, Q> glm::dual_quat_identity | ( |  | ) |

Creates an identity dual quaternion.

See also
  GLM_GTX_dual_quaternion

## dualquat_cast() [1/2]

GLM_FUNC_DECL tdualquat<T, Q> glm::dualquat_cast | ( | mat< 2, 4, T, Q > 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]

GLM_FUNC_DECL tdualquat<T, Q> glm::dualquat_cast | ( | mat< 3, 4, T, Q > const & | x | ) |

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

See also
  GLM_GTX_dual_quaternion

## inverse()

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

Returns the q inverse.

See also
  GLM_GTX_dual_quaternion

## lerp()

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

Returns the linear interpolation of two dual quaternion.

See also
  gtc_dual_quaternion

## mat2x4_cast()

GLM_FUNC_DECL mat<2, 4, T, Q> glm::mat2x4_cast | ( | tdualquat< T, Q > const & | x | ) |

Converts a quaternion to a 2 * 4 matrix.

See also
  GLM_GTX_dual_quaternion

## mat3x4_cast()

GLM_FUNC_DECL mat<3, 4, T, Q> glm::mat3x4_cast | ( | tdualquat< T, Q > const & | x | ) |

Converts a quaternion to a 3 * 4 matrix.

See also
  GLM_GTX_dual_quaternion

## normalize()

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

Returns the normalized quaternion.

See also
  GLM_GTX_dual_quaternion