Go to the documentation of this file.
10 #ifndef CFOPTIMALREFINEMENT_H
11 #define CFOPTIMALREFINEMENT_H
19 #include <unordered_map>
84 typedef std::unordered_map<uint32_t, CFOptimalRefinementConstants::GNode>
NodeLookupTable;
A generic class for basic operations on Graph abstractions.
void RefineNode(node *gNode)
double min(double a, double b)
size_t operator()(const GNode &x) const
std::unordered_map< uint32_t, CFOptimalRefinementConstants::GNode > NodeLookupTable
void UpdateH(node *gNode)
virtual path * GetPath(GraphAbstraction *aMap, node *from, node *to, reservationProvider *rp=0)
void UpdateNode(node *gNode)
OpenClosedList< CFOptimalRefinementConstants::GNode, CFOptimalRefinementConstants::NodeHash, CFOptimalRefinementConstants::NodeEqual, CFOptimalRefinementConstants::NodeCompare > PQueue
bool InitializeSearch(GraphAbstraction *aMap, node *from, node *to)
void MakeNeighborsOpen(node *gNode)
void SetInitialValues(node *gNewNode, node *aRealNode, node *gParent)
virtual const char * GetName()
bool fgreater(double a, double b)
void UpdateOptH(node *gNode)
void UpdateG(node *gNode)
bool ShouldAddEdge(node *aLowerNode, node *aHigherNode)
double GetLabelF(unsigned int index) const
bool operator()(const GNode &i1, const GNode &i2) const
A generic algorithm which can be used for pathfinding.
virtual ~CFOptimalRefinement()
long GetLabelL(unsigned int index) const
A linked list of nodes which form a continuous path.
GraphAbstraction * absGraph
bool fequal(double a, double b, double tolerance=TOLERANCE)
node * FindTopLevelNode(node *one, node *two, GraphAbstraction *aMap)
bool operator()(const GNode &i1, const GNode &i2) const
node * GetRealNode(node *gNode) const
Nodes to be stored within a Graph.