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.

Entity.h 2.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. /* -*- Mode: C++; tab-width: 3; indent-tabs-mode: t; c-basic-offset: 3 -*- */
  2. /*================================================================
  3. *
  4. * Project : Hel
  5. * Author : Terry 'Mongoose' Hendrix II
  6. * Website : http://www.westga.edu/~stu7440/
  7. * Email : stu7440@westga.edu
  8. * Object : Entity
  9. * License : No use w/o permission (C) 2002 Mongoose
  10. * Comments: This is the base thing class
  11. *
  12. *
  13. * This file was generated using Mongoose's C++
  14. * template generator script. <stu7440@westga.edu>
  15. *
  16. *-- Test Defines -----------------------------------------------
  17. *
  18. * UNIT_TEST_ENTITY - Builds Entity class as a console unit test
  19. *
  20. *-- History ------------------------------------------------
  21. *
  22. * 2002.11.09:
  23. * Mongoose - Created
  24. ================================================================*/
  25. #ifndef GUARD__HEL_MONGOOSE_ENTITY_H_
  26. #define GUARD__HEL_MONGOOSE_ENTITY_H_
  27. #include <hel/math.h>
  28. #include <hel/BoundingVolume.h>
  29. #include <hel/Quaternion.h>
  30. #include <hel/Vector3d.h>
  31. #include <hel/Mass.h>
  32. typedef enum
  33. {
  34. EntityFlag_Visible = 1,
  35. EntityFlag_Collision = 2,
  36. EntityFlag_Particle = 4,
  37. EntityFlag_World = 8
  38. } EntityFlag;
  39. class Entity
  40. {
  41. public:
  42. ////////////////////////////////////////////////////////////
  43. // Constructors
  44. ////////////////////////////////////////////////////////////
  45. Entity();
  46. /*------------------------------------------------------
  47. * Pre :
  48. * Post : Constructs an object of Entity
  49. *
  50. *-- History ------------------------------------------
  51. *
  52. * 2002.11.09:
  53. * Mongoose - Created
  54. ------------------------------------------------------*/
  55. ~Entity();
  56. /*------------------------------------------------------
  57. * Pre : Entity object is allocated
  58. * Post : Deconstructs an object of Entity
  59. *
  60. *-- History ------------------------------------------
  61. *
  62. * 2002.11.09:
  63. * Mongoose - Created
  64. ------------------------------------------------------*/
  65. ////////////////////////////////////////////////////////////
  66. // Public Accessors
  67. ////////////////////////////////////////////////////////////
  68. ////////////////////////////////////////////////////////////
  69. // Public Mutators
  70. ////////////////////////////////////////////////////////////
  71. unsigned int mId; /* Unique identifier */
  72. Vector3d mPos; /* World position */
  73. Quaternion mOrientation; /* Orientation (Pitch, Yaw, Roll) */
  74. BoundingVolume mVolume; /* Bounding volume of entity */
  75. Mass mMass; /* Mass of this entity */
  76. EntityFlag mFlag; /* Flags of this entity */
  77. private:
  78. ////////////////////////////////////////////////////////////
  79. // Private Accessors
  80. ////////////////////////////////////////////////////////////
  81. ////////////////////////////////////////////////////////////
  82. // Private Mutators
  83. ////////////////////////////////////////////////////////////
  84. };
  85. #endif