HOG2
|
#include <CFOptimalRefinement.h>
Public Member Functions | |
CFOptimalRefinement () | |
virtual | ~CFOptimalRefinement () |
virtual const char * | GetName () |
virtual path * | GetPath (GraphAbstraction *aMap, node *from, node *to, reservationProvider *rp=0) |
path * | DoOneSearchStep () |
bool | InitializeSearch (GraphAbstraction *aMap, node *from, node *to) |
void | OpenGLDraw () const |
Public Member Functions inherited from SearchAlgorithm | |
SearchAlgorithm () | |
virtual | ~SearchAlgorithm () |
uint64_t | GetNodesExpanded () |
uint64_t | GetNodesTouched () |
virtual void | LogFinalStats (StatCollection *) |
Private Member Functions | |
node * | FindTopLevelNode (node *one, node *two, GraphAbstraction *aMap) |
void | SetInitialValues (node *gNewNode, node *aRealNode, node *gParent) |
void | UpdateNode (node *gNode) |
void | UpdateH (node *gNode) |
void | UpdateG (node *gNode) |
void | UpdateOptH (node *gNode) |
void | MakeNeighborsOpen (node *gNode) |
void | RefineNode (node *gNode) |
node * | GetRealNode (node *gNode) const |
bool | ShouldAddEdge (node *aLowerNode, node *aHigherNode) |
Private Attributes | |
PQueue | q |
node * | aStart |
node * | aGoal |
node * | gStart |
node * | gGoal |
GraphAbstraction * | absGraph |
Graph * | g |
Additional Inherited Members | |
Public Attributes inherited from SearchAlgorithm | |
uint32_t | nodesExpanded |
uint32_t | nodesTouched |
Definition at line 88 of file CFOptimalRefinement.h.
CFOptimalRefinement::CFOptimalRefinement | ( | ) |
Definition at line 15 of file CFOptimalRefinement.cpp.
References g.
|
virtual |
Definition at line 21 of file CFOptimalRefinement.cpp.
path * CFOptimalRefinement::DoOneSearchStep | ( | ) |
Definition at line 43 of file CFOptimalRefinement.cpp.
References aGoal, aStart, node::GetLabelL(), node::GetNum(), gStart, GraphAbstractionConstants::kAbstractionLevel, CFOptimalRefinementConstants::kInOpenList, CFOptimalRefinementConstants::kOptimalFlag, CFOptimalRefinementConstants::GNode::n, path, OpenClosedList< OBJ, HashKey, EqKey, CmpKey >::pop(), q, RefineNode(), OpenClosedList< OBJ, HashKey, EqKey, CmpKey >::top(), and UpdateNode().
Referenced by GetPath().
|
private |
Definition at line 90 of file CFOptimalRefinement.cpp.
References GraphAbstraction::GetAbstractionLevel(), GraphAbstraction::getNumAbstractGraphs(), and GraphAbstraction::GetParent().
Referenced by InitializeSearch().
|
virtual |
Implements SearchAlgorithm.
Definition at line 25 of file CFOptimalRefinement.cpp.
|
virtual |
Implements SearchAlgorithm.
Definition at line 30 of file CFOptimalRefinement.cpp.
References DoOneSearchStep(), and InitializeSearch().
Definition at line 321 of file CFOptimalRefinement.cpp.
References absGraph, GraphAbstraction::GetAbstractGraph(), node::GetLabelL(), Graph::GetNode(), GraphAbstractionConstants::kAbstractionLevel, and CFOptimalRefinementConstants::kCorrespondingNode.
Referenced by OpenGLDraw(), and RefineNode().
bool CFOptimalRefinement::InitializeSearch | ( | GraphAbstraction * | aMap, |
node * | from, | ||
node * | to | ||
) |
Definition at line 69 of file CFOptimalRefinement.cpp.
References absGraph, OpenClosedList< OBJ, HashKey, EqKey, CmpKey >::Add(), Graph::AddNode(), aGoal, aStart, FindTopLevelNode(), g, gGoal, gStart, q, and SetInitialValues().
Referenced by GetPath().
|
private |
Definition at line 231 of file CFOptimalRefinement.cpp.
References OpenClosedList< OBJ, HashKey, EqKey, CmpKey >::DecreaseKey(), g, node::GetLabelL(), node::getNeighborIter(), Graph::GetNode(), CFOptimalRefinementConstants::kInOpenList, node::nodeNeighborNext(), q, and node::SetLabelL().
Referenced by UpdateG(), UpdateH(), and UpdateOptH().
void CFOptimalRefinement::OpenGLDraw | ( | ) | const |
Definition at line 338 of file CFOptimalRefinement.cpp.
References absGraph, Graph::edgeIterNext(), g, Graph::getEdgeIter(), node::GetLabelL(), Graph::GetNode(), GraphAbstraction::GetNodeLoc(), Graph::GetNumNodes(), GetRealNode(), gGoal, gStart, CFOptimalRefinementConstants::kInOpenList, CFOptimalRefinementConstants::kOptimalFlag, CFOptimalRefinementConstants::GNode::n, OpenClosedList< OBJ, HashKey, EqKey, CmpKey >::peek(), q, recVec::x, recVec::y, and recVec::z.
|
private |
Definition at line 245 of file CFOptimalRefinement.cpp.
References absGraph, OpenClosedList< OBJ, HashKey, EqKey, CmpKey >::Add(), Graph::AddEdge(), Graph::AddNode(), Graph::findDirectedEdge(), Graph::FindEdge(), g, GraphAbstraction::GetAbstractGraph(), GraphAbstraction::GetAbstractionLevel(), node::GetLabelL(), node::getNeighborIter(), Graph::GetNode(), GraphAbstraction::GetNthChild(), node::GetNum(), GraphAbstraction::GetNumChildren(), GetRealNode(), edge::GetWeight(), GraphAbstractionConstants::kAbstractionLevel, node::nodeNeighborNext(), q, Graph::RemoveNode(), SetInitialValues(), and ShouldAddEdge().
Referenced by DoOneSearchStep().
|
private |
Definition at line 113 of file CFOptimalRefinement.cpp.
References absGraph, aGoal, aStart, GraphAbstraction::GetAbstractionLevel(), node::GetLabelF(), node::GetNum(), gGoal, gStart, GraphAbstraction::IsParentOf(), GraphAbstractionConstants::kAbstractionLevel, CFOptimalRefinementConstants::kCorrespondingNode, CFOptimalRefinementConstants::kGCost, CFOptimalRefinementConstants::kHCost, CFOptimalRefinementConstants::kInOpenList, CFOptimalRefinementConstants::kOptimalFlag, node::SetLabelF(), and node::SetLabelL().
Referenced by InitializeSearch(), and RefineNode().
Definition at line 326 of file CFOptimalRefinement.cpp.
References absGraph, GraphAbstraction::GetAbstractGraph(), GraphAbstraction::GetAbstractionLevel(), node::getNeighborIter(), Graph::GetNode(), GraphAbstraction::IsParentOf(), and node::nodeNeighborNext().
Referenced by RefineNode().
|
private |
Definition at line 176 of file CFOptimalRefinement.cpp.
References absGraph, aStart, fgreater(), Graph::FindEdge(), fless(), g, node::GetLabelF(), node::GetLabelL(), node::getNeighborIter(), Graph::GetNode(), node::GetNum(), edge::GetWeight(), gStart, GraphAbstraction::h(), GraphAbstractionConstants::kAbstractionLevel, CFOptimalRefinementConstants::kGCost, MakeNeighborsOpen(), max, node::nodeNeighborNext(), and node::SetLabelF().
Referenced by UpdateNode().
|
private |
Definition at line 153 of file CFOptimalRefinement.cpp.
References absGraph, aGoal, fgreater(), Graph::FindEdge(), fless(), g, node::GetLabelF(), node::GetLabelL(), node::getNeighborIter(), Graph::GetNode(), node::GetNum(), edge::GetWeight(), gGoal, GraphAbstraction::h(), GraphAbstractionConstants::kAbstractionLevel, CFOptimalRefinementConstants::kHCost, MakeNeighborsOpen(), max, node::nodeNeighborNext(), and node::SetLabelF().
Referenced by UpdateNode().
|
private |
Definition at line 141 of file CFOptimalRefinement.cpp.
References OpenClosedList< OBJ, HashKey, EqKey, CmpKey >::Add(), CFOptimalRefinementConstants::kInOpenList, q, node::SetLabelL(), UpdateG(), UpdateH(), and UpdateOptH().
Referenced by DoOneSearchStep().
|
private |
Definition at line 199 of file CFOptimalRefinement.cpp.
References fequal(), Graph::FindEdge(), g, node::GetLabelF(), node::GetLabelL(), node::getNeighborIter(), Graph::GetNode(), node::GetNum(), edge::GetWeight(), gGoal, GraphAbstractionConstants::kAbstractionLevel, CFOptimalRefinementConstants::kHCost, CFOptimalRefinementConstants::kOptimalFlag, MakeNeighborsOpen(), node::nodeNeighborNext(), and node::SetLabelL().
Referenced by UpdateNode().
|
private |
Definition at line 112 of file CFOptimalRefinement.h.
Referenced by GetRealNode(), InitializeSearch(), OpenGLDraw(), RefineNode(), SetInitialValues(), ShouldAddEdge(), UpdateG(), and UpdateH().
|
private |
Definition at line 110 of file CFOptimalRefinement.h.
Referenced by DoOneSearchStep(), InitializeSearch(), SetInitialValues(), and UpdateH().
|
private |
Definition at line 110 of file CFOptimalRefinement.h.
Referenced by DoOneSearchStep(), InitializeSearch(), SetInitialValues(), and UpdateG().
|
private |
Definition at line 113 of file CFOptimalRefinement.h.
Referenced by CFOptimalRefinement(), InitializeSearch(), MakeNeighborsOpen(), OpenGLDraw(), RefineNode(), UpdateG(), UpdateH(), and UpdateOptH().
|
private |
Definition at line 111 of file CFOptimalRefinement.h.
Referenced by InitializeSearch(), OpenGLDraw(), SetInitialValues(), UpdateH(), and UpdateOptH().
|
private |
Definition at line 111 of file CFOptimalRefinement.h.
Referenced by DoOneSearchStep(), InitializeSearch(), OpenGLDraw(), SetInitialValues(), and UpdateG().
|
private |
Definition at line 109 of file CFOptimalRefinement.h.
Referenced by DoOneSearchStep(), InitializeSearch(), MakeNeighborsOpen(), OpenGLDraw(), RefineNode(), and UpdateNode().