diff --git a/glm/ext.hpp b/glm/ext.hpp index 9a2f028a..b44b60fe 100644 --- a/glm/ext.hpp +++ b/glm/ext.hpp @@ -79,6 +79,7 @@ #include "./virtrev/address.hpp" #include "./virtrev/equal_operator.hpp" +#include "./virtrev/xstream.hpp" //const float goldenRatio = 1.618033988749894848f; //const float pi = 3.141592653589793238f; diff --git a/glm/setup.hpp b/glm/setup.hpp index 01c28ba3..255eb04f 100644 --- a/glm/setup.hpp +++ b/glm/setup.hpp @@ -409,7 +409,7 @@ #if((GLM_COMPONENT == GLM_COMPONENT_MS_EXT) && !(GLM_COMPILER & GLM_COMPILER_VC)) # error "GLM_COMPONENT value is GLM_COMPONENT_MS_EXT but this is not allowed with the current compiler." -#endif//GLM_USE_ANONYMOUS_UNION +#endif #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_COMPONENT_DISPLAYED)) # define GLM_MESSAGE_COMPONENT_DISPLAYED diff --git a/glm/virtrev/address.hpp b/glm/virtrev/address.hpp deleted file mode 100644 index c64071a5..00000000 --- a/glm/virtrev/address.hpp +++ /dev/null @@ -1,189 +0,0 @@ -#ifndef GLM_EXT_VIRTREV_ADDRESS_HPP -#define GLM_EXT_VIRTREV_ADDRESS_HPP - -/////////////////////////////////////////////////////////////////////////////////////////////////// -// OpenGL Mathematics Copyright (c) 2005 - 2010 G-Truc Creation (www.g-truc.net) -// Virtrev SDK copyright matrem (matrem84.free.fr) -/////////////////////////////////////////////////////////////////////////////////////////////////// -// Created : 2008-10-07 -// Updated : -// Licence : This source is under MIT License -// File : glm/ext/virtrev/address.h -/////////////////////////////////////////////////////////////////////////////////////////////////// -// Dependency: -// - GLM core -/////////////////////////////////////////////////////////////////////////////////////////////////// - -#include "../glm.hpp" - - -namespace glm -{ - namespace virtrev_glmext - { - //! GLM_VIRTREV_address extension: Vector & matrix content address (T const * type pointer). - namespace address - { - /** Get the const address of the vector content. */ - template - T const * address(detail::tvec2 const & vec) - { - return &(vec.x); - } - /** Get the address of the vector content. */ - template - T * address(detail::tvec2 & vec) - { - return &(vec.x); - } - - /** Get the const address of the vector content. */ - template - T const * address(detail::tvec3 const & vec) - { - return &(vec.x); - } - /** Get the address of the vector content. */ - template - T * address(detail::tvec3 & vec) - { - return &(vec.x); - } - - /** Get the const address of the vector content. */ - template - T const * address(detail::tvec4 const & vec) - { - return &(vec.x); - } - /** Get the address of the vector content. */ - template - T * address(detail::tvec4 & vec) - { - return &(vec.x); - } - - /** Get the const address of the matrix content. */ - template - T const * address(detail::tmat2x2 const & mat) - { - return &(mat[0].x); - } - /** Get the address of the matrix content. */ - template - T * address(detail::tmat2x2 & mat) - { - return &(mat[0].x); - } - - /** Get the const address of the matrix content. */ - template - T const * address(detail::tmat3x3 const & mat) - { - return &(mat[0].x); - } - /** Get the address of the matrix content. */ - template - T * address(detail::tmat3x3 & mat) - { - return &(mat[0].x); - } - - /** Get the const address of the matrix content. */ - template - T const * address(detail::tmat4x4 const & mat) - { - return &(mat[0].x); - } - /** Get the address of the matrix content. */ - template - T * address(detail::tmat4x4 & mat) - { - return &(mat[0].x); - } - - /** Get the const address of the matrix content. */ - template - T const * address(detail::tmat2x3 const & mat) - { - return &(mat[0].x); - } - /** Get the address of the matrix content. */ - template - T * address(detail::tmat2x3 & mat) - { - return &(mat[0].x); - } - - /** Get the const address of the matrix content. */ - template - T const * address(detail::tmat3x2 const & mat) - { - return &(mat[0].x); - } - /** Get the address of the matrix content. */ - template - T * address(detail::tmat3x2 & mat) - { - return &(mat[0].x); - } - - /** Get the const address of the matrix content. */ - template - T const * address(detail::tmat2x4 const & mat) - { - return &(mat[0].x); - } - /** Get the address of the matrix content. */ - template - T * address(detail::tmat2x4 & mat) - { - return &(mat[0].x); - } - - /** Get the const address of the matrix content. */ - template - T const * address(detail::tmat4x2 const & mat) - { - return &(mat[0].x); - } - /** Get the address of the matrix content. */ - template - T * address(detail::tmat4x2 & mat) - { - return &(mat[0].x); - } - - /** Get the const address of the matrix content. */ - template - T const * address(detail::tmat3x4 const & mat) - { - return &(mat[0].x); - } - /** Get the address of the matrix content. */ - template - T * address(detail::tmat3x4 & mat) - { - return &(mat[0].x); - } - - /** Get the const address of the matrix content. */ - template - T const * address(detail::tmat4x3 const & mat) - { - return &(mat[0].x); - } - /** Get the address of the matrix content. */ - template - T * address(detail::tmat4x3 & mat) - { - return &(mat[0].x); - } - } - } -} - -namespace glm{using namespace virtrev_glmext::address;} - -#endif//GLM_EXT_VIRTREV_ADDRESS_HPP - diff --git a/glm/virtrev/equal_operator.hpp b/glm/virtrev/equal_operator.hpp deleted file mode 100644 index a6aaef3f..00000000 --- a/glm/virtrev/equal_operator.hpp +++ /dev/null @@ -1,68 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////////////////////////// -// OpenGL Mathematics Copyright (c) 2005 - 2010 G-Truc Creation (www.g-truc.net) -// VirtreV SDK copyright matrem (matrem84.free.fr) -/////////////////////////////////////////////////////////////////////////////////////////////////// -// Created : 2008-09-23 -// Updated : -// Licence : This source is under MIT License -// File : glm/ext/virtrev/equal_operator.hpp -/////////////////////////////////////////////////////////////////////////////////////////////////// -// Dependency: -// - GLM core -/////////////////////////////////////////////////////////////////////////////////////////////////// - -#ifndef glm_virtrev_equal_operator -#define glm_virtrev_equal_operator - -#include "../glm.hpp" - -namespace glm -{ - namespace virtrev_glmext - { - //! GLM_VIRTREV_equal_operator extension: equal operator for vectors. - namespace equal_operator - { - template - inline bool operator == (glm::detail::tvec2 const & v1, glm::detail::tvec2 const & v2) - { - return v1.x==v2.x && v1.y==v2.y; - } - - template - inline bool operator == (glm::detail::tvec3 const & v1, glm::detail::tvec3 const & v2) - { - return v1.x==v2.x && v1.y==v2.y && v1.z==v2.z; - } - - template - inline bool operator == (glm::detail::tvec4 const & v1, glm::detail::tvec4 const & v2) - { - return v1.x==v2.x && v1.y==v2.y && v1.z==v2.z && v1.w==v2.w; - } - - template - inline bool operator != (glm::detail::tvec2 const & v1, glm::detail::tvec2 const & v2) - { - return v1.x!=v2.x || v1.y!=v2.y; - } - - template - inline bool operator != (glm::detail::tvec3 const & v1, glm::detail::tvec3 const & v2) - { - return v1.x!=v2.x || v1.y!=v2.y || v1.z!=v2.z; - } - - template - inline bool operator != (glm::detail::tvec4 const & v1, glm::detail::tvec4 const & v2) - { - return v1.x!=v2.x || v1.y!=v2.y || v1.z!=v2.z || v1.w!=v2.w; - } - } - } -} - -namespace glm {using namespace virtrev_glmext::equal_operator;} - -#endif//glm_virtrev_equal_operator - diff --git a/glm/virtrev/xstream.hpp b/glm/virtrev/xstream.hpp index de5e37b0..9a46f2c3 100644 --- a/glm/virtrev/xstream.hpp +++ b/glm/virtrev/xstream.hpp @@ -8,7 +8,7 @@ // Created : 2008-05-24 // Updated : 2008-05-26 // Licence : This source is under MIT License -// File : glm/ext/virtrev/xstream.h +// File : glm/ext/virtrev/xstream.hpp /////////////////////////////////////////////////////////////////////////////////////////////////// // Dependency: // - GLM core @@ -131,7 +131,7 @@ namespace glm stream << "z=\"" << glm::row(mat, 3)[2] << "\" "; stream << "w=\"" << glm::row(mat, 3)[3] << "\" "; stream << "/>" << std::endl; - stream << ""; + stream << ""; return stream; }