GLM  0.9.5
euler_angles.hpp
Go to the documentation of this file.
1 
39 #ifndef GLM_GTX_euler_angles
40 #define GLM_GTX_euler_angles
41 
42 // Dependency:
43 #include "../glm.hpp"
44 
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
46 # pragma message("GLM: GLM_GTX_euler_angles extension included")
47 #endif
48 
49 namespace glm
50 {
53 
56  template <typename T>
57  detail::tmat4x4<T, defaultp> eulerAngleX(
58  T const & angleX);
59 
62  template <typename T>
63  detail::tmat4x4<T, defaultp> eulerAngleY(
64  T const & angleY);
65 
68  template <typename T>
69  detail::tmat4x4<T, defaultp> eulerAngleZ(
70  T const & angleZ);
71 
74  template <typename T>
75  detail::tmat4x4<T, defaultp> eulerAngleXY(
76  T const & angleX,
77  T const & angleY);
78 
81  template <typename T>
82  detail::tmat4x4<T, defaultp> eulerAngleYX(
83  T const & angleY,
84  T const & angleX);
85 
88  template <typename T>
89  detail::tmat4x4<T, defaultp> eulerAngleXZ(
90  T const & angleX,
91  T const & angleZ);
92 
95  template <typename T>
96  detail::tmat4x4<T, defaultp> eulerAngleZX(
97  T const & angle,
98  T const & angleX);
99 
102  template <typename T>
103  detail::tmat4x4<T, defaultp> eulerAngleYZ(
104  T const & angleY,
105  T const & angleZ);
106 
109  template <typename T>
110  detail::tmat4x4<T, defaultp> eulerAngleZY(
111  T const & angleZ,
112  T const & angleY);
113 
116  template <typename T>
117  detail::tmat4x4<T, defaultp> eulerAngleYXZ(
118  T const & yaw,
119  T const & pitch,
120  T const & roll);
121 
124  template <typename T>
125  detail::tmat4x4<T, defaultp> yawPitchRoll(
126  T const & yaw,
127  T const & pitch,
128  T const & roll);
129 
132  template <typename T>
133  detail::tmat2x2<T, defaultp> orientate2(T const & angle);
134 
137  template <typename T>
138  detail::tmat3x3<T, defaultp> orientate3(T const & angle);
139 
142  template <typename T, precision P>
143  detail::tmat3x3<T, P> orientate3(detail::tvec3<T, P> const & angles);
144 
147  template <typename T, precision P>
148  detail::tmat4x4<T, P> orientate4(detail::tvec3<T, P> const & angles);
149 
151 }//namespace glm
152 
153 #include "euler_angles.inl"
154 
155 #endif//GLM_GTX_euler_angles
detail::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).
detail::tmat4x4< T, defaultp > eulerAngleZX(T const &angle, T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X).
detail::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 angle(detail::tquat< T, P > const &x)
Returns the quaternion rotation angle.
detail::tmat4x4< T, defaultp > eulerAngleXY(T const &angleX, T const &angleY)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y).
detail::tmat3x3< T, defaultp > orientate3(T const &angle)
Creates a 2D 4 * 4 homogeneous rotation matrix from an euler angle.
detail::tmat4x4< T, defaultp > eulerAngleZ(T const &angleZ)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z.
detail::tmat4x4< T, P > orientate4(detail::tvec3< T, P > const &angles)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).
GLM_FUNC_DECL T roll(detail::tquat< T, P > const &x)
Returns roll value of euler angles expressed in radians if GLM_FORCE_RADIANS is defined or degrees ot...
detail::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).
detail::tmat4x4< T, defaultp > eulerAngleX(T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X.
detail::tmat4x4< T, defaultp > eulerAngleYX(T const &angleY, T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X).
detail::tmat4x4< T, defaultp > eulerAngleY(T const &angleY)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y.
detail::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 T pitch(detail::tquat< T, P > const &x)
Returns pitch value of euler angles expressed in radians if GLM_FORCE_RADIANS is defined or degrees o...
detail::tmat2x2< T, defaultp > orientate2(T const &angle)
Creates a 2D 2 * 2 rotation matrix from an euler angle.
GLM_FUNC_DECL T yaw(detail::tquat< T, P > const &x)
Returns yaw value of euler angles expressed in radians if GLM_FORCE_RADIANS is defined or degrees oth...
detail::tmat4x4< T, defaultp > eulerAngleXZ(T const &angleX, T const &angleZ)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z).