Recast Navigation
Navigation-mesh Toolset for Games
|
Members in this module are used to create, manipulate, and query navigation meshes. More...
Classes | |
struct | dtPoly |
Defines a polygon within a dtMeshTile object. More... | |
struct | dtMeshHeader |
Provides high level information related to a dtMeshTile object. More... | |
struct | dtMeshTile |
Defines a navigation mesh tile. More... | |
struct | dtNavMeshParams |
Configuration parameters used to define multi-tile navigation meshes. More... | |
class | dtNavMesh |
A navigation mesh based on tiles of convex polygons. More... | |
struct | dtNavMeshCreateParams |
Represents the source data used to build an navigation mesh tile. More... | |
class | dtQueryFilter |
Defines polygon filtering and traversal costs for navigation mesh query operations. More... | |
struct | dtRaycastHit |
Provides information about raycast hit filled by dtNavMeshQuery::raycast. More... | |
class | dtPolyQuery |
Provides custom polygon query behavior. More... | |
class | dtNavMeshQuery |
Provides the ability to perform pathfinding related queries against a navigation mesh. More... | |
class | dtPathCorridor |
Represents a dynamic polygon corridor used to plan agent movement. More... | |
Typedefs | |
typedef unsigned int | dtPolyRef |
A handle to a polygon within a navigation mesh tile. More... | |
typedef unsigned int | dtTileRef |
A handle to a tile within a navigation mesh. More... | |
Functions | |
dtNavMesh * | dtAllocNavMesh () |
Allocates a navigation mesh object using the Detour allocator. More... | |
void | dtFreeNavMesh (dtNavMesh *navmesh) |
Frees the specified navigation mesh object using the Detour allocator. More... | |
bool | dtCreateNavMeshData (dtNavMeshCreateParams *params, unsigned char **outData, int *outDataSize) |
Builds navigation mesh tile data from the provided tile creation data. More... | |
dtNavMeshQuery * | dtAllocNavMeshQuery () |
Allocates a query object using the Detour allocator. More... | |
void | dtFreeNavMeshQuery (dtNavMeshQuery *query) |
Frees the specified query object using the Detour allocator. More... | |
Variables | |
static const int | DT_VERTS_PER_POLYGON = 6 |
The maximum number of vertices per navigation polygon. More... | |
static const int | DT_MAX_AREAS = 64 |
The maximum number of user defined area ids. More... | |
Members in this module are used to create, manipulate, and query navigation meshes.
Members in this module are wrappers around the standard math library.
A handle to a polygon within a navigation mesh tile.
Polygon references are subject to the same invalidate/preserve/restore rules that apply to dtTileRef's. If the dtTileRef for the polygon's tile changes, the polygon reference becomes invalid.
Changing a polygon's flags, area id, etc. does not impact its polygon reference.
A handle to a tile within a navigation mesh.
The following changes will invalidate a tile reference:
A tile reference is preserved/restored if the tile is added to a navigation mesh initialized with the original dtNavMeshParams and is added at the original reference location. (E.g. The lastRef parameter is used with dtNavMesh::addTile.)
Basically, if the storage structure of a tile changes, its associated tile reference changes.
dtNavMesh* dtAllocNavMesh | ( | ) |
Allocates a navigation mesh object using the Detour allocator.
dtNavMeshQuery* dtAllocNavMeshQuery | ( | ) |
Allocates a query object using the Detour allocator.
bool dtCreateNavMeshData | ( | dtNavMeshCreateParams * | params, |
unsigned char ** | outData, | ||
int * | outDataSize | ||
) |
Builds navigation mesh tile data from the provided tile creation data.
[in] | params | Tile creation data. |
[out] | outData | The resulting tile data. |
[out] | outDataSize | The size of the tile data array. |
The output data array is allocated using the detour allocator (dtAlloc()). The method used to free the memory will be determined by how the tile is added to the navigation mesh.
void dtFreeNavMesh | ( | dtNavMesh * | navmesh | ) |
Frees the specified navigation mesh object using the Detour allocator.
[in] | navmesh | A navigation mesh allocated using dtAllocNavMesh |
This function will only free the memory for tiles with the DT_TILE_FREE_DATA flag set.
void dtFreeNavMeshQuery | ( | dtNavMeshQuery * | query | ) |
Frees the specified query object using the Detour allocator.
[in] | query | A query object allocated using dtAllocNavMeshQuery |
|
static |
The maximum number of user defined area ids.
|
static |
The maximum number of vertices per navigation polygon.