91 mutable std::vector<AyStarNode> neighbours;
AyStarStatus
Return status of AyStar methods.
@ EmptyOpenList
All items are tested, and no path has been found.
@ StillBusy
Some checking was done, but no path found yet, and there are still items left to try.
@ LimitReached
The AYSTAR_DEF_MAX_SEARCH_NODES limit has been reached, aborting search.
@ NoPath
No path to the goal was found.
@ FoundEndNode
An end node was found.
@ Done
Not an end-tile, or wrong direction.
static const int AYSTAR_INVALID_NODE
Item is not valid (for example, not walkable).
static const int AYSTAR_DEF_MAX_SEARCH_NODES
Reference limit for #AyStar::max_search_nodes.
AyStar search algorithm struct.
void OpenListAdd(PathNode *parent, const AyStarNode *node, int f, int g)
Adds a node to the open list.
virtual AyStarStatus EndNodeCheck(const PathNode ¤t) const =0
Check whether the end-tile is found.
virtual void GetNeighbours(const PathNode ¤t, std::vector< AyStarNode > &neighours) const =0
This function requests the tiles around the current tile.
AyStarStatus Loop()
This function is the core of AyStar.
virtual void FoundEndNode(const PathNode ¤t)=0
If the End Node is found, this function is called.
AyStarStatus Main()
This is the function you call to run AyStar.
virtual int32_t CalculateH(const AyStarNode ¤t, const PathNode &parent) const =0
Calculate the H-value for the AyStar algorithm.
void CheckTile(AyStarNode *current, PathNode *parent)
Checks one tile and calculate its f-value.
void AddStartNode(AyStarNode *start_node, int g)
Adds a node from where to start an algorithm.
virtual int32_t CalculateG(const AyStarNode ¤t, const PathNode &parent) const =0
Calculate the G-value for the AyStar algorithm.
Hash table based node list multi-container class.
List of nodes used for the A-star pathfinder.
Node in the pathfinder's graph.