euler_angles.hpp

Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 
00035 
00036 
00037 
00038 
00039 #ifndef GLM_GTX_euler_angles
00040 #define GLM_GTX_euler_angles GLM_VERSION
00041 
00042 // Dependency:
00043 #include "../glm.hpp"
00044 #include "../gtc/half_float.hpp"
00045 
00046 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
00047 #       pragma message("GLM: GLM_GTX_euler_angles extension included")
00048 #endif
00049 
00050 namespace glm
00051 {
00054 
00057         template <typename valType> 
00058         detail::tmat4x4<valType> eulerAngleX(
00059                 valType const & angleX);
00060 
00063         template <typename valType> 
00064         detail::tmat4x4<valType> eulerAngleY(
00065                 valType const & angleY);
00066 
00069         template <typename valType> 
00070         detail::tmat4x4<valType> eulerAngleZ(
00071                 valType const & angleZ);
00072 
00075         template <typename valType> 
00076         detail::tmat4x4<valType> eulerAngleXY(
00077                 valType const & angleX, 
00078                 valType const & angleY);
00079 
00082         template <typename valType> 
00083         detail::tmat4x4<valType> eulerAngleYX(
00084                 valType const & angleY, 
00085                 valType const & angleX);
00086 
00089         template <typename valType> 
00090         detail::tmat4x4<valType> eulerAngleXZ(
00091                 valType const & angleX, 
00092                 valType const & angleZ);
00093 
00096         template <typename valType> 
00097         detail::tmat4x4<valType> eulerAngleZX(
00098                 valType const & angleZ, 
00099                 valType const & angleX);
00100 
00103         template <typename valType> 
00104         detail::tmat4x4<valType> eulerAngleYZ(
00105                 valType const & angleY, 
00106                 valType const & angleZ);
00107 
00110         template <typename valType> 
00111         detail::tmat4x4<valType> eulerAngleZY(
00112                 valType const & angleZ, 
00113                 valType const & angleY);
00114 
00117         template <typename valType> 
00118         detail::tmat4x4<valType> eulerAngleYXZ(
00119                 valType const & yaw, 
00120                 valType const & pitch, 
00121                 valType const & roll);
00122 
00125         template <typename valType> 
00126         detail::tmat4x4<valType> yawPitchRoll(
00127                 valType const & yaw, 
00128                 valType const & pitch, 
00129                 valType const & roll);
00130 
00133         template <typename T> 
00134         detail::tmat2x2<T> orientate2(T const & angle);
00135 
00138         template <typename T> 
00139         detail::tmat3x3<T> orientate3(T const & angle);
00140 
00143         template <typename T> 
00144         detail::tmat3x3<T> orientate3(detail::tvec3<T> const & angles);
00145                 
00148         template <typename T> 
00149         detail::tmat4x4<T> orientate4(detail::tvec3<T> const & angles);
00150 
00152 }//namespace glm
00153 
00154 #include "euler_angles.inl"
00155 
00156 #endif//GLM_GTX_euler_angles