17 #ifndef BT_DISCRETE_DYNAMICS_WORLD_H
18 #define BT_DISCRETE_DYNAMICS_WORLD_H
72 virtual void predictUnconstraintMotion(
btScalar timeStep);
74 virtual void integrateTransforms(
btScalar timeStep);
76 virtual void calculateSimulationIslands();
80 virtual void updateActivationState(
btScalar timeStep);
82 void updateActions(
btScalar timeStep);
84 void startProfiling(
btScalar timeStep);
86 virtual void internalSingleStepSimulation(
btScalar timeStep);
88 void createPredictiveContacts(
btScalar timeStep);
90 virtual void saveKinematicState(
btScalar timeStep);
94 void serializeDynamicsWorldInfo(
btSerializer* serializer);
110 virtual void synchronizeMotionStates();
113 void synchronizeSingleMotionState(
btRigidBody* body);
115 virtual void addConstraint(
btTypedConstraint* constraint,
bool disableCollisionsBetweenLinkedBodies=
false);
125 return m_islandManager;
130 return m_islandManager;
138 virtual void setGravity(
const btVector3& gravity);
146 virtual void addRigidBody(
btRigidBody* body,
short group,
short mask);
156 virtual void debugDrawWorld();
162 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;
234 #endif //BT_DISCRETE_DYNAMICS_WORLD_H
btPersistentManifold is a contact point cache, it stays persistent as long as objects are overlapping...
btSimulationIslandManager * m_islandManager
btAlignedObjectArray< btRigidBody * > m_nonStaticRigidBodies
void setSynchronizeAllMotionStates(bool synchronizeAll)
btAlignedObjectArray< btTypedConstraint * > m_sortedConstraints
btDiscreteDynamicsWorld provides discrete rigid body simulation those classes replace the obsolete Cc...
SimulationIslandManager creates and handles simulation islands, using btUnionFind.
The btDynamicsWorld is the interface class for several dynamics implementation, basic, discrete, parallel, and continuous etc.
btCollisionConfiguration allows to configure Bullet collision detection stack allocator size...
btAlignedObjectArray< btActionInterface * > m_actions
btSimulationIslandManager * getSimulationIslandManager()
virtual void updateVehicles(btScalar timeStep)
obsolete, use updateActions instead
bool m_ownsConstraintSolver
Basic interface to allow actions such as vehicles and characters to be updated inside a btDynamicsWor...
The btOverlappingPairCache provides an interface for overlapping pair management (add, remove, storage), used by the btBroadphaseInterface broadphases.
btCollisionWorld * getCollisionWorld()
bool getLatencyMotionStateInterpolation() const
btCollisionObject can be used to manage collision detection objects.
The btIDebugDraw interface class allows hooking up a debug renderer to visually debug simulations...
btAlignedObjectArray< btPersistentManifold * > m_predictiveManifolds
The btRigidBody is the main class for rigid body objects.
The btBroadphaseInterface class provides an interface to detect aabb-overlapping object pairs...
bool getApplySpeculativeContactRestitution() const
btVector3 can be used to represent 3D points and vectors.
#define ATTRIBUTE_ALIGNED16(a)
CollisionWorld is interface and container for the collision detection.
bool m_latencyMotionStateInterpolation
virtual btDynamicsWorldType getWorldType() const
TypedConstraint is the baseclass for Bullet constraints and vehicles.
bool m_synchronizeAllMotionStates
virtual void setNumTasks(int numTasks)
#define BT_DECLARE_ALIGNED_ALLOCATOR()
InplaceSolverIslandCallback * m_solverIslandCallback
const btSimulationIslandManager * getSimulationIslandManager() const
bool m_applySpeculativeContactRestitution
btConstraintSolver * m_constraintSolver
void setApplySpeculativeContactRestitution(bool enable)
The btDispatcher interface class can be used in combination with broadphase to dispatch calculations ...
bool getSynchronizeAllMotionStates() const
void setLatencyMotionStateInterpolation(bool latencyInterpolation)
Interpolate motion state between previous and current transform, instead of current and next transfor...
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
btAlignedObjectArray< btTypedConstraint * > m_constraints