Merge pull request #275 from plasmacel/master

add explicit matrix conversion operators to quat #275
This commit is contained in:
Christophe Riccio 2014-11-24 21:37:20 +01:00
commit 3c0b3c4009
2 changed files with 17 additions and 1 deletions

View File

@ -103,6 +103,10 @@ namespace glm
GLM_FUNC_DECL tquat(tquat<U, Q> const & q); GLM_FUNC_DECL tquat(tquat<U, Q> const & q);
# endif # endif
// explicit conversion operators
GLM_FUNC_DECL explicit operator tmat3x3<T, P>();
GLM_FUNC_DECL explicit operator tmat4x4<T, P>();
/// Create a quaternion from two normalized axis /// Create a quaternion from two normalized axis
/// ///
/// @param u A first normalized axis /// @param u A first normalized axis

View File

@ -173,6 +173,18 @@ namespace detail
*this = quat_cast(m); *this = quat_cast(m);
} }
template <typename T, precision P>
GLM_FUNC_QUALIFIER tquat<T, P>::operator tmat3x3<T, P>()
{
return mat3_cast(*this);
}
template <typename T, precision P>
GLM_FUNC_QUALIFIER tquat<T, P>::operator tmat4x4<T, P>()
{
return mat4_cast(*this);
}
template <typename T, precision P> template <typename T, precision P>
GLM_FUNC_QUALIFIER tquat<T, P> conjugate(tquat<T, P> const & q) GLM_FUNC_QUALIFIER tquat<T, P> conjugate(tquat<T, P> const & q)
{ {