Go to the documentation of this file.
   39 #ifndef GLM_GTX_quaternion 
   40 #define GLM_GTX_quaternion GLM_VERSION 
   44 #include "../gtc/quaternion.hpp" 
   46 #if(defined(GLM_MESSAGES) && !defined(glm_ext)) 
   47 #       pragma message("GLM: GLM_GTX_quaternion extension included") 
   58         template <
typename valType> 
 
   59         detail::tvec3<valType> 
cross(
 
   60                 detail::tquat<valType> 
const & q, 
 
   61                 detail::tvec3<valType> 
const & v);
 
   66         template <
typename valType> 
 
   67         detail::tvec3<valType> 
cross(
 
   68                 detail::tvec3<valType> 
const & v, 
 
   69                 detail::tquat<valType> 
const & q);
 
   75         template <
typename valType> 
 
   76         detail::tquat<valType> 
squad(
 
   77                 detail::tquat<valType> 
const & q1, 
 
   78                 detail::tquat<valType> 
const & q2, 
 
   79                 detail::tquat<valType> 
const & s1, 
 
   80                 detail::tquat<valType> 
const & s2, 
 
   86         template <
typename valType> 
 
   88                 detail::tquat<valType> 
const & prev, 
 
   89                 detail::tquat<valType> 
const & curr, 
 
   90                 detail::tquat<valType> 
const & next);
 
   95     template <
typename valType> 
 
   96         detail::tquat<valType> 
exp(
 
   97                 detail::tquat<valType> 
const & q, 
 
   98                 valType 
const & exponent);
 
  103     template <
typename valType> 
 
  104         detail::tquat<valType> 
log(
 
  105                 detail::tquat<valType> 
const & q);
 
  110     template <
typename valType> 
 
  111         detail::tquat<valType> 
pow(
 
  112                 detail::tquat<valType> 
const & x, 
 
  125         template <
typename valType> 
 
  126         detail::tvec3<valType> 
rotate(
 
  127                 detail::tquat<valType> 
const & q, 
 
  128                 detail::tvec3<valType> 
const & v);
 
  133         template <
typename valType> 
 
  134         detail::tvec4<valType> 
rotate(
 
  135                 detail::tquat<valType> 
const & q, 
 
  136                 detail::tvec4<valType> 
const & v);
 
  141         template <
typename valType> 
 
  143                 detail::tquat<valType> 
const & q);
 
  148         template <
typename valType> 
 
  150                 detail::tquat<valType> 
const & x){
return mat3_cast(x);}
 
  155         template <
typename valType> 
 
  157                 detail::tquat<valType> 
const & x){
return mat4_cast(x);}
 
  162         template <
typename valType> 
 
  164                 detail::tmat3x3<valType> 
const & x){
return quat_cast(x);}
 
  169         template <
typename valType> 
 
  171                 detail::tmat4x4<valType> 
const & x){
return quat_cast(x);}
 
  176         template <
typename T>
 
  178                 detail::tquat<T> 
const & x, 
 
  179                 detail::tquat<T> 
const & y, 
 
  185         template <
typename T>
 
  187                 detail::tquat<T> 
const & x, 
 
  188                 detail::tquat<T> 
const & y, 
 
  194 #include "quaternion.inl" 
  196 #endif//GLM_GTX_quaternion