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

SIGEL_Robot::SIG_Body Class Reference

The class SIG_Body represents the geometrical data of a link. More...

#include <SIG_Body.h>

List of all members.

Public Methods

 SIG_Body (SIG_Robot *par, QString f, QString d)
 Nonstandard standard constructor. More...

 SIG_Body (SIG_Robot *par, QTextStream & tx)
 Unstreaming constructor. More...

 ~SIG_Body (void)
 Destructor. More...

void addUsingLink (SIG_Link* user)
 Register a link as being formed like the surface described in this body object. More...

void load ()
 Loads the geometry from the VRML file. More...

NEWMAT::Matrix createRotationMatrix ( QArray< float > rotation )
 Help method to create the affine transformation matrix that rotates a point as specified in the argument vector. More...

void readVRMLNode (Node *node, NEWMAT::Matrix transformation)
 Help method to traverse the VRML scene graph. More...

void setGeometry (SIG_Geometry *geo)
 Setting the geometry. More...

SIG_Geometry const* getGeometry (void) const
 Getting access to the surface of the body. More...

void writeToFileTransfer (QTextStream & tx)
 Write the SIG_Body object and the geometry information into a stream. More...

QString getGeometryFile (void) const
 Get the name of the geometry file. More...

QString getName (void) const
 Get the name of the geometry file as specified in the robot description. More...


Private Attributes

SIG_Robotparent
QList<SIG_LinkusedByLinks
QString geometryFile
QString directory
SIG_Geometrygeometry


Detailed Description

The class SIG_Body represents the geometrical data of a link.

Methods to analize and normalize the geometrical data, such as calculation of the inertia tensor, and transformation to the coordinate system that Dynamo needs.

Definition at line 28 of file SIG_Body.h.


Constructor & Destructor Documentation

SIGEL_Robot::SIG_Body::SIG_Body ( SIG_Robot * par,
QString f,
QString d )
 

Nonstandard standard constructor.

Definition at line 8 of file SIG_Body.cpp.

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

Unstreaming constructor.

Reads the geometry and its physical attributes from a stream.

Definition at line 15 of file SIG_Body.cpp.

SIGEL_Robot::SIG_Body::~SIG_Body ( void )
 

Destructor.

Definition at line 30 of file SIG_Body.cpp.


Member Function Documentation

void SIGEL_Robot::SIG_Body::addUsingLink ( SIG_Link * user )
 

Register a link as being formed like the surface described in this body object.

Definition at line 36 of file SIG_Body.cpp.

NEWMAT::Matrix SIGEL_Robot::SIG_Body::createRotationMatrix ( QArray< float > rotation )
 

Help method to create the affine transformation matrix that rotates a point as specified in the argument vector.

Parameters:
rotation   The rotation given in VRML notation.

Definition at line 41 of file SIG_Body.cpp.

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

Getting access to the surface of the body.

Definition at line 203 of file SIG_Body.cpp.

QString SIGEL_Robot::SIG_Body::getGeometryFile ( void ) const
 

Get the name of the geometry file.

Definition at line 208 of file SIG_Body.cpp.

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

Get the name of the geometry file as specified in the robot description.

Definition at line 220 of file SIG_Body.cpp.

void SIGEL_Robot::SIG_Body::load ( )
 

Loads the geometry from the VRML file.

The load-method loads the VRML file given in the constructor into memory using CyberVRML '97 and, assuming it finds a polygon soup, detects the incidences and contructs a Polyhedron object.

Definition at line 176 of file SIG_Body.cpp.

void SIGEL_Robot::SIG_Body::readVRMLNode ( Node * node,
NEWMAT::Matrix transformation )
 

Help method to traverse the VRML scene graph.

Parameters:
node   Pointer to the node where to start the Depth-Search.
transformation   The affine transformation matrix which transforms points described due to the local coordinate system into the calling node's coordinate system (if there no such then transformation should be the identity).

Definition at line 68 of file SIG_Body.cpp.

void SIGEL_Robot::SIG_Body::setGeometry ( SIG_Geometry * geo )
 

Setting the geometry.

In normal operation, this should not be used. Generally, the geometry information will be loaded by SIG_Body itself from a DXF file.

Definition at line 198 of file SIG_Body.cpp.

void SIGEL_Robot::SIG_Body::writeToFileTransfer ( QTextStream & tx )
 

Write the SIG_Body object and the geometry information into a stream.

Definition at line 225 of file SIG_Body.cpp.


Member Data Documentation

QString SIGEL_Robot::SIG_Body::directory [private]
 

Definition at line 32 of file SIG_Body.h.

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

Definition at line 33 of file SIG_Body.h.

QString SIGEL_Robot::SIG_Body::geometryFile [private]
 

Definition at line 32 of file SIG_Body.h.

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

Definition at line 30 of file SIG_Body.h.

QList< SIG_Link > SIGEL_Robot::SIG_Body::usedByLinks [private]
 

Definition at line 31 of file SIG_Body.h.


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