Blender  V3.3
Public Member Functions | Protected Attributes | List of all members
btDynamicsWorld Class Referenceabstract

The btDynamicsWorld is the interface class for several dynamics implementation, basic, discrete, parallel, and continuous etc. More...

#include <btDynamicsWorld.h>

Inheritance diagram for btDynamicsWorld:
btCollisionWorld btSimpleDynamicsWorld

Public Member Functions

 btDynamicsWorld (btDispatcher *dispatcher, btBroadphaseInterface *broadphase, btCollisionConfiguration *collisionConfiguration)
 
virtual ~btDynamicsWorld ()
 
virtual int stepSimulation (btScalar timeStep, int maxSubSteps=1, btScalar fixedTimeStep=btScalar(1.)/btScalar(60.))=0
 
virtual void debugDrawWorld ()=0
 
virtual void addConstraint (btTypedConstraint *constraint, bool disableCollisionsBetweenLinkedBodies=false)
 
virtual void removeConstraint (btTypedConstraint *constraint)
 
virtual void addAction (btActionInterface *action)=0
 
virtual void removeAction (btActionInterface *action)=0
 
virtual void setGravity (const btVector3 &gravity)=0
 
virtual btVector3 getGravity () const =0
 
virtual void synchronizeMotionStates ()=0
 
virtual void addRigidBody (btRigidBody *body)=0
 
virtual void addRigidBody (btRigidBody *body, int group, int mask)=0
 
virtual void removeRigidBody (btRigidBody *body)=0
 
virtual void setConstraintSolver (btConstraintSolver *solver)=0
 
virtual btConstraintSolvergetConstraintSolver ()=0
 
virtual int getNumConstraints () const
 
virtual btTypedConstraintgetConstraint (int index)
 
virtual const btTypedConstraintgetConstraint (int index) const
 
virtual btDynamicsWorldType getWorldType () const =0
 
virtual void clearForces ()=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. More...
 
void setWorldUserInfo (void *worldUserInfo)
 
voidgetWorldUserInfo () const
 
btContactSolverInfogetSolverInfo ()
 
const btContactSolverInfogetSolverInfo () const
 
virtual void addVehicle (btActionInterface *vehicle)
 obsolete, use addAction instead. More...
 
virtual void removeVehicle (btActionInterface *vehicle)
 obsolete, use removeAction instead More...
 
virtual void addCharacter (btActionInterface *character)
 obsolete, use addAction instead. More...
 
virtual void removeCharacter (btActionInterface *character)
 obsolete, use removeAction instead More...
 
- Public Member Functions inherited from btCollisionWorld
 btCollisionWorld (btDispatcher *dispatcher, btBroadphaseInterface *broadphasePairCache, btCollisionConfiguration *collisionConfiguration)
 for debug drawing More...
 
virtual ~btCollisionWorld ()
 
void setBroadphase (btBroadphaseInterface *pairCache)
 
const btBroadphaseInterfacegetBroadphase () const
 
btBroadphaseInterfacegetBroadphase ()
 
btOverlappingPairCachegetPairCache ()
 
btDispatchergetDispatcher ()
 
const btDispatchergetDispatcher () const
 
void updateSingleAabb (btCollisionObject *colObj)
 
virtual void updateAabbs ()
 
virtual void computeOverlappingPairs ()
 
virtual void setDebugDrawer (btIDebugDraw *debugDrawer)
 
virtual btIDebugDrawgetDebugDrawer ()
 
virtual void debugDrawObject (const btTransform &worldTransform, const btCollisionShape *shape, const btVector3 &color)
 
int getNumCollisionObjects () const
 
virtual void rayTest (const btVector3 &rayFromWorld, const btVector3 &rayToWorld, RayResultCallback &resultCallback) const
 
void convexSweepTest (const btConvexShape *castShape, const btTransform &from, const btTransform &to, ConvexResultCallback &resultCallback, btScalar allowedCcdPenetration=btScalar(0.)) const
 
void contactTest (btCollisionObject *colObj, ContactResultCallback &resultCallback)
 
void contactPairTest (btCollisionObject *colObjA, btCollisionObject *colObjB, ContactResultCallback &resultCallback)
 
virtual void addCollisionObject (btCollisionObject *collisionObject, int collisionFilterGroup=btBroadphaseProxy::DefaultFilter, int collisionFilterMask=btBroadphaseProxy::AllFilter)
 
virtual void refreshBroadphaseProxy (btCollisionObject *collisionObject)
 
btCollisionObjectArraygetCollisionObjectArray ()
 
const btCollisionObjectArraygetCollisionObjectArray () const
 
virtual void removeCollisionObject (btCollisionObject *collisionObject)
 
virtual void performDiscreteCollisionDetection ()
 
btDispatcherInfogetDispatchInfo ()
 
const btDispatcherInfogetDispatchInfo () const
 
bool getForceUpdateAllAabbs () const
 
void setForceUpdateAllAabbs (bool forceUpdateAllAabbs)
 
virtual void serialize (btSerializer *serializer)
 Preliminary serialization test for Bullet 2.76. Loading those files requires a separate parser (Bullet/Demos/SerializeDemo) More...
 

Protected Attributes

btInternalTickCallback m_internalTickCallback
 
btInternalTickCallback m_internalPreTickCallback
 
voidm_worldUserInfo
 
btContactSolverInfo m_solverInfo
 
- Protected Attributes inherited from btCollisionWorld
btAlignedObjectArray< btCollisionObject * > m_collisionObjects
 
btDispatcherm_dispatcher1
 
btDispatcherInfo m_dispatchInfo
 
btBroadphaseInterfacem_broadphasePairCache
 
btIDebugDrawm_debugDrawer
 
bool m_forceUpdateAllAabbs
 

Additional Inherited Members

- Static Public Member Functions inherited from btCollisionWorld
static void rayTestSingle (const btTransform &rayFromTrans, const btTransform &rayToTrans, btCollisionObject *collisionObject, const btCollisionShape *collisionShape, const btTransform &colObjWorldTransform, RayResultCallback &resultCallback)
 
static void rayTestSingleInternal (const btTransform &rayFromTrans, const btTransform &rayToTrans, const btCollisionObjectWrapper *collisionObjectWrap, RayResultCallback &resultCallback)
 
static void objectQuerySingle (const btConvexShape *castShape, const btTransform &rayFromTrans, const btTransform &rayToTrans, btCollisionObject *collisionObject, const btCollisionShape *collisionShape, const btTransform &colObjWorldTransform, ConvexResultCallback &resultCallback, btScalar allowedPenetration)
 objectQuerySingle performs a collision detection query and calls the resultCallback. It is used internally by rayTest. More...
 
static void objectQuerySingleInternal (const btConvexShape *castShape, const btTransform &convexFromTrans, const btTransform &convexToTrans, const btCollisionObjectWrapper *colObjWrap, ConvexResultCallback &resultCallback, btScalar allowedPenetration)
 
- Protected Member Functions inherited from btCollisionWorld
void serializeCollisionObjects (btSerializer *serializer)
 
void serializeContactManifolds (btSerializer *serializer)
 

Detailed Description

The btDynamicsWorld is the interface class for several dynamics implementation, basic, discrete, parallel, and continuous etc.

Definition at line 42 of file btDynamicsWorld.h.

Constructor & Destructor Documentation

◆ btDynamicsWorld()

btDynamicsWorld::btDynamicsWorld ( btDispatcher dispatcher,
btBroadphaseInterface broadphase,
btCollisionConfiguration collisionConfiguration 
)
inline

Definition at line 52 of file btDynamicsWorld.h.

◆ ~btDynamicsWorld()

virtual btDynamicsWorld::~btDynamicsWorld ( )
inlinevirtual

Definition at line 57 of file btDynamicsWorld.h.

Member Function Documentation

◆ addAction()

virtual void btDynamicsWorld::addAction ( btActionInterface action)
pure virtual

Implemented in btSimpleDynamicsWorld.

◆ addCharacter()

virtual void btDynamicsWorld::addCharacter ( btActionInterface character)
inlinevirtual

obsolete, use addAction instead.

Definition at line 155 of file btDynamicsWorld.h.

References void.

◆ addConstraint()

virtual void btDynamicsWorld::addConstraint ( btTypedConstraint constraint,
bool  disableCollisionsBetweenLinkedBodies = false 
)
inlinevirtual

Definition at line 69 of file btDynamicsWorld.h.

References void.

◆ addRigidBody() [1/2]

virtual void btDynamicsWorld::addRigidBody ( btRigidBody body)
pure virtual

Implemented in btSimpleDynamicsWorld.

◆ addRigidBody() [2/2]

virtual void btDynamicsWorld::addRigidBody ( btRigidBody body,
int  group,
int  mask 
)
pure virtual

Implemented in btSimpleDynamicsWorld.

◆ addVehicle()

virtual void btDynamicsWorld::addVehicle ( btActionInterface vehicle)
inlinevirtual

obsolete, use addAction instead.

Definition at line 151 of file btDynamicsWorld.h.

References void.

◆ clearForces()

virtual void btDynamicsWorld::clearForces ( )
pure virtual

Implemented in btSimpleDynamicsWorld.

◆ debugDrawWorld()

virtual void btDynamicsWorld::debugDrawWorld ( )
pure virtual

Reimplemented from btCollisionWorld.

Implemented in btSimpleDynamicsWorld.

◆ getConstraint() [1/2]

virtual btTypedConstraint* btDynamicsWorld::getConstraint ( int  index)
inlinevirtual

Definition at line 100 of file btDynamicsWorld.h.

References void.

◆ getConstraint() [2/2]

virtual const btTypedConstraint* btDynamicsWorld::getConstraint ( int  index) const
inlinevirtual

Definition at line 106 of file btDynamicsWorld.h.

References void.

◆ getConstraintSolver()

virtual btConstraintSolver* btDynamicsWorld::getConstraintSolver ( )
pure virtual

Implemented in btSimpleDynamicsWorld.

◆ getGravity()

virtual btVector3 btDynamicsWorld::getGravity ( ) const
pure virtual

Implemented in btSimpleDynamicsWorld.

◆ getNumConstraints()

virtual int btDynamicsWorld::getNumConstraints ( ) const
inlinevirtual

Definition at line 98 of file btDynamicsWorld.h.

◆ getSolverInfo() [1/2]

btContactSolverInfo& btDynamicsWorld::getSolverInfo ( )
inline

Definition at line 140 of file btDynamicsWorld.h.

References m_solverInfo.

◆ getSolverInfo() [2/2]

const btContactSolverInfo& btDynamicsWorld::getSolverInfo ( ) const
inline

Definition at line 145 of file btDynamicsWorld.h.

References m_solverInfo.

◆ getWorldType()

virtual btDynamicsWorldType btDynamicsWorld::getWorldType ( ) const
pure virtual

Implemented in btSimpleDynamicsWorld.

◆ getWorldUserInfo()

void* btDynamicsWorld::getWorldUserInfo ( ) const
inline

Definition at line 135 of file btDynamicsWorld.h.

References m_worldUserInfo.

◆ removeAction()

virtual void btDynamicsWorld::removeAction ( btActionInterface action)
pure virtual

Implemented in btSimpleDynamicsWorld.

◆ removeCharacter()

virtual void btDynamicsWorld::removeCharacter ( btActionInterface character)
inlinevirtual

obsolete, use removeAction instead

Definition at line 157 of file btDynamicsWorld.h.

References void.

◆ removeConstraint()

virtual void btDynamicsWorld::removeConstraint ( btTypedConstraint constraint)
inlinevirtual

Definition at line 75 of file btDynamicsWorld.h.

References void.

◆ removeRigidBody()

virtual void btDynamicsWorld::removeRigidBody ( btRigidBody body)
pure virtual

Implemented in btSimpleDynamicsWorld.

◆ removeVehicle()

virtual void btDynamicsWorld::removeVehicle ( btActionInterface vehicle)
inlinevirtual

obsolete, use removeAction instead

Definition at line 153 of file btDynamicsWorld.h.

References void.

◆ setConstraintSolver()

virtual void btDynamicsWorld::setConstraintSolver ( btConstraintSolver solver)
pure virtual

Implemented in btSimpleDynamicsWorld.

◆ setGravity()

virtual void btDynamicsWorld::setGravity ( const btVector3 gravity)
pure virtual

Implemented in btSimpleDynamicsWorld.

◆ setInternalTickCallback()

void btDynamicsWorld::setInternalTickCallback ( btInternalTickCallback  cb,
void worldUserInfo = 0,
bool  isPreTick = false 
)
inline

Set the callback for when an internal tick (simulation substep) happens, optional user info.

Definition at line 117 of file btDynamicsWorld.h.

References m_internalPreTickCallback, m_internalTickCallback, and m_worldUserInfo.

◆ setWorldUserInfo()

void btDynamicsWorld::setWorldUserInfo ( void worldUserInfo)
inline

Definition at line 130 of file btDynamicsWorld.h.

References m_worldUserInfo.

◆ stepSimulation()

virtual int btDynamicsWorld::stepSimulation ( btScalar  timeStep,
int  maxSubSteps = 1,
btScalar  fixedTimeStep = btScalar(1.)/btScalar(60.) 
)
pure virtual

stepSimulation proceeds the simulation over 'timeStep', units in preferably in seconds. By default, Bullet will subdivide the timestep in constant substeps of each 'fixedTimeStep'. in order to keep the simulation real-time, the maximum number of substeps can be clamped to 'maxSubSteps'. You can disable subdividing the timestep/substepping by passing maxSubSteps=0 as second argument to stepSimulation, but in that case you have to keep the timeStep constant.

Implemented in btSimpleDynamicsWorld.

◆ synchronizeMotionStates()

virtual void btDynamicsWorld::synchronizeMotionStates ( )
pure virtual

Implemented in btSimpleDynamicsWorld.

Member Data Documentation

◆ m_internalPreTickCallback

btInternalTickCallback btDynamicsWorld::m_internalPreTickCallback
protected

Definition at line 46 of file btDynamicsWorld.h.

Referenced by setInternalTickCallback().

◆ m_internalTickCallback

btInternalTickCallback btDynamicsWorld::m_internalTickCallback
protected

Definition at line 45 of file btDynamicsWorld.h.

Referenced by setInternalTickCallback().

◆ m_solverInfo

btContactSolverInfo btDynamicsWorld::m_solverInfo
protected

Definition at line 49 of file btDynamicsWorld.h.

Referenced by getSolverInfo().

◆ m_worldUserInfo

void* btDynamicsWorld::m_worldUserInfo
protected

Definition at line 47 of file btDynamicsWorld.h.

Referenced by getWorldUserInfo(), setInternalTickCallback(), and setWorldUserInfo().


The documentation for this class was generated from the following file: