| 0.9.9 API documenation

euler_angles.hpp
Go to the documentation of this file.
1
16 #pragma once
17
18 // Dependency:
19 #include "../glm.hpp"
20
21 #ifndef GLM_ENABLE_EXPERIMENTAL
22 # 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."
23 #endif
24
25 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
26 # pragma message("GLM: GLM_GTX_euler_angles extension included")
27 #endif
28
29 namespace glm
30 {
33
36 template<typename T>
37 GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleX(
38 T const& angleX);
39
42 template<typename T>
43 GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleY(
44 T const& angleY);
45
48 template<typename T>
49 GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZ(
50 T const& angleZ);
51
54 template <typename T>
55 GLM_FUNC_DECL mat<4, 4, T, defaultp> derivedEulerAngleX(
56 T const & angleX, T const & angularVelocityX);
57
60 template <typename T>
61 GLM_FUNC_DECL mat<4, 4, T, defaultp> derivedEulerAngleY(
62 T const & angleY, T const & angularVelocityY);
63
66 template <typename T>
67 GLM_FUNC_DECL mat<4, 4, T, defaultp> derivedEulerAngleZ(
68 T const & angleZ, T const & angularVelocityZ);
69
72 template<typename T>
73 GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXY(
74 T const& angleX,
75 T const& angleY);
76
79 template<typename T>
80 GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYX(
81 T const& angleY,
82 T const& angleX);
83
86 template<typename T>
87 GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXZ(
88 T const& angleX,
89 T const& angleZ);
90
93 template<typename T>
94 GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZX(
95 T const& angle,
96 T const& angleX);
97
100 template<typename T>
101 GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYZ(
102 T const& angleY,
103 T const& angleZ);
104
107 template<typename T>
108 GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZY(
109 T const& angleZ,
110 T const& angleY);
111
114 template<typename T>
115 GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXYZ(
116 T const& t1,
117 T const& t2,
118 T const& t3);
119
122 template<typename T>
123 GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYXZ(
124 T const& yaw,
125 T const& pitch,
126 T const& roll);
127
130 template <typename T>
131 GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXZX(
132 T const & t1,
133 T const & t2,
134 T const & t3);
135
138 template <typename T>
139 GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXYX(
140 T const & t1,
141 T const & t2,
142 T const & t3);
143
146 template <typename T>
147 GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYXY(
148 T const & t1,
149 T const & t2,
150 T const & t3);
151
154 template <typename T>
155 GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYZY(
156 T const & t1,
157 T const & t2,
158 T const & t3);
159
162 template <typename T>
163 GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZYZ(
164 T const & t1,
165 T const & t2,
166 T const & t3);
167
170 template <typename T>
171 GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZXZ(
172 T const & t1,
173 T const & t2,
174 T const & t3);
175
178 template <typename T>
179 GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXZY(
180 T const & t1,
181 T const & t2,
182 T const & t3);
183
186 template <typename T>
187 GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYZX(
188 T const & t1,
189 T const & t2,
190 T const & t3);
191
194 template <typename T>
195 GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZYX(
196 T const & t1,
197 T const & t2,
198 T const & t3);
199
202 template <typename T>
203 GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZXY(
204 T const & t1,
205 T const & t2,
206 T const & t3);
207
210 template<typename T>
211 GLM_FUNC_DECL mat<4, 4, T, defaultp> yawPitchRoll(
212 T const& yaw,
213 T const& pitch,
214 T const& roll);
215
218 template<typename T>
219 GLM_FUNC_DECL mat<2, 2, T, defaultp> orientate2(T const& angle);
220
223 template<typename T>
224 GLM_FUNC_DECL mat<3, 3, T, defaultp> orientate3(T const& angle);
225
228 template<typename T, qualifier Q>
229 GLM_FUNC_DECL mat<3, 3, T, Q> orientate3(vec<3, T, Q> const& angles);
230
233 template<typename T, qualifier Q>
234 GLM_FUNC_DECL mat<4, 4, T, Q> orientate4(vec<3, T, Q> const& angles);
235
238 template<typename T>
239 GLM_FUNC_DECL void extractEulerAngleXYZ(mat<4, 4, T, defaultp> const& M,
240 T & t1,
241 T & t2,
242 T & t3);
243
246 template <typename T>
247 GLM_FUNC_DECL void extractEulerAngleYXZ(mat<4, 4, T, defaultp> const & M,
248 T & t1,
249 T & t2,
250 T & t3);
251
254 template <typename T>
255 GLM_FUNC_DECL void extractEulerAngleXZX(mat<4, 4, T, defaultp> const & M,
256 T & t1,
257 T & t2,
258 T & t3);
259
262 template <typename T>
263 GLM_FUNC_DECL void extractEulerAngleXYX(mat<4, 4, T, defaultp> const & M,
264 T & t1,
265 T & t2,
266 T & t3);
267
270 template <typename T>
271 GLM_FUNC_DECL void extractEulerAngleYXY(mat<4, 4, T, defaultp> const & M,
272 T & t1,
273 T & t2,
274 T & t3);
275
278 template <typename T>
279 GLM_FUNC_DECL void extractEulerAngleYZY(mat<4, 4, T, defaultp> const & M,
280 T & t1,
281 T & t2,
282 T & t3);
283
286 template <typename T>
287 GLM_FUNC_DECL void extractEulerAngleZYZ(mat<4, 4, T, defaultp> const & M,
288 T & t1,
289 T & t2,
290 T & t3);
291
294 template <typename T>
295 GLM_FUNC_DECL void extractEulerAngleZXZ(mat<4, 4, T, defaultp> const & M,
296 T & t1,
297 T & t2,
298 T & t3);
299
302 template <typename T>
303 GLM_FUNC_DECL void extractEulerAngleXZY(mat<4, 4, T, defaultp> const & M,
304 T & t1,
305 T & t2,
306 T & t3);
307
310 template <typename T>
311 GLM_FUNC_DECL void extractEulerAngleYZX(mat<4, 4, T, defaultp> const & M,
312 T & t1,
313 T & t2,
314 T & t3);
315
318 template <typename T>
319 GLM_FUNC_DECL void extractEulerAngleZYX(mat<4, 4, T, defaultp> const & M,
320 T & t1,
321 T & t2,
322 T & t3);
323
326 template <typename T>
327 GLM_FUNC_DECL void extractEulerAngleZXY(mat<4, 4, T, defaultp> const & M,
328 T & t1,
329 T & t2,
330 T & t3);
331
333 }//namespace glm
334
335 #include "euler_angles.inl"
glm::eulerAngleYZX
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYZX(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * X).
glm::eulerAngleZYZ
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZYZ(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * Z).
glm::eulerAngleZYX
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZYX(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * X).
glm::orientate2
GLM_FUNC_DECL mat< 2, 2, T, defaultp > orientate2(T const &angle)
Creates a 2D 2 * 2 rotation matrix from an euler angle.
glm::extractEulerAngleYZY
GLM_FUNC_DECL void 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.
glm::eulerAngleXY
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::yawPitchRoll
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::extractEulerAngleXZX
GLM_FUNC_DECL void 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.
glm::extractEulerAngleXYX
GLM_FUNC_DECL void 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.
glm::eulerAngleY
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::eulerAngleYXY
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYXY(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Y).
glm::derivedEulerAngleY
GLM_FUNC_DECL mat< 4, 4, T, defaultp > derivedEulerAngleY(T const &angleY, T const &angularVelocityY)
Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Y-axis.
glm::extractEulerAngleZYX
GLM_FUNC_DECL void 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.
glm::eulerAngleYZ
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::eulerAngleXYX
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXYX(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * X).
glm::eulerAngleX
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::extractEulerAngleZXY
GLM_FUNC_DECL void 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.
glm::eulerAngleYZY
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYZY(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * Y).
glm::eulerAngleYXZ
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::extractEulerAngleZYZ
GLM_FUNC_DECL void 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.
glm::eulerAngleZX
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::eulerAngleXZX
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXZX(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * X).
glm::extractEulerAngleYZX
GLM_FUNC_DECL void 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.
glm::eulerAngleYX
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).
glm::eulerAngleZY
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::orientate3
GLM_FUNC_DECL mat< 3, 3, T, Q > orientate3(vec< 3, T, Q > const &angles)
Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z).
glm::eulerAngleXZY
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXZY(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * Y).
glm::eulerAngleZ
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::eulerAngleXZ
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::orientate4
GLM_FUNC_DECL mat< 4, 4, T, Q > orientate4(vec< 3, T, Q > const &angles)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).
glm::extractEulerAngleYXZ
GLM_FUNC_DECL void 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.
glm::derivedEulerAngleX
GLM_FUNC_DECL mat< 4, 4, T, defaultp > derivedEulerAngleX(T const &angleX, T const &angularVelocityX)
Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about X-axis.
glm::extractEulerAngleXZY
GLM_FUNC_DECL void 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.
glm::eulerAngleZXY
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZXY(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Y).
glm::pitch
GLM_FUNC_DECL T pitch(qua< T, Q > const &x)
Returns pitch value of euler angles expressed in radians.
glm::eulerAngleXYZ
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::eulerAngleZXZ
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZXZ(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Z).
glm::roll
GLM_FUNC_DECL T roll(qua< T, Q > const &x)
Returns roll value of euler angles expressed in radians.
glm::extractEulerAngleYXY
GLM_FUNC_DECL void 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.
glm
Definition: common.hpp:20
glm::extractEulerAngleXYZ
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::derivedEulerAngleZ
GLM_FUNC_DECL mat< 4, 4, T, defaultp > derivedEulerAngleZ(T const &angleZ, T const &angularVelocityZ)
Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Z-axis.
glm::extractEulerAngleZXZ
GLM_FUNC_DECL void 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.
glm::yaw
GLM_FUNC_DECL T yaw(qua< T, Q > const &x)
Returns yaw value of euler angles expressed in radians.
glm::angle
GLM_FUNC_DECL T angle(qua< T, Q > const &x)
Returns the quaternion rotation angle.