PolyCollisionSceneEntity.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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 "PolySceneMesh.h"
  17. namespace Polycode {
  18. class _PolyExport CollisionSceneEntity {
  19. public:
  20. CollisionSceneEntity(SceneEntity *entity, bool autoCollide, int type);
  21. ~CollisionSceneEntity();
  22. SceneEntity *getSceneEntity();
  23. virtual void Update();
  24. int getType() { return type; }
  25. btConvexShape *getConvexShape(){ return convexShape; }
  26. btCollisionShape *createCollisionShape(SceneEntity *entity, int type);
  27. btCollisionObject *collisionObject;
  28. bool gravityEnabled;
  29. bool autoCollide;
  30. Vector3 gravityVector;
  31. Vector3 gVelocity;
  32. float gravityStrength;
  33. Vector3 lastPosition;
  34. static const int SHAPE_BOX = 0;
  35. static const int SHAPE_TERRAIN = 1;
  36. static const int SHAPE_SPHERE = 2;
  37. static const int SHAPE_MESH = 3;
  38. static const int CHARACTER_CONTROLLER = 4;
  39. static const int SHAPE_CAPSULE = 5;
  40. static const int SHAPE_PLANE = 6;
  41. bool enabled;
  42. btCollisionShape *shape;
  43. protected:
  44. btConvexShape *convexShape;
  45. btConcaveShape *concaveShape;
  46. int type;
  47. SceneEntity *sceneEntity;
  48. };
  49. }