aboutsummaryrefslogtreecommitdiff
path: root/hgehelp/hgerect.cpp
diff options
context:
space:
mode:
authorGravatar chirs241097@gmail.com <chirs241097@gmail.com@c17bf020-1265-9734-9302-a83f62007ddb> 2014-01-12 14:43:14 +0000
committerGravatar chirs241097@gmail.com <chirs241097@gmail.com@c17bf020-1265-9734-9302-a83f62007ddb> 2014-01-12 14:43:14 +0000
commitc91847d549cc1c30eb15504a15ea9a6d5aa48165 (patch)
treeb978d575f08f5f87d3c21eb9a024164636d1918a /hgehelp/hgerect.cpp
downloadbullet-lab-remix-c91847d549cc1c30eb15504a15ea9a6d5aa48165.tar.xz
Diffstat (limited to 'hgehelp/hgerect.cpp')
-rw-r--r--hgehelp/hgerect.cpp45
1 files changed, 45 insertions, 0 deletions
diff --git a/hgehelp/hgerect.cpp b/hgehelp/hgerect.cpp
new file mode 100644
index 0000000..789a9a4
--- /dev/null
+++ b/hgehelp/hgerect.cpp
@@ -0,0 +1,45 @@
+/*
+** Haaf's Game Engine 1.7
+** Copyright (C) 2003-2007, Relish Games
+** hge.relishgames.com
+**
+** hgeRect helper class implementation
+*/
+
+
+#include "../../include/hgerect.h"
+#include <math.h>
+
+
+void hgeRect::Encapsulate(float x, float y)
+{
+ if(bClean)
+ {
+ x1=x2=x;
+ y1=y2=y;
+ bClean=false;
+ }
+ else
+ {
+ if(x<x1) x1=x;
+ if(x>x2) x2=x;
+ if(y<y1) y1=y;
+ if(y>y2) y2=y;
+ }
+}
+
+bool hgeRect::TestPoint(float x, float y) const
+{
+ if(x>=x1 && x<x2 && y>=y1 && y<y2) return true;
+
+ return false;
+}
+
+bool hgeRect::Intersect(const hgeRect *rect) const
+{
+ if(fabs(x1 + x2 - rect->x1 - rect->x2) < (x2 - x1 + rect->x2 - rect->x1))
+ if(fabs(y1 + y2 - rect->y1 - rect->y2) < (y2 - y1 + rect->y2 - rect->y1))
+ return true;
+
+ return false;
+}