Open Source Tomb Raider Engine
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

BoundingVolume.h 2.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. /* -*- Mode: C++; tab-width: 3; indent-tabs-mode: t; c-basic-offset: 3 -*- */
  2. /*================================================================
  3. *
  4. * Project : libHel
  5. * Author : Terry 'Mongoose' Hendrix II
  6. * Website : http://www.westga.edu/~stu7440/
  7. * Email : stu7440@westga.edu
  8. * Object : BoundingVolume
  9. * License : No use w/o permission (C) 2002 Mongoose
  10. * Comments: Bounding volume class for world/vis
  11. * culling/clipping/collision stuff
  12. *
  13. *
  14. * This file was generated using Mongoose's C++
  15. * template generator script. <stu7440@westga.edu>
  16. *
  17. *-- Test Defines -----------------------------------------------
  18. *
  19. * UNIT_TEST_BOUNDINGVOLUME - Builds BoundingVolume class unit test
  20. *
  21. *-- History ------------------------------------------------
  22. *
  23. * 2002.11.27:
  24. * Mongoose - Created
  25. ================================================================*/
  26. #ifndef GUARD__LIBHEL_MONGOOSE_BOUNDINGVOLUME_H_
  27. #define GUARD__LIBHEL_MONGOOSE_BOUNDINGVOLUME_H_
  28. #include <hel/math.h>
  29. class BoundingSphere
  30. {
  31. public:
  32. vec3_t mCenter; /* Center of bounding sphere */
  33. vec_t mRadius; /* Raduis of bounding sphere */
  34. };
  35. class BoundingBox
  36. {
  37. public:
  38. vec3_t mMin; /* Bounding box MIN point */
  39. vec3_t mMax; /* Bounding box MAX point */
  40. };
  41. class BoundingVolume
  42. {
  43. public:
  44. ////////////////////////////////////////////////////////////
  45. // Constructors
  46. ////////////////////////////////////////////////////////////
  47. ////////////////////////////////////////////////////////////
  48. // Public Accessors
  49. ////////////////////////////////////////////////////////////
  50. ////////////////////////////////////////////////////////////
  51. // Public Mutators
  52. ////////////////////////////////////////////////////////////
  53. BoundingSphere mSphere; /* Bounding sphere of this volume */
  54. BoundingBox mBox;; /* Bounding box of this volume */
  55. private:
  56. ////////////////////////////////////////////////////////////
  57. // Private Accessors
  58. ////////////////////////////////////////////////////////////
  59. ////////////////////////////////////////////////////////////
  60. // Private Mutators
  61. ////////////////////////////////////////////////////////////
  62. /* */
  63. };
  64. #endif