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

SIGEL_Robot::SIG_Link Class Reference

This class models a link. More...

#include <SIG_Link.h>

List of all members.

Public Methods

 SIG_Link (SIG_Robot *par, QString n, int nr)
 SIG_Link (SIG_Robot *par, QTextStream & tx)
 ~SIG_Link (void)
QString getName (void) const
int getNumber (void) const
bool isRootLink (void) const
void setBody (SIG_Body *b)
SIG_Body const* getBody (void) const
void setMaterial (SIG_Material *mtrl)
SIG_Material const* getMaterial (void) const
void addPoint (QString pointname, DL_vector point)
DL_vector getPoint (QString id) const
bool hasPoint (QString pointname) const
QDictIterator<DL_vector> getPointIter (void) const
int getNrOfPoints (void) const
void instantiateGeometry (void)
void transformToDynaMo (void)
void transformToDynaMechs ( SIG_Joint *predecessor, DL_vector predBase = DL_vector(0, 0, 0), DL_vector predDir = DL_vector(0, 0, 0), DL_vector predHand = DL_vector(0, 0, 0) )
void transformPoints (DL_vector mov, DL_matrix rot)
void addNoCollide (SIG_Link *link, bool negotiate = true)
 addNoCollide marks a pair of links, this and the given one, as links for which no collisions should be reported. More...

QList<SIG_Link> getNoCollides () const
void addJoint (SIG_Joint *joint)
QList<SIG_JointgetJoints () const
SIG_Geometry const* getGeometry (void) const
void getPhysics (DL_Scalar & m, DL_vector & com, DL_matrix & it)
void propagateInitialLocation (SIG_Link *comingfrom)
void setInitialLocation (DL_vector p, DL_matrix o, SIG_Link *comingfrom = 0)
void getInitialLocation (DL_vector & p, DL_matrix & o) const
bool isInitiated (void) const
bool isMDHVisited (void) const
void calculateCommonNormal ( DL_vector a, DL_vector u, DL_vector b, DL_vector v, DL_vector &c, DL_vector &w )
void writeToFileTransfer (QTextStream & tx) const

Private Attributes

SIG_Robotparent
QString name
int number
SIG_Bodybody
SIG_Geometrygeometry
SIG_Mirtich* mirtich
SIG_Materialmaterial
QDict<DL_vector> points
QList<SIG_JointadjacentJoints
QList<SIG_Link> noCollide
DL_vector initialLocation
DL_matrix initialOrientation
bool initiated
bool mdh_visited


Detailed Description

This class models a link.

SIG_Joint is a linking pin to all information needed to work with a link. Geometry information is saved in a SIG_Body object, material information in a SIG_Material object. Furthermore a list of significant points is managed.

Definition at line 29 of file SIG_Link.h.


Constructor & Destructor Documentation

SIGEL_Robot::SIG_Link::SIG_Link ( SIG_Robot * par,
QString n,
int nr )
 

Definition at line 19 of file SIG_Link.cpp.

SIGEL_Robot::SIG_Link::SIG_Link ( SIG_Robot * par,
QTextStream & tx )
 

Definition at line 35 of file SIG_Link.cpp.

SIGEL_Robot::SIG_Link::~SIG_Link ( void )
 

Definition at line 82 of file SIG_Link.cpp.


Member Function Documentation

void SIGEL_Robot::SIG_Link::addJoint ( SIG_Joint * joint )
 

Definition at line 211 of file SIG_Link.cpp.

void SIGEL_Robot::SIG_Link::addNoCollide ( SIG_Link * link,
bool negotiate = true )
 

addNoCollide marks a pair of links, this and the given one, as links for which no collisions should be reported.

Parameters:
link   The link this link should not collide with.
negotiate   DO NOT TOUCH! Defaults to also entering this link into the no collision list within the given link.

Definition at line 197 of file SIG_Link.cpp.

void SIGEL_Robot::SIG_Link::addPoint ( QString pointname,
DL_vector point )
 

Definition at line 129 of file SIG_Link.cpp.

void SIGEL_Robot::SIG_Link::calculateCommonNormal ( DL_vector a,
DL_vector u,
DL_vector b,
DL_vector v,
DL_vector & c,
DL_vector & w )
 

Definition at line 703 of file SIG_Link.cpp.

SIG_Body const * SIGEL_Robot::SIG_Link::getBody ( void ) const
 

Definition at line 114 of file SIG_Link.cpp.

SIG_Geometry const * SIGEL_Robot::SIG_Link::getGeometry ( void ) const
 

Definition at line 221 of file SIG_Link.cpp.

void SIGEL_Robot::SIG_Link::getInitialLocation ( DL_vector & p,
DL_matrix & o ) const
 

Definition at line 287 of file SIG_Link.cpp.

QList< SIG_Joint > SIGEL_Robot::SIG_Link::getJoints ( ) const
 

Definition at line 216 of file SIG_Link.cpp.

SIG_Material const * SIGEL_Robot::SIG_Link::getMaterial ( void ) const
 

Definition at line 124 of file SIG_Link.cpp.

QString SIGEL_Robot::SIG_Link::getName ( void ) const
 

Definition at line 94 of file SIG_Link.cpp.

QList< SIG_Link > SIGEL_Robot::SIG_Link::getNoCollides ( ) const
 

Definition at line 206 of file SIG_Link.cpp.

int SIGEL_Robot::SIG_Link::getNrOfPoints ( void ) const
 

Definition at line 154 of file SIG_Link.cpp.

int SIGEL_Robot::SIG_Link::getNumber ( void ) const
 

Definition at line 99 of file SIG_Link.cpp.

void SIGEL_Robot::SIG_Link::getPhysics ( DL_Scalar & m,
DL_vector & com,
DL_matrix & it )
 

Definition at line 226 of file SIG_Link.cpp.

DL_vector SIGEL_Robot::SIG_Link::getPoint ( QString id ) const
 

Definition at line 134 of file SIG_Link.cpp.

QDictIterator< DL_vector > SIGEL_Robot::SIG_Link::getPointIter ( void ) const
 

Definition at line 149 of file SIG_Link.cpp.

bool SIGEL_Robot::SIG_Link::hasPoint ( QString id ) const
 

Definition at line 144 of file SIG_Link.cpp.

void SIGEL_Robot::SIG_Link::instantiateGeometry ( void )
 

Definition at line 159 of file SIG_Link.cpp.

bool SIGEL_Robot::SIG_Link::isInitiated ( void ) const
 

Definition at line 293 of file SIG_Link.cpp.

bool SIGEL_Robot::SIG_Link::isMDHVisited ( void ) const
 

Definition at line 329 of file SIG_Link.cpp.

bool SIGEL_Robot::SIG_Link::isRootLink ( void ) const
 

Definition at line 104 of file SIG_Link.cpp.

void SIGEL_Robot::SIG_Link::propagateInitialLocation ( SIG_Link * comingfrom )
 

Definition at line 233 of file SIG_Link.cpp.

void SIGEL_Robot::SIG_Link::setBody ( SIG_Body * b )
 

Definition at line 109 of file SIG_Link.cpp.

void SIGEL_Robot::SIG_Link::setInitialLocation ( DL_vector p,
DL_matrix o,
SIG_Link * comingfrom = 0 )
 

Definition at line 262 of file SIG_Link.cpp.

void SIGEL_Robot::SIG_Link::setMaterial ( SIG_Material * mtrl )
 

Definition at line 119 of file SIG_Link.cpp.

void SIGEL_Robot::SIG_Link::transformPoints ( DL_vector mov,
DL_matrix rot )
 

Definition at line 178 of file SIG_Link.cpp.

void SIGEL_Robot::SIG_Link::transformToDynaMechs ( SIG_Joint * predecessor,
DL_vector predBase = DL_vector(0, 0, 0),
DL_vector predDir = DL_vector(0, 0, 0),
DL_vector predHand = DL_vector(0, 0, 0) )
 

Definition at line 334 of file SIG_Link.cpp.

void SIGEL_Robot::SIG_Link::transformToDynaMo ( void )
 

Definition at line 170 of file SIG_Link.cpp.

void SIGEL_Robot::SIG_Link::writeToFileTransfer ( QTextStream & tx ) const
 

Definition at line 298 of file SIG_Link.cpp.


Member Data Documentation

QList< SIG_Joint > SIGEL_Robot::SIG_Link::adjacentJoints [private]
 

Definition at line 97 of file SIG_Link.h.

SIG_Body * SIGEL_Robot::SIG_Link::body [private]
 

Definition at line 92 of file SIG_Link.h.

SIG_Geometry * SIGEL_Robot::SIG_Link::geometry [private]
 

Definition at line 93 of file SIG_Link.h.

DL_vector SIGEL_Robot::SIG_Link::initialLocation [private]
 

Definition at line 99 of file SIG_Link.h.

DL_matrix SIGEL_Robot::SIG_Link::initialOrientation [private]
 

Definition at line 100 of file SIG_Link.h.

bool SIGEL_Robot::SIG_Link::initiated [private]
 

Definition at line 101 of file SIG_Link.h.

SIG_Material * SIGEL_Robot::SIG_Link::material [private]
 

Definition at line 95 of file SIG_Link.h.

bool SIGEL_Robot::SIG_Link::mdh_visited [private]
 

Definition at line 101 of file SIG_Link.h.

SIG_Mirtich * SIGEL_Robot::SIG_Link::mirtich [private]
 

Definition at line 94 of file SIG_Link.h.

QString SIGEL_Robot::SIG_Link::name [private]
 

Definition at line 90 of file SIG_Link.h.

QList< SIG_Link > SIGEL_Robot::SIG_Link::noCollide [private]
 

Definition at line 98 of file SIG_Link.h.

int SIGEL_Robot::SIG_Link::number [private]
 

Definition at line 91 of file SIG_Link.h.

SIG_Robot * SIGEL_Robot::SIG_Link::parent [private]
 

Definition at line 89 of file SIG_Link.h.

QDict< DL_vector > SIGEL_Robot::SIG_Link::points [private]
 

Definition at line 96 of file SIG_Link.h.


The documentation for this class was generated from the following files:
Generated at Mon Sep 3 01:32:51 2001 for PG 368 - SIGEL by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000