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

praStar Class Reference

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

#include <praStar.h>

Inheritance diagram for praStar:

Inheritance graph
[legend]
Collaboration diagram for praStar:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 praStar ()
virtual ~praStar ()
virtual path * getPath (graphAbstraction *aMap, node *from, node *to, reservationProvider *rp=0)
virtual const char * getName ()
void setPartialPathLimit (int limit)
int getPartialPathLimit ()
void setPlanFromMiddle (bool _planFromMiddle)
void setExpandSearchRadius (bool _expandSearchRadius)
void setUseSmoothing (bool _smoothing)
void setCache (path **p)
void setFixedPlanLevel (int p)
 Set a fixed level for abstraction in planning.

void getAbstractPathLengths (std::vector< int > &len)

Protected Member Functions

path * getAbstractPath (graph *g, unsigned int source, unsigned int destParent, std::vector< unsigned int > &eligibleNodeParents, int LABEL, unsigned int dest)
unsigned int astar (graph *g, unsigned int source, unsigned int destParent, std::vector< unsigned int > &eligibleNodeParents, int LABEL, unsigned int dest)
void relaxEdge (heap *nodeHeap, graph *g, edge *e, int source, int nextNode, int dest, int LABEL)
path * smoothPath (path *p)

Protected Attributes

path ** cache
int partialLimit
int fixedPlanLevel
char algName [30]
graphAbstraction * map
bool expandSearchRadius
bool planFromMiddle
bool smoothing
reservationProvider * rp
std::vector< int > lengths

Detailed Description

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


Constructor & Destructor Documentation

praStar::praStar (   ) 
 

virtual praStar::~praStar (   )  [inline, virtual]
 


Member Function Documentation

unsigned int praStar::astar (  graph *  g,
unsigned int  source,
unsigned int  destParent,
std::vector< unsigned int > &  eligibleNodeParents,
int  LABEL,
unsigned int  dest
)  [protected]
 

path * praStar::getAbstractPath (  graph *  g,
unsigned int  source,
unsigned int  destParent,
std::vector< unsigned int > &  eligibleNodeParents,
int  LABEL,
unsigned int  dest
)  [protected]
 

void praStar::getAbstractPathLengths (  std::vector< int > &  len  )  [inline]
 

virtual const char* praStar::getName (   )  [inline, virtual]
 

Implements searchAlgorithm.

int praStar::getPartialPathLimit (   )  [inline]
 

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

Implements searchAlgorithm.

Reimplemented in aStar2.

void praStar::relaxEdge (  heap *  nodeHeap,
graph *  g,
edge *  e,
int  source,
int  nextNode,
int  dest,
int  LABEL
)  [protected]
 

void praStar::setCache (  path **  p  ) 
 

void praStar::setExpandSearchRadius (  bool  _expandSearchRadius  )  [inline]
 

void praStar::setFixedPlanLevel (  int  p  )  [inline]
 

Set a fixed level for abstraction in planning.

-1 to return to dynamic level selection

void praStar::setPartialPathLimit (  int  limit  )  [inline]
 

void praStar::setPlanFromMiddle (  bool  _planFromMiddle  )  [inline]
 

void praStar::setUseSmoothing (  bool  _smoothing  )  [inline]
 

path * praStar::smoothPath (  path *  p  )  [protected]
 


Member Data Documentation

char praStar::algName[30] [protected]
 

path** praStar::cache [protected]
 

bool praStar::expandSearchRadius [protected]
 

int praStar::fixedPlanLevel [protected]
 

std::vector<int> praStar::lengths [protected]
 

graphAbstraction* praStar::map [protected]
 

int praStar::partialLimit [protected]
 

bool praStar::planFromMiddle [protected]
 

reservationProvider* praStar::rp [protected]
 

bool praStar::smoothing [protected]
 


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