Browse Source

Promote eulerAngles to GTC quaternion extension

Christophe Riccio 13 years ago
parent
commit
7373e7b8da
4 changed files with 16 additions and 15 deletions
  1. 7 0
      glm/gtc/quaternion.hpp
  2. 9 0
      glm/gtc/quaternion.inl
  3. 0 6
      glm/gtx/quaternion.hpp
  4. 0 9
      glm/gtx/quaternion.inl

+ 7 - 0
glm/gtc/quaternion.hpp

@@ -204,6 +204,13 @@ namespace detail
 		typename detail::tquat<T>::value_type const & angle, 
 		typename detail::tquat<T>::value_type const & angle, 
 		detail::tvec3<T> const & v);
 		detail::tvec3<T> const & v);
 
 
+	/// Returns euler angles, yitch as x, yaw as y, roll as z. 
+	/// 
+	/// @see gtc_quaternion
+	template <typename T> 
+	detail::tvec3<T> eulerAngles(
+        detail::tquat<T> const & x);
+    
 	/// Converts a quaternion to a 3 * 3 matrix. 
 	/// Converts a quaternion to a 3 * 3 matrix. 
 	/// 
 	/// 
 	/// @see gtc_quaternion
 	/// @see gtc_quaternion

+ 9 - 0
glm/gtc/quaternion.inl

@@ -500,6 +500,15 @@ namespace detail
         //return gtc::quaternion::cross(q, detail::tquat<T>(cos(AngleRad * T(0.5)), Tmp.x * fSin, Tmp.y * fSin, Tmp.z * fSin));
         //return gtc::quaternion::cross(q, detail::tquat<T>(cos(AngleRad * T(0.5)), Tmp.x * fSin, Tmp.y * fSin, Tmp.z * fSin));
 	}
 	}
 
 
+	template <typename T> 
+	GLM_FUNC_QUALIFIER detail::tvec3<T> eulerAngles
+	(
+        detail::tquat<T> const & x
+    )
+	{
+		return detail::tvec3<T>(pitch(x), yaw(x), roll(x));
+	}
+    
     template <typename T> 
     template <typename T> 
     GLM_FUNC_QUALIFIER detail::tmat3x3<T> mat3_cast
     GLM_FUNC_QUALIFIER detail::tmat3x3<T> mat3_cast
 	(
 	(

+ 0 - 6
glm/gtx/quaternion.hpp

@@ -176,12 +176,6 @@ namespace glm
 	template <typename valType> 
 	template <typename valType> 
 	valType yaw(
 	valType yaw(
 		detail::tquat<valType> const & x);
 		detail::tquat<valType> const & x);
-		
-	//! Returns euler angles, yitch as x, yaw as y, roll as z. 
-	//! From GLM_GTX_quaternion extension.
-	template <typename valType> 
-	detail::tvec3<valType> eulerAngles(
-		detail::tquat<valType> const & x);
 
 
 	//! Converts a quaternion to a 3 * 3 matrix. 
 	//! Converts a quaternion to a 3 * 3 matrix. 
 	//! From GLM_GTX_quaternion extension.
 	//! From GLM_GTX_quaternion extension.

+ 0 - 9
glm/gtx/quaternion.inl

@@ -234,15 +234,6 @@ namespace glm
 		return glm::degrees(asin(valType(-2) * (q.x * q.z - q.w * q.y)));
 		return glm::degrees(asin(valType(-2) * (q.x * q.z - q.w * q.y)));
 	}
 	}
 
 
-	template <typename valType> 
-	GLM_FUNC_QUALIFIER detail::tvec3<valType> eulerAngles
-	(
-		detail::tquat<valType> const & x
-	)
-	{
-		return detail::tvec3<valType>(pitch(x), yaw(x), roll(x));
-	}
-
 	template <typename T>
 	template <typename T>
 	GLM_FUNC_QUALIFIER detail::tquat<T> shortMix
 	GLM_FUNC_QUALIFIER detail::tquat<T> shortMix
 	(
 	(