Recast Navigation  1.0.35
DetourNavMesh.h File Reference
#include "SharedConfig.h"
#include "DetourAlloc.h"
#include "DetourStatus.h"

Go to the source code of this file.

Classes

struct  dtPoly
 Defines a polyogn within a dtMeshTile object. More...
 
struct  dtPolyDetail
 Defines the location of detail sub-mesh data within a dtMeshTile. More...
 
struct  dtLink
 Defines a link between polygons. More...
 
struct  dtBVNode
 Bounding volume node. More...
 
struct  dtOffMeshConnection
 Defines an navigation mesh off-mesh connection 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...
 

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...
 
typedef void(* dtTileCallback) (const dtMeshTile *tile, void *userdata)
 

Enumerations

enum  dtTeam {
  DT_TEAM_1, DT_TEAM_2, DT_TEAM_3, DT_TEAM_4,
  DT_MAX_TEAMS
}
 
enum  dtTileFlags { DT_TILE_FREE_DATA = 0x01 }
 Tile flags used for various functions and fields. More...
 
enum  dtStraightPathFlags { DT_STRAIGHTPATH_START = 0x01, DT_STRAIGHTPATH_END = 0x02, DT_STRAIGHTPATH_OFFMESH_CONNECTION = 0x04 }
 Vertex flags returned by dtNavMeshQuery::findStraightPath. More...
 
enum  dtStraightPathOptions { DT_STRAIGHTPATH_NONE = 0, DT_STRAIGHTPATH_AREA_CROSSINGS = 0x01, DT_STRAIGHTPATH_ALL_CROSSINGS = 0x02 }
 Options for dtNavMeshQuery::findStraightPath. More...
 
enum  dtFindPathOptions { DT_FINDPATH_LOW_QUALITY_FAR = 0x01, DT_FINDPATH_ANY_ANGLE = 0x02 }
 Options for dtNavMeshQuery::findPath. More...
 
enum  dtRaycastOptions { DT_RAYCAST_USE_COSTS = 0x01 }
 Options for dtNavMeshQuery::raycast. More...
 
enum  dtPolyTypes { DT_POLYTYPE_GROUND = 0, DT_POLYTYPE_OFFMESH_CONNECTION = 1 }
 Flags representing the type of a navigation mesh polygon. More...
 

Functions

dtNavMeshdtAllocNavMesh ()
 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...
 

Variables

static const int DT_VERTS_PER_POLYGON = 6
 The maximum number of vertices per navigation polygon. More...
 
static const unsigned short DT_EXT_LINK = 0x8000
 A flag that indicates that an entity links to an external entity. More...
 
static const unsigned int DT_NULL_LINK = 0xffffffff
 A value that indicates the entity does not link to anything. More...
 
static const unsigned int DT_OFFMESH_CON_BIDIR = 1
 A flag that indicates that an off-mesh connection can be traversed in both directions. (Is bidirectional.) More...
 
static const float DT_RAY_CAST_LIMIT_PROPORTIONS = 50.0f
 Limit raycasting during any angle pahfinding The limit is given as a multiple of the character radius. More...
 
Tile Serialization Constants

These constants are used to detect whether a navigation tile's data and state format is compatible with the current build.

static const int DT_NAVMESH_MAGIC = 'D'<<24 | 'N'<<16 | 'A'<<8 | 'V'
 A magic number used to detect compatibility of navigation tile data. More...
 
static const int DT_NAVMESH_VERSION = 7
 A version number used to detect compatibility of navigation tile data. More...
 
static const int DT_NAVMESH_STATE_MAGIC = 'D'<<24 | 'N'<<16 | 'M'<<8 | 'S'
 A magic number used to detect the compatibility of navigation tile states. More...
 
static const int DT_NAVMESH_STATE_VERSION = 1
 A version number used to detect compatibility of navigation tile states. More...
 

Typedef Documentation

typedef void( * dtTileCallback) (const dtMeshTile *tile, void *userdata)

Enumeration Type Documentation

Options for dtNavMeshQuery::findPath.

Enumerator
DT_FINDPATH_LOW_QUALITY_FAR 

[provisional] trade quality for performance far from the origin. The idea is that by then a new query will be issued

DT_FINDPATH_ANY_ANGLE 

use raycasts during pathfind to "shortcut" (raycast still consider costs)

Flags representing the type of a navigation mesh polygon.

Enumerator
DT_POLYTYPE_GROUND 

The polygon is a standard convex polygon that is part of the surface of the mesh.

DT_POLYTYPE_OFFMESH_CONNECTION 

The polygon is an off-mesh connection consisting of two vertices.

Options for dtNavMeshQuery::raycast.

Enumerator
DT_RAYCAST_USE_COSTS 

Raycast should calculate movement cost along the ray and fill RaycastHit::cost.

Vertex flags returned by dtNavMeshQuery::findStraightPath.

Enumerator
DT_STRAIGHTPATH_START 

The vertex is the start position in the path.

DT_STRAIGHTPATH_END 

The vertex is the end position in the path.

DT_STRAIGHTPATH_OFFMESH_CONNECTION 

The vertex is the start of an off-mesh connection.

Options for dtNavMeshQuery::findStraightPath.

Enumerator
DT_STRAIGHTPATH_NONE 
DT_STRAIGHTPATH_AREA_CROSSINGS 

Add a vertex at every polygon edge crossing where area changes.

DT_STRAIGHTPATH_ALL_CROSSINGS 

Add a vertex at every polygon edge crossing.

enum dtTeam
Enumerator
DT_TEAM_1 
DT_TEAM_2 
DT_TEAM_3 
DT_TEAM_4 
DT_MAX_TEAMS 

Tile flags used for various functions and fields.

For an example, see dtNavMesh::addTile().

Enumerator
DT_TILE_FREE_DATA 

The navigation mesh owns the tile memory and is responsible for freeing it.

Variable Documentation

const unsigned short DT_EXT_LINK = 0x8000
static

A flag that indicates that an entity links to an external entity.

(E.g. A polygon edge is a portal that links to another polygon.)

const int DT_NAVMESH_MAGIC = 'D'<<24 | 'N'<<16 | 'A'<<8 | 'V'
static

A magic number used to detect compatibility of navigation tile data.

const int DT_NAVMESH_STATE_MAGIC = 'D'<<24 | 'N'<<16 | 'M'<<8 | 'S'
static

A magic number used to detect the compatibility of navigation tile states.

const int DT_NAVMESH_STATE_VERSION = 1
static

A version number used to detect compatibility of navigation tile states.

const int DT_NAVMESH_VERSION = 7
static

A version number used to detect compatibility of navigation tile data.

const unsigned int DT_NULL_LINK = 0xffffffff
static

A value that indicates the entity does not link to anything.

const unsigned int DT_OFFMESH_CON_BIDIR = 1
static

A flag that indicates that an off-mesh connection can be traversed in both directions. (Is bidirectional.)

const float DT_RAY_CAST_LIMIT_PROPORTIONS = 50.0f
static

Limit raycasting during any angle pahfinding The limit is given as a multiple of the character radius.