Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

praStar2 Class Reference

The pra* search algorithm which does partial pathfinding using abstraction. More...

#include <praStar2.h>

Inheritance diagram for praStar2:

Inheritance graph
[legend]
Collaboration diagram for praStar2:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 praStar2 ()
virtual ~praStar2 ()
virtual pathgetPath (graphAbstraction *aMap, node *from, node *to, reservationProvider *rp=0)
virtual const char * getName ()
void setPartialPathLimit (int limit)
int getPartialPathLimit ()
void setEnhancedAbstractPathing (bool enhance)
void setExpandSearchRadius (bool _expandSearchRadius)
 Set whether we want to expand the corridor to search in.

void setPlanFromMiddle (bool _planFromMiddle)
 Set whether we want to start planning in the middle between base and top level of abstraction.

void setFixedPlanLevel (int p)
 Set the level of abstraction to start pathfinding at.

void setSkipParameter (int _skip)
 Set how many abstraction layers should be skipped at each step.

int getTopLevel ()
int getNumLevelsUsed ()

Protected Member Functions

void setupSearch (graphAbstraction *aMap, std::vector< node * > &fromChain, node *from, std::vector< node * > &toChain, node *to)
pathbuildNextAbstractPath (graphAbstraction *, path *lastPath, std::vector< node * > &fromChain, std::vector< node * > &toChain, reservationProvider *)
pathtrimPath (path *lastPath, node *origDest)
void selectTopAbstractionLevel (graphAbstraction *aMap, std::vector< node * > &fromChain, std::vector< node * > &toChain)

Protected Attributes

int partialLimit
bool enhancedAbstractPathing
bool expandSearchRadius
corridorAStar cAStar
char algName [30]
bool planFromMiddle
int fixedPlanLevel
int skip
int topLevel
int numLevels

Detailed Description

The pra* search algorithm which does partial pathfinding using abstraction.


Constructor & Destructor Documentation

praStar2::praStar2  ) 
 

virtual praStar2::~praStar2  )  [inline, virtual]
 


Member Function Documentation

path * praStar2::buildNextAbstractPath graphAbstraction ,
path lastPath,
std::vector< node * > &  fromChain,
std::vector< node * > &  toChain,
reservationProvider
[protected]
 

virtual const char* praStar2::getName  )  [inline, virtual]
 

Implements searchAlgorithm.

int praStar2::getNumLevelsUsed  )  [inline]
 

int praStar2::getPartialPathLimit  )  [inline]
 

path * praStar2::getPath graphAbstraction aMap,
node from,
node to,
reservationProvider rp = 0
[virtual]
 

Implements searchAlgorithm.

int praStar2::getTopLevel  )  [inline]
 

void praStar2::selectTopAbstractionLevel graphAbstraction aMap,
std::vector< node * > &  fromChain,
std::vector< node * > &  toChain
[protected]
 

void praStar2::setEnhancedAbstractPathing bool  enhance  )  [inline]
 

void praStar2::setExpandSearchRadius bool  _expandSearchRadius  )  [inline]
 

Set whether we want to expand the corridor to search in.

Set whether we want to expand the corridor from just the parents along the path to these parents and their neighbors

void praStar2::setFixedPlanLevel int  p  )  [inline]
 

Set the level of abstraction to start pathfinding at.

Setting the fixed plan level to -1 will do dynamic level selection if setPlanFromMiddle is true, and it will start at the highest possible level if setPlanFromMiddle is false. Default is -1.

void praStar2::setPartialPathLimit int  limit  )  [inline]
 

void praStar2::setPlanFromMiddle bool  _planFromMiddle  )  [inline]
 

Set whether we want to start planning in the middle between base and top level of abstraction.

If true, sets the top level for pathfinding to be the level in the middle between the top level and the base level of abstraction. If false, top level for pathfinding is the topmost abstraction if fixedPlanLevel=-1, and the fixedPlanLevel otherwise.

void praStar2::setSkipParameter int  _skip  )  [inline]
 

Set how many abstraction layers should be skipped at each step.

A skip of -1 will only do pathfinding at the top level of abstraction and at the base level. A skip of 0 is the default, which will do pathfinding at each level.

void praStar2::setupSearch graphAbstraction aMap,
std::vector< node * > &  fromChain,
node from,
std::vector< node * > &  toChain,
node to
[protected]
 

path * praStar2::trimPath path lastPath,
node origDest
[protected]
 


Member Data Documentation

char praStar2::algName[30] [protected]
 

corridorAStar praStar2::cAStar [protected]
 

bool praStar2::enhancedAbstractPathing [protected]
 

bool praStar2::expandSearchRadius [protected]
 

int praStar2::fixedPlanLevel [protected]
 

int praStar2::numLevels [protected]
 

int praStar2::partialLimit [protected]
 

bool praStar2::planFromMiddle [protected]
 

int praStar2::skip [protected]
 

int praStar2::topLevel [protected]
 


The documentation for this class was generated from the following files:
Generated on Tue Aug 18 03:44:31 2009 for HOG by doxygen 1.3.4