DegreeSegment Class Reference

class for degree segments More...

#include <degreesegment.h>

Inherits AbstractTrackSection.

Inheritance diagram for DegreeSegment:

Inheritance graph
[legend]
Collaboration diagram for DegreeSegment:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 DegreeSegment (const Position &p, const double &angle)
 Constructor.
 DegreeSegment (const Matrix &position)
 Constructor.
virtual ~DegreeSegment ()
virtual double getLength ()
 returns the length of the segment, here it is the length of the arc
virtual double getWidth ()
 returns the width of the segment,
virtual void setWidth (double w)
 sets the width of the segment,
virtual void setCurveAngle (const double &alpha)
virtual void setRadius (const double &rad)
virtual Matrix getTransformedEndMatrix ()
 gives the position and rotation(angle) of the segment at the end of the segment so that a new segment could be placed there if you want to place the new segment, you must muliplicate: getTransformedEndMatrix()*getPositionMatrix();
virtual bool isInside (const Position &p)
 returns true if the real coordinates lay inside of the segment
virtual double getSectionIdValue (const Position &p)
 returns a value between 0 and 100 that tells at which section you are on the segment.
virtual double getWidthIdValue (const Position &p)
 returns a value between 0 and 100 that tells at which width you are on the segment, more to right or more to the left.
virtual void draw ()
 draws the obstacle (4 boxes for the playground)
virtual void create (dSpaceID space)
virtual void destroy ()

Protected Member Functions

void setProperties ()
Position getLocalCoordinates (double radius, double alpha)
 returns the local coordinates on the track at the given radius and angle that are responsible for the segment of the
Position getGlobalCoordinates (double radius, double alpha)
 returns the global coordinates on the track at the given radius and angle that are responsible for the segment of the

Protected Attributes

double radius
double width
bool show_aabb
list< dGeomID > innerWalls
list< dGeomID > outerWalls
double widthWall
double heightWall
double angle
int left
bool obstacle_exists
Color color
 obstacle color

Detailed Description

class for degree segments


Constructor & Destructor Documentation

DegreeSegment const Position p,
const double &  angle
 

Constructor.

DegreeSegment const Matrix pose  ) 
 

Constructor.

virtual ~DegreeSegment  )  [inline, virtual]
 


Member Function Documentation

void create dSpaceID  space  )  [virtual]
 

Implements AbstractTrackSection.

void destroy  )  [virtual]
 

Implements AbstractTrackSection.

void draw  )  [virtual]
 

draws the obstacle (4 boxes for the playground)

Implements AbstractTrackSection.

Position getGlobalCoordinates double  radius,
double  alpha
[protected]
 

returns the global coordinates on the track at the given radius and angle that are responsible for the segment of the

double getLength  )  [virtual]
 

returns the length of the segment, here it is the length of the arc

Implements AbstractTrackSection.

Position getLocalCoordinates double  radius,
double  alpha
[protected]
 

returns the local coordinates on the track at the given radius and angle that are responsible for the segment of the

double getSectionIdValue const Position p  )  [virtual]
 

returns a value between 0 and 100 that tells at which section you are on the segment.

0 means you are on the beginning 100 means you are at the end returns -1 if no IdValue can be given

Implements AbstractTrackSection.

Matrix getTransformedEndMatrix  )  [virtual]
 

gives the position and rotation(angle) of the segment at the end of the segment so that a new segment could be placed there if you want to place the new segment, you must muliplicate: getTransformedEndMatrix()*getPositionMatrix();

Implements AbstractTrackSection.

double getWidth  )  [virtual]
 

returns the width of the segment,

Implements AbstractTrackSection.

double getWidthIdValue const Position p  )  [virtual]
 

returns a value between 0 and 100 that tells at which width you are on the segment, more to right or more to the left.

0 means you are on the left 50 means you are in the middle 100 means you are on the right returns -1 if no WidthValue can be given

Implements AbstractTrackSection.

bool isInside const Position p  )  [virtual]
 

returns true if the real coordinates lay inside of the segment

Implements AbstractTrackSection.

void setCurveAngle const double &  alpha  )  [virtual]
 

void setProperties  )  [protected]
 

void setRadius const double &  rad  )  [virtual]
 

void setWidth double  w  )  [virtual]
 

sets the width of the segment,

Implements AbstractTrackSection.


Member Data Documentation

double angle [protected]
 

Color color [protected]
 

obstacle color

double heightWall [protected]
 

list<dGeomID> innerWalls [protected]
 

int left [protected]
 

bool obstacle_exists [protected]
 

list<dGeomID> outerWalls [protected]
 

double radius [protected]
 

bool show_aabb [protected]
 

double width [protected]
 

double widthWall [protected]
 


The documentation for this class was generated from the following files:
Generated on Tue Jan 16 02:14:46 2007 for Robotsystem of the Robot Group Leipzig by doxygen 1.3.8