![]() |
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_rotate_vector 00040 #define GLM_GTX_rotate_vector GLM_VERSION 00041 00042 // Dependency: 00043 #include "../glm.hpp" 00044 #include "../gtx/transform.hpp" 00045 00046 #if(defined(GLM_MESSAGES) && !defined(glm_ext)) 00047 # pragma message("GLM: GLM_GTX_rotate_vector extension included") 00048 #endif 00049 00050 namespace glm 00051 { 00054 00057 template <typename T> 00058 detail::tvec2<T> rotate( 00059 detail::tvec2<T> const & v, 00060 T const & angle); 00061 00064 template <typename T> 00065 detail::tvec3<T> rotate( 00066 detail::tvec3<T> const & v, 00067 T const & angle, 00068 detail::tvec3<T> const & normal); 00069 00072 template <typename T> 00073 detail::tvec4<T> rotate( 00074 detail::tvec4<T> const & v, 00075 T const & angle, 00076 detail::tvec3<T> const & normal); 00077 00080 template <typename T> 00081 detail::tvec3<T> rotateX( 00082 detail::tvec3<T> const & v, 00083 T const & angle); 00084 00087 template <typename T> 00088 detail::tvec3<T> rotateY( 00089 detail::tvec3<T> const & v, 00090 T const & angle); 00091 00094 template <typename T> 00095 detail::tvec3<T> rotateZ( 00096 detail::tvec3<T> const & v, 00097 T const & angle); 00098 00101 template <typename T> 00102 detail::tvec4<T> rotateX( 00103 detail::tvec4<T> const & v, 00104 T const & angle); 00105 00108 template <typename T> 00109 detail::tvec4<T> rotateY( 00110 detail::tvec4<T> const & v, 00111 T const & angle); 00112 00115 template <typename T> 00116 detail::tvec4<T> rotateZ( 00117 detail::tvec4<T> const & v, 00118 T const & angle); 00119 00122 template <typename T> 00123 detail::tmat4x4<T> orientation( 00124 detail::tvec3<T> const & Normal, 00125 detail::tvec3<T> const & Up); 00126 00128 }//namespace glm 00129 00130 #include "rotate_vector.inl" 00131 00132 #endif//GLM_GTX_rotate_vector
1.7.3