added btInternalTickCallback, see btDynamicsWorld::setInternalTickCallback

Thanks chunky!

http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1991
This commit is contained in:
erwin.coumans
2008-04-08 02:51:49 +00:00
parent 2997b95f63
commit b32d6f790f
3 changed files with 19 additions and 4 deletions

View File

@@ -21,6 +21,9 @@ class btTypedConstraint;
class btRaycastVehicle;
class btConstraintSolver;
class btDynamicsWorld;
/// Type for the callback for each tick
typedef void (*btInternalTickCallback)(const btDynamicsWorld *world, btScalar timeStep);
enum btDynamicsWorldType
{
@@ -36,7 +39,7 @@ class btDynamicsWorld : public btCollisionWorld
btDynamicsWorld(btDispatcher* dispatcher,btBroadphaseInterface* broadphase,btCollisionConfiguration* collisionConfiguration)
:btCollisionWorld(dispatcher,broadphase,collisionConfiguration)
:btCollisionWorld(dispatcher,broadphase,collisionConfiguration), m_internalTickCallback(0)
{
}
@@ -61,7 +64,7 @@ class btDynamicsWorld : public btCollisionWorld
//once a rigidbody is added to the dynamics world, it will get this gravity assigned
//existing rigidbodies in the world get gravity assigned too, during this method
virtual void setGravity(const btVector3& gravity) = 0;
virtual btVector3 getGravity () const = 0;
virtual btVector3 getGravity () const = 0;
virtual void addRigidBody(btRigidBody* body) = 0;
@@ -79,10 +82,16 @@ class btDynamicsWorld : public btCollisionWorld
virtual btDynamicsWorldType getWorldType() const=0;
virtual void clearForces() = 0;
virtual void clearForces() = 0;
/// Set the callback for when an internal tick (simulation substep) happens
void setInternalTickCallback(btInternalTickCallback cb) { m_internalTickCallback = cb; }
btInternalTickCallback m_internalTickCallback;
};
#endif //BT_DYNAMICS_WORLD_H