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

游戏引擎

开发平台:

Visual C++

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