rotate_vector.hpp Source File

- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List

# rotate_vector.hpp

    00001
    00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
    00004 // Created : 2006-11-02
    00005 // Updated : 2009-02-19
    00006 // Licence : This source is under MIT License
    00007 // File    : glm/gtx/rotate_vector.hpp
    00009 // Dependency:
    00010 // - GLM core
    00012
    00013 #ifndef glm_gtx_rotate_vector
    00014 #define glm_gtx_rotate_vector
    00015
    00016 // Dependency:
    00017 #include "../glm.hpp"
    00018 #include "../gtx/transform.hpp"
    00019
    00020 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
    00021 #       pragma message("GLM: GLM_GTX_rotate_vector extension included")
    00022 #endif
    00023
    00024 namespace glm
    00025 {
    00026         namespace gtx{
    00028         namespace rotate_vector
    00029         {
    00030                 using namespace transform;
    00031
    00034
    00037                 template <typename T>
    00038                 detail::tvec2<T> rotate(
    00039                         const detail::tvec2<T>& v,
    00040                         T angle);
    00041
    00044                 template <typename T>
    00045                 detail::tvec3<T> rotate(
    00046                         const detail::tvec3<T>& v,
    00047                         T angle,
    00048                         const detail::tvec3<T>& normal);
    00049
    00052                 template <typename T>
    00053                 detail::tvec4<T> rotate(
    00054                         const detail::tvec4<T>& v, T angle,
    00055                         const detail::tvec3<T>& normal);
    00056
    00059                 template <typename T>
    00060                 detail::tvec3<T> rotateX(
    00061                         const detail::tvec3<T>& v,
    00062                         T angle);
    00063
    00066                 template <typename T>
    00067                 detail::tvec3<T> rotateY(
    00068                         const detail::tvec3<T>& v,
    00069                         T angle);
    00070
    00073                 template <typename T>
    00074                 detail::tvec3<T> rotateZ(
    00075                         const detail::tvec3<T>& v,
    00076                         T angle);
    00077
    00080                 template <typename T>
    00081                 detail::tvec4<T> rotateX(
    00082                         const detail::tvec4<T>& v,
    00083                         T angle);
    00084
    00087                 template <typename T>
    00088                 detail::tvec4<T> rotateY(
    00089                         const detail::tvec4<T>& v,
    00090                         T angle);
    00091
    00094                 template <typename T>
    00095                 detail::tvec4<T> rotateZ(
    00096                         const detail::tvec4<T>& v,
    00097                         T angle);
    00098
    00101                 template <typename T>
    00102                 detail::tmat4x4<T> orientation(
    00103                         const detail::tvec3<T>& Normal,
    00104                         const detail::tvec3<T>& Up);
    00105
    00107
    00108         }//namespace rotate_vector
    00109         }//namespace gtx
    00110 }//namespace glm
    00111
    00112 #include "rotate_vector.inl"
    00113
    00114 namespace glm{using namespace gtx::rotate_vector;}
    00115
    00116 #endif//glm_gtx_rotate_vector