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

Public Member Functions

 corridorAStar ()
 
virtual ~corridorAStar ()
 
pathGetPath (GraphAbstraction *aMap, node *from, node *to, reservationProvider *rp=0)
 
pathgetBestPath (GraphAbstraction *aMap, node *from, node *to, node *hGoal, reservationProvider *rp=0)
 get the best path from FROM to TO. More...
 
pathgetBestPath (GraphAbstraction *aMap, node *afrom, node *ato, node *from, node *to, reservationProvider *rp=0)
 get the best path from aFROM to aTO. More...
 
void setCorridor (const std::vector< node * > *)
 
virtual const char * GetName ()
 
- Public Member Functions inherited from SearchAlgorithm
 SearchAlgorithm ()
 
virtual ~SearchAlgorithm ()
 
uint64_t GetNodesExpanded ()
 
uint64_t GetNodesTouched ()
 
virtual void LogFinalStats (StatCollection *)
 

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)
 
pathextractBestPath (Graph *g, unsigned int current)
 

Private Attributes

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

Additional Inherited Members

- Public Attributes inherited from SearchAlgorithm
uint32_t nodesExpanded
 
uint32_t nodesTouched
 

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.

Definition at line 25 of file CorridorAStar.h.

Constructor & Destructor Documentation

◆ corridorAStar()

corridorAStar::corridorAStar ( )

Definition at line 18 of file CorridorAStar.cpp.

◆ ~corridorAStar()

virtual corridorAStar::~corridorAStar ( )
inlinevirtual

Definition at line 28 of file CorridorAStar.h.

Member Function Documentation

◆ extractBestPath()

path * corridorAStar::extractBestPath ( Graph g,
unsigned int  current 
)
private

◆ getBestPath() [1/2]

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

◆ getBestPath() [2/2]

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

◆ GetName()

virtual const char* corridorAStar::GetName ( )
inlinevirtual

Implements SearchAlgorithm.

Definition at line 36 of file CorridorAStar.h.

◆ GetPath()

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

Implements SearchAlgorithm.

Definition at line 28 of file CorridorAStar.cpp.

Referenced by praStar2::buildNextAbstractPath(), and craStar::buildNextAbstractPath().

◆ relaxEdge()

void corridorAStar::relaxEdge ( Heap nodeHeap,
Graph g,
GraphAbstraction aMap,
edge e,
node from,
node to,
node dest 
)
private

◆ relaxFinalEdge()

void corridorAStar::relaxFinalEdge ( Heap nodeHeap,
Graph g,
GraphAbstraction aMap,
edge e,
node from,
node to,
node realDest 
)
private

◆ relaxFirstEdge()

void corridorAStar::relaxFirstEdge ( Heap nodeHeap,
Graph g,
GraphAbstraction aMap,
edge e,
node from,
node afrom,
node ato,
node dest 
)
private

◆ setCorridor()

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

Member Data Documentation

◆ corridor

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

Definition at line 46 of file CorridorAStar.h.

◆ emptyCorridor

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

Definition at line 47 of file CorridorAStar.h.


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