HOG2
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
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]

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. More...
 
void setPlanFromMiddle (bool _planFromMiddle)
 Set whether we want to start planning in the middle between base and top level of abstraction. More...
 
void setFixedPlanLevel (int p)
 Set the level of abstraction to start pathfinding at. More...
 
void setSkipParameter (int _skip)
 Set how many abstraction layers should be skipped at each step. More...
 
int getTopLevel ()
 
int getNumLevelsUsed ()
 
- Public Member Functions inherited from SearchAlgorithm
 SearchAlgorithm ()
 
virtual ~SearchAlgorithm ()
 
uint64_t GetNodesExpanded ()
 
uint64_t GetNodesTouched ()
 
virtual void LogFinalStats (StatCollection *)
 

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
 

Additional Inherited Members

- Public Attributes inherited from SearchAlgorithm
uint32_t nodesExpanded
 
uint32_t nodesTouched
 

Detailed Description

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

Definition at line 25 of file PRAStar2.h.

Constructor & Destructor Documentation

◆ praStar2()

praStar2::praStar2 ( )

◆ ~praStar2()

virtual praStar2::~praStar2 ( )
inlinevirtual

Definition at line 29 of file PRAStar2.h.

Member Function Documentation

◆ buildNextAbstractPath()

path * praStar2::buildNextAbstractPath ( GraphAbstraction aMap,
path lastPath,
std::vector< node * > &  fromChain,
std::vector< node * > &  toChain,
reservationProvider rp 
)
protected

◆ GetName()

virtual const char* praStar2::GetName ( )
inlinevirtual

Implements SearchAlgorithm.

Definition at line 31 of file PRAStar2.h.

References algName.

◆ getNumLevelsUsed()

int praStar2::getNumLevelsUsed ( )
inline

Definition at line 64 of file PRAStar2.h.

References numLevels.

◆ getPartialPathLimit()

int praStar2::getPartialPathLimit ( )
inline

Definition at line 35 of file PRAStar2.h.

References partialLimit.

◆ GetPath()

path * praStar2::GetPath ( GraphAbstraction aMap,
node from,
node to,
reservationProvider rp = 0 
)
virtual

◆ getTopLevel()

int praStar2::getTopLevel ( )
inline

Definition at line 63 of file PRAStar2.h.

References topLevel.

◆ selectTopAbstractionLevel()

void praStar2::selectTopAbstractionLevel ( GraphAbstraction aMap,
std::vector< node * > &  fromChain,
std::vector< node * > &  toChain 
)
protected

◆ setEnhancedAbstractPathing()

void praStar2::setEnhancedAbstractPathing ( bool  enhance)
inline

Definition at line 36 of file PRAStar2.h.

References enhancedAbstractPathing.

◆ setExpandSearchRadius()

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

Definition at line 42 of file PRAStar2.h.

References expandSearchRadius.

◆ setFixedPlanLevel()

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.

Definition at line 55 of file PRAStar2.h.

References fixedPlanLevel.

◆ setPartialPathLimit()

void praStar2::setPartialPathLimit ( int  limit)
inline

Definition at line 33 of file PRAStar2.h.

References algName, and partialLimit.

◆ setPlanFromMiddle()

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.

Definition at line 49 of file PRAStar2.h.

References planFromMiddle.

◆ setSkipParameter()

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.

Definition at line 61 of file PRAStar2.h.

References skip.

◆ setupSearch()

void praStar2::setupSearch ( GraphAbstraction aMap,
std::vector< node * > &  fromChain,
node from,
std::vector< node * > &  toChain,
node to 
)
protected

◆ trimPath()

path * praStar2::trimPath ( path lastPath,
node origDest 
)
protected

Member Data Documentation

◆ algName

char praStar2::algName[30]
protected

Definition at line 84 of file PRAStar2.h.

Referenced by GetName(), praStar2(), and setPartialPathLimit().

◆ cAStar

corridorAStar praStar2::cAStar
protected

Definition at line 83 of file PRAStar2.h.

Referenced by buildNextAbstractPath().

◆ enhancedAbstractPathing

bool praStar2::enhancedAbstractPathing
protected

Definition at line 81 of file PRAStar2.h.

Referenced by buildNextAbstractPath(), praStar2(), and setEnhancedAbstractPathing().

◆ expandSearchRadius

bool praStar2::expandSearchRadius
protected

Definition at line 82 of file PRAStar2.h.

Referenced by buildNextAbstractPath(), praStar2(), and setExpandSearchRadius().

◆ fixedPlanLevel

int praStar2::fixedPlanLevel
protected

Definition at line 87 of file PRAStar2.h.

Referenced by praStar2(), selectTopAbstractionLevel(), and setFixedPlanLevel().

◆ numLevels

int praStar2::numLevels
protected

Definition at line 90 of file PRAStar2.h.

Referenced by buildNextAbstractPath(), getNumLevelsUsed(), praStar2(), and setupSearch().

◆ partialLimit

int praStar2::partialLimit
protected

◆ planFromMiddle

bool praStar2::planFromMiddle
protected

Definition at line 86 of file PRAStar2.h.

Referenced by praStar2(), selectTopAbstractionLevel(), and setPlanFromMiddle().

◆ skip

int praStar2::skip
protected

Definition at line 88 of file PRAStar2.h.

Referenced by buildNextAbstractPath(), praStar2(), and setSkipParameter().

◆ topLevel

int praStar2::topLevel
protected

Definition at line 89 of file PRAStar2.h.

Referenced by getTopLevel(), praStar2(), and selectTopAbstractionLevel().


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