diff options
Diffstat (limited to 'extern/bullet2/src/BulletDynamics/Vehicle/btRaycastVehicle.h')
-rw-r--r-- | extern/bullet2/src/BulletDynamics/Vehicle/btRaycastVehicle.h | 43 |
1 files changed, 29 insertions, 14 deletions
diff --git a/extern/bullet2/src/BulletDynamics/Vehicle/btRaycastVehicle.h b/extern/bullet2/src/BulletDynamics/Vehicle/btRaycastVehicle.h index bfe0d7df2fb..d5a299c606f 100644 --- a/extern/bullet2/src/BulletDynamics/Vehicle/btRaycastVehicle.h +++ b/extern/bullet2/src/BulletDynamics/Vehicle/btRaycastVehicle.h @@ -17,11 +17,12 @@ class btDynamicsWorld; #include "LinearMath/btAlignedObjectArray.h" #include "btWheelInfo.h" +#include "BulletDynamics/Dynamics/btActionInterface.h" class btVehicleTuning; ///rayCast vehicle, very special constraint that turn a rigidbody into a vehicle. -class btRaycastVehicle : public btTypedConstraint +class btRaycastVehicle : public btActionInterface { btAlignedObjectArray<btVector3> m_forwardWS; @@ -29,6 +30,11 @@ class btRaycastVehicle : public btTypedConstraint btAlignedObjectArray<btScalar> m_forwardImpulse; btAlignedObjectArray<btScalar> m_sideImpulse; + int m_userConstraintType; + + int m_userConstraintId; + + public: class btVehicleTuning { @@ -73,13 +79,24 @@ public: virtual ~btRaycastVehicle() ; - + + ///btActionInterface interface + virtual void updateAction( btCollisionWorld* collisionWorld, btScalar step) + { + updateVehicle(step); + } + + + ///btActionInterface interface + void debugDraw(btIDebugDraw* debugDrawer); + const btTransform& getChassisWorldTransform() const; btScalar rayCast(btWheelInfo& wheel); virtual void updateVehicle(btScalar step); - + + void resetSuspension(); btScalar getSteeringValue(int wheel) const; @@ -175,26 +192,24 @@ public: m_indexForwardAxis = forwardIndex; } - virtual void buildJacobian() + int getUserConstraintType() const { - //not yet + return m_userConstraintType ; } - virtual void getInfo1 (btConstraintInfo1* info) + void setUserConstraintType(int userConstraintType) { - info->m_numConstraintRows = 0; - info->nub = 0; - } + m_userConstraintType = userConstraintType; + }; - virtual void getInfo2 (btConstraintInfo2* info) + void setUserConstraintId(int uid) { - btAssert(0); + m_userConstraintId = uid; } - virtual void solveConstraintObsolete(btSolverBody& bodyA,btSolverBody& bodyB,btScalar timeStep) + int getUserConstraintId() const { - (void)timeStep; - //not yet + return m_userConstraintId; } |