Preparation for real-time soft bodies for the game engine, step 1 out of 3. This should be harmless/non-intrusive.

Please make sure each build system include extern/bullet2/src/BulletSoftBody/* and extern/bullet2/src/LinearMath/btConvexHull.*
This commit is contained in:
Erwin Coumans
2008-09-17 01:49:47 +00:00
parent 9064ed8d6a
commit ae418491dc
5 changed files with 382 additions and 172 deletions

View File

@@ -190,12 +190,15 @@ struct CcdConstructionInfo
class btRigidBody;
class btCollisionObject;
class btSoftBody;
///CcdPhysicsController is a physics object that supports continuous collision detection and time of impact based physics resolution.
class CcdPhysicsController : public PHY_IPhysicsController
{
btRigidBody* m_body;
btCollisionObject* m_object;
class PHY_IMotionState* m_MotionState;
btMotionState* m_bulletMotionState;
class btCollisionShape* m_collisionShape;
@@ -231,11 +234,14 @@ class CcdPhysicsController : public PHY_IPhysicsController
virtual ~CcdPhysicsController();
btRigidBody* GetRigidBody() { return m_body;}
btRigidBody* GetRigidBody();
btCollisionObject* GetCollisionObject();
btSoftBody* GetSoftBody();
CcdShapeConstructionInfo* GetShapeInfo() { return m_shapeInfo; }
btCollisionShape* GetCollisionShape() {
return m_body->getCollisionShape();
return m_object->getCollisionShape();
}
////////////////////////////////////
// PHY_IPhysicsController interface
@@ -310,6 +316,8 @@ class CcdPhysicsController : public PHY_IPhysicsController
void UpdateDeactivation(float timeStep);
void SetCenterOfMassTransform(btTransform& xform);
static btTransform GetTransformFromMotionState(PHY_IMotionState* motionState);
void setAabb(const btVector3& aabbMin,const btVector3& aabbMax);