- 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 namespace gtx{
    00026 namespace rotate_vector
    00027 {
    00028         using namespace transform;
    00029
    00032
    00035         template <typename T>
    00036         detail::tvec2<T> rotate(
    00037         detail::tvec2<T> const & v,
    00038                 T const & angle);
    00039
    00042         template <typename T>
    00043         detail::tvec3<T> rotate(
    00044         detail::tvec3<T> const & v,
    00045                 T const & angle,
    00046         detail::tvec3<T> const & normal);
    00047
    00050         template <typename T>
    00051         detail::tvec4<T> rotate(
    00052         detail::tvec4<T> const & v,
    00053         T const & angle,
    00054                 detail::tvec3<T> const & normal);
    00055
    00058         template <typename T>
    00059         detail::tvec3<T> rotateX(
    00060         detail::tvec3<T> const & v,
    00061                 T const & angle);
    00062
    00065         template <typename T>
    00066         detail::tvec3<T> rotateY(
    00067                 detail::tvec3<T> const & v,
    00068                 T const & angle);
    00069
    00072         template <typename T>
    00073         detail::tvec3<T> rotateZ(
    00074         detail::tvec3<T> const & v,
    00075                 T const & angle);
    00076
    00079         template <typename T>
    00080         detail::tvec4<T> rotateX(
    00081         detail::tvec4<T> const & v,
    00082                 T const & angle);
    00083
    00086         template <typename T>
    00087         detail::tvec4<T> rotateY(
    00088         detail::tvec4<T> const & v,
    00089                 T const & angle);
    00090
    00093         template <typename T>
    00094         detail::tvec4<T> rotateZ(
    00095         detail::tvec4<T> const & v,
    00096                 T const & angle);
    00097
    00100         template <typename T>
    00101         detail::tmat4x4<T> orientation(
    00102         detail::tvec3<T> const & Normal,
    00103         detail::tvec3<T> const & Up);
    00104
    00106 }//namespace rotate_vector
    00107 }//namespace gtx
    00108 }//namespace glm
    00109
    00110 #include "rotate_vector.inl"
    00111
    00112 namespace glm{using namespace gtx::rotate_vector;}
    00113
    00114 #endif//glm_gtx_rotate_vector