vrsode/include/vrsode/PhysicsJoint.h

Go to the documentation of this file.
00001 
00002 #ifndef _VRSODE_PHYSICS_JOINT_H_
00003 #define _VRSODE_PHYSICS_JOINT_H_
00004 
00005 #include "PhysicsBody.h"
00006 
00007 #include <ode/ode.h>
00008 #include <vrs/sharedobj.h>
00009 
00010 namespace vrsode
00011 {
00012 
00018 class PhysicsJoint : public VRS::SharedObj
00019 {
00020     dJointID m_jointId;
00021     VRS::SO<PhysicsBody> m_bodyOne;
00022     VRS::SO<PhysicsBody> m_bodyTwo;
00023 
00024     unsigned char m_numMotors;
00025 
00026 
00027 public:
00031     PhysicsJoint(VRS::SO<PhysicsBody>, VRS::SO<PhysicsBody>);
00032 
00036     virtual ~PhysicsJoint();
00037 
00042     const dJointID jointId() const;
00043 
00048     VRS::SO<PhysicsBody> bodyOne() const;
00049 
00054     VRS::SO<PhysicsBody> bodyTwo() const;
00055 
00068     virtual void setLowStop(double) = 0;
00069 
00074     virtual void setHighStop(double) = 0;
00075 
00081     virtual void setStopBounce(double) = 0;
00082 
00087     virtual void setMotorVelocity(double) = 0;
00088 
00094     virtual void setMotorMaxForce(double) = 0;
00095 
00099     virtual void setCFM(double) = 0;
00100 
00101 
00102 
00103 protected:
00104     void setJointId(dJointID p_jointId);
00105     void setBodyOne(VRS::SO<PhysicsBody>);
00106     void setBodyTwo(VRS::SO<PhysicsBody>);
00107 };
00108 
00109 }
00110 
00111 #endif

Generated on Fri May 11 21:01:58 2007 for Random Racer by  doxygen 1.5.1