PolyCollisionSceneEntity.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*
  2. * PolyCollisionSceneEntity.h
  3. * Poly
  4. *
  5. * Created by Ivan Safrin on 6/17/08.
  6. * Copyright 2008 __MyCompanyName__. All rights reserved.
  7. *
  8. */
  9. // @package SceneDynamics
  10. #pragma once
  11. #include "PolyLogger.h"
  12. #include "PolyGlobals.h"
  13. #include "PolySceneEntity.h"
  14. #include "btBulletCollisionCommon.h"
  15. #include "PolyCoreServices.h"
  16. #include "PolyTerrain.h"
  17. namespace Polycode {
  18. class _PolyExport CollisionSceneEntity {
  19. public:
  20. CollisionSceneEntity(SceneEntity *entity, bool autoCollide, int type);
  21. ~CollisionSceneEntity();
  22. SceneEntity *getSceneEntity();
  23. void Update();
  24. int getType() { return type; }
  25. btConvexShape *getShape(){ return shape; }
  26. btCollisionObject *collisionObject;
  27. bool gravityEnabled;
  28. bool autoCollide;
  29. Vector3 gravityVector;
  30. Vector3 gVelocity;
  31. float gravityStrength;
  32. Vector3 lastPosition;
  33. static const int SHAPE_BOX = 0;
  34. static const int SHAPE_TERRAIN = 1;
  35. static const int SHAPE_SPHERE = 2;
  36. static const int SHAPE_MESH = 3;
  37. bool enabled;
  38. private:
  39. btConvexShape *shape;
  40. int type;
  41. SceneEntity *sceneEntity;
  42. };
  43. }