Go to the documentation of this file.
17 #include <unordered_map>
23 #define UINT32_MAX 4294967295U
141 void DrawText(
double x,
double y,
double z,
float r,
float g,
float b,
char* str);
142 void DrawEdge(
unsigned int from,
unsigned int to,
double weight);
149 void Broadcast(
int level,
int levelcount);
173 std::vector<graphState> &thePath);
195 case D_ONE:
return 1;
196 case D_TWO:
return 2;
199 case D_LOG2:
return log2(N);
200 case D_SQRT:
return sqrt(N);
uint64_t GetNodesReopened()
bool operator()(const SearchNode &i1, const SearchNode &i2) const
double UpdateDelayedNode(graphState neighbor, AStarDelayUtil::SearchNode &topNode)
double AddNewNode(graphState neighbor, AStarDelayUtil::SearchNode &topNode)
AStarDelayUtil::PQueue openQueue
std::vector< graphState > myneighbors
SearchNode(double _fCost=0, double _gCost=0, graphState curr=UINT32_MAX, graphState prev=UINT32_MAX)
void copy(double f, double g, graphState curr, graphState prev)
uint64_t GetNodesTouched()
SearchNode(graphState curr)
AStarDelayUtil::GQueue delayQueue
void DrawEdge(unsigned int from, unsigned int to, double weight)
std::vector< graphState > neighbors
uint64_t GetNodesFirstExpanded()
uint64_t GetNodesExpanded()
double UpdateOpenNode(graphState neighbor, AStarDelayUtil::SearchNode &topNode)
AStarDelayUtil::NodeLookupTable closedList
AStarDelayUtil::GQueue fQueue
double HandleNeighbor(graphState neighbor, AStarDelayUtil::SearchNode &topNode)
bool operator()(const SearchNode &i1, const SearchNode &i2) const
bool fless(double a, double b)
std::unordered_map< graphState, AStarDelayUtil::SearchNode > NodeLookupTable
uint64_t GetNodesMetaExpanded()
void DrawText(double x, double y, double z, float r, float g, float b, char *str)
bool DoSingleSearchStep(std::vector< graphState > &thePath)
void GetPath(GraphEnvironment *env, Graph *_g, graphState from, graphState to, std::vector< graphState > &thePath)
bool fgreater(double a, double b)
A simple & efficient Heap class.
bool operator()(const SearchNode &i1, const SearchNode &i2) const
void Broadcast(int level, int levelcount)
void ReversePropX1(AStarDelayUtil::SearchNode &topNode)
OpenListB< AStarDelayUtil::SearchNode, AStarDelayUtil::SearchNodeHash, AStarDelayUtil::SearchNodeEqual, AStarDelayUtil::GGreater, AStarDelayUtil::GGreater, AStarDelayUtil::FExtract > GQueue
double HandleNeighborX(graphState neighbor, AStarDelayUtil::SearchNode &topNode)
bool DoSingleStep(AStarDelayUtil::SearchNode &topNode, std::vector< graphState > &thePath)
bool InitializeSearch(GraphEnvironment *env, Graph *g, graphState from, graphState to, std::vector< graphState > &thePath)
OpenListB< AStarDelayUtil::SearchNode, AStarDelayUtil::SearchNodeHash, AStarDelayUtil::SearchNodeEqual, AStarDelayUtil::SearchNodeCompare, AStarDelayUtil::GGreater, AStarDelayUtil::FExtract > PQueue
size_t operator()(const SearchNode &x) const
void ExtractPathToStart(graphState goalNode, std::vector< graphState > &thePath)
bool fequal(double a, double b, double tolerance=TOLERANCE)
double UpdateClosedNode(graphState neighbor, AStarDelayUtil::SearchNode &topNode)
std::deque< graphState > fifo