Bullet Collision Detection & Physics Library
|
Go to the documentation of this file.
16 #ifndef BT_DISCRETE_DYNAMICS_WORLD_H
17 #define BT_DISCRETE_DYNAMICS_WORLD_H
72 virtual void predictUnconstraintMotion(
btScalar timeStep);
75 virtual void integrateTransforms(
btScalar timeStep);
77 virtual void calculateSimulationIslands();
81 virtual void updateActivationState(
btScalar timeStep);
83 void updateActions(
btScalar timeStep);
85 void startProfiling(
btScalar timeStep);
87 virtual void internalSingleStepSimulation(
btScalar timeStep);
89 void releasePredictiveContacts();
90 void createPredictiveContactsInternal(
btRigidBody * *bodies,
int numBodies,
btScalar timeStep);
91 virtual void createPredictiveContacts(
btScalar timeStep);
93 virtual void saveKinematicState(
btScalar timeStep);
97 void serializeDynamicsWorldInfo(
btSerializer * serializer);
112 virtual void synchronizeMotionStates();
115 void synchronizeSingleMotionState(
btRigidBody * body);
117 virtual void addConstraint(
btTypedConstraint * constraint,
bool disableCollisionsBetweenLinkedBodies =
false);
127 return m_islandManager;
132 return m_islandManager;
140 virtual void setGravity(
const btVector3& gravity);
148 virtual void addRigidBody(
btRigidBody * body,
int group,
int mask);
157 virtual void debugDrawWorld();
163 virtual int getNumConstraints()
const;
175 virtual void clearForces();
178 virtual void applyGravity();
188 updateActions(timeStep);
202 m_synchronizeAllMotionStates = synchronizeAll;
206 return m_synchronizeAllMotionStates;
211 m_applySpeculativeContactRestitution = enable;
216 return m_applySpeculativeContactRestitution;
226 m_latencyMotionStateInterpolation = latencyInterpolation;
230 return m_latencyMotionStateInterpolation;
235 return m_nonStaticRigidBodies;
240 return m_nonStaticRigidBodies;
244 #endif //BT_DISCRETE_DYNAMICS_WORLD_H
btAlignedObjectArray< btTypedConstraint * > m_constraints
TypedConstraint is the baseclass for Bullet constraints and vehicles.
btCollisionObject can be used to manage collision detection objects.
The btRigidBody is the main class for rigid body objects.
btAlignedObjectArray< btRigidBody * > m_nonStaticRigidBodies
const btAlignedObjectArray< btRigidBody * > & getNonStaticRigidBodies() const
btAlignedObjectArray< btTypedConstraint * > m_sortedConstraints
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
The btDispatcher interface class can be used in combination with broadphase to dispatch calculations ...
btSimulationIslandManager * m_islandManager
void setSynchronizeAllMotionStates(bool synchronizeAll)
virtual void updateVehicles(btScalar timeStep)
obsolete, use updateActions instead
The btDynamicsWorld is the interface class for several dynamics implementation, basic,...
btAlignedObjectArray< btActionInterface * > m_actions
btSimulationIslandManager * getSimulationIslandManager()
bool m_ownsConstraintSolver
bool getApplySpeculativeContactRestitution() const
btCollisionWorld * getCollisionWorld()
The btIDebugDraw interface class allows hooking up a debug renderer to visually debug simulations.
btAlignedObjectArray< btRigidBody * > & getNonStaticRigidBodies()
The btOverlappingPairCache provides an interface for overlapping pair management (add,...
#define BT_DECLARE_ALIGNED_ALLOCATOR()
Basic interface to allow actions such as vehicles and characters to be updated inside a btDynamicsWor...
btVector3 can be used to represent 3D points and vectors.
virtual btDynamicsWorldType getWorldType() const
btAlignedObjectArray< btPersistentManifold * > m_predictiveManifolds
btPersistentManifold is a contact point cache, it stays persistent as long as objects are overlapping...
#define ATTRIBUTE_ALIGNED16(a)
bool getLatencyMotionStateInterpolation() const
bool m_latencyMotionStateInterpolation
SimulationIslandManager creates and handles simulation islands, using btUnionFind.
const btSimulationIslandManager * getSimulationIslandManager() const
The btBroadphaseInterface class provides an interface to detect aabb-overlapping object pairs.
virtual void setNumTasks(int numTasks)
btSpinMutex – lightweight spin-mutex implemented with atomic ops, never puts a thread to sleep becaus...
bool m_synchronizeAllMotionStates
btConstraintSolver * m_constraintSolver
void setApplySpeculativeContactRestitution(bool enable)
InplaceSolverIslandCallback * m_solverIslandCallback
CollisionWorld is interface and container for the collision detection.
btSpinMutex m_predictiveManifoldsMutex
bool m_applySpeculativeContactRestitution
btDiscreteDynamicsWorld provides discrete rigid body simulation those classes replace the obsolete Cc...
void setLatencyMotionStateInterpolation(bool latencyInterpolation)
Interpolate motion state between previous and current transform, instead of current and next transfor...
btCollisionConfiguration allows to configure Bullet collision detection stack allocator size,...
bool getSynchronizeAllMotionStates() const