16#ifndef BT_DYNAMICS_WORLD_H
17#define BT_DYNAMICS_WORLD_H
22class btTypedConstraint;
69 virtual void addConstraint(btTypedConstraint* constraint,
bool disableCollisionsBetweenLinkedBodies =
false)
72 (void)disableCollisionsBetweenLinkedBodies;
@ BT_SIMPLE_DYNAMICS_WORLD
@ BT_CONTINUOUS_DYNAMICS_WORLD
@ BT_DEFORMABLE_MULTIBODY_DYNAMICS_WORLD
@ BT_SOFT_RIGID_DYNAMICS_WORLD
@ BT_SOFT_MULTIBODY_DYNAMICS_WORLD
@ BT_DISCRETE_DYNAMICS_WORLD
void(* btInternalTickCallback)(btDynamicsWorld *world, btScalar timeStep)
Type for the callback for each tick.
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
Basic interface to allow actions such as vehicles and characters to be updated inside a btDynamicsWor...
CollisionWorld is interface and container for the collision detection.
The btDynamicsWorld is the interface class for several dynamics implementation, basic,...
virtual void removeRigidBody(btRigidBody *body)=0
const btContactSolverInfo & getSolverInfo() const
virtual btConstraintSolver * getConstraintSolver()=0
virtual btVector3 getGravity() const =0
virtual void removeAction(btActionInterface *action)=0
virtual void debugDrawWorld()=0
btContactSolverInfo m_solverInfo
btContactSolverInfo & getSolverInfo()
virtual void addCharacter(btActionInterface *character)
obsolete, use addAction instead.
virtual int stepSimulation(btScalar timeStep, int maxSubSteps=1, btScalar fixedTimeStep=btScalar(1.)/btScalar(60.))=0
virtual void addRigidBody(btRigidBody *body, int group, int mask)=0
virtual int getNumConstraints() const
virtual void setConstraintSolver(btConstraintSolver *solver)=0
void setInternalTickCallback(btInternalTickCallback cb, void *worldUserInfo=0, bool isPreTick=false)
Set the callback for when an internal tick (simulation substep) happens, optional user info.
btInternalTickCallback m_internalTickCallback
btInternalTickCallback m_internalPreTickCallback
virtual ~btDynamicsWorld()
virtual const btTypedConstraint * getConstraint(int index) const
virtual btDynamicsWorldType getWorldType() const =0
virtual void removeConstraint(btTypedConstraint *constraint)
virtual void addRigidBody(btRigidBody *body)=0
virtual void clearForces()=0
virtual void addConstraint(btTypedConstraint *constraint, bool disableCollisionsBetweenLinkedBodies=false)
void * getWorldUserInfo() const
virtual void addVehicle(btActionInterface *vehicle)
obsolete, use addAction instead.
virtual void removeVehicle(btActionInterface *vehicle)
obsolete, use removeAction instead
void setWorldUserInfo(void *worldUserInfo)
virtual void addAction(btActionInterface *action)=0
btDynamicsWorld(btDispatcher *dispatcher, btBroadphaseInterface *broadphase, btCollisionConfiguration *collisionConfiguration)
virtual void removeCharacter(btActionInterface *character)
obsolete, use removeAction instead
virtual btTypedConstraint * getConstraint(int index)
virtual void synchronizeMotionStates()=0
virtual void setGravity(const btVector3 &gravity)=0
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
btContactSolverInfoDoubleData m_solverInfo
btVector3DoubleData m_gravity
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
btVector3FloatData m_gravity
btContactSolverInfoFloatData m_solverInfo