3 #include <unordered_map>
5 #include <bullet/btBulletDynamicsCommon.h>
10 class AbstractPhysicsObject;
51 void addRigidBody(btRigidBody* rigidBody,
short group,
short mask);
61 int stepSimulation(btScalar timeStep,
int maxSubSteps = 1, btScalar fixedTimeStep = btScalar(1.)/btScalar(60.));
113 std::unordered_map<const btCollisionObject*, AbstractPhysicsObject*>
m_collisionMap;
btDiscreteDynamicsWorld * m_bulletWorld
Definition: bulletworld.h:105
BulletWorld & operator=(const BulletWorld &other)=delete
Definition: bulletworld.h:87
static void btStaticTickCallback(btDynamicsWorld *world, btScalar timeStep)
Static wrapper for BulletWorld::btTickCallback()
Definition: bulletworld.cpp:8
~BulletWorld()
Definition: bulletworld.cpp:34
The AbstractPhysicsObject class represents a graphical scene element with a physics-based aspect...
Definition: abstractphysicsobject.h:21
AbstractPhysicsObject * getPhysicsObjectForCollisionObject(const btCollisionObject *collisionObject) const
Definition: bulletworld.cpp:75
Definition: bulletworld.h:89
void removeCollisionMapping(const btCollisionObject *collisionObject)
Remove mapping from m_collisionMap.
Definition: bulletworld.cpp:70
Definition: bulletworld.h:88
void addRigidBody(btRigidBody *rigidBody)
Wraps btDiscreteDynamicsWorld::addRigidBody()
Definition: bulletworld.cpp:43
BulletWorld()
Definition: bulletworld.cpp:15
void btTickCallback(btDynamicsWorld *world, btScalar timeStep)
A Callback that is called on every simulation tick.
Definition: bulletworld.cpp:87
CollisionTypes
Bitfield values that describe the groups of objects that can collide with each other.
Definition: bulletworld.h:84
std::unordered_map< const btCollisionObject *, AbstractPhysicsObject * > m_collisionMap
This map is used to get the AbstractPhysicsObject belonging to a btCollisionObject.
Definition: bulletworld.h:113
btSequentialImpulseConstraintSolver * m_bulletSolver
Definition: bulletworld.h:104
btDefaultCollisionConfiguration * m_bulletCollisionConfig
Definition: bulletworld.h:102
Definition: bulletworld.h:86
btBroadphaseInterface * m_bulletBroadphase
Definition: bulletworld.h:101
Definition: eventhandler.cpp:18
int stepSimulation(btScalar timeStep, int maxSubSteps=1, btScalar fixedTimeStep=btScalar(1.)/btScalar(60.))
Wraps btDiscreteDynamicsWorld::stepSimulation()
Definition: bulletworld.cpp:59
A Wrapper class for a btDiscreteDynamicsWorld.
Definition: bulletworld.h:17
btCollisionDispatcher * m_bulletDispatcher
Definition: bulletworld.h:103
void addCollisionMapping(const btCollisionObject *collisionObject, AbstractPhysicsObject *graphicsObject)
Add mapping from btCollisionObject to AbstractPhysicsObject to m_collisionMap.
Definition: bulletworld.cpp:64
void removeRigidBody(btRigidBody *rigidBody)
Wraps btDiscreteDynamicsWorld::removeRigidBody()
Definition: bulletworld.cpp:54