45 #include "../gtc/constants.hpp" 46 #include "../gtc/quaternion.hpp" 48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED)) 49 # pragma message("GLM: GLM_GTX_dual_quaternion extension included") 55 template <
typename T, precision P>
87 template <
typename T, precision P>
91 template <
typename T, precision P>
96 template <
typename T, precision P>
101 template <
typename T, precision P>
106 template <
typename T, precision P>
111 template <
typename T, precision P>
116 template <
typename T, precision P>
121 template <
typename T, precision P>
126 template <
typename T, precision P>
131 template <
typename T, precision P>
143 template <
typename T, precision P>
150 template <
typename T, precision P>
159 template <
typename T, precision P>
176 template <
typename T, precision P>
183 template <
typename T, precision P>
190 template <
typename T, precision P>
197 template <
typename T, precision P>
250 #if(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) 260 #elif(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) 263 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) 266 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT)) 270 # error "GLM error: multiple default precision requested for single-precision floating-point types" 274 #if(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE)) 279 #elif(defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE)) 281 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE)) 283 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && defined(GLM_PRECISION_LOWP_DOUBLE)) 286 # error "GLM error: Multiple default precision requested for double-precision floating-point types" 292 #include "dual_quaternion.inl"
detail::tdualquat< double, highp > highp_ddualquat
glm::detail::tquat< T, P > dual
detail::tdualquat< float, highp > highp_fdualquat
detail::tdualquat< float, mediump > mediump_fdualquat
GLM_FUNC_DECL detail::tquat< T, P > lerp(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
detail::tdualquat< double, mediump > mediump_ddualquat
GLM_FUNC_DECL tdualquat< T, P > & operator/=(T const &s)
highp_fdualquat fdualquat
detail::tdualquat< float, mediump > mediump_dualquat
GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const
GLM_FUNC_DECL tmat2x2< T, P > operator*(tmat2x2< T, P > const &m, T const &s)
detail::tdualquat< float, lowp > lowp_dualquat
glm::detail::tquat< T, P > part_type
GLM_FUNC_DECL genType normalize(genType const &x)
GLM_FUNC_DECL tmat2x2< T, P > operator+(tmat2x2< T, P > const &m, T const &s)
GLM_FUNC_DECL tmat2x2< T, P > operator/(tmat2x2< T, P > const &m, T const &s)
GLM_FUNC_DECL tmat2x2< T, P > operator-(tmat2x2< T, P > const &m, T const &s)
GLM_FUNC_DECL detail::tmat3x4< T, P > mat3x4_cast(detail::tdualquat< T, P > const &x)
GLM_FUNC_DECL detail::tmat2x4< T, P > mat2x4_cast(detail::tdualquat< T, P > const &x)
detail::tdualquat< float, lowp > lowp_fdualquat
GLM_FUNC_DECL tdualquat()
GLM_FUNC_DECL part_type & operator[](int i)
GLM_FUNC_DECL tdualquat< T, P > & operator*=(T const &s)
glm::detail::tquat< T, P > real
highp_ddualquat ddualquat
detail::tdualquat< double, lowp > lowp_ddualquat
detail::tdualquat< float, highp > highp_dualquat
GLM_FUNC_DECL detail::tdualquat< T, P > dualquat_cast(detail::tmat2x4< T, P > const &x)
GLM_FUNC_DECL detail::tmat4x4< T, P > orientation(detail::tvec3< T, P > const &Normal, detail::tvec3< T, P > const &Up)
GLM_FUNC_DECL matType< T, P > inverse(matType< T, P > const &m)