HOG2
|
#include <FringeSearch.h>
Public Member Functions | |
FringeSearch () | |
const char * | GetName () |
virtual path * | GetPath (GraphAbstraction *aMap, node *from, node *to, reservationProvider *rp=0) |
void | setUseBPMX (bool use) |
void | setHeuristicProvider (heuristicProvider *hh) |
unsigned int | getNodesReopened () |
unsigned int | getHValuesPropagated () |
Public Member Functions inherited from SearchAlgorithm | |
SearchAlgorithm () | |
virtual | ~SearchAlgorithm () |
uint64_t | GetNodesExpanded () |
uint64_t | GetNodesTouched () |
virtual void | LogFinalStats (StatCollection *) |
Private Member Functions | |
void | initializeSearch (GraphAbstraction *aGraph, node *from, node *to) |
bool | onClosedList (node *n) |
bool | onOpenList (node *n) |
void | addToClosedList (node *n) |
void | addToOpenList (node *n) |
void | addToOpenList2 (node *n) |
void | moveToOpenList1 (node *n) |
double | getFCost (node *n) |
double | getGCost (node *n) |
double | getHCost (node *n) |
double | h (node *n1, node *n2) |
void | setHCost (node *n, double val) |
void | addCosts (node *n, node *parent, edge *e) |
void | getCosts (node *n, costs &val) |
void | updateCosts (node *n, node *parent, edge *e) |
path * | extractBestPath (node *n) |
void | checkIteration () |
void | propagateHValues (node *n, int dist=10000) |
void | propagateGValues (node *n) |
Private Attributes | |
node * | goal |
Graph * | g |
GraphAbstraction * | aMap |
heuristicProvider * | hp |
nodeList | list1 |
nodeList | list2 |
nodeList * | currList |
nodeList * | nextList |
nodeList | closedList |
costList | costTable |
double | currFLimit |
double | nextFLimit |
unsigned int | nodesReopened |
unsigned int | nodesHPropagated |
bool | bpmx |
Additional Inherited Members | |
Public Attributes inherited from SearchAlgorithm | |
uint32_t | nodesExpanded |
uint32_t | nodesTouched |
Definition at line 30 of file FringeSearch.h.
FringeSearch::FringeSearch | ( | ) |
Definition at line 218 of file FringeSearch.cpp.
References bpmx, costTable, fgreater(), costs::gCost, getGCost(), getHCost(), node::GetNum(), edge::GetWeight(), goal, h(), costs::hCost, GraphAbstractionConstants::kTemporaryLabel, node::markEdge(), costs::n, propagateHValues(), setHCost(), node::SetLabelL(), and verbose.
Referenced by GetPath(), and initializeSearch().
|
private |
Definition at line 145 of file FringeSearch.cpp.
References closedList, and graph_object::key.
Referenced by GetPath().
|
private |
Definition at line 120 of file FringeSearch.cpp.
References currList, and graph_object::key.
Referenced by GetPath().
|
private |
Definition at line 139 of file FringeSearch.cpp.
References graph_object::key, and nextList.
Referenced by GetPath().
|
private |
Definition at line 294 of file FringeSearch.cpp.
References currFLimit, currList, MAXFLOAT, nextFLimit, nextList, and verbose.
Referenced by GetPath().
Definition at line 270 of file FringeSearch.cpp.
References g, edge::getFrom(), node::getMarkedEdge(), Graph::GetNode(), node::GetNum(), edge::getTo(), path, edge::setMarked(), and verbose.
Referenced by GetPath().
Definition at line 206 of file FringeSearch.cpp.
References costTable, node::GetLabelL(), node::GetNum(), and GraphAbstractionConstants::kTemporaryLabel.
Referenced by getFCost(), getGCost(), and getHCost().
|
private |
Definition at line 167 of file FringeSearch.cpp.
References costs::gCost, getCosts(), and costs::hCost.
Referenced by GetPath(), propagateGValues(), and updateCosts().
|
private |
Definition at line 176 of file FringeSearch.cpp.
References costs::gCost, and getCosts().
Referenced by addCosts(), GetPath(), and updateCosts().
|
private |
Definition at line 185 of file FringeSearch.cpp.
References getCosts(), costs::hCost, and MAXFLOAT.
Referenced by addCosts(), GetPath(), and propagateHValues().
|
inline |
Definition at line 38 of file FringeSearch.h.
References nodesHPropagated.
|
inlinevirtual |
|
inline |
Definition at line 37 of file FringeSearch.h.
References nodesReopened.
|
virtual |
Implements SearchAlgorithm.
Definition at line 29 of file FringeSearch.cpp.
References addCosts(), addToClosedList(), addToOpenList(), addToOpenList2(), aMap, checkIteration(), currFLimit, currList, node::edgeIterNext(), extractBestPath(), fgreater(), g, node::getEdgeIter(), getFCost(), getGCost(), getHCost(), Graph::GetNode(), node::GetNum(), initializeSearch(), MAXFLOAT, min(), nextFLimit, SearchAlgorithm::nodesExpanded, SearchAlgorithm::nodesTouched, onClosedList(), onOpenList(), GraphAbstraction::Pathable(), updateCosts(), and verbose.
Definition at line 366 of file FringeSearch.cpp.
References aMap, node::GetNum(), heuristicProvider::h(), GraphAbstraction::h(), and hp.
Referenced by addCosts().
|
private |
Definition at line 103 of file FringeSearch.cpp.
References addCosts(), aMap, closedList, costTable, g, GraphAbstraction::GetAbstractGraph(), node::GetLabelL(), goal, GraphAbstractionConstants::kAbstractionLevel, list1, list2, SearchAlgorithm::nodesExpanded, nodesHPropagated, nodesReopened, and SearchAlgorithm::nodesTouched.
Referenced by GetPath().
|
private |
Definition at line 126 of file FringeSearch.cpp.
References currList, node::GetNum(), graph_object::key, nextList, and verbose.
Referenced by propagateGValues().
|
private |
Definition at line 151 of file FringeSearch.cpp.
References closedList, and graph_object::key.
Referenced by GetPath(), propagateGValues(), and propagateHValues().
|
private |
Definition at line 158 of file FringeSearch.cpp.
References graph_object::key, list1, and list2.
Referenced by GetPath(), propagateGValues(), and propagateHValues().
|
private |
Definition at line 340 of file FringeSearch.cpp.
References currFLimit, node::edgeIterNext(), fgreater(), g, node::getEdgeIter(), getFCost(), Graph::GetNode(), node::GetNum(), moveToOpenList1(), SearchAlgorithm::nodesExpanded, nodesReopened, SearchAlgorithm::nodesTouched, onClosedList(), onOpenList(), and updateCosts().
Referenced by updateCosts().
|
private |
Definition at line 310 of file FringeSearch.cpp.
References node::edgeIterNext(), fless(), g, node::getEdgeIter(), getHCost(), Graph::GetNode(), node::GetNum(), SearchAlgorithm::nodesExpanded, nodesHPropagated, SearchAlgorithm::nodesTouched, onClosedList(), onOpenList(), setHCost(), and verbose.
Referenced by addCosts().
|
private |
Definition at line 194 of file FringeSearch.cpp.
References costTable, node::GetLabelL(), node::GetNum(), and GraphAbstractionConstants::kTemporaryLabel.
Referenced by addCosts(), and propagateHValues().
|
inline |
Definition at line 36 of file FringeSearch.h.
References hp.
|
inline |
Definition at line 35 of file FringeSearch.h.
References bpmx.
Definition at line 255 of file FringeSearch.cpp.
References costTable, currFLimit, fgreater(), costs::gCost, getFCost(), getGCost(), node::GetLabelL(), node::GetNum(), edge::GetWeight(), GraphAbstractionConstants::kTemporaryLabel, node::markEdge(), min(), nextFLimit, propagateGValues(), and verbose.
Referenced by GetPath(), and propagateGValues().
|
private |
Definition at line 61 of file FringeSearch.h.
Referenced by GetPath(), h(), and initializeSearch().
|
private |
Definition at line 69 of file FringeSearch.h.
Referenced by addCosts(), FringeSearch(), GetName(), and setUseBPMX().
|
private |
Definition at line 65 of file FringeSearch.h.
Referenced by addToClosedList(), initializeSearch(), and onClosedList().
|
private |
Definition at line 66 of file FringeSearch.h.
Referenced by addCosts(), getCosts(), initializeSearch(), setHCost(), and updateCosts().
|
private |
Definition at line 67 of file FringeSearch.h.
Referenced by checkIteration(), GetPath(), propagateGValues(), and updateCosts().
|
private |
Definition at line 64 of file FringeSearch.h.
Referenced by addToOpenList(), checkIteration(), FringeSearch(), GetPath(), and moveToOpenList1().
|
private |
Definition at line 60 of file FringeSearch.h.
Referenced by extractBestPath(), GetPath(), initializeSearch(), propagateGValues(), and propagateHValues().
|
private |
Definition at line 59 of file FringeSearch.h.
Referenced by addCosts(), and initializeSearch().
|
private |
Definition at line 62 of file FringeSearch.h.
Referenced by FringeSearch(), h(), and setHeuristicProvider().
|
private |
Definition at line 63 of file FringeSearch.h.
Referenced by FringeSearch(), initializeSearch(), and onOpenList().
|
private |
Definition at line 63 of file FringeSearch.h.
Referenced by FringeSearch(), initializeSearch(), and onOpenList().
|
private |
Definition at line 67 of file FringeSearch.h.
Referenced by checkIteration(), GetPath(), and updateCosts().
|
private |
Definition at line 64 of file FringeSearch.h.
Referenced by addToOpenList2(), checkIteration(), FringeSearch(), and moveToOpenList1().
|
private |
Definition at line 68 of file FringeSearch.h.
Referenced by getHValuesPropagated(), initializeSearch(), and propagateHValues().
|
private |
Definition at line 68 of file FringeSearch.h.
Referenced by getNodesReopened(), initializeSearch(), and propagateGValues().