diff --git a/src/lol/math/geometry.h b/src/lol/math/geometry.h index d4244948..e3932397 100644 --- a/src/lol/math/geometry.h +++ b/src/lol/math/geometry.h @@ -61,7 +61,7 @@ template <typename T> struct Box2 B(bx, by) {} - Box2<T> operator +(Vec2<T> const &v) + Box2<T> operator +(Vec2<T> const &v) const { return Box2<T>(A + v, B + v); } @@ -71,7 +71,7 @@ template <typename T> struct Box2 return *this = *this + v; } - Box2<T> operator -(Vec2<T> const &v) + Box2<T> operator -(Vec2<T> const &v) const { return Box2<T>(A - v, B - v); } @@ -81,6 +81,16 @@ template <typename T> struct Box2 return *this = *this - v; } + bool operator ==(Box2<T> const &box) + { + return A == box.A && B == box.B; + } + + bool operator !=(Box2<T> const &box) + { + return A != box.A || B != box.B; + } + Vec2<T> A, B; }; @@ -106,7 +116,7 @@ template <typename T> struct Box3 B(bx, by, bz) {} - Box3<T> operator +(Vec3<T> const &v) + Box3<T> operator +(Vec3<T> const &v) const { return Box3<T>(A + v, B + v); } @@ -116,7 +126,7 @@ template <typename T> struct Box3 return *this = *this + v; } - Box3<T> operator -(Vec3<T> const &v) + Box3<T> operator -(Vec3<T> const &v) const { return Box3<T>(A - v, B - v); } @@ -126,6 +136,16 @@ template <typename T> struct Box3 return *this = *this - v; } + bool operator ==(Box3<T> const &box) + { + return A == box.A && B == box.B; + } + + bool operator !=(Box3<T> const &box) + { + return A != box.A || B != box.B; + } + Vec3<T> A, B; };