00001 #ifndef SIGEL_ROBOT_SIG_DRIVE_H 00002 #define SIGEL_ROBOT_SIG_DRIVE_H 00003 00004 namespace SIGEL_Robot { class SIG_Drive; } 00005 00006 #include <qstring.h> 00007 #include <pointvector.h> 00008 #include "SIGEL_Robot/SIG_Robot.h" 00009 #include "SIGEL_Robot/SIG_Joint.h" 00010 00011 namespace SIGEL_Robot 00012 { 00013 00020 class SIG_Drive { 00021 public: 00022 enum DriveMode { tForceMode, tRelativeMode, tAbsoluteMode }; 00023 private: 00024 SIG_Robot *parent; 00025 QString name; 00026 int number; 00027 SIG_Joint *theJoint; 00028 DriveMode mode; 00029 DL_Scalar minforce, maxforce ; 00030 public: 00031 SIG_Drive (SIG_Robot *par, QString n, int nr = -1); 00032 SIG_Drive (SIG_Robot *par, QTextStream & tx); 00033 ~SIG_Drive (void); 00034 QString getName (void) const; 00035 int getNumber (void) const; 00036 void setJoint (SIG_Joint *j); 00037 void setMode (DriveMode dm); 00038 SIG_Joint const *getJoint (void) const; 00039 DriveMode getMode (void) const; 00040 void setForces(DL_Scalar mn, DL_Scalar mx); 00041 DL_Scalar getMinForce (void) const; 00042 DL_Scalar getMaxForce (void) const; 00043 void writeToFileTransfer (QTextStream & tx); 00044 }; 00045 } 00046 00047 #endif // SIGEL_ROBOT_SIG_DRIVE_H