Castle Battle  1.0
physics.h
Go to the documentation of this file.
1 #ifndef PHYSICS_H
2 #define PHYSICS_H
3 #include <btBulletCollisionCommon.h>
4 #include <btBulletDynamicsCommon.h>
5 #include <irrlicht.h>
6 #include <list>
7 using namespace irr;
12 class Physics{
13  private:
15  btDiscreteDynamicsWorld *World;
20  std::list<btRigidBody *> Objects;
22  btDefaultCollisionConfiguration *collisionConfiguration;
24  btBroadphaseInterface *broadPhase;
26  btCollisionDispatcher *dispatcher;
28  btSequentialImpulseConstraintSolver *solver;
30  btTransform ground;
31  public:
35  Physics(const core::aabbox3df irrBox);
36  ~Physics();
41  void initWorld();
43  btTransform getGround();
45  void UpdatePhysics(u32 delta, u32 fps);
50  void UpdateRender(btRigidBody* btbody);
51 
60  btRigidBody* createCannonBall(scene::ISceneNode* node, core::vector3df position, f32 radius);
61 
70  btRigidBody* createTreasure(scene::IMeshSceneNode* node, core::vector3df scale, core::vector3df position);
80  btRigidBody* createCastleBlock(scene::ISceneNode* node, core::vector3df rotation, core::vector3df scale, core::vector3df position);
81 };
82 #endif
btSequentialImpulseConstraintSolver * solver
Internal bullet solver.
Definition: physics.h:28
btCollisionDispatcher * dispatcher
Collision system dispatcher.
Definition: physics.h:26
btBroadphaseInterface * broadPhase
Bounding box overlapping interface.
Definition: physics.h:24
btDiscreteDynamicsWorld * World
Type of discrete rigid body simulation.
Definition: physics.h:15
Physics class will handle all things related to collisions, creating Bullet physics objects and the p...
Definition: physics.h:12
std::list< btRigidBody * > Objects
List of btRigitBody instances.
Definition: physics.h:20
btTransform ground
Ground transform properties.
Definition: physics.h:30
btDefaultCollisionConfiguration * collisionConfiguration
Default collision system.
Definition: physics.h:22