Merge branch '0.9.3' into 0.9.4

This commit is contained in:
Christophe Riccio 2012-01-24 12:07:52 +00:00
commit 64e06fa57a
17 changed files with 50 additions and 36 deletions

View File

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

View File

@ -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>
{

View File

@ -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);

View File

@ -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

View File

@ -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

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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];

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
)