prepare to add ForkLiftDemo in App_AllBullet2Demos

rename Ewert/Catto to World/Body for implicit coriolis forces
This commit is contained in:
erwin coumans
2015-03-27 11:59:22 -07:00
parent 9931dd9684
commit cba140431e
12 changed files with 548 additions and 17 deletions

View File

@@ -0,0 +1,50 @@
#ifndef FORK_LIFT_PHYSICS_SETUP_H
#define FORK_LIFT_PHYSICS_SETUP_H
class btRigidBody;
class btCollisionShape;
class btBroadphaseInterface;
class btConstraintSolver;
class btCollisionDispatcher;
class btDefaultCollisionConfiguration;
class btDiscreteDynamicsWorld;
class btTransform;
class btVector3;
class btBoxShape;
#include "LinearMath/btVector3.h"
#include "LinearMath/btAlignedObjectArray.h"
#include "Bullet3AppSupport/CommonRigidBodySetup.h"
class ForkLiftPhysicsSetup : public CommonPhysicsSetup
{
protected:
struct ForkLiftInternalData* m_data;
public:
ForkLiftPhysicsSetup();
virtual ~ForkLiftPhysicsSetup();
virtual void initPhysics(GraphicsPhysicsBridge& gfxBridge);
virtual void exitPhysics();
virtual void stepSimulation(float deltaTime);
virtual void debugDraw(int debugDrawFlags);
virtual bool pickBody(const btVector3& rayFromWorld, const btVector3& rayToWorld);
virtual bool movePickedBody(const btVector3& rayFromWorld, const btVector3& rayToWorld);
virtual void removePickingConstraint();
virtual void syncPhysicsToGraphics(GraphicsPhysicsBridge& gfxBridge);
virtual void renderScene(GraphicsPhysicsBridge& gfxBridge);
void resetForklift();
void lockLiftHinge();
void lockForkSlider();
class btRigidBody* localCreateRigidBody(btScalar mass, const btTransform& startTrans, btCollisionShape* shape);
};
#endif //FORK_LIFT_PHYSICS_SETUP_H