diff options
Diffstat (limited to 'extern/bullet2/src/BulletDynamics/Dynamics/btDynamicsWorld.h')
-rw-r--r-- | extern/bullet2/src/BulletDynamics/Dynamics/btDynamicsWorld.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/extern/bullet2/src/BulletDynamics/Dynamics/btDynamicsWorld.h b/extern/bullet2/src/BulletDynamics/Dynamics/btDynamicsWorld.h index ecf7a2f0c64..105317920ae 100644 --- a/extern/bullet2/src/BulletDynamics/Dynamics/btDynamicsWorld.h +++ b/extern/bullet2/src/BulletDynamics/Dynamics/btDynamicsWorld.h @@ -41,6 +41,7 @@ class btDynamicsWorld : public btCollisionWorld protected: btInternalTickCallback m_internalTickCallback; + btInternalTickCallback m_internalPreTickCallback; void* m_worldUserInfo; btContactSolverInfo m_solverInfo; @@ -49,7 +50,7 @@ public: btDynamicsWorld(btDispatcher* dispatcher,btBroadphaseInterface* broadphase,btCollisionConfiguration* collisionConfiguration) - :btCollisionWorld(dispatcher,broadphase,collisionConfiguration), m_internalTickCallback(0), m_worldUserInfo(0) + :btCollisionWorld(dispatcher,broadphase,collisionConfiguration), m_internalTickCallback(0),m_internalPreTickCallback(0), m_worldUserInfo(0) { } @@ -85,6 +86,8 @@ public: virtual void addRigidBody(btRigidBody* body) = 0; + virtual void addRigidBody(btRigidBody* body, short group, short mask) = 0; + virtual void removeRigidBody(btRigidBody* body) = 0; virtual void setConstraintSolver(btConstraintSolver* solver) = 0; @@ -102,9 +105,15 @@ public: virtual void clearForces() = 0; /// Set the callback for when an internal tick (simulation substep) happens, optional user info - void setInternalTickCallback(btInternalTickCallback cb, void* worldUserInfo=0) + void setInternalTickCallback(btInternalTickCallback cb, void* worldUserInfo=0,bool isPreTick=false) { - m_internalTickCallback = cb; + if (isPreTick) + { + m_internalPreTickCallback = cb; + } else + { + m_internalTickCallback = cb; + } m_worldUserInfo = worldUserInfo; } |