- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List

# euler_angles.hpp

    00001
    00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
    00004 // Created : 2005-12-21
    00005 // Updated : 2007-08-14
    00006 // Licence : This source is under MIT License
    00007 // File    : glm/gtx/euler_angles.hpp
    00009 // Dependency:
    00010 // - GLM core
    00011 // - GLM_GTC_half_float
    00013 // ToDo:
    00014 // - mat2 mat2GTX(const vec2& angles) undefined
    00015 // - mat3 mat3GTX(const vec2& angles) undefined
    00017
    00018 #ifndef glm_gtx_euler_angles
    00019 #define glm_gtx_euler_angles
    00020
    00021 // Dependency:
    00022 #include "../glm.hpp"
    00023 #include "../gtc/half_float.hpp"
    00024
    00025 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
    00026 #       pragma message("GLM: GLM_GTX_euler_angles extension included")
    00027 #endif
    00028
    00029 namespace glm
    00030 {
    00031     namespace gtx{
    00033         namespace euler_angles
    00034         {
    00037
    00040                 template <typename valType>
    00041                 detail::tmat4x4<valType> eulerAngleX(
    00042                         valType const & angleX);
    00043
    00046                 template <typename valType>
    00047                 detail::tmat4x4<valType> eulerAngleY(
    00048                         valType const & angleY);
    00049
    00052                 template <typename valType>
    00053                 detail::tmat4x4<valType> eulerAngleZ(
    00054                         valType const & angleZ);
    00055
    00058                 template <typename valType>
    00059                 detail::tmat4x4<valType> eulerAngleXY(
    00060                         valType const & angleX,
    00061                         valType const & angleY);
    00062
    00065                 template <typename valType>
    00066                 detail::tmat4x4<valType> eulerAngleYX(
    00067                         valType const & angleY,
    00068                         valType const & angleX);
    00069
    00072                 template <typename valType>
    00073                 detail::tmat4x4<valType> eulerAngleXZ(
    00074                         valType const & angleX,
    00075                         valType const & angleZ);
    00076
    00079                 template <typename valType>
    00080                 detail::tmat4x4<valType> eulerAngleZX(
    00081                         valType const & angleZ,
    00082                         valType const & angleX);
    00083
    00086                 template <typename valType>
    00087                 detail::tmat4x4<valType> eulerAngleYZ(
    00088                         valType const & angleY,
    00089                         valType const & angleZ);
    00090
    00093                 template <typename valType>
    00094                 detail::tmat4x4<valType> eulerAngleZY(
    00095                         valType const & angleZ,
    00096                         valType const & angleY);
    00097
    00100                 template <typename valType>
    00101                 detail::tmat4x4<valType> eulerAngleYXZ(
    00102                         valType const & yaw,
    00103                         valType const & pitch,
    00104                         valType const & roll);
    00105
    00108                 template <typename valType>
    00109                 detail::tmat4x4<valType> yawPitchRoll(
    00110                         valType const & yaw,
    00111                         valType const & pitch,
    00112                         valType const & roll);
    00113
    00116                 template <typename T>
    00117                 detail::tmat2x2<T> orientate2(T const & angle);
    00118
    00121                 template <typename T>
    00122                 detail::tmat3x3<T> orientate3(T const & angle);
    00123
    00126                 template <typename T>
    00127                 detail::tmat3x3<T> orientate3(detail::tvec3<T> const & angles);
    00128
    00131                 template <typename T>
    00132                 detail::tmat4x4<T> orientate4(detail::tvec3<T> const & angles);
    00133
    00135         }//namespace euler_angles
    00136     }//namespace gtx
    00137 }//namespace glm
    00138
    00139 #include "euler_angles.inl"
    00140
    00141 namespace glm{using namespace gtx::euler_angles;}
    00142
    00143 #endif//glm_gtx_euler_angles