#include <SIG_Joint.h>
Inheritance diagram for SIGEL_Robot::SIG_Joint:
Public Types | |
enum | JointType { tTranslationalJoint, tRotationalJoint, tCylindricalJoint, tGlueJoint } |
Because typeid does not work with all compilers, this enum indicates the type of link the objects stands for. | |
Public Methods | |
SIG_Joint (SIG_Robot *par, QString n, int nr) | |
Default constructor. More... | |
SIG_Joint (SIG_Robot *par, QTextStream & tx) | |
Stream constructor. More... | |
virtual | ~SIG_Joint (void) |
Destructor. More... | |
QString | getName (void) const |
Returns the name of the joint. More... | |
int | getNumber (void) const |
Returns the number of the joint. More... | |
virtual JointType | getJointType (void) const = 0 |
Returns the type of the joint the object represents. | |
void | setLeftLink (SIG_Link *thelink) |
Sets the left_side link. More... | |
void | setRightLink (SIG_Link *thelink) |
Sets the right-side link. More... | |
SIG_Link const* | getLeftLink () const |
Returns the left-side link. More... | |
SIG_Link const* | getRightLink () const |
Returns the right-side link. More... | |
SIG_Link* | otherSide (SIG_Link *myself) const |
Returns the link on the opposite side of the joint. More... | |
virtual void | transformPoints (SIG_Link *side, DL_vector mov, DL_matrix rot) = 0 |
Translates and rotates the points associated to the given link. | |
virtual void | getGeomRelation (DL_vector &t, DL_matrix &o, SIG_Link *origin) = 0 |
Returns the initial geometric relation of the link on the opposite side. More... | |
virtual void | getMDH (SIG_Link * & predecessor, double & a, double & alpha, double & d, double & theta, double & screwD, double & screwTheta) |
If this is a joint with exactly one Degree of Freedom, getMDH will return a set of modified Denavit-Hartenberg parameters. More... | |
double | getMechsMinPos () const |
double | getMechsMaxPos () const |
virtual void | writeToFileTransfer (QTextStream &tx) |
Writes the general joint data into a stream. More... | |
void | transformToDynaMechs ( SIG_Link *predecessor, double screwD, double screwTheta ) |
bool | continuable ( SIG_Link *predecessor ) const |
void | calculateMDH ( SIG_Link *caller ) |
Static Public Methods | |
void | calculateCut ( DL_vector a, DL_vector u, DL_vector v, DL_vector b, DL_vector w, DL_vector &cut ) |
double | normalizeRadAngle ( double input ) |
Protected Methods | |
void | tfap (DL_vector mov, DL_matrix rot, DL_vector *p) |
some method to make my living easier. More... | |
Protected Attributes | |
SIG_Robot* | parent |
QString | name |
int | number |
SIG_Link* | leftLink |
SIG_Link * | rightLink |
double | mdh_a |
double | mdh_alpha |
double | mdh_d |
double | mdh_theta |
double | mdh_screw_d |
double | mdh_screw_theta |
double | mechsMinPos |
double | mechsMaxPos |
int | mdh_predecessor_is_left |
The two adjacent links are named left and right. Despite this naming scheme, both links are treated equally.
Definition at line 19 of file SIG_Joint.h.
|
Because typeid does not work with all compilers, this enum indicates the type of link the objects stands for.
Definition at line 27 of file SIG_Joint.h. |
|
Default constructor. This will be used when the robot is parsed. Definition at line 15 of file SIG_Joint.cpp. |
|
Stream constructor. This will be used when the robot has been serialised for saving or transmitting. This is intended to be called by the constructor of a derived class, and therefore designed that way. Expect ugly things to happen otherwise. Definition at line 26 of file SIG_Joint.cpp. |
|
Destructor.
Definition at line 46 of file SIG_Joint.cpp. |
|
Definition at line 734 of file SIG_Joint.cpp. |
|
Definition at line 200 of file SIG_Joint.cpp. |
|
Definition at line 193 of file SIG_Joint.cpp. |
|
Returns the initial geometric relation of the link on the opposite side. t will be filled with a translation vector, o with a rotation matrix. Reimplemented in SIGEL_Robot::SIG_CylindricalJoint, SIGEL_Robot::SIG_GlueJoint, SIGEL_Robot::SIG_RotationalJoint, and SIGEL_Robot::SIG_TranslationalJoint. |
|
Returns the left-side link.
Definition at line 78 of file SIG_Joint.cpp. |
|
If this is a joint with exactly one Degree of Freedom, getMDH will return a set of modified Denavit-Hartenberg parameters.
Reimplemented in SIGEL_Robot::SIG_RotationalJoint, and SIGEL_Robot::SIG_TranslationalJoint. Definition at line 96 of file SIG_Joint.cpp. |
|
Definition at line 132 of file SIG_Joint.cpp. |
|
Definition at line 127 of file SIG_Joint.cpp. |
|
Returns the name of the joint.
Definition at line 49 of file SIG_Joint.cpp. Referenced by SIGEL_Simulation::SIG_DynaMechsSimulationQueries::sense(). |
|
Returns the number of the joint.
Definition at line 54 of file SIG_Joint.cpp. Referenced by SIGEL_Simulation::SIG_DynaMechsSimulationData::SIG_DynaMechsSimulationData(), and SIGEL_Simulation::SIG_DynaMechsSimulationQueries::sense(). |
|
Returns the right-side link.
Definition at line 83 of file SIG_Joint.cpp. |
|
Definition at line 757 of file SIG_Joint.cpp. |
|
Returns the link on the opposite side of the joint.
Definition at line 88 of file SIG_Joint.cpp. |
|
Sets the left_side link. Links on both side are treated equally. Left and right are only meant to identify them. Definition at line 66 of file SIG_Joint.cpp. |
|
Sets the right-side link.
Definition at line 72 of file SIG_Joint.cpp. |
|
some method to make my living easier.
Definition at line 120 of file SIG_Joint.cpp. |
|
Definition at line 137 of file SIG_Joint.cpp. |
|
Writes the general joint data into a stream.
Reimplemented in SIGEL_Robot::SIG_CylindricalJoint, SIGEL_Robot::SIG_GlueJoint, SIGEL_Robot::SIG_RotationalJoint, and SIGEL_Robot::SIG_TranslationalJoint. Definition at line 106 of file SIG_Joint.cpp. |
|
Definition at line 35 of file SIG_Joint.h. |
|
Definition at line 36 of file SIG_Joint.h. |
|
Definition at line 36 of file SIG_Joint.h. |
|
Definition at line 36 of file SIG_Joint.h. |
|
Definition at line 38 of file SIG_Joint.h. |
|
Definition at line 37 of file SIG_Joint.h. |
|
Definition at line 37 of file SIG_Joint.h. |
|
Definition at line 36 of file SIG_Joint.h. |
|
Definition at line 37 of file SIG_Joint.h. |
|
Definition at line 37 of file SIG_Joint.h. |
|
Definition at line 33 of file SIG_Joint.h. |
|
Definition at line 34 of file SIG_Joint.h. |
|
Definition at line 32 of file SIG_Joint.h. |
|
Definition at line 35 of file SIG_Joint.h. |