00001 #ifndef SIGEL_ROBOT_SIG_GLUEJOINT_H 00002 #define SIGEL_ROBOT_SIG_GLUEJOINT_H 00003 00004 namespace SIGEL_Robot { class SIG_GlueJoint; } 00005 00006 #include "SIGEL_Robot/SIG_Joint.h" 00007 00008 namespace SIGEL_Robot 00009 { 00015 class SIG_GlueJoint : public SIG_Joint { 00016 private: 00017 DL_vector ptA1, ptA2, ptA3; 00018 DL_vector ptB1, ptB2, ptB3; 00019 00020 public: 00021 SIG_GlueJoint (SIG_Robot *par, QString n, int nr = -1); 00022 SIG_GlueJoint (SIG_Robot *par, QTextStream & tx); 00023 virtual ~SIG_GlueJoint (void); 00024 00025 virtual JointType getJointType (void) const; 00026 00027 void setPlaneA (DL_vector p1, DL_vector p2, DL_vector p3); 00028 void setPlaneB (DL_vector p1, DL_vector p2, DL_vector p3); 00029 void getPlaneA (DL_vector &p1, DL_vector &p2, DL_vector &p3); 00030 void getPlaneB (DL_vector &p1, DL_vector &p2, DL_vector &p3); 00031 00032 virtual void transformPoints (SIG_Link *side, 00033 DL_vector mov, DL_matrix rot); 00034 virtual void getGeomRelation 00035 (DL_vector &t, DL_matrix &o, SIG_Link *origin); 00036 00037 virtual void writeToFileTransfer (QTextStream & tx); 00038 }; 00039 } 00040 00041 #endif // SIGEL_ROBOT_SIG_GLUEJOINT_H