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

corridorAStar Class Reference

Corridor AStar builds a a* path between two nodes, restricting itself to a particular corridor, if defined. More...

#include <corridorAStar.h>

Inheritance diagram for corridorAStar:

Inheritance graph
[legend]
Collaboration diagram for corridorAStar:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 corridorAStar ()
virtual ~corridorAStar ()
path * getPath (graphAbstraction *aMap, node *from, node *to, reservationProvider *rp=0)
path * getBestPath (graphAbstraction *aMap, node *from, node *to, node *hGoal, reservationProvider *rp=0)
 get the best path from FROM to TO.

path * getBestPath (graphAbstraction *aMap, node *afrom, node *ato, node *from, node *to, reservationProvider *rp=0)
 get the best path from aFROM to aTO.

void setCorridor (const std::vector< node * > *)
virtual const char * getName ()

Private Member Functions

void relaxEdge (heap *nodeHeap, graph *g, graphAbstraction *aMap, edge *e, node *from, node *to, node *dest)
void relaxFirstEdge (heap *nodeHeap, graph *g, graphAbstraction *aMap, edge *e, node *from, node *afrom, node *ato, node *dest)
void relaxFinalEdge (heap *nodeHeap, graph *g, graphAbstraction *aMap, edge *e, node *from, node *to, node *realDest)
path * extractBestPath (graph *g, unsigned int current)

Private Attributes

const std::vector< node * > * corridor
std::vector< node * > emptyCorridor

Detailed Description

Corridor AStar builds a a* path between two nodes, restricting itself to a particular corridor, if defined.

The corridor must be set before every search if it is to be used properly. After each getPath call the corridor is reset. If no corridor is defined, it will explore all nodes.


Constructor & Destructor Documentation

corridorAStar::corridorAStar (   ) 
 

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


Member Function Documentation

path * corridorAStar::extractBestPath (  graph *  g,
unsigned int  current
)  [private]
 

path * corridorAStar::getBestPath (  graphAbstraction *  aMap,
node *  afrom,
node *  ato,
node *  from,
node *  to,
reservationProvider *  rp = 0
) 
 

get the best path from aFROM to aTO.

Use an insertion edge cost from the original from/to.

path * corridorAStar::getBestPath (  graphAbstraction *  aMap,
node *  from,
node *  to,
node *  hGoal,
reservationProvider *  rp = 0
) 
 

get the best path from FROM to TO.

Use hGoal as the heuristic goal. If TO is not on the same level as from path will be returned that ends inside the child of TO.

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

Implements searchAlgorithm.

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

Implements searchAlgorithm.

void corridorAStar::relaxEdge (  heap *  nodeHeap,
graph *  g,
graphAbstraction *  aMap,
edge *  e,
node *  from,
node *  to,
node *  dest
)  [private]
 

void corridorAStar::relaxFinalEdge (  heap *  nodeHeap,
graph *  g,
graphAbstraction *  aMap,
edge *  e,
node *  from,
node *  to,
node *  realDest
)  [private]
 

void corridorAStar::relaxFirstEdge (  heap *  nodeHeap,
graph *  g,
graphAbstraction *  aMap,
edge *  e,
node *  from,
node *  afrom,
node *  ato,
node *  dest
)  [private]
 

void corridorAStar::setCorridor (  const std::vector< node * > *   ) 
 


Member Data Documentation

const std::vector<node *>* corridorAStar::corridor [private]
 

std::vector<node *> corridorAStar::emptyCorridor [private]
 


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