AURobotServers  4
Public Member Functions | Protected Attributes | Static Protected Attributes | List of all members
UClientManSeq Class Reference

#include <uresnavifman.h>

Inheritance diagram for UClientManSeq:
Inheritance graph

Public Member Functions

UPosegetPoses ()
 
int getPosesCnt ()
 
char * getSegChars ()
 
ULineSegmentgetSegs ()
 
int getSegsCnt ()
 
UTime getUpdTime ()
 
bool isBest ()
 
bool isPathFailed ()
 
bool setFromTag (USmlTag *tag)
 
 UClientManSeq ()
 
virtual ~UClientManSeq ()
 
- Public Member Functions inherited from UManSeq
bool addMan (UPoseV fromPose, UPoseV toPose, double maxAcc, double maxTurnAcc, double minTurnRad, double *okVel=NULL)
 
bool addManDriveon (UPoseV fromPose, UPoseV toPose, double turnRad)
 
UManPPSeqaddP2P ()
 
bool copy (UManSeq *source)
 
bool expandMan (UPoseV fromPose, UPoseV toPose, bool last, double maxAcc, double maxTurnAcc, double minTurnRad, UManPPSeq *ppSeq, double *okVel)
 
bool expandManDriveon (UPoseV fromPose, UPoseV toPose, double turnRad, UManPPSeq *ppSeq)
 
void fprint (FILE *fd, const char *prestr)
 
void freeAll ()
 
virtual const char * getDataType ()
 
double getDeviationFromDirect ()
 
double getDistance ()
 
double getDistanceFromEndPoseLine (double *maxHeading)
 Calculate the distance from the end-pose line to the point on the manoeuvre furthest away from the line. Only the start/end points of each manoeuvere is used, so if one of the pose to pose manoeuvres has an almost full circle, then the circle is not counted. More...
 
double getDistanceXYSigned (UPosition pos, int *where, bool posIsRight, double maxDist, UPose *pHit, int *idx, double *t)
 
UPoseV getEndPoseV ()
 
double getMaxTurnArc ()
 
double getMinDistanceXYSigned (ULineSegment *seg, int *whereOnSeg, UPosition *posOnSeg, bool posIsRight, double maxDist, int *whereOnMan, UPose *poseOnMan, int *idx)
 
double getNeededAcc (double startVel, double endVel, double distance)
 
double getNeededDist (double startVel, double endVel, double acc)
 
UManoeuvregetNewArc (double radius, double angle, bool left, double acceleration, double targetVel)
 
UManoeuvregetNewArc (double radius, double angle, double acceleration, double targetVel)
 
UManoeuvregetNewLine (double dist, double acceleration, double targetVel)
 
UManoeuvregetNewStop ()
 
UManPPSeqgetP2P (int idx)
 
int getP2PCnt ()
 
UPoseV getPoseV (double atManTime)
 
UPoseV getStartPoseV ()
 
double getTime ()
 
bool isValid ()
 
const char * print (const char *prestr, char *buff, const int buffCnt)
 
void releaseAll (UManPPSeq *ppseq)
 
void releaseAllMan ()
 
void releaseLast ()
 
void removeLastArc ()
 
bool replaceMan (UPoseV midPose, bool fixate, double maxAcc, double maxTurnAcc, double minTurnRad, int fromIdx, int toIdx, bool newEndpoint, double *okVel)
 
bool replaceManDriveon (UPoseV midPose, bool fixate, double turnRad, int fromIdx, int toIdx, bool newEndpoint)
 
int reusableCnt ()
 
void truncate (UManPPSeq *ppseq, int newCnt)
 
 UManSeq ()
 
 ~UManSeq ()
 
- Public Member Functions inherited from ULock
bool lock ()
 
void lockInit ()
 
void post ()
 
bool tryLock ()
 
bool tryWait ()
 
 ULock ()
 
void unlock ()
 
bool wait ()
 
 ~ULock ()
 
- Public Member Functions inherited from UDataBase
bool isA (const char *typeString)
 
virtual bool isAlsoA (const char *typeString)
 
virtual void snprint (const char *preString, char *buff, const int buffCnt)
 
 UDataBase ()
 
virtual ~UDataBase ()
 

Protected Attributes

bool isACrash
 
bool pathUsed
 
UPose poses [MAX_TESTED_POSES]
 
int posesCnt
 
ULineSegment segs [MAX_TESTED_LINES]
 
char segsChar [MAX_TESTED_LINES]
 
int segsCnt
 
UTime updTime
 
- Protected Attributes inherited from UManSeq
UManPPSeqp2p [MAX_PP_MAN_CNT]
 
int p2pCnt
 

Static Protected Attributes

static const int MAX_TESTED_LINES = 500
 
static const int MAX_TESTED_POSES = 50
 
- Static Protected Attributes inherited from UManSeq
static const int MAX_PP_MAN_CNT = 100
 

Additional Inherited Members

- Protected Member Functions inherited from UManSeq
bool expandAddManALA (UManPPSeq *ppSeq, bool last, double maxAcc, double maxTurnAcc, double *okVel)
 
bool expandAddManLALA (UManPPSeq *ppSeq, bool last, double maxAcc, double maxTurnAcc, double minTurnRad)
 
void release (UManoeuvre *toRelease)
 
UManoeuvrerequestObj (int manType)
 

Detailed Description

Class extended from UManSeq to hold added information, when used on client side for display purposes.

Constructor & Destructor Documentation

UClientManSeq::UClientManSeq ( )
inline

Constructor

References isACrash.

Referenced by UResNavIfMan::handleManData().

virtual UClientManSeq::~UClientManSeq ( )
inlinevirtual

Destructor

Member Function Documentation

UPose* UClientManSeq::getPoses ( )
inline

get first of mid-poses tested in generation of path

References poses.

Referenced by UNavPaint::paintManData().

int UClientManSeq::getPosesCnt ( )
inline

Get number of available poses on poses array

References posesCnt.

Referenced by UNavPaint::paintManData().

char* UClientManSeq::getSegChars ( )
inline

Get character array wit tope information on the line segments associiated with this path

References segsChar.

Referenced by UNavPaint::paintManData().

ULineSegment* UClientManSeq::getSegs ( )
inline

get first of mid-poses tested in generation of path

References segs.

Referenced by UNavPaint::paintManData().

int UClientManSeq::getSegsCnt ( )
inline

Get number of available poses on poses array

References segsCnt.

Referenced by UNavPaint::paintManData().

UTime UClientManSeq::getUpdTime ( )
inline

Get the manoeuvre update time

Referenced by UPaintManoeuvre::addManToViewer(), and UPaintManoeuvres::paintManData().

bool UClientManSeq::isBest ( )
inline

Is this sequence the best (the used) path

References pathUsed, and setFromTag().

Referenced by UPaintManoeuvre::addManToViewer(), UResNavIfMan::handleManData(), and UNavPaint::paintManData().

bool UClientManSeq::isPathFailed ( )
inline

Is path crashed in the planning process, i.e. did not find a obstacle free route to the destination pose.

References isACrash.

Referenced by UNavPaint::paintManData().

bool UClientManSeq::setFromTag ( USmlTag tag)

Member Data Documentation

bool UClientManSeq::isACrash
protected

Manoeuvre flag for a crashed path - probably just partially completed until an impossible passage were discovered, but may be available for analysis purposes.

Referenced by isPathFailed(), setFromTag(), and UClientManSeq().

const int UClientManSeq::MAX_TESTED_LINES = 500
staticprotected

Maximum number of tested lines in generation of this path

Referenced by setFromTag().

const int UClientManSeq::MAX_TESTED_POSES = 50
staticprotected

Maximum number of tested poses in generation of this path

Referenced by setFromTag().

bool UClientManSeq::pathUsed
protected

Flag to say that this path is the selected best path

Referenced by isBest(), and setFromTag().

UPose UClientManSeq::poses[MAX_TESTED_POSES]
protected

Poses tested during generation of path

Referenced by getPoses(), and setFromTag().

int UClientManSeq::posesCnt
protected

Valid route points

Referenced by getPosesCnt(), and setFromTag().

ULineSegment UClientManSeq::segs[MAX_TESTED_LINES]
protected

No-visibility segments and tangents used when generating this path

Referenced by getSegs(), and setFromTag().

char UClientManSeq::segsChar[MAX_TESTED_LINES]
protected

A character for each segment to be able to discriminate in display. The first character in the name segment is stored here.

Referenced by getSegChars(), and setFromTag().

int UClientManSeq::segsCnt
protected

Number of generated segmnents in avoidance process

Referenced by getSegsCnt(), and setFromTag().

UTime UClientManSeq::updTime
protected

Update time

Referenced by setFromTag().


The documentation for this class was generated from the following files: