This commit is contained in:
Christophe Riccio 2011-01-19 12:10:27 +00:00
commit 14b7c7337b
15 changed files with 318 additions and 5 deletions

View File

@ -583,5 +583,28 @@ namespace detail
m[1] - T(1));
}
//////////////////////////////////////
// Boolean operators
template <typename T>
inline bool operator==
(
tmat2x2<T> const & m1,
tmat2x2<T> const & m2
)
{
return (m1[0] == m2[0]) && (m1[1] == m2[1]);
}
template <typename T>
inline bool operator!=
(
tmat2x2<T> const & m1,
tmat2x2<T> const & m2
)
{
return (m1[0] != m2[0]) || (m1[1] != m2[1]);
}
} //namespace detail
} //namespace glm

View File

@ -514,5 +514,28 @@ namespace detail
m[1] - typename tmat2x3<T>::value_type(1));
}
//////////////////////////////////////
// Boolean operators
template <typename T>
inline bool operator==
(
tmat2x3<T> const & m1,
tmat2x3<T> const & m2
)
{
return (m1[0] == m2[0]) && (m1[1] == m2[1]);
}
template <typename T>
inline bool operator!=
(
tmat2x3<T> const & m1,
tmat2x3<T> const & m2
)
{
return (m1[0] != m2[0]) || (m1[1] != m2[1]);
}
} //namespace detail
} //namespace glm

View File

@ -542,5 +542,28 @@ namespace detail
m[1] - typename tmat2x4<T>::value_type(1));
}
//////////////////////////////////////
// Boolean operators
template <typename T>
inline bool operator==
(
tmat2x4<T> const & m1,
tmat2x4<T> const & m2
)
{
return (m1[0] == m2[0]) && (m1[1] == m2[1]);
}
template <typename T>
inline bool operator!=
(
tmat2x4<T> const & m1,
tmat2x4<T> const & m2
)
{
return (m1[0] != m2[0]) || (m1[1] != m2[1]);
}
} //namespace detail
} //namespace glm

View File

@ -548,5 +548,28 @@ namespace detail
m[2] - One);
}
//////////////////////////////////////
// Boolean operators
template <typename T>
inline bool operator==
(
tmat3x2<T> const & m1,
tmat3x2<T> const & m2
)
{
return (m1[0] == m2[0]) && (m1[1] == m2[1]) && (m1[2] == m2[2]);
}
template <typename T>
inline bool operator!=
(
tmat3x2<T> const & m1,
tmat3x2<T> const & m2
)
{
return (m1[0] != m2[0]) || (m1[1] != m2[1]) || (m1[2] != m2[2]);
}
} //namespace detail
} //namespace glm

View File

@ -677,5 +677,28 @@ namespace detail
m[2] - T(1));
}
//////////////////////////////////////
// Boolean operators
template <typename T>
inline bool operator==
(
tmat3x3<T> const & m1,
tmat3x3<T> const & m2
)
{
return (m1[0] == m2[0]) && (m1[1] == m2[1]) && (m1[2] == m2[2]);
}
template <typename T>
inline bool operator!=
(
tmat3x3<T> const & m1,
tmat3x3<T> const & m2
)
{
return (m1[0] != m2[0]) || (m1[1] != m2[1]) || (m1[2] != m2[2]);
}
} //namespace detail
} //namespace glm

View File

@ -582,5 +582,28 @@ namespace detail
m[2] - T(1));
}
//////////////////////////////////////
// Boolean operators
template <typename T>
inline bool operator==
(
tmat3x4<T> const & m1,
tmat3x4<T> const & m2
)
{
return (m1[0] == m2[0]) && (m1[1] == m2[1]) && (m1[2] == m2[2]);
}
template <typename T>
inline bool operator!=
(
tmat3x4<T> const & m1,
tmat3x4<T> const & m2
)
{
return (m1[0] != m2[0]) || (m1[1] != m2[1]) || (m1[2] != m2[2]);
}
} //namespace detail
} //namespace glm

View File

@ -591,5 +591,28 @@ namespace detail
m[3] - typename tmat4x2<T>::value_type(1));
}
//////////////////////////////////////
// Boolean operators
template <typename T>
inline bool operator==
(
tmat4x2<T> const & m1,
tmat4x2<T> const & m2
)
{
return (m1[0] == m2[0]) && (m1[1] == m2[1]) && (m1[2] == m2[2]) && (m1[3] == m2[3]);
}
template <typename T>
inline bool operator!=
(
tmat4x2<T> const & m1,
tmat4x2<T> const & m2
)
{
return (m1[0] != m2[0]) || (m1[1] != m2[1]) || (m1[2] != m2[2]) || (m1[3] != m2[3]);
}
} //namespace detail
} //namespace glm

View File

@ -595,6 +595,29 @@ namespace detail
m[3] - T(1));
}
//////////////////////////////////////
// Boolean operators
template <typename T>
inline bool operator==
(
tmat4x3<T> const & m1,
tmat4x3<T> const & m2
)
{
return (m1[0] == m2[0]) && (m1[1] == m2[1]) && (m1[2] == m2[2]) && (m1[3] == m2[3]);
}
template <typename T>
inline bool operator!=
(
tmat4x3<T> const & m1,
tmat4x3<T> const & m2
)
{
return (m1[0] != m2[0]) || (m1[1] != m2[1]) || (m1[2] != m2[2]) || (m1[3] != m2[3]);
}
} //namespace detail
} //namespace glm

View File

@ -732,5 +732,28 @@ namespace detail
m[3] - typename tmat4x4<T>::value_type(1));
}
//////////////////////////////////////
// Boolean operators
template <typename T>
inline bool operator==
(
tmat4x4<T> const & m1,
tmat4x4<T> const & m2
)
{
return (m1[0] == m2[0]) && (m1[1] == m2[1]) && (m1[2] == m2[2]) && (m1[3] == m2[3]);
}
template <typename T>
inline bool operator!=
(
tmat4x4<T> const & m1,
tmat4x4<T> const & m2
)
{
return (m1[0] != m2[0]) || (m1[1] != m2[1]) || (m1[2] != m2[2]) || (m1[3] != m2[3]);
}
} //namespace detail
} //namespace glm

View File

@ -234,6 +234,29 @@ namespace glm
return *this;
}
//////////////////////////////////////
// Boolean operators
template <typename T>
inline bool operator==
(
tvec1<T> const & v1,
tvec1<T> const & v2
)
{
return (v1.x == v2.x);
}
template <typename T>
inline bool operator!=
(
tvec1<T> const & v1,
tvec1<T> const & v2
)
{
return (v1.x != v2.x);
}
//////////////////////////////////////
// Unary bit operators

View File

@ -296,6 +296,29 @@ namespace glm
return *this;
}
//////////////////////////////////////
// Boolean operators
template <typename T>
inline bool operator==
(
tvec2<T> const & v1,
tvec2<T> const & v2
)
{
return (v1.x == v2.x) && (v1.y == v2.y);
}
template <typename T>
inline bool operator!=
(
tvec2<T> const & v1,
tvec2<T> const & v2
)
{
return (v1.x != v2.x) || (v1.y != v2.y);
}
//////////////////////////////////////
// Unary bit operators

View File

@ -333,6 +333,29 @@ namespace glm
return *this;
}
//////////////////////////////////////
// Boolean operators
template <typename T>
inline bool operator==
(
tvec3<T> const & v1,
tvec3<T> const & v2
)
{
return (v1.x == v2.x) && (v1.y == v2.y) && (v1.z == v2.z);
}
template <typename T>
inline bool operator!=
(
tvec3<T> const & v1,
tvec3<T> const & v2
)
{
return (v1.x != v2.x) || (v1.y != v2.y) || (v1.z != v2.z);
}
//////////////////////////////////////
// Unary bit operators

View File

@ -861,6 +861,29 @@ namespace glm
v.w - One);
}
//////////////////////////////////////
// Boolean operators
template <typename T>
inline bool operator==
(
tvec4<T> const & v1,
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!=
(
tvec4<T> const & v1,
tvec4<T> const & v2
)
{
return (v1.x != v2.x) || (v1.y != v2.y) || (v1.z != v2.z) || (v1.w != v2.w);
}
//////////////////////////////////////
// Binary bit operators
@ -1129,6 +1152,19 @@ namespace glm
~v.w);
}
template <typename T>
inline tvec4<T> operator~
(
tvec4<T> const & v
)
{
return tvec4<T>(
~v.x,
~v.y,
~v.z,
~v.w);
}
//////////////////////////////////////
// tref definition

View File

@ -24,8 +24,9 @@ namespace glm
namespace gtx{
//! GLM_GTX_comparison extension: Defined comparison operators for vectors.
namespace comparison{
namespace comparison
{
/*
//! Define == operator for vectors
//! From GLM_GTX_comparison extension.
template <typename T>
@ -67,7 +68,7 @@ namespace glm
bool operator!= (
detail::tvec4<T> const & x,
detail::tvec4<T> const & y);
*/
}//namespace comparison
}//namespace gtx
}//namespace glm

View File

@ -10,7 +10,7 @@
namespace glm{
namespace gtx{
namespace comparison{
/*
template <typename valType>
inline bool operator==
(
@ -70,7 +70,7 @@ inline bool operator!=
{
return glm::any(glm::notEqual(x, y));
}
*/
}//namespace comparison
}//namespace gtx
}//namespace glm