#include <degreesegment.h>
Inherits AbstractTrackSection.
Inheritance diagram for DegreeSegment:


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 | |
| DegreeSegment | ( | const Position & | p, | |
| const double & | angle | |||
| ) |
Constructor.
| DegreeSegment | ( | const Matrix & | position | ) |
Constructor.
| virtual ~DegreeSegment | ( | ) | [inline, virtual] |
| void create | ( | dSpaceID | space | ) | [virtual] |
Implements AbstractTrackSection.
| void destroy | ( | ) | [virtual] |
Implements AbstractTrackSection.
| void draw | ( | ) | [virtual] |
| 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] |
| 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] |
| void setCurveAngle | ( | const double & | alpha | ) | [virtual] |
| void setProperties | ( | ) | [protected] |
| void setRadius | ( | const double & | rad | ) | [virtual] |
| void setWidth | ( | double | w | ) | [virtual] |
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] |
1.4.7