hgerect.cpp
上传用户:maxiaolivb
上传日期:2022-06-07
资源大小:915k
文件大小:1k
源码类别:

游戏引擎

开发平台:

Visual C++

  1. /*
  2. ** Haaf's Game Engine 1.5
  3. ** Copyright (C) 2003-2004, Relish Games
  4. ** hge.relishgames.com
  5. **
  6. ** hgeRect helper class implementation
  7. */
  8. #include <math.h>
  9. #include "....includehgerect.h"
  10. void hgeRect::Encapsulate(float x, float y)
  11. {
  12. if(bClean) {
  13. x1=x2=x;
  14. y1=y2=y;
  15. bClean=false;
  16. } else {
  17. if(x<x1) x1=x;
  18. if(x>x2) x2=x;
  19. if(y<y1) y1=y;
  20. if(y>y2) y2=y;
  21. }
  22. }
  23. bool hgeRect::TestPoint(float x, float y) const
  24. {
  25. if(x>=x1 && x<x2 && y>=y1 && y<y2) return true;
  26. return false;
  27. }
  28. bool hgeRect::Intersect(const hgeRect *rect) const
  29. {
  30. if(fabs(x1+x2 - rect->x1-rect->x2) < (x2-x1 + rect->x2-rect->x1)) {
  31. if(fabs(y1+y2 - rect->y1-rect->y2) < (y2-y1 + rect->y2-rect->y1)) return true;
  32. }
  33. return false;
  34. }