From e4d4f8df1909839d3f31df7a7d8463a922a13cce Mon Sep 17 00:00:00 2001 From: Sam Hocevar Date: Sat, 22 Jun 2013 21:23:34 +0000 Subject: [PATCH] math: implement == and != for 2D and 3D box types. --- src/lol/math/geometry.h | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) 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 struct Box2 B(bx, by) {} - Box2 operator +(Vec2 const &v) + Box2 operator +(Vec2 const &v) const { return Box2(A + v, B + v); } @@ -71,7 +71,7 @@ template struct Box2 return *this = *this + v; } - Box2 operator -(Vec2 const &v) + Box2 operator -(Vec2 const &v) const { return Box2(A - v, B - v); } @@ -81,6 +81,16 @@ template struct Box2 return *this = *this - v; } + bool operator ==(Box2 const &box) + { + return A == box.A && B == box.B; + } + + bool operator !=(Box2 const &box) + { + return A != box.A || B != box.B; + } + Vec2 A, B; }; @@ -106,7 +116,7 @@ template struct Box3 B(bx, by, bz) {} - Box3 operator +(Vec3 const &v) + Box3 operator +(Vec3 const &v) const { return Box3(A + v, B + v); } @@ -116,7 +126,7 @@ template struct Box3 return *this = *this + v; } - Box3 operator -(Vec3 const &v) + Box3 operator -(Vec3 const &v) const { return Box3(A - v, B - v); } @@ -126,6 +136,16 @@ template struct Box3 return *this = *this - v; } + bool operator ==(Box3 const &box) + { + return A == box.A && B == box.B; + } + + bool operator !=(Box3 const &box) + { + return A != box.A || B != box.B; + } + Vec3 A, B; };