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.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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 _ENTITY_H_
  26. #define _ENTITY_H_
  27. #include <MatMath.h>
  28. #include <BoundingVolume.h>
  29. #include <Quaternion.h>
  30. #include <Vector3d.h>
  31. #include <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. ////////////////////////////////////////////////////////////
  46. // Public Accessors
  47. ////////////////////////////////////////////////////////////
  48. ////////////////////////////////////////////////////////////
  49. // Public Mutators
  50. ////////////////////////////////////////////////////////////
  51. unsigned int mId; /* Unique identifier */
  52. Vector3d mPos; /* World position */
  53. Quaternion mOrientation; /* Orientation (Pitch, Yaw, Roll) */
  54. BoundingVolume mVolume; /* Bounding volume of entity */
  55. Mass mMass; /* Mass of this entity */
  56. EntityFlag mFlag; /* Flags of this entity */
  57. private:
  58. ////////////////////////////////////////////////////////////
  59. // Private Accessors
  60. ////////////////////////////////////////////////////////////
  61. ////////////////////////////////////////////////////////////
  62. // Private Mutators
  63. ////////////////////////////////////////////////////////////
  64. };
  65. #endif