24 #ifndef __ABSTRACTTRACKSECTION_H
25 #define __ABSTRACTTRACKSECTION_H
28 using namespace matrix;
30 #include <drawstuff/drawstuff.h>
52 setPoseMatrix(getTranslationRotationMatrix(p, angle));
66 virtual void create(dSpaceID space) = 0;
68 virtual void destroy() = 0;
70 virtual void draw() = 0;
77 virtual Matrix getTransformedEndMatrix() = 0;
82 virtual bool isInside(
const Position& p) = 0;
89 virtual double getSectionIdValue(
const Position& p)=0;
97 virtual double getWidthIdValue(
const Position& p)=0;
106 virtual double getLength()=0;
112 virtual double getWidth()=0;
117 virtual void setWidth(
double w)=0;
124 return getPosition4x1(invpos*getPositionMatrix(p));
128 return getPosition4x1(pos*getPositionMatrix(p));
139 invpos = invert_4x4PoseMatrix(m);
145 return ::getPosition(pos);
Matrix type.
Definition: matrix.h:65
Abstract class (interface) for obstacles.
Definition: abstracttracksection.h:37
AbstractTrackSection(const Matrix &pose)
Constructor where you can set the pos-matrix by this constructor:
Definition: abstracttracksection.h:59
void setPoseMatrix(const Matrix &m)
Definition: abstracttracksection.h:137
Position transformToGlobalCoord(const Position &p)
Definition: abstracttracksection.h:127
AbstractTrackSection(const Position &p, const double angle)
Constructor, segment is initialized with Position (0,0,0) and a rotation angle=0. ...
Definition: abstracttracksection.h:51
Definition: position.h:30
Matrix getInversePoseMatrix()
Definition: abstracttracksection.h:131
virtual ~AbstractTrackSection()
Definition: abstracttracksection.h:63
Matrix getPoseMatrix()
Definition: abstracttracksection.h:119
Position getPosition()
gives actual position of the obstacle
Definition: abstracttracksection.h:144
Position transformToLocalCoord(const Position &p)
Definition: abstracttracksection.h:123