Browse Source

Merge branch '0.9.3' into 0.9.4

Christophe Riccio 14 years ago
parent
commit
64e06fa57a

+ 2 - 0
glm/core/_fixes.hpp

@@ -26,6 +26,8 @@
 /// @author Christophe Riccio
 ///////////////////////////////////////////////////////////////////////////////////
 
+#include <cmath>
+
 //! Workaround for compatibility with other libraries
 #ifdef max
 #undef max

+ 3 - 3
glm/core/_swizzle.hpp

@@ -53,7 +53,7 @@ namespace glm
 namespace glm{
 namespace detail
 {
-    //! Internal class for implementing swizzle operators
+    // Internal class for implementing swizzle operators
     template <typename T, int N>
     struct _swizzle_base0
     {
@@ -92,7 +92,7 @@ namespace detail
         V operator ()()  const { return V(this->elem(E0), this->elem(E1), this->elem(E2), this->elem(E3)); }
     };
 
-    //! Internal class for implementing swizzle operators
+    // Internal class for implementing swizzle operators
     /*!
         Template parameters:
 
@@ -183,7 +183,7 @@ namespace detail
 		}
     };
 
-	//! Specialization for swizzles containing duplicate elements.  These cannot be modified.
+	// Specialization for swizzles containing duplicate elements.  These cannot be modified.
 	template <typename ValueType, typename VecType, int N, int E0, int E1, int E2, int E3>
 	struct _swizzle_base2<ValueType,VecType,N,E0,E1,E2,E3,1> : public _swizzle_base1<ValueType,VecType,E0,E1,E2,E3,N>
 	{

+ 4 - 0
glm/core/intrinsic_common.inl

@@ -29,8 +29,10 @@
 namespace glm{
 namespace detail{
 
+#if(GLM_COMPILER & GLM_COMPILER_VC)
 #pragma warning(push)
 #pragma warning(disable : 4510 4512 4610)
+#endif
 
 	union ieee754_QNAN
 	{
@@ -43,7 +45,9 @@ namespace detail{
 	   ieee754_QNAN() : f(0.0)/*, mantissa(0x7FFFFF), exp(0xFF), sign(0x0)*/ {}
 	};
 
+#if(GLM_COMPILER & GLM_COMPILER_VC)
 #pragma warning(pop)
+#endif
 
 	static const __m128 GLM_VAR_USED zero = _mm_setzero_ps();
 	static const __m128 GLM_VAR_USED one = _mm_set_ps1(1.0f);

+ 2 - 0
glm/core/setup.hpp

@@ -465,6 +465,8 @@
 #		pragma message("GLM: C++ with GNU language extensions")
 #	elif(GLM_LANG == GLM_LANG_CXXMS)
 #		pragma message("GLM: C++ with VC language extensions")
+#   else
+#       pragma message("GLM: C++ language undetected")
 #	endif//GLM_MODEL
 #endif//GLM_MESSAGE
 

+ 9 - 7
glm/core/type_mat2x2.hpp

@@ -48,32 +48,34 @@ namespace detail
 	template <typename T> struct tmat4x3;
 	template <typename T> struct tmat4x4;
 
-	//! \brief Template for 2 * 2 matrix of floating-point numbers.
-	//! \ingroup core_template
+	// @brief Template for 2 * 2 matrix of floating-point numbers.
+	// @ingroup core_template
 	template <typename T> 
 	struct tmat2x2
 	{
+                // Implementation detail
 		enum ctor{null};
 		typedef T value_type;
 		typedef std::size_t size_type;
 		typedef tvec2<T> col_type;
 		typedef tvec2<T> row_type;
-		GLM_FUNC_DECL size_type length() const;
 		static GLM_FUNC_DECL size_type col_size();
 		static GLM_FUNC_DECL size_type row_size();
 
 		typedef tmat2x2<T> type;
 		typedef tmat2x2<T> transpose_type;
-
+        
+		GLM_FUNC_DECL size_type length() const;
+        
 	public:
-		// Implementation detail
+                // Implementation detail
 		GLM_FUNC_DECL tmat2x2<T> _inverse() const;
 
 	private:
 		//////////////////////////////////////
-		// Data 
+                // Implementation detail
 		col_type value[2];
-
+        
 	public:
 		//////////////////////////////////////
 		// Constructors

+ 2 - 2
glm/core/type_mat2x3.hpp

@@ -48,8 +48,8 @@ namespace detail
 	template <typename T> struct tmat4x3;
 	template <typename T> struct tmat4x4;
 
-	//! \brief Template for 2 columns and 3 rows matrix of floating-point numbers.
-	//! \ingroup core_template
+	// \brief Template for 2 columns and 3 rows matrix of floating-point numbers.
+	// \ingroup core_template
 	template <typename T> 
 	struct tmat2x3
 	{

+ 2 - 2
glm/core/type_mat2x4.hpp

@@ -48,8 +48,8 @@ namespace detail
 	template <typename T> struct tmat4x3;
 	template <typename T> struct tmat4x4;
 
-	//! Template for 2 columns and 4 rows matrix of floating-point numbers.
-	//! \ingroup core_template
+	// Template for 2 columns and 4 rows matrix of floating-point numbers.
+	// \ingroup core_template
 	template <typename T> 
 	struct tmat2x4
 	{

+ 2 - 2
glm/core/type_mat3x2.hpp

@@ -48,8 +48,8 @@ namespace detail
 	template <typename T> struct tmat4x3;
 	template <typename T> struct tmat4x4;
 
-	//! \brief Template for 3 columns and 2 rows matrix of floating-point numbers.
-	//! \ingroup core_template
+	// \brief Template for 3 columns and 2 rows matrix of floating-point numbers.
+	// \ingroup core_template
 	template <typename T> 
 	struct tmat3x2
 	{

+ 6 - 4
glm/core/type_mat3x3.hpp

@@ -48,8 +48,8 @@ namespace detail
 	template <typename T> struct tmat4x3;
 	template <typename T> struct tmat4x4;
 
-	//! \brief Template for 3 * 3 matrix of floating-point numbers.
-	//! \ingroup core_template
+	// @brief Template for 3 * 3 matrix of floating-point numbers.
+	// @ingroup core_template
 	template <typename T> 
 	struct tmat3x3
 	{
@@ -66,9 +66,11 @@ namespace detail
 		typedef tmat3x3<T> transpose_type;
 
 	public:
-		// Implementation detail
+		/// Implementation detail
+        /// @cond DETAIL
 		GLM_FUNC_DECL tmat3x3<T> _inverse() const;
-
+        /// @endcond
+        
 	private:
 		// Data
 		col_type value[3];

+ 2 - 2
glm/core/type_mat3x4.hpp

@@ -48,8 +48,8 @@ namespace detail
 	template <typename T> struct tmat4x3;
 	template <typename T> struct tmat4x4;
 
-	//! \brief Template for 3 columns and 4 rows matrix of floating-point numbers.
-	//! \ingroup core_template
+	// \brief Template for 3 columns and 4 rows matrix of floating-point numbers.
+	// \ingroup core_template
 	template <typename T> 
 	struct tmat3x4
 	{

+ 2 - 2
glm/core/type_mat4x2.hpp

@@ -48,8 +48,8 @@ namespace detail
 	template <typename T> struct tmat4x3;
 	template <typename T> struct tmat4x4;
 
-	//! \brief Template for 4 columns and 2 rows matrix of floating-point numbers.
-	//! \ingroup core_template
+	// \brief Template for 4 columns and 2 rows matrix of floating-point numbers.
+	// \ingroup core_template
 	template <typename T> 
 	struct tmat4x2
 	{

+ 2 - 2
glm/core/type_mat4x3.hpp

@@ -48,8 +48,8 @@ namespace detail
 	template <typename T> struct tmat4x3;
 	template <typename T> struct tmat4x4;
 
-	//! \brief Template for 4 columns and 3 rows matrix of floating-point numbers.
-	//! \ingroup core_template
+	// \brief Template for 4 columns and 3 rows matrix of floating-point numbers.
+	// \ingroup core_template
 	template <typename T> 
 	struct tmat4x3
 	{

+ 5 - 3
glm/core/type_mat4x4.hpp

@@ -48,8 +48,8 @@ namespace detail
 	template <typename T> struct tmat4x3;
 	template <typename T> struct tmat4x4;
 
-	//! \brief Template for 4 * 4 matrix of floating-point numbers.
-	//! \ingroup core_template
+	// \brief Template for 4 * 4 matrix of floating-point numbers.
+	// \ingroup core_template
 	template <typename T> 
 	struct tmat4x4
 	{
@@ -66,8 +66,10 @@ namespace detail
 		typedef tmat4x4<T> transpose_type;
 
 	public:
-		// Implementation detail
+		/// Implementation detail
+        /// @cond DETAIL
 		GLM_FUNC_DECL tmat4x4<T> _inverse() const;
+        /// @endcond
 
 	private:
 		// Data 

+ 2 - 2
glm/core/type_vec2.hpp

@@ -44,8 +44,8 @@ namespace detail
 	template <typename T> struct tvec3;
 	template <typename T> struct tvec4;
 
-	//! The basic 2D vector type.
-	//! \ingroup core_template
+	// The basic 2D vector type.
+	// \ingroup core_template
 	template <typename T>
 	struct tvec2
 	{

+ 2 - 2
glm/core/type_vec3.hpp

@@ -44,8 +44,8 @@ namespace detail
 	template <typename T> struct tvec2;
 	template <typename T> struct tvec4;
 
-	//! Basic 3D vector type.
-	//! \ingroup core_template
+	// Basic 3D vector type.
+	// \ingroup core_template
 	template <typename T>
 	struct tvec3
 	{	

+ 2 - 2
glm/core/type_vec4.hpp

@@ -44,8 +44,8 @@ namespace detail
 	template <typename T> struct tvec2;
 	template <typename T> struct tvec3;
 
-	/// Basic 4D vector type.
-	/// @ingroup core_template
+	// Basic 4D vector type.
+	// @ingroup core_template
 	template <typename T>
 	struct tvec4
 	{

+ 1 - 1
glm/gtx/quaternion.inl

@@ -235,7 +235,7 @@ namespace glm
 	}
 
 	template <typename valType> 
-	GLM_FUNC_QUALIFIER detail::tvec3<valType> eularAngles
+	GLM_FUNC_QUALIFIER detail::tvec3<valType> eulerAngles
 	(
 		detail::tquat<valType> const & x
 	)