00001 /*************************************************************************** 00002 AMotorJoint.h - description 00003 ------------------- 00004 begin : mar fév 18 2003 00005 copyright : (C) 2003 by Yann Le Guyadec, Michel DUBOIS 00006 email : Yann.Le-Guyadec@univ-ubs.fr, Michel.Dubois@univ-ubs.fr 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 ***************************************************************************/ 00017 00018 #ifndef AMOTORJOINT_H 00019 #define AMOTORJOINT_H 00020 00021 #include "SimJoint.h" 00022 #include "Vector3.h" 00023 #include "Graph.h" 00024 #include "Controller.h" 00025 00035 class AMotorJoint : public SimJoint{ 00036 00037 public: 00038 AMotorJoint(SimRigidBody * rigidBody1, SimRigidBody * RigidBody2); 00039 virtual ~AMotorJoint(); 00040 void set (char * name, char * value); 00041 void setAxis (const int axis, const Vector3& axis1); 00042 void setParam (const int parameter,const Real value); 00043 void setMode (int mode); 00044 void setNumAxes (int num); 00045 Real getParam (int parameter) const; 00046 SimRigidBody * getRigidBody1 () const; 00047 SimRigidBody * getRigidBody2 () const; 00048 void print() const; 00049 00050 }; 00051 00052 class AMotor : public Connection, Controller{ 00053 00054 public: 00055 AMotor(SimRigidBody * rigidBody1, SimRigidBody * RigidBody2); 00056 virtual ~AMotor(); 00057 void set (char * name, char * value); 00058 void setAxis (const int axis, const Vector3& axis1); 00059 void setParam (const int parameter,const Real value); 00060 void setMode (int mode); 00061 void setNumAxes (int num); 00062 Real getParam (int parameter) const; 00063 SimRigidBody * getRigidBody1 () const; 00064 SimRigidBody * getRigidBody2 () const; 00065 void swap(); 00066 void print() const; 00067 void setIsEnabled(bool isEnabled); 00068 00069 00070 protected: 00071 SimRigidBody * rigidBody1; 00072 SimRigidBody * rigidBody2; 00073 dJointID joint; 00074 00075 00076 }; 00077 00078 #endif