AURobotServers  4
Public Member Functions | Public Attributes | List of all members
UAvoidLnkSeq Class Reference

#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...
 
UAvoidLnkSeqnext
 
UAvoidLnkSeqprev
 
int serial
 debug serial number More...
 
int tangIdx
 
UAvoidLinktangLine
 

Detailed Description

Class to hold the references to the tangent lines that in sequence forms a possible path from current position to destination position.

Constructor & Destructor Documentation

UAvoidLnkSeq::UAvoidLnkSeq ( )
inline

Constructor

References UAvoidLink::clear().

Member Function Documentation

void UAvoidLnkSeq::clear ( void  )
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 
)
UPosition UAvoidLnkSeq::getOtherEnd ( )
inline

Get the position of this element in the tangent sequence

Referenced by UAvoidLink::getTangentLine().

UPosition UAvoidLnkSeq::getThisEnd ( )
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.nosp@m.erst.nosp@m.ed.dt.nosp@m.u.dk

  • This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Library General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. *
  • This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. *
  • You should have received a copy of the GNU Library General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

References ULineSegment::getSegmentCrossingXY(), UAvoidLink::getTangentLine(), ULineSegment::length, next, tangIdx, and tangLine.

Referenced by UAvoidPath2::findRouteToDest().

Member Data Documentation

double UAvoidLnkSeq::costAngle
double UAvoidLnkSeq::costDist
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
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
UAvoidLink* UAvoidLnkSeq::tangLine

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