0.9.8
euler_angles.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "../glm.hpp"
18 
19 #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)
20 # pragma message("GLM: GLM_GTX_euler_angles extension included")
21 #endif
22 
23 namespace glm
24 {
27 
30  template <typename T>
31  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleX(
32  T const & angleX);
33 
36  template <typename T>
37  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleY(
38  T const & angleY);
39 
42  template <typename T>
43  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleZ(
44  T const & angleZ);
45 
48  template <typename T>
49  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleXY(
50  T const & angleX,
51  T const & angleY);
52 
55  template <typename T>
56  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleYX(
57  T const & angleY,
58  T const & angleX);
59 
62  template <typename T>
63  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleXZ(
64  T const & angleX,
65  T const & angleZ);
66 
69  template <typename T>
70  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleZX(
71  T const & angle,
72  T const & angleX);
73 
76  template <typename T>
77  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleYZ(
78  T const & angleY,
79  T const & angleZ);
80 
83  template <typename T>
84  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleZY(
85  T const & angleZ,
86  T const & angleY);
87 
90  template <typename T>
91  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleXYZ(
92  T const & t1,
93  T const & t2,
94  T const & t3);
95 
98  template <typename T>
99  GLM_FUNC_DECL tmat4x4<T, defaultp> eulerAngleYXZ(
100  T const & yaw,
101  T const & pitch,
102  T const & roll);
103 
106  template <typename T>
107  GLM_FUNC_DECL tmat4x4<T, defaultp> yawPitchRoll(
108  T const & yaw,
109  T const & pitch,
110  T const & roll);
111 
114  template <typename T>
115  GLM_FUNC_DECL tmat2x2<T, defaultp> orientate2(T const & angle);
116 
119  template <typename T>
120  GLM_FUNC_DECL tmat3x3<T, defaultp> orientate3(T const & angle);
121 
124  template <typename T, precision P>
125  GLM_FUNC_DECL tmat3x3<T, P> orientate3(tvec3<T, P> const & angles);
126 
129  template <typename T, precision P>
130  GLM_FUNC_DECL tmat4x4<T, P> orientate4(tvec3<T, P> const & angles);
131 
134  template <typename T>
135  GLM_FUNC_DECL void extractEulerAngleXYZ(tmat4x4<T, defaultp> const & M,
136  T & t1,
137  T & t2,
138  T & t3);
139 
141 }//namespace glm
142 
143 #include "euler_angles.inl"
GLM_FUNC_DECL T roll(tquat< T, P > const &x)
Returns roll value of euler angles expressed in radians.
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleX(T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X.
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleXZ(T const &angleX, T const &angleZ)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z).
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleYZ(T const &angleY, T const &angleZ)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z).
GLM_FUNC_DECL T pitch(tquat< T, P > const &x)
Returns pitch value of euler angles expressed in radians.
GLM_FUNC_DECL tmat4x4< T, defaultp > yawPitchRoll(T const &yaw, T const &pitch, T const &roll)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleXYZ(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * Z).
Definition: _noise.hpp:11
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleYXZ(T const &yaw, T const &pitch, T const &roll)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleY(T const &angleY)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y.
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleZY(T const &angleZ, T const &angleY)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y).
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleZX(T const &angle, T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X).
GLM_FUNC_DECL tmat4x4< T, P > orientate4(tvec3< T, P > const &angles)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleZ(T const &angleZ)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z.
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleYX(T const &angleY, T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X).
GLM_FUNC_DECL tmat3x3< T, P > orientate3(tvec3< T, P > const &angles)
Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z).
GLM_FUNC_DECL tmat4x4< T, defaultp > eulerAngleXY(T const &angleX, T const &angleY)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y).
GLM_FUNC_DECL void extractEulerAngleXYZ(tmat4x4< T, defaultp > const &M, T &t1, T &t2, T &t3)
Extracts the (X * Y * Z) Euler angles from the rotation matrix M.
GLM_FUNC_DECL T yaw(tquat< T, P > const &x)
Returns yaw value of euler angles expressed in radians.
GLM_FUNC_DECL tmat2x2< T, defaultp > orientate2(T const &angle)
Creates a 2D 2 * 2 rotation matrix from an euler angle.