Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members  

SIG_CylindricalJoint.h

00001 #ifndef SIGEL_ROBOT_SIG_CYLINDRICALJOINT_H
00002 #define SIGEL_ROBOT_SIG_CYLINDRICALJOINT_H
00003 
00004 namespace SIGEL_Robot { class SIG_CylindricalJoint; }
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 
00021   class SIG_CylindricalJoint : public SIG_Joint {
00022   private:
00023     DL_vector leftBase, rightBase;
00024     DL_vector leftDir, rightDir;
00025     DL_vector leftHand, rightHand;
00026     DL_Scalar rotMin, rotMax, rotIni;
00027     DL_Scalar traMin, traMax, traIni;
00028   public:
00029     SIG_CylindricalJoint (SIG_Robot *par, QString n, int nr = -1);
00030     SIG_CylindricalJoint (SIG_Robot *par, QTextStream & tx);
00031     virtual ~SIG_CylindricalJoint (void);
00032     virtual JointType getJointType (void) const;
00033 
00034     void setLeftPoints (DL_vector B, DL_vector D, DL_vector H);
00035     void setRightPoints (DL_vector B, DL_vector D, DL_vector H);
00036     void setRotationalRange (DL_Scalar mn, DL_Scalar mx, DL_Scalar ii);
00037     void setTranslationalRange (DL_Scalar mn, DL_Scalar mx, DL_Scalar ii);
00038     
00039     DL_vector getLeftBase (void) const;
00040     DL_vector getLeftDir (void) const;
00041     DL_vector getLeftHand (void) const;
00042     DL_vector getRightBase (void) const;
00043     DL_vector getRightDir (void) const;
00044     DL_vector getRightHand (void) const;
00045     DL_Scalar getMinRot (void) const;
00046     DL_Scalar getMaxRot (void) const;
00047     DL_Scalar getIniRot (void) const;
00048     DL_Scalar getMinTrans (void) const;
00049     DL_Scalar getMaxTrans (void) const;
00050     DL_Scalar getIniTrans (void) const;
00051 
00052     virtual void transformPoints (SIG_Link *side,
00053                                   DL_vector mov, DL_matrix rot);
00054     virtual void getGeomRelation
00055       (DL_vector &t, DL_matrix &o, SIG_Link *origin);
00056     virtual void writeToFileTransfer (QTextStream & tx);
00057   };
00058 }
00059 
00060 #endif // SIGEL_ROBOT_SIG_CYLINDRICALJOINT_H

Generated at Mon Sep 3 01:32:18 2001 for PG 368 - SIGEL by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000