Planeshift
Classes | Typedefs | Functions | Variables

Detour

Members in this module are used to create, manipulate, and query navigation meshes. More...

Classes

struct  dtMeshHeader
 Provides high level information related to a dtMeshTile object. More...
struct  dtMeshTile
 Defines a navigation mesh tile. 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...
struct  dtNavMeshParams
 Configuration parameters used to define multi-tile navigation meshes. The values are used to allocate space during the initialization of a navigation mesh. 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...
struct  dtPoly
 Defines a polyogn within a dtMeshTile object. More...
class  dtQueryFilter
 Defines polygon filtering and traversal costs for navigation mesh query operations. More...

Typedefs

typedef unsigned int dtPolyRef
 A handle to a polygon within a navigation mesh tile.
typedef unsigned int dtTileRef
 A handle to a tile within a navigation mesh.

Functions

dtNavMeshdtAllocNavMesh ()
 Allocates a navigation mesh object using the Detour allocator.
dtNavMeshQuerydtAllocNavMeshQuery ()
 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.
void dtFreeNavMesh (dtNavMesh *navmesh)
 Frees the specified navigation mesh object using the Detour allocator.
void dtFreeNavMeshQuery (dtNavMeshQuery *query)
 Frees the specified query object using the Detour allocator.

Variables

static const int DT_MAX_AREAS = 64
 The maximum number of user defined area ids.
static const int DT_VERTS_PER_POLYGON = 6
 The maximum number of vertices per navigation polygon.

Detailed Description

Members in this module are used to create, manipulate, and query navigation meshes.

Note:
This is a summary list of members. Use the index or search feature to find minor members.

Typedef Documentation

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.

Definition at line 30 of file DetourNavMesh.h.

A handle to a tile within a navigation mesh.

The following changes will invalidate a tile reference:

  • The referenced tile has been removed from the navigation mesh.
  • The navigation mesh has been initialized using a different set of dtNavMeshParams.

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.

Definition at line 34 of file DetourNavMesh.h.


Function Documentation

dtNavMesh* dtAllocNavMesh ( )

Allocates a navigation mesh object using the Detour allocator.

Returns:
A navigation mesh that is ready for initialization, or null on failure.
dtNavMeshQuery* dtAllocNavMeshQuery ( )

Allocates a query object using the Detour allocator.

Returns:
An allocated query object, or null on failure.
bool dtCreateNavMeshData ( dtNavMeshCreateParams params,
unsigned char **  outData,
int outDataSize 
)

Builds navigation mesh tile data from the provided tile creation data.

Parameters:
[in]paramsTile creation data.
[out]outDataThe resulting tile data.
[out]outDataSizeThe size of the tile data array.
Returns:
True if the tile data was successfully created.
void dtFreeNavMesh ( dtNavMesh navmesh)

Frees the specified navigation mesh object using the Detour allocator.

Parameters:
[in]navmeshA navigation mesh allocated using dtAllocNavMesh
void dtFreeNavMeshQuery ( dtNavMeshQuery query)

Frees the specified query object using the Detour allocator.

Parameters:
[in]queryA query object allocated using dtAllocNavMeshQuery

Variable Documentation

const int DT_MAX_AREAS = 64 [static]

The maximum number of user defined area ids.

Definition at line 72 of file DetourNavMesh.h.

const int DT_VERTS_PER_POLYGON = 6 [static]

The maximum number of vertices per navigation polygon.

Definition at line 38 of file DetourNavMesh.h.