0.9.9 API documenation
euler_angles.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../glm.hpp"
17 
18 #ifndef GLM_ENABLE_EXPERIMENTAL
19 # error "GLM: GLM_GTX_euler_angles is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
20 #endif
21 
22 #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)
23 # pragma message("GLM: GLM_GTX_euler_angles extension included")
24 #endif
25 
26 namespace glm
27 {
30 
33  template<typename T>
34  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleX(
35  T const & angleX);
36 
39  template<typename T>
40  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleY(
41  T const & angleY);
42 
45  template<typename T>
46  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZ(
47  T const & angleZ);
48 
51  template<typename T>
52  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXY(
53  T const & angleX,
54  T const & angleY);
55 
58  template<typename T>
59  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYX(
60  T const & angleY,
61  T const & angleX);
62 
65  template<typename T>
66  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXZ(
67  T const & angleX,
68  T const & angleZ);
69 
72  template<typename T>
73  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZX(
74  T const & angle,
75  T const & angleX);
76 
79  template<typename T>
80  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYZ(
81  T const & angleY,
82  T const & angleZ);
83 
86  template<typename T>
87  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZY(
88  T const & angleZ,
89  T const & angleY);
90 
93  template<typename T>
94  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXYZ(
95  T const & t1,
96  T const & t2,
97  T const & t3);
98 
101  template<typename T>
102  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYXZ(
103  T const & yaw,
104  T const & pitch,
105  T const & roll);
106 
109  template<typename T>
110  GLM_FUNC_DECL mat<4, 4, T, defaultp> yawPitchRoll(
111  T const & yaw,
112  T const & pitch,
113  T const & roll);
114 
117  template<typename T>
118  GLM_FUNC_DECL mat<2, 2, T, defaultp> orientate2(T const & angle);
119 
122  template<typename T>
123  GLM_FUNC_DECL mat<3, 3, T, defaultp> orientate3(T const & angle);
124 
127  template<typename T, qualifier P>
128  GLM_FUNC_DECL mat<3, 3, T, P> orientate3(vec<3, T, P> const & angles);
129 
132  template<typename T, qualifier P>
133  GLM_FUNC_DECL mat<4, 4, T, P> orientate4(vec<3, T, P> const & angles);
134 
137  template<typename T>
138  GLM_FUNC_DECL void extractEulerAngleXYZ(mat<4, 4, T, defaultp> const & M,
139  T & t1,
140  T & t2,
141  T & t3);
142 
144 }//namespace glm
145 
146 #include "euler_angles.inl"
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleX(T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X.
GLM_FUNC_DECL mat< 2, 2, T, defaultp > orientate2(T const &angle)
Creates a 2D 2 * 2 rotation matrix from an euler angle.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleY(T const &angleY)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYX(T const &angleY, T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X).
Definition: _noise.hpp:11
GLM_FUNC_DECL mat< 4, 4, T, P > orientate4(vec< 3, T, P > const &angles)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).
GLM_FUNC_DECL T angle(tquat< T, P > const &x)
Returns the quaternion rotation angle.
GLM_FUNC_DECL mat< 4, 4, 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 mat< 4, 4, 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 mat< 4, 4, 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).
GLM_FUNC_DECL mat< 4, 4, 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 T pitch(tquat< T, P > const &x)
Returns pitch value of euler angles expressed in radians.
GLM_FUNC_DECL T roll(tquat< T, P > const &x)
Returns roll value of euler angles expressed in radians.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZ(T const &angleZ)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z.
GLM_FUNC_DECL mat< 3, 3, T, P > orientate3(vec< 3, T, P > const &angles)
Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z).
GLM_FUNC_DECL mat< 4, 4, 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 mat< 4, 4, 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 void 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.
GLM_FUNC_DECL mat< 4, 4, 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 mat< 4, 4, 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 T yaw(tquat< T, P > const &x)
Returns yaw value of euler angles expressed in radians.