|
| btDeformableMultiBodyDynamicsWorld (btDispatcher *dispatcher, btBroadphaseInterface *pairCache, btDeformableMultiBodyConstraintSolver *constraintSolver, btCollisionConfiguration *collisionConfiguration, btDeformableBodySolver *deformableBodySolver=0) |
|
virtual int | stepSimulation (btScalar timeStep, int maxSubSteps=1, btScalar fixedTimeStep=btScalar(1.)/btScalar(60.)) |
| if maxSubSteps > 0, it will interpolate motion between fixedTimeStep's
|
|
virtual void | debugDrawWorld () |
|
void | setSolverCallback (btSolverCallback cb) |
|
virtual | ~btDeformableMultiBodyDynamicsWorld () |
|
virtual btMultiBodyDynamicsWorld * | getMultiBodyDynamicsWorld () |
|
virtual const btMultiBodyDynamicsWorld * | getMultiBodyDynamicsWorld () const |
|
virtual btDynamicsWorldType | getWorldType () const |
|
virtual void | predictUnconstraintMotion (btScalar timeStep) |
|
virtual void | addSoftBody (btSoftBody *body, int collisionFilterGroup=btBroadphaseProxy::DefaultFilter, int collisionFilterMask=btBroadphaseProxy::AllFilter) |
|
btSoftBodyArray & | getSoftBodyArray () |
|
const btSoftBodyArray & | getSoftBodyArray () const |
|
btSoftBodyWorldInfo & | getWorldInfo () |
|
const btSoftBodyWorldInfo & | getWorldInfo () const |
|
virtual void | setGravity (const btVector3 &gravity) |
|
void | reinitialize (btScalar timeStep) |
|
void | applyRigidBodyGravity (btScalar timeStep) |
|
void | beforeSolverCallbacks (btScalar timeStep) |
|
void | afterSolverCallbacks (btScalar timeStep) |
|
void | addForce (btSoftBody *psb, btDeformableLagrangianForce *force) |
|
void | removeForce (btSoftBody *psb, btDeformableLagrangianForce *force) |
|
void | removeSoftBodyForce (btSoftBody *psb) |
|
void | removeSoftBody (btSoftBody *body) |
|
void | removeCollisionObject (btCollisionObject *collisionObject) |
| removeCollisionObject will first check if it is a rigid body, if so call removeRigidBody otherwise call btCollisionWorld::removeCollisionObject
|
|
int | getDrawFlags () const |
|
void | setDrawFlags (int f) |
|
void | setupConstraints () |
|
void | performDeformableCollisionDetection () |
|
void | solveMultiBodyConstraints () |
|
void | solveContactConstraints () |
|
void | sortConstraints () |
|
void | softBodySelfCollision () |
|
void | setImplicit (bool implicit) |
|
void | setLineSearch (bool lineSearch) |
|
void | setUseProjection (bool useProjection) |
|
void | applyRepulsionForce (btScalar timeStep) |
|
void | performGeometricCollisions (btScalar timeStep) |
|
void | rayTest (const btVector3 &rayFromWorld, const btVector3 &rayToWorld, RayResultCallback &resultCallback) const |
| rayTest performs a raycast on all objects in the btCollisionWorld, and calls the resultCallback This allows for several queries: first hit, all hits, any hit, dependent on the value returned by the callback.
|
|
void | rayTestSingle (const btTransform &rayFromTrans, const btTransform &rayToTrans, btCollisionObject *collisionObject, const btCollisionShape *collisionShape, const btTransform &colObjWorldTransform, RayResultCallback &resultCallback) const |
|
Public Member Functions inherited from btMultiBodyDynamicsWorld |
| btMultiBodyDynamicsWorld (btDispatcher *dispatcher, btBroadphaseInterface *pairCache, btMultiBodyConstraintSolver *constraintSolver, btCollisionConfiguration *collisionConfiguration) |
|
virtual | ~btMultiBodyDynamicsWorld () |
|
virtual void | solveConstraints (btContactSolverInfo &solverInfo) |
|
virtual void | addMultiBody (btMultiBody *body, int group=btBroadphaseProxy::DefaultFilter, int mask=btBroadphaseProxy::AllFilter) |
|
virtual void | removeMultiBody (btMultiBody *body) |
|
virtual int | getNumMultibodies () const |
|
btMultiBody * | getMultiBody (int mbIndex) |
|
const btMultiBody * | getMultiBody (int mbIndex) const |
|
virtual void | addMultiBodyConstraint (btMultiBodyConstraint *constraint) |
|
virtual int | getNumMultiBodyConstraints () const |
|
virtual btMultiBodyConstraint * | getMultiBodyConstraint (int constraintIndex) |
|
virtual const btMultiBodyConstraint * | getMultiBodyConstraint (int constraintIndex) const |
|
virtual void | removeMultiBodyConstraint (btMultiBodyConstraint *constraint) |
|
void | integrateMultiBodyTransforms (btScalar timeStep) |
|
void | predictMultiBodyTransforms (btScalar timeStep) |
|
virtual void | debugDrawMultiBodyConstraint (btMultiBodyConstraint *constraint) |
|
void | forwardKinematics () |
|
virtual void | clearForces () |
| the forces on each rigidbody is accumulating together with gravity. clear this after each timestep.
|
|
virtual void | clearMultiBodyConstraintForces () |
|
virtual void | clearMultiBodyForces () |
|
virtual void | applyGravity () |
| apply gravity, call this once per timestep
|
|
virtual void | serialize (btSerializer *serializer) |
| Preliminary serialization test for Bullet 2.76. Loading those files requires a separate parser (see Bullet/Demos/SerializeDemo)
|
|
virtual void | setMultiBodyConstraintSolver (btMultiBodyConstraintSolver *solver) |
|
virtual void | setConstraintSolver (btConstraintSolver *solver) |
|
virtual void | getAnalyticsData (btAlignedObjectArray< struct btSolverAnalyticsData > &m_islandAnalyticsData) const |
|
virtual void | solveExternalForces (btContactSolverInfo &solverInfo) |
|
virtual void | solveInternalConstraints (btContactSolverInfo &solverInfo) |
|
void | buildIslands () |
|
virtual void | saveKinematicState (btScalar timeStep) |
|
| BT_DECLARE_ALIGNED_ALLOCATOR () |
|
| btDiscreteDynamicsWorld (btDispatcher *dispatcher, btBroadphaseInterface *pairCache, btConstraintSolver *constraintSolver, btCollisionConfiguration *collisionConfiguration) |
| this btDiscreteDynamicsWorld constructor gets created objects from the user, and will not delete those
|
|
virtual | ~btDiscreteDynamicsWorld () |
|
virtual void | synchronizeMotionStates () |
|
void | synchronizeSingleMotionState (btRigidBody *body) |
| this can be useful to synchronize a single rigid body -> graphics object
|
|
virtual void | addConstraint (btTypedConstraint *constraint, bool disableCollisionsBetweenLinkedBodies=false) |
|
virtual void | removeConstraint (btTypedConstraint *constraint) |
|
virtual void | addAction (btActionInterface *) |
|
virtual void | removeAction (btActionInterface *) |
|
btSimulationIslandManager * | getSimulationIslandManager () |
|
const btSimulationIslandManager * | getSimulationIslandManager () const |
|
btCollisionWorld * | getCollisionWorld () |
|
virtual btVector3 | getGravity () const |
|
virtual void | addCollisionObject (btCollisionObject *collisionObject, int collisionFilterGroup=btBroadphaseProxy::StaticFilter, int collisionFilterMask=btBroadphaseProxy::AllFilter ^ btBroadphaseProxy::StaticFilter) |
|
virtual void | addRigidBody (btRigidBody *body) |
|
virtual void | addRigidBody (btRigidBody *body, int group, int mask) |
|
virtual void | removeRigidBody (btRigidBody *body) |
|
virtual void | debugDrawConstraint (btTypedConstraint *constraint) |
|
virtual btConstraintSolver * | getConstraintSolver () |
|
virtual int | getNumConstraints () const |
|
virtual btTypedConstraint * | getConstraint (int index) |
|
virtual const btTypedConstraint * | getConstraint (int index) const |
|
virtual void | setNumTasks (int numTasks) |
|
virtual void | updateVehicles (btScalar timeStep) |
| obsolete, use updateActions instead
|
|
virtual void | addVehicle (btActionInterface *vehicle) |
| obsolete, use addAction instead
|
|
virtual void | removeVehicle (btActionInterface *vehicle) |
| obsolete, use removeAction instead
|
|
virtual void | addCharacter (btActionInterface *character) |
| obsolete, use addAction instead
|
|
virtual void | removeCharacter (btActionInterface *character) |
| obsolete, use removeAction instead
|
|
void | setSynchronizeAllMotionStates (bool synchronizeAll) |
|
bool | getSynchronizeAllMotionStates () const |
|
void | setApplySpeculativeContactRestitution (bool enable) |
|
bool | getApplySpeculativeContactRestitution () const |
|
void | setLatencyMotionStateInterpolation (bool latencyInterpolation) |
| Interpolate motion state between previous and current transform, instead of current and next transform.
|
|
bool | getLatencyMotionStateInterpolation () const |
|
btAlignedObjectArray< btRigidBody * > & | getNonStaticRigidBodies () |
|
const btAlignedObjectArray< btRigidBody * > & | getNonStaticRigidBodies () const |
|
| btDynamicsWorld (btDispatcher *dispatcher, btBroadphaseInterface *broadphase, btCollisionConfiguration *collisionConfiguration) |
|
virtual | ~btDynamicsWorld () |
|
void | setInternalTickCallback (btInternalTickCallback cb, void *worldUserInfo=0, bool isPreTick=false) |
| Set the callback for when an internal tick (simulation substep) happens, optional user info.
|
|
void | setWorldUserInfo (void *worldUserInfo) |
|
void * | getWorldUserInfo () const |
|
btContactSolverInfo & | getSolverInfo () |
|
const btContactSolverInfo & | getSolverInfo () const |
|
| btCollisionWorld (btDispatcher *dispatcher, btBroadphaseInterface *broadphasePairCache, btCollisionConfiguration *collisionConfiguration) |
| for debug drawing
|
|
virtual | ~btCollisionWorld () |
|
void | setBroadphase (btBroadphaseInterface *pairCache) |
|
const btBroadphaseInterface * | getBroadphase () const |
|
btBroadphaseInterface * | getBroadphase () |
|
btOverlappingPairCache * | getPairCache () |
|
btDispatcher * | getDispatcher () |
|
const btDispatcher * | getDispatcher () const |
|
void | updateSingleAabb (btCollisionObject *colObj) |
|
virtual void | updateAabbs () |
|
virtual void | computeOverlappingPairs () |
| the computeOverlappingPairs is usually already called by performDiscreteCollisionDetection (or stepSimulation) it can be useful to use if you perform ray tests without collision detection/simulation
|
|
virtual void | setDebugDrawer (btIDebugDraw *debugDrawer) |
|
virtual btIDebugDraw * | getDebugDrawer () |
|
virtual void | debugDrawObject (const btTransform &worldTransform, const btCollisionShape *shape, const btVector3 &color) |
|
int | getNumCollisionObjects () const |
|
void | convexSweepTest (const btConvexShape *castShape, const btTransform &from, const btTransform &to, ConvexResultCallback &resultCallback, btScalar allowedCcdPenetration=btScalar(0.)) const |
| convexTest performs a swept convex cast on all objects in the btCollisionWorld, and calls the resultCallback This allows for several queries: first hit, all hits, any hit, dependent on the value return by the callback.
|
|
void | contactTest (btCollisionObject *colObj, ContactResultCallback &resultCallback) |
| contactTest performs a discrete collision test between colObj against all objects in the btCollisionWorld, and calls the resultCallback.
|
|
void | contactPairTest (btCollisionObject *colObjA, btCollisionObject *colObjB, ContactResultCallback &resultCallback) |
| contactTest performs a discrete collision test between two collision objects and calls the resultCallback if overlap if detected.
|
|
virtual void | refreshBroadphaseProxy (btCollisionObject *collisionObject) |
|
btCollisionObjectArray & | getCollisionObjectArray () |
|
const btCollisionObjectArray & | getCollisionObjectArray () const |
|
virtual void | performDiscreteCollisionDetection () |
|
btDispatcherInfo & | getDispatchInfo () |
|
const btDispatcherInfo & | getDispatchInfo () const |
|
bool | getForceUpdateAllAabbs () const |
|
void | setForceUpdateAllAabbs (bool forceUpdateAllAabbs) |
|
rayTest performs a raycast on all objects in the btCollisionWorld, and calls the resultCallback This allows for several queries: first hit, all hits, any hit, dependent on the value returned by the callback.
use the broadphase to accelerate the search for objects, based on their aabb and for each object with ray-aabb overlap, perform an exact ray test
use the broadphase to accelerate the search for objects, based on their aabb and for each object with ray-aabb overlap, perform an exact ray test
Reimplemented from btCollisionWorld.
Definition at line 252 of file btDeformableMultiBodyDynamicsWorld.h.