| 0.9.9 API documenation

Functions
GLM_GTX_euler_angles
Experimental extensions

## Functions
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | derivedEulerAngleX (T const &angleX, T const &angularVelocityX)
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | derivedEulerAngleY (T const &angleY, T const &angularVelocityY)
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | derivedEulerAngleZ (T const &angleZ, T const &angularVelocityZ)
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleX (T const &angleX)
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleXY (T const &angleX, T const &angleY)
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleXYX (T const &t1, T const &t2, T const &t3)
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleXYZ (T const &t1, T const &t2, T const &t3)
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleXZ (T const &angleX, T const &angleZ)
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleXZX (T const &t1, T const &t2, T const &t3)
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleXZY (T const &t1, T const &t2, T const &t3)
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleY (T const &angleY)
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleYX (T const &angleY, T const &angleX)
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleYXY (T const &t1, T const &t2, T const &t3)
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleYXZ (T const &yaw, T const &pitch, T const &roll)
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleYZ (T const &angleY, T const &angleZ)
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleYZX (T const &t1, T const &t2, T const &t3)
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleYZY (T const &t1, T const &t2, T const &t3)
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleZ (T const &angleZ)
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleZX (T const &angle, T const &angleX)
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleZXY (T const &t1, T const &t2, T const &t3)
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleZXZ (T const &t1, T const &t2, T const &t3)
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleZY (T const &angleZ, T const &angleY)
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleZYX (T const &t1, T const &t2, T const &t3)
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | eulerAngleZYZ (T const &t1, T const &t2, T const &t3)
template<typename T >
GLM_FUNC_DECL void | extractEulerAngleXYX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
template<typename T >
GLM_FUNC_DECL void | extractEulerAngleXYZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
template<typename T >
GLM_FUNC_DECL void | extractEulerAngleXZX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
template<typename T >
GLM_FUNC_DECL void | extractEulerAngleXZY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
template<typename T >
GLM_FUNC_DECL void | extractEulerAngleYXY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
template<typename T >
GLM_FUNC_DECL void | extractEulerAngleYXZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
template<typename T >
GLM_FUNC_DECL void | extractEulerAngleYZX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
template<typename T >
GLM_FUNC_DECL void | extractEulerAngleYZY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
template<typename T >
GLM_FUNC_DECL void | extractEulerAngleZXY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
template<typename T >
GLM_FUNC_DECL void | extractEulerAngleZXZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
template<typename T >
GLM_FUNC_DECL void | extractEulerAngleZYX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
template<typename T >
GLM_FUNC_DECL void | extractEulerAngleZYZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
template<typename T >
GLM_FUNC_DECL mat< 2, 2, T, defaultp > | orientate2 (T const &angle)
template<typename T >
GLM_FUNC_DECL mat< 3, 3, T, defaultp > | orientate3 (T const &angle)
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > | orientate3 (vec< 3, T, Q > const &angles)
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > | orientate4 (vec< 3, T, Q > const &angles)
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > | yawPitchRoll (T const &yaw, T const &pitch, T const &roll)

## Detailed Description

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

Build matrices from Euler angles.

Extraction of Euler angles from rotation matrix. Based on the original paper 2014 Mike Day - Extracting Euler Angles from a Rotation Matrix.

## Function Documentation

## ◆ derivedEulerAngleX()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::derivedEulerAngleX | ( | T const & | angleX,
|  | T const & | angularVelocityX
| ) |  |

Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about X-axis.

See also
  GLM_GTX_euler_angles

## ◆ derivedEulerAngleY()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::derivedEulerAngleY | ( | T const & | angleY,
|  | T const & | angularVelocityY
| ) |  |

Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Y-axis.

See also
  GLM_GTX_euler_angles

## ◆ derivedEulerAngleZ()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::derivedEulerAngleZ | ( | T const & | angleZ,
|  | T const & | angularVelocityZ
| ) |  |

Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Z-axis.

See also
  GLM_GTX_euler_angles

## ◆ eulerAngleX()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleX | ( | T const & | angleX | ) |

Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X.

See also
  GLM_GTX_euler_angles

## ◆ eulerAngleXY()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleXY | ( | T const & | angleX,
|  | T const & | angleY
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y).

See also
  GLM_GTX_euler_angles

## ◆ eulerAngleXYX()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleXYX | ( | T const & | t1,
|  | T const & | t2,
|  | T const & | t3
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * X).

See also
  GLM_GTX_euler_angles

## ◆ eulerAngleXYZ()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleXYZ | ( | T const & | t1,
|  | T const & | t2,
|  | T const & | t3
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * Z).

See also
  GLM_GTX_euler_angles

## ◆ eulerAngleXZ()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleXZ | ( | T const & | angleX,
|  | T const & | angleZ
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z).

See also
  GLM_GTX_euler_angles

## ◆ eulerAngleXZX()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleXZX | ( | T const & | t1,
|  | T const & | t2,
|  | T const & | t3
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * X).

See also
  GLM_GTX_euler_angles

## ◆ eulerAngleXZY()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleXZY | ( | T const & | t1,
|  | T const & | t2,
|  | T const & | t3
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * Y).

See also
  GLM_GTX_euler_angles

## ◆ eulerAngleY()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleY | ( | T const & | angleY | ) |

Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y.

See also
  GLM_GTX_euler_angles

## ◆ eulerAngleYX()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleYX | ( | T const & | angleY,
|  | T const & | angleX
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X).

See also
  GLM_GTX_euler_angles

## ◆ eulerAngleYXY()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleYXY | ( | T const & | t1,
|  | T const & | t2,
|  | T const & | t3
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Y).

See also
  GLM_GTX_euler_angles

## ◆ eulerAngleYXZ()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleYXZ | ( | T const & | yaw,
|  | T const & | pitch,
|  | T const & | roll
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).

See also
  GLM_GTX_euler_angles

## ◆ eulerAngleYZ()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleYZ | ( | T const & | angleY,
|  | T const & | angleZ
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z).

See also
  GLM_GTX_euler_angles

## ◆ eulerAngleYZX()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleYZX | ( | T const & | t1,
|  | T const & | t2,
|  | T const & | t3
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * X).

See also
  GLM_GTX_euler_angles

## ◆ eulerAngleYZY()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleYZY | ( | T const & | t1,
|  | T const & | t2,
|  | T const & | t3
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * Y).

See also
  GLM_GTX_euler_angles

## ◆ eulerAngleZ()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleZ | ( | T const & | angleZ | ) |

Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z.

See also
  GLM_GTX_euler_angles

## ◆ eulerAngleZX()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleZX | ( | T const & | angle,
|  | T const & | angleX
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X).

See also
  GLM_GTX_euler_angles

## ◆ eulerAngleZXY()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleZXY | ( | T const & | t1,
|  | T const & | t2,
|  | T const & | t3
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Y).

See also
  GLM_GTX_euler_angles

## ◆ eulerAngleZXZ()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleZXZ | ( | T const & | t1,
|  | T const & | t2,
|  | T const & | t3
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Z).

See also
  GLM_GTX_euler_angles

## ◆ eulerAngleZY()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleZY | ( | T const & | angleZ,
|  | T const & | angleY
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y).

See also
  GLM_GTX_euler_angles

## ◆ eulerAngleZYX()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleZYX | ( | T const & | t1,
|  | T const & | t2,
|  | T const & | t3
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * X).

See also
  GLM_GTX_euler_angles

## ◆ eulerAngleZYZ()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleZYZ | ( | T const & | t1,
|  | T const & | t2,
|  | T const & | t3
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * Z).

See also
  GLM_GTX_euler_angles

## ◆ extractEulerAngleXYX()

GLM_FUNC_DECL void glm::extractEulerAngleXYX | ( | mat< 4, 4, T, defaultp > const & | M,
|  | T & | t1,
|  | T & | t2,
|  | T & | t3
| ) |  |

Extracts the (X * Y * X) Euler angles from the rotation matrix M.

See also
  GLM_GTX_euler_angles

## ◆ extractEulerAngleXYZ()

GLM_FUNC_DECL void glm::extractEulerAngleXYZ | ( | mat< 4, 4, T, defaultp > const & | M,
|  | T & | t1,
|  | T & | t2,
|  | T & | t3
| ) |  |

Extracts the (X * Y * Z) Euler angles from the rotation matrix M.

See also
  GLM_GTX_euler_angles

## ◆ extractEulerAngleXZX()

GLM_FUNC_DECL void glm::extractEulerAngleXZX | ( | mat< 4, 4, T, defaultp > const & | M,
|  | T & | t1,
|  | T & | t2,
|  | T & | t3
| ) |  |

Extracts the (X * Z * X) Euler angles from the rotation matrix M.

See also
  GLM_GTX_euler_angles

## ◆ extractEulerAngleXZY()

GLM_FUNC_DECL void glm::extractEulerAngleXZY | ( | mat< 4, 4, T, defaultp > const & | M,
|  | T & | t1,
|  | T & | t2,
|  | T & | t3
| ) |  |

Extracts the (X * Z * Y) Euler angles from the rotation matrix M.

See also
  GLM_GTX_euler_angles

## ◆ extractEulerAngleYXY()

GLM_FUNC_DECL void glm::extractEulerAngleYXY | ( | mat< 4, 4, T, defaultp > const & | M,
|  | T & | t1,
|  | T & | t2,
|  | T & | t3
| ) |  |

Extracts the (Y * X * Y) Euler angles from the rotation matrix M.

See also
  GLM_GTX_euler_angles

## ◆ extractEulerAngleYXZ()

GLM_FUNC_DECL void glm::extractEulerAngleYXZ | ( | mat< 4, 4, T, defaultp > const & | M,
|  | T & | t1,
|  | T & | t2,
|  | T & | t3
| ) |  |

Extracts the (Y * X * Z) Euler angles from the rotation matrix M.

See also
  GLM_GTX_euler_angles

## ◆ extractEulerAngleYZX()

GLM_FUNC_DECL void glm::extractEulerAngleYZX | ( | mat< 4, 4, T, defaultp > const & | M,
|  | T & | t1,
|  | T & | t2,
|  | T & | t3
| ) |  |

Extracts the (Y * Z * X) Euler angles from the rotation matrix M.

See also
  GLM_GTX_euler_angles

## ◆ extractEulerAngleYZY()

GLM_FUNC_DECL void glm::extractEulerAngleYZY | ( | mat< 4, 4, T, defaultp > const & | M,
|  | T & | t1,
|  | T & | t2,
|  | T & | t3
| ) |  |

Extracts the (Y * Z * Y) Euler angles from the rotation matrix M.

See also
  GLM_GTX_euler_angles

## ◆ extractEulerAngleZXY()

GLM_FUNC_DECL void glm::extractEulerAngleZXY | ( | mat< 4, 4, T, defaultp > const & | M,
|  | T & | t1,
|  | T & | t2,
|  | T & | t3
| ) |  |

Extracts the (Z * X * Y) Euler angles from the rotation matrix M.

See also
  GLM_GTX_euler_angles

## ◆ extractEulerAngleZXZ()

GLM_FUNC_DECL void glm::extractEulerAngleZXZ | ( | mat< 4, 4, T, defaultp > const & | M,
|  | T & | t1,
|  | T & | t2,
|  | T & | t3
| ) |  |

Extracts the (Z * X * Z) Euler angles from the rotation matrix M.

See also
  GLM_GTX_euler_angles

## ◆ extractEulerAngleZYX()

GLM_FUNC_DECL void glm::extractEulerAngleZYX | ( | mat< 4, 4, T, defaultp > const & | M,
|  | T & | t1,
|  | T & | t2,
|  | T & | t3
| ) |  |

Extracts the (Z * Y * X) Euler angles from the rotation matrix M.

See also
  GLM_GTX_euler_angles

## ◆ extractEulerAngleZYZ()

GLM_FUNC_DECL void glm::extractEulerAngleZYZ | ( | mat< 4, 4, T, defaultp > const & | M,
|  | T & | t1,
|  | T & | t2,
|  | T & | t3
| ) |  |

Extracts the (Z * Y * Z) Euler angles from the rotation matrix M.

See also
  GLM_GTX_euler_angles

## ◆ orientate2()

GLM_FUNC_DECL mat<2, 2, T, defaultp> glm::orientate2 | ( | T const & | angle | ) |

Creates a 2D 2 * 2 rotation matrix from an euler angle.

See also
  GLM_GTX_euler_angles

## ◆ orientate3() [1/2]

GLM_FUNC_DECL mat<3, 3, T, defaultp> glm::orientate3 | ( | T const & | angle | ) |

Creates a 2D 4 * 4 homogeneous rotation matrix from an euler angle.

See also
  GLM_GTX_euler_angles

## ◆ orientate3() [2/2]

GLM_FUNC_DECL mat<3, 3, T, Q> glm::orientate3 | ( | vec< 3, T, Q > const & | angles | ) |

Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z).

See also
  GLM_GTX_euler_angles

## ◆ orientate4()

GLM_FUNC_DECL mat<4, 4, T, Q> glm::orientate4 | ( | vec< 3, T, Q > const & | angles | ) |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).

See also
  GLM_GTX_euler_angles

## ◆ yawPitchRoll()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::yawPitchRoll | ( | T const & | yaw,
|  | T const & | pitch,
|  | T const & | roll
| ) |  |

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).

See also
  GLM_GTX_euler_angles