Logo Search packages:      
Sourcecode: blender version File versions

KX_OdePhysicsController Class Reference

#include <KX_OdePhysicsController.h>

Inheritance diagram for KX_OdePhysicsController:

KX_IPhysicsController ODEPhysicsController SG_Controller PHY_IPhysicsController

List of all members.


Detailed Description

Id
KX_OdePhysicsController.h,v 1.6 2004/04/08 11:34:49 kester Exp

***** BEGIN GPL/BL DUAL LICENSE BLOCK *****

The contents of this file may be used under the terms of either the GNU General Public License Version 2 or later (the "GPL", see http://www.gnu.org/licenses/gpl.html ), or the Blender License 1.0 or later (the "BL", see http://www.blender.org/BL/ ) which has to be bought from the Blender Foundation to become active, in which case the above mentioned GPL option does not apply.

The Original Code is Copyright (C) 2002 by NaN Holding BV. All rights reserved.

The Original Code is: all of this file.

Contributor(s): none yet.

***** END GPL/BL DUAL LICENSE BLOCK ***** Physics Controller, a special kind of Scene Graph Transformation Controller. It get's callbacks from Physics in case a transformation change took place. Each time the scene graph get's updated, the controller get's a chance in the 'Update' method to reflect changed.

Definition at line 35 of file KX_OdePhysicsController.h.


Public Types

enum  SG_Controller_option {
  SG_CONTR_NODEF = 0, SG_CONTR_IPO_IPO_AS_FORCE, SG_CONTR_IPO_FORCES_ACT_LOCAL, SG_CONTR_CAMIPO_LENS,
  SG_CONTR_CAMIPO_CLIPEND, SG_CONTR_CAMIPO_CLIPSTART, SG_CONTR_MAX
}

Public Member Functions

virtual void ApplyForce (float forceX, float forceY, float forceZ, bool local)
virtual void ApplyForce (const MT_Vector3 &force, bool local)
virtual void applyImpulse (float attachX, float attachY, float attachZ, float impulseX, float impulseY, float impulseZ)
virtual void applyImpulse (const MT_Point3 &attach, const MT_Vector3 &impulse)
virtual void ApplyTorque (float torqueX, float torqueY, float torqueZ, bool local)
virtual void ApplyTorque (const MT_Vector3 &torque, bool local)
void ClearObject ()
virtual void * getClientInfo ()
float getFriction ()
virtual void GetLinearVelocity (float &linvX, float &linvY, float &linvZ)
virtual MT_Vector3 GetLinearVelocity ()
virtual float getMass ()
virtual MT_Scalar GetMass ()
struct dxBody * GetOdeBodyId ()
virtual void getOrientation (float &quatImag0, float &quatImag1, float &quatImag2, float &quatReal)
virtual void getOrientation (MT_Quaternion &orn)
virtual void getReactionForce (float &forceX, float &forceY, float &forceZ)
virtual MT_Vector3 getReactionForce ()
virtual SG_ControllerGetReplica (class SG_Node *destnode)
float getRestitution ()
void * GetUserData ()
virtual void GetVelocity (const float posX, const float posY, const float posZ, float &linvX, float &linvY, float &linvZ)
virtual MT_Vector3 GetVelocity (const MT_Point3 &pos)
 KX_OdePhysicsController (bool dyna, bool fullRigidBody, bool phantom, class PHY_IMotionState *motionstate, struct dxSpace *space, struct dxWorld *world, float mass, float friction, float restitution, bool implicitsphere, float center[3], float extends[3], float radius)
virtual void PostProcessReplica (class PHY_IMotionState *motionstate, class PHY_IPhysicsController *parentctrl)
virtual void RelativeRotate (const float drot[12], bool local)=0
virtual void RelativeRotate (const float drot[9], bool local)
virtual void RelativeRotate (const MT_Matrix3x3 &drot, bool local)
virtual void RelativeTranslate (float dlocX, float dlocY, float dlocZ, bool local)
virtual void RelativeTranslate (const MT_Vector3 &dloc, bool local)
virtual void resolveCombinedVelocities (const MT_Vector3 &lin_vel, const MT_Vector3 &ang_vel)
virtual void RestoreDynamics ()
virtual void SetActive (bool active)
virtual void SetAngularVelocity (float ang_velX, float ang_velY, float ang_velZ, bool local)
virtual void SetAngularVelocity (const MT_Vector3 &ang_vel, bool local)
virtual void setClientInfo (void *clientinfo)
void SetDyna (bool isDynamic)
virtual void SetLinearVelocity (float lin_velX, float lin_velY, float lin_velZ, bool local)
virtual void SetLinearVelocity (const MT_Vector3 &lin_vel, bool local)
virtual void SetObject (SG_IObject *object)
void SetOption (int option, int value)
virtual void setOrientation (float quatImag0, float quatImag1, float quatImag2, float quatReal)
virtual void setOrientation (const MT_Quaternion &orn)
virtual void setPosition (float posX, float posY, float posZ)
virtual void setPosition (const MT_Point3 &pos)
virtual void setRigidBody (bool rigid)
virtual void setScaling (float scaleX, float scaleY, float scaleZ)
virtual void setScaling (const MT_Vector3 &scaling)
virtual void SetSimulatedTime (float time)
virtual void SetSimulatedTime (double time)
virtual void SetSumoTransform (bool nondynaonly)
virtual void SuspendDynamics ()
virtual bool SynchronizeMotionStates (float time)
virtual bool Update (double time)
virtual void WriteDynamicsToMotionState ()
virtual void WriteMotionStateToDynamics (bool nondynaonly)

Public Attributes

void * m_clientInfo

Protected Attributes

bool m_bDyna
SG_IObjectm_pObject
bool m_suspendDynamics
void * m_userdata

The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index