parent
7c177c0ea3
commit
abcefb9e77
5 changed files with 4 additions and 260 deletions
@ -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<typename T> |
|
||||||
T const * address(detail::tvec2<T> const & vec) |
|
||||||
{ |
|
||||||
return &(vec.x); |
|
||||||
} |
|
||||||
/** Get the address of the vector content. */ |
|
||||||
template<typename T> |
|
||||||
T * address(detail::tvec2<T> & vec) |
|
||||||
{ |
|
||||||
return &(vec.x); |
|
||||||
} |
|
||||||
|
|
||||||
/** Get the const address of the vector content. */ |
|
||||||
template<typename T> |
|
||||||
T const * address(detail::tvec3<T> const & vec) |
|
||||||
{ |
|
||||||
return &(vec.x); |
|
||||||
} |
|
||||||
/** Get the address of the vector content. */ |
|
||||||
template<typename T> |
|
||||||
T * address(detail::tvec3<T> & vec) |
|
||||||
{ |
|
||||||
return &(vec.x); |
|
||||||
} |
|
||||||
|
|
||||||
/** Get the const address of the vector content. */ |
|
||||||
template<typename T> |
|
||||||
T const * address(detail::tvec4<T> const & vec) |
|
||||||
{ |
|
||||||
return &(vec.x); |
|
||||||
} |
|
||||||
/** Get the address of the vector content. */ |
|
||||||
template<typename T> |
|
||||||
T * address(detail::tvec4<T> & vec) |
|
||||||
{ |
|
||||||
return &(vec.x); |
|
||||||
} |
|
||||||
|
|
||||||
/** Get the const address of the matrix content. */ |
|
||||||
template<typename T> |
|
||||||
T const * address(detail::tmat2x2<T> const & mat) |
|
||||||
{ |
|
||||||
return &(mat[0].x); |
|
||||||
} |
|
||||||
/** Get the address of the matrix content. */ |
|
||||||
template<typename T> |
|
||||||
T * address(detail::tmat2x2<T> & mat) |
|
||||||
{ |
|
||||||
return &(mat[0].x); |
|
||||||
} |
|
||||||
|
|
||||||
/** Get the const address of the matrix content. */ |
|
||||||
template<typename T> |
|
||||||
T const * address(detail::tmat3x3<T> const & mat) |
|
||||||
{ |
|
||||||
return &(mat[0].x); |
|
||||||
} |
|
||||||
/** Get the address of the matrix content. */ |
|
||||||
template<typename T> |
|
||||||
T * address(detail::tmat3x3<T> & mat) |
|
||||||
{ |
|
||||||
return &(mat[0].x); |
|
||||||
} |
|
||||||
|
|
||||||
/** Get the const address of the matrix content. */ |
|
||||||
template<typename T> |
|
||||||
T const * address(detail::tmat4x4<T> const & mat) |
|
||||||
{ |
|
||||||
return &(mat[0].x); |
|
||||||
} |
|
||||||
/** Get the address of the matrix content. */ |
|
||||||
template<typename T> |
|
||||||
T * address(detail::tmat4x4<T> & mat) |
|
||||||
{ |
|
||||||
return &(mat[0].x); |
|
||||||
} |
|
||||||
|
|
||||||
/** Get the const address of the matrix content. */ |
|
||||||
template<typename T> |
|
||||||
T const * address(detail::tmat2x3<T> const & mat) |
|
||||||
{ |
|
||||||
return &(mat[0].x); |
|
||||||
} |
|
||||||
/** Get the address of the matrix content. */ |
|
||||||
template<typename T> |
|
||||||
T * address(detail::tmat2x3<T> & mat) |
|
||||||
{ |
|
||||||
return &(mat[0].x); |
|
||||||
} |
|
||||||
|
|
||||||
/** Get the const address of the matrix content. */ |
|
||||||
template<typename T> |
|
||||||
T const * address(detail::tmat3x2<T> const & mat) |
|
||||||
{ |
|
||||||
return &(mat[0].x); |
|
||||||
} |
|
||||||
/** Get the address of the matrix content. */ |
|
||||||
template<typename T> |
|
||||||
T * address(detail::tmat3x2<T> & mat) |
|
||||||
{ |
|
||||||
return &(mat[0].x); |
|
||||||
} |
|
||||||
|
|
||||||
/** Get the const address of the matrix content. */ |
|
||||||
template<typename T> |
|
||||||
T const * address(detail::tmat2x4<T> const & mat) |
|
||||||
{ |
|
||||||
return &(mat[0].x); |
|
||||||
} |
|
||||||
/** Get the address of the matrix content. */ |
|
||||||
template<typename T> |
|
||||||
T * address(detail::tmat2x4<T> & mat) |
|
||||||
{ |
|
||||||
return &(mat[0].x); |
|
||||||
} |
|
||||||
|
|
||||||
/** Get the const address of the matrix content. */ |
|
||||||
template<typename T> |
|
||||||
T const * address(detail::tmat4x2<T> const & mat) |
|
||||||
{ |
|
||||||
return &(mat[0].x); |
|
||||||
} |
|
||||||
/** Get the address of the matrix content. */ |
|
||||||
template<typename T> |
|
||||||
T * address(detail::tmat4x2<T> & mat) |
|
||||||
{ |
|
||||||
return &(mat[0].x); |
|
||||||
} |
|
||||||
|
|
||||||
/** Get the const address of the matrix content. */ |
|
||||||
template<typename T> |
|
||||||
T const * address(detail::tmat3x4<T> const & mat) |
|
||||||
{ |
|
||||||
return &(mat[0].x); |
|
||||||
} |
|
||||||
/** Get the address of the matrix content. */ |
|
||||||
template<typename T> |
|
||||||
T * address(detail::tmat3x4<T> & mat) |
|
||||||
{ |
|
||||||
return &(mat[0].x); |
|
||||||
} |
|
||||||
|
|
||||||
/** Get the const address of the matrix content. */ |
|
||||||
template<typename T> |
|
||||||
T const * address(detail::tmat4x3<T> const & mat) |
|
||||||
{ |
|
||||||
return &(mat[0].x); |
|
||||||
} |
|
||||||
/** Get the address of the matrix content. */ |
|
||||||
template<typename T> |
|
||||||
T * address(detail::tmat4x3<T> & mat) |
|
||||||
{ |
|
||||||
return &(mat[0].x); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
namespace glm{using namespace virtrev_glmext::address;} |
|
||||||
|
|
||||||
#endif//GLM_EXT_VIRTREV_ADDRESS_HPP
|
|
||||||
|
|
@ -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<typename T> |
|
||||||
inline bool operator == (glm::detail::tvec2<T> const & v1, glm::detail::tvec2<T> const & v2) |
|
||||||
{ |
|
||||||
return v1.x==v2.x && v1.y==v2.y; |
|
||||||
} |
|
||||||
|
|
||||||
template<typename T> |
|
||||||
inline bool operator == (glm::detail::tvec3<T> const & v1, glm::detail::tvec3<T> const & v2) |
|
||||||
{ |
|
||||||
return v1.x==v2.x && v1.y==v2.y && v1.z==v2.z; |
|
||||||
} |
|
||||||
|
|
||||||
template<typename T> |
|
||||||
inline bool operator == (glm::detail::tvec4<T> const & v1, glm::detail::tvec4<T> const & v2) |
|
||||||
{ |
|
||||||
return v1.x==v2.x && v1.y==v2.y && v1.z==v2.z && v1.w==v2.w; |
|
||||||
} |
|
||||||
|
|
||||||
template<typename T> |
|
||||||
inline bool operator != (glm::detail::tvec2<T> const & v1, glm::detail::tvec2<T> const & v2) |
|
||||||
{ |
|
||||||
return v1.x!=v2.x || v1.y!=v2.y; |
|
||||||
} |
|
||||||
|
|
||||||
template<typename T> |
|
||||||
inline bool operator != (glm::detail::tvec3<T> const & v1, glm::detail::tvec3<T> const & v2) |
|
||||||
{ |
|
||||||
return v1.x!=v2.x || v1.y!=v2.y || v1.z!=v2.z; |
|
||||||
} |
|
||||||
|
|
||||||
template<typename T> |
|
||||||
inline bool operator != (glm::detail::tvec4<T> const & v1, glm::detail::tvec4<T> 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
|
|
||||||
|
|
Loading…
Reference in New Issue