Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErwin Coumans <blender@erwincoumans.com>2005-07-17 01:47:54 +0400
committerErwin Coumans <blender@erwincoumans.com>2005-07-17 01:47:54 +0400
commit2d73b31aff247a08c0706125fe6eb7f3e8d06b11 (patch)
treeba6efd3b020ab3917085c519706bec4285f84086 /source/gameengine/Ketsji/KX_BulletPhysicsController.h
parent3166974a674721ed28827d5851f978a156978a4d (diff)
preparation for bullet physics
Diffstat (limited to 'source/gameengine/Ketsji/KX_BulletPhysicsController.h')
-rw-r--r--source/gameengine/Ketsji/KX_BulletPhysicsController.h69
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