diff options
author | 2014-01-12 14:43:14 +0000 | |
---|---|---|
committer | 2014-01-12 14:43:14 +0000 | |
commit | c91847d549cc1c30eb15504a15ea9a6d5aa48165 (patch) | |
tree | b978d575f08f5f87d3c21eb9a024164636d1918a /hgehelp/hgerect.cpp | |
download | bullet-lab-remix-c91847d549cc1c30eb15504a15ea9a6d5aa48165.tar.xz |
Diffstat (limited to 'hgehelp/hgerect.cpp')
-rw-r--r-- | hgehelp/hgerect.cpp | 45 |
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; +} |