Go to the documentation of this file.
22 #include <unordered_map>
77 typedef std::unordered_map<
node*, bool,
void buildCorridor(path *p, int windowSize)
A generic class for basic operations on Graph abstractions.
bool operator()(const SearchNode &i1, const SearchNode &i2) const
void addNeighborsToCorridor(Graph *g, node *n, int windowSize)
SearchNode(double _fCost=0, double _gCost=0, edge *_e=0, node *curr=0, node *prev=0)
bool operator()(const SearchNode &i1, const SearchNode &i2) const
uint64_t GetNodesTouched()
virtual const char * GetName()
AStar3Util::PQueue openQueue
bool operator()(const node *i1, const node *i2) const
bool fless(double a, double b)
void updateWeight(node *currOpenNode, node *neighbor, edge *e)
double internalHeuristic(node *from, node *to)
bool fgreater(double a, double b)
path * getPathToNode(node *target, reservationProvider *rp)
bool nodeInCorridor(node *n)
void addToOpenList(node *currOpenNode, node *neighbor, edge *e)
void setCorridor(path *corridor, int width)
std::unordered_map< node *, bool, AStar3Util::NodeHash, AStar3Util::NodeEqual > Corridor
std::unordered_map< node *, AStar3Util::SearchNode, AStar3Util::NodeHash, AStar3Util::NodeEqual > NodeLookupTable
A generic algorithm which can be used for pathfinding.
AStar3Util::Corridor eligibleNodes
AStar3Util::NodeLookupTable closedList
path * GetPath(GraphAbstraction *aMap, node *from, node *to, reservationProvider *rp=0)
A linked list of nodes which form a continuous path.
size_t operator()(const SearchNode &x) const
uint64_t GetNodesExpanded()
OpenClosedList< AStar3Util::SearchNode, AStar3Util::SearchNodeHash, AStar3Util::SearchNodeEqual, AStar3Util::SearchNodeCompare > PQueue
size_t operator()(const node *x) const
bool fequal(double a, double b, double tolerance=TOLERANCE)
path * extractPathToStart(Graph *g, node *n)
double getHVal(node *whence)
node * GetNthParent(node *which, int n)
return nth level parent of which or null if it doesn't exist
Nodes to be stored within a Graph.
Edge class for connections between node in a Graph.