43 #include "../gtx/transform.hpp" 45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED)) 46 # pragma message("GLM: GLM_GTX_rotate_vector extension included") 61 template <
typename T, precision P>
63 detail::tvec3<T, P>
const & x,
64 detail::tvec3<T, P>
const & y,
69 template <
typename T, precision P>
71 detail::tvec2<T, P>
const & v,
76 template <
typename T, precision P>
78 detail::tvec3<T, P>
const & v,
80 detail::tvec3<T, P>
const & normal);
84 template <
typename T, precision P>
86 detail::tvec4<T, P>
const & v,
88 detail::tvec3<T, P>
const & normal);
92 template <
typename T, precision P>
94 detail::tvec3<T, P>
const & v,
99 template <
typename T, precision P>
101 detail::tvec3<T, P>
const & v,
106 template <
typename T, precision P>
108 detail::tvec3<T, P>
const & v,
113 template <
typename T, precision P>
115 detail::tvec4<T, P>
const & v,
120 template <
typename T, precision P>
122 detail::tvec4<T, P>
const & v,
127 template <
typename T, precision P>
129 detail::tvec4<T, P>
const & v,
134 template <
typename T, precision P>
136 detail::tvec3<T, P>
const & Normal,
137 detail::tvec3<T, P>
const & Up);
142 #include "rotate_vector.inl"
GLM_FUNC_DECL T angle(detail::tquat< T, P > const &x)
GLM_FUNC_DECL detail::tquat< T, P > slerp(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
Returns the slurp interpolation between two quaternions.
GLM_FUNC_DECL detail::tvec3< T, P > rotateY(detail::tvec3< T, P > const &v, T const &angle)
GLM_FUNC_DECL detail::tvec3< T, P > rotateX(detail::tvec3< T, P > const &v, T const &angle)
GLM_FUNC_DECL detail::tvec3< T, P > rotateZ(detail::tvec3< T, P > const &v, T const &angle)
GLM_FUNC_DECL detail::tmat4x4< T, P > orientation(detail::tvec3< T, P > const &Normal, detail::tvec3< T, P > const &Up)