- Main Page
- Namespaces
- Files

- File List

# euler_angles.hpp

    00001
    00002 // OpenGL Mathematics Copyright (c) 2005 - 2009 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.h
    00009 // Dependency:
    00010 // - GLM core
    00011 // - GLM_GTC_double_float
    00012 // - GLM_GTC_half_float
    00014 // ToDo:
    00015 // - mat2 mat2GTX(const vec2& angles) undefined
    00016 // - mat3 mat3GTX(const vec2& angles) undefined
    00018
    00019 #ifndef glm_gtx_euler_angles
    00020 #define glm_gtx_euler_angles
    00021
    00022 // Dependency:
    00023 #include "../glm.hpp"
    00024 #include "../gtc/double_float.hpp"
    00025 #include "../gtc/half_float.hpp"
    00026
    00027 namespace glm
    00028 {
    00029     namespace gtx{
    00031         namespace euler_angles
    00032         {
    00035                 template <typename valType>
    00036                 detail::tmat4x4<valType> eulerAngleX(
    00037                         valType const & angleX);
    00038
    00041                 template <typename valType>
    00042                 detail::tmat4x4<valType> eulerAngleY(
    00043                         valType const & angleY);
    00044
    00047                 template <typename valType>
    00048                 detail::tmat4x4<valType> eulerAngleZ(
    00049                         valType const & angleZ);
    00050
    00053                 template <typename valType>
    00054                 detail::tmat4x4<valType> eulerAngleXY(
    00055                         valType const & angleX,
    00056                         valType const & angleY);
    00057
    00060                 template <typename valType>
    00061                 detail::tmat4x4<valType> eulerAngleYX(
    00062                         valType const & angleY,
    00063                         valType const & angleX);
    00064
    00067                 template <typename valType>
    00068                 detail::tmat4x4<valType> eulerAngleXZ(
    00069                         valType const & angleX,
    00070                         valType const & angleZ);
    00071
    00074                 template <typename valType>
    00075                 detail::tmat4x4<valType> eulerAngleZX(
    00076                         valType const & angleZ,
    00077                         valType const & angleX);
    00078
    00081                 template <typename valType>
    00082                 detail::tmat4x4<valType> eulerAngleYZ(
    00083                         valType const & angleY,
    00084                         valType const & angleZ);
    00085
    00088                 template <typename valType>
    00089                 detail::tmat4x4<valType> eulerAngleZY(
    00090                         valType const & angleZ,
    00091                         valType const & angleY);
    00092
    00095                 template <typename valType>
    00096                 detail::tmat4x4<valType> eulerAngleYXZ(
    00097                         valType const & yaw,
    00098                         valType const & pitch,
    00099                         valType const & roll);
    00100
    00103                 template <typename valType>
    00104                 detail::tmat4x4<valType> yawPitchRoll(
    00105                         valType const & yaw,
    00106                         valType const & pitch,
    00107                         valType const & roll);
    00108
    00111                 template <typename T>
    00112                 detail::tmat2x2<T> orientate2(T const & angle);
    00113
    00116                 template <typename T>
    00117                 detail::tmat3x3<T> orientate3(T const & angle);
    00118
    00121                 template <typename T>
    00122                 detail::tmat3x3<T> orientate3(detail::tvec3<T> const & angles);
    00123
    00126                 template <typename T>
    00127                 detail::tmat4x4<T> orientate4(detail::tvec3<T> const & angles);
    00128         }//namespace euler_angles
    00129     }//namespace gtx
    00130 }//namespace glm
    00131
    00132 #define GLM_GTX_euler_angles namespace gtx::euler_angles
    00133 #ifndef GLM_GTX_GLOBAL
    00134 namespace glm {using GLM_GTX_euler_angles;}
    00135 #endif//GLM_GTX_GLOBAL
    00136
    00137 #include "euler_angles.inl"
    00138
    00139 #endif//glm_gtx_euler_angles