AURobotServers
4
|
#include <uavoidlink.h>
Public Member Functions | |
void | clear () |
double | getDistance (double entryAngle, double exitAngle, double *turnAngleSum) |
UPosition | getOtherEnd () |
UPosition | getThisEnd () |
bool | pathCrossing (ULineSegment seg) |
UAvoidLnkSeq () | |
Public Attributes | |
double | costAngle |
double | costDist |
double | costF |
double | costG |
tentative score so far (from start pose to this point) More... | |
double | costH |
cost from this point to destination More... | |
UAvoidLnkSeq * | next |
UAvoidLnkSeq * | prev |
int | serial |
debug serial number More... | |
int | tangIdx |
UAvoidLink * | tangLine |
Class to hold the references to the tangent lines that in sequence forms a possible path from current position to destination position.
|
inline |
Constructor
References UAvoidLink::clear().
|
inline |
Clear any data in the object (except recycle link).
References UAvoidLink::next, and UAvoidLink::serial.
Referenced by UAvoidPath2::getEmptyLnkSeq().
double UAvoidLnkSeq::getDistance | ( | double | entryAngle, |
double | exitAngle, | ||
double * | turnAngleSum | ||
) |
Get the distance and angle sum for this tangent sequence
References a, UAvoidLink::aobIdx, dist, UPolygon::getPoint(), UPolygon::getPointsCnt(), UAvoidLink::getTangentLine(), UAvoidLink::idx, ULineSegment::length, limitToPi(), next, UAvoidObst::obst, tangIdx, tangLine, UAvoidLink::tob, ULine::vec, UPosition::x, and UPosition::y.
Referenced by UAvoidPath2::addToLnkSeqs().
|
inline |
Get the position of this element in the tangent sequence
Referenced by UAvoidLink::getTangentLine().
|
inline |
Get the position of this element in the tangent sequence
Referenced by UAvoidLink::getTangentLine().
bool UAvoidLnkSeq::pathCrossing | ( | ULineSegment | seg | ) |
Is this line segment crossing any of the tangent lines in this sequence. Returns true if a crossing is detected
Copyright (C) 2010 by DTU (Christian Andersen) jca@o erst ed.dt u.dk
References ULineSegment::getSegmentCrossingXY(), UAvoidLink::getTangentLine(), ULineSegment::length, next, tangIdx, and tangLine.
Referenced by UAvoidPath2::findRouteToDest().
double UAvoidLnkSeq::costAngle |
Cost of this link in terms of angle
Referenced by UAvoidPath2::addLnksToOpenSet(), UAvoidPath2::addToLnkSeqs(), UAvoidPath2::findRoutes(), UAvoidPath2::findRoutesA(), UAvoidPath2::findRouteToDest(), and UAvoidPath2::logPathSequences().
double UAvoidLnkSeq::costDist |
Cost of this link in terms of distance
Referenced by UAvoidPath2::addLnksToOpenSet(), UAvoidPath2::addToLnkSeqs(), UAvoidPath2::findRoutes(), UAvoidPath2::findRoutesA(), UAvoidPath2::findRouteToDest(), and UAvoidPath2::logPathSequences().
double UAvoidLnkSeq::costF |
Minimum cost from this point to the end pose.
Referenced by UAvoidPath2::addLnksToOpenSet(), UAvoidPath2::addToOpenSet(), and UAvoidPath2::findRoutesA().
double UAvoidLnkSeq::costG |
tentative score so far (from start pose to this point)
Referenced by UAvoidPath2::addLnksToOpenSet(), UAvoidPath2::findRoutesA(), and UAvoidPath2::terminateWorseCandidatesInOpenSet().
double UAvoidLnkSeq::costH |
cost from this point to destination
Referenced by UAvoidPath2::addLnksToOpenSet(), and UAvoidPath2::findRoutesA().
UAvoidLnkSeq* UAvoidLnkSeq::next |
Link to the next tangent line in a candidate path
Referenced by UAvoidPath2::addLnksToOpenSet(), UAvoidPath2::addToClosedSet(), UAvoidPath2::addToOpenSet(), UAvoidPath2::copyAvoidLnkSeq(), UAvoidPath2::createPointList(), UAvoidPath2::findRouteInALoop(), UAvoidPath2::findRoutesA(), UAvoidPath2::findRouteToDest(), getDistance(), UAvoidPath2::getEmptyLnkSeq(), UAvoidPath2::isInClosedSet(), UAvoidPath2::logPathSequences(), pathCrossing(), UAvoidPath2::recycleLnkSeq(), UFunctionAvoid::sendCurrentAvoidPath(), UAvoidPath2::terminateWorseCandidatesInOpenSet(), and UAvoidPath2::~UAvoidPath2().
UAvoidLnkSeq* UAvoidLnkSeq::prev |
Link to the previous tangent line in a candidate path
Referenced by UAvoidPath2::addLnksToOpenSet(), UAvoidPath2::findRoutesA(), and UAvoidPath2::recycleLnkSeq().
int UAvoidLnkSeq::serial |
debug serial number
Referenced by UAvoidPath2::getEmptyLnkSeq().
int UAvoidLnkSeq::tangIdx |
Index to the tangent line used (out of maximum 4 tangent lines).
Referenced by UAvoidPath2::addLnksToOpenSet(), UAvoidPath2::createPointList(), UAvoidPath2::findRouteInALoop(), UAvoidPath2::findRoutes(), UAvoidPath2::findRoutesA(), UAvoidPath2::findRouteToDest(), getDistance(), UAvoidPath2::isInClosedSet(), UAvoidPath2::logPathSequences(), pathCrossing(), UFunctionAvoid::sendCurrentAvoidPath(), and UAvoidPath2::terminateWorseCandidatesInOpenSet().
UAvoidLink* UAvoidLnkSeq::tangLine |
Link to the tangent line
Referenced by UAvoidPath2::addLnksToOpenSet(), UAvoidPath2::createPointList(), UAvoidPath2::findRouteInALoop(), UAvoidPath2::findRoutes(), UAvoidPath2::findRoutesA(), UAvoidPath2::findRouteToDest(), getDistance(), UAvoidPath2::isInClosedSet(), UAvoidPath2::logPathSequences(), pathCrossing(), UFunctionAvoid::sendCurrentAvoidPath(), and UAvoidPath2::terminateWorseCandidatesInOpenSet().