39 #ifndef GLM_GTX_rotate_vector
40 #define GLM_GTX_rotate_vector
44 #include "../gtx/transform.hpp"
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
47 # pragma message("GLM: GLM_GTX_rotate_vector extension included")
57 template <
typename T, precision P>
58 detail::tvec2<T, P>
rotate(
59 detail::tvec2<T, P>
const & v,
64 template <
typename T, precision P>
65 detail::tvec3<T, P>
rotate(
66 detail::tvec3<T, P>
const & v,
68 detail::tvec3<T, P>
const & normal);
72 template <
typename T, precision P>
73 detail::tvec4<T, P>
rotate(
74 detail::tvec4<T, P>
const & v,
76 detail::tvec3<T, P>
const & normal);
80 template <
typename T, precision P>
82 detail::tvec3<T, P>
const & v,
87 template <
typename T, precision P>
89 detail::tvec3<T, P>
const & v,
94 template <
typename T, precision P>
96 detail::tvec3<T, P>
const & v,
101 template <
typename T, precision P>
103 detail::tvec4<T, P>
const & v,
108 template <
typename T, precision P>
110 detail::tvec4<T, P>
const & v,
115 template <
typename T, precision P>
117 detail::tvec4<T, P>
const & v,
122 template <
typename T, precision P>
124 detail::tvec3<T, P>
const & Normal,
125 detail::tvec3<T, P>
const & Up);
130 #include "rotate_vector.inl"
132 #endif//GLM_GTX_rotate_vector
detail::tvec3< T, P > rotateX(detail::tvec3< T, P > const &v, T const &angle)
Rotate a three dimensional vector around the X axis.
GLM_FUNC_DECL detail::tmat4x4< T, P > rotate(detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
Builds a rotation 4 * 4 matrix created from an axis vector and an angle.
GLM_FUNC_DECL T angle(detail::tquat< T, P > const &x)
Returns the quaternion rotation angle.
detail::tmat4x4< T, P > orientation(detail::tvec3< T, P > const &Normal, detail::tvec3< T, P > const &Up)
Build a rotation matrix from a normal and a up vector.
detail::tvec3< T, P > rotateY(detail::tvec3< T, P > const &v, T const &angle)
Rotate a three dimensional vector around the Y axis.
detail::tvec3< T, P > rotateZ(detail::tvec3< T, P > const &v, T const &angle)
Rotate a three dimensional vector around the Z axis.