diff options
author | Erwin Coumans <blender@erwincoumans.com> | 2005-07-17 01:47:54 +0400 |
---|---|---|
committer | Erwin Coumans <blender@erwincoumans.com> | 2005-07-17 01:47:54 +0400 |
commit | 2d73b31aff247a08c0706125fe6eb7f3e8d06b11 (patch) | |
tree | ba6efd3b020ab3917085c519706bec4285f84086 /source/gameengine/Ketsji/KX_BulletPhysicsController.h | |
parent | 3166974a674721ed28827d5851f978a156978a4d (diff) |
preparation for bullet physics
Diffstat (limited to 'source/gameengine/Ketsji/KX_BulletPhysicsController.h')
-rw-r--r-- | source/gameengine/Ketsji/KX_BulletPhysicsController.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/source/gameengine/Ketsji/KX_BulletPhysicsController.h b/source/gameengine/Ketsji/KX_BulletPhysicsController.h new file mode 100644 index 00000000000..9e9b0816cbe --- /dev/null +++ b/source/gameengine/Ketsji/KX_BulletPhysicsController.h @@ -0,0 +1,69 @@ +#ifndef KX_BULLET2PHYSICS_CONTROLLER +#define KX_BULLET2PHYSICS_CONTROLLER + + +#include "KX_IPhysicsController.h" +#include "CcdPhysicsController.h" + +class KX_BulletPhysicsController : public KX_IPhysicsController ,public CcdPhysicsController +{ + +public: + + KX_BulletPhysicsController (const CcdConstructionInfo& ci, bool dyna); + virtual ~KX_BulletPhysicsController (); + + /////////////////////////////////// + // KX_IPhysicsController interface + //////////////////////////////////// + + virtual void applyImpulse(const MT_Point3& attach, const MT_Vector3& impulse); + virtual void SetObject (SG_IObject* object); + + virtual void RelativeTranslate(const MT_Vector3& dloc,bool local); + virtual void RelativeRotate(const MT_Matrix3x3& drot,bool local); + virtual void ApplyTorque(const MT_Vector3& torque,bool local); + virtual void ApplyForce(const MT_Vector3& force,bool local); + virtual MT_Vector3 GetLinearVelocity(); + virtual MT_Vector3 GetVelocity(const MT_Point3& pos); + virtual void SetAngularVelocity(const MT_Vector3& ang_vel,bool local); + virtual void SetLinearVelocity(const MT_Vector3& lin_vel,bool local); + virtual void getOrientation(MT_Quaternion& orn); + virtual void setOrientation(const MT_Quaternion& orn); + virtual void setPosition(const MT_Point3& pos); + virtual void setScaling(const MT_Vector3& scaling); + virtual MT_Scalar GetMass(); + virtual MT_Vector3 getReactionForce(); + virtual void setRigidBody(bool rigid); + + virtual void resolveCombinedVelocities(float linvelX,float linvelY,float linvelZ,float angVelX,float angVelY,float angVelZ); + + virtual void SuspendDynamics(); + virtual void RestoreDynamics(); + + virtual SG_Controller* GetReplica(class SG_Node* destnode); + + void SetDyna(bool isDynamic) { + m_bDyna = isDynamic; + } + + + virtual void SetSumoTransform(bool nondynaonly); + // todo: remove next line ! + virtual void SetSimulatedTime(double time); + + // call from scene graph to update + virtual bool Update(double time); + void* GetUserData() { return m_userdata;} + + void + SetOption( + int option, + int value + ){ + // intentionally empty + }; + +}; + +#endif //KX_BULLET2PHYSICS_CONTROLLER
\ No newline at end of file |