Go to the documentation of this file.
77 std::vector<node *> &fromChain,
node *from,
78 std::vector<node *> &toChain,
node *to);
82 std::vector<node *> &fromChain,
83 std::vector<node *> &toChain,
89 std::vector<node *> &fromChain,
90 std::vector<node *> &toChain,
93 std::vector<node*> &fromChain,
94 std::vector<node*> &toChain);
A generic class for basic operations on Graph abstractions.
path * trimPath(path *lastPath, node *origDest)
void setSmoothType(SmoothType s)
Set the smoothing type.Default is BEGIN.
The pra* search algorithm which does partial pathfinding using abstraction.
path * doRefinement(GraphAbstraction *aMap, path *absPath, std::vector< node * > &fromChain, std::vector< node * > &toChain)
Do a quick refinement of an abstract path.
int getPartialPathLimit()
Corridor AStar builds a a* path between two nodes, restricting itself to a particular corridor,...
void setAbstractLevel(int level)
set the abstract level
void setSmoothing(bool smooth)
Set whether the path will be smoothed or not.
void setupSearch(GraphAbstraction *aMap, std::vector< node * > &fromChain, node *from, std::vector< node * > &toChain, node *to)
virtual const char * GetName()
path * buildNextAbstractPath(GraphAbstraction *, path *lastPath, std::vector< node * > &fromChain, std::vector< node * > &toChain, reservationProvider *)
void setPartialPathLimit(int limit)
path * buildAbstractPath(GraphAbstraction *aMap, std::vector< node * > &fromChain, std::vector< node * > &toChain, reservationProvider *rp)
Build an abstract path for quick refinement.
std::vector< node * > lookup
int backTwoNodes(int i, std::vector< node * > lookup)
Find the index of the node two nodes back in the path.
void findMinMax(path *p)
Find the box that bounds the path for more efficient path smoothing.
path * smoothPath(GraphAbstraction *m, path *p)
copied from hpaStar.cpp
void findGoalNode(GraphAbstraction *aMap, node *n, std::vector< node * > &toChain)
GIven an abstract level parent node n, find a new goal that is a 0-level child of n as well as the pa...
bool nextInLookup(int last, int curr, std::vector< node * > lookup)
find out whether last is the next 'real' index in the lookup table after curr.
path * nextPathNode(GraphAbstraction *m, node *n, int dir)
shoot a ray in direction dir and see if you hit the path Return the better path if you find it; 0 if ...
A generic algorithm which can be used for pathfinding.
virtual path * GetPath(GraphAbstraction *aMap, node *from, node *to, reservationProvider *rp=0)
A linked list of nodes which form a continuous path.
Nodes to be stored within a Graph.
node * getNextNode(GraphAbstraction *aMap, node *currentLow, path *returnPath, path *apath, Graph *g, int abstractLevel)
Find the next node of the refined path.