44 #ifndef __PATH_PLANNER_H__
45 #define __PATH_PLANNER_H__
47 #include "mengeCommon.h"
277 #endif // __PATH_PLANNER_H__
PRouteMap _routes
A mapping from RouteKeys (a size_t) to to a list of routes. The list consists of routes between the p...
Definition: PathPlanner.h:213
size_t RouteKey
Definition of the identifier of a Route.
Definition: PathPlanner.h:93
float computeH(unsigned int node, const Vector2 &goal)
Compute's "h" for the A* algorithm. H is the estimate of the cost of a node to a goal point...
Definition: PathPlanner.cpp:263
The core namespace. All elements of Menge are contained in this namespace.
Definition: AgentGenerator.cpp:43
PathPlanner(NavMeshPtr ptr)
Constructor.
Definition: PathPlanner.cpp:81
PRouteMap::iterator PRouteMapItr
An iterator to a PRouteMap.
Definition: PathPlanner.h:123
void initHeapMemory(size_t nodeCount)
Initializes the heap memory.
Definition: PathPlanner.cpp:233
std::list< PortalRoute * > PRouteList
A list of PortalRoute pointers.
Definition: PathPlanner.h:103
Exception class for path planner.
Definition: PathPlanner.h:58
The definition of a readers-writer lock.
Definition: ReadersWriterLock.h:62
PortalRoute * computeRoute(unsigned int startID, unsigned int endID, float minWidth)
Computes a route (and adds it to the cache) between start and end with the minimum clearance given...
Definition: PathPlanner.cpp:123
PathPlannerException()
Default constructor.
Definition: PathPlanner.h:63
size_t STATE_SIZE
The size of a block of data used for STATE in the A* algorithm (2N, N = number of nodes) ...
Definition: PathPlanner.h:242
Class for computing paths through a navigation mesh.
Definition: PathPlanner.h:133
The definition of a route through a navigation mesh from a start to an end node.
Definition: Route.h:60
Base exception class for menge operations.
Definition: MengeException.h:58
bool * _STATE
Block of data for reportin node state (if its in a heap or if its no longer used for calculation...
Definition: PathPlanner.h:273
PortalRoute * getRoute(unsigned int startID, unsigned int endID, float minWidth)
Returns a route between the two specified nodes.
Definition: PathPlanner.cpp:94
~PathPlanner()
Destrutor.
Definition: PathPlanner.cpp:88
PathPlannerFatalException()
Default constructor.
Definition: PathPlanner.h:81
ReadersWriterLock _routeLock
Lock for securing _routes;.
Definition: PathPlanner.h:218
unsigned int * _PATH
The full set of data for reconstructing the path. For any given entry i, the value at i is the index ...
Definition: PathPlanner.h:257
HASH_MAP< RouteKey, PRouteList > PRouteMap
A mapping from RouteKey to PRouteList.
Definition: PathPlanner.h:118
The definition of a readers-writer lock.
Base class for fatal exceptions.
Definition: MengeException.h:99
NavMeshPtr _navMesh
The navigation mesh for planning on.
Definition: PathPlanner.h:223
PRouteList::iterator PRouteListItr
An iterator to a PRouteList.
Definition: PathPlanner.h:108
size_t DATA_SIZE
The size of a block of data used for COST in the A* algorithm (3N, N = number of nodes) ...
Definition: PathPlanner.h:236
PathPlannerException(const std::string &s)
Constructor with message.
Definition: PathPlanner.h:70
PathPlannerFatalException(const std::string &s)
Constructor with message.
Definition: PathPlanner.h:88
PRouteMap::const_iterator PRouteMapCItr
A const iterator to a PRouteMap.
Definition: PathPlanner.h:128
The fatal path planner exception.
Definition: PathPlanner.h:76
Defines the classes which maintain the navigation mesh data.
PRouteList::const_iterator PRouteListCItr
A const iterator to a PRouteList.
Definition: PathPlanner.h:113
unsigned int * _HEAP
The full set of data to serve as the heap There are N entries in a single heap and one heap per threa...
Definition: PathPlanner.h:249
float * _DATA
The block of data for tracking the f, g, and h data for nodes. (This is where DATA_SIZE = 3N comes fr...
Definition: PathPlanner.h:266
PortalRoute * cacheRoute(unsigned int startID, unsigned int endID, PortalRoute *route)
Cache the given route going from start to goal.
Definition: PathPlanner.cpp:270