Recast Navigation  1.0.35
DetourNavMeshBuilder.h
Go to the documentation of this file.
1 //
2 // Copyright (c) 2009-2010 Mikko Mononen memon@inside.org
3 //
4 // This software is provided 'as-is', without any express or implied
5 // warranty. In no event will the authors be held liable for any damages
6 // arising from the use of this software.
7 // Permission is granted to anyone to use this software for any purpose,
8 // including commercial applications, and to alter it and redistribute it
9 // freely, subject to the following restrictions:
10 // 1. The origin of this software must not be misrepresented; you must not
11 // claim that you wrote the original software. If you use this software
12 // in a product, an acknowledgment in the product documentation would be
13 // appreciated but is not required.
14 // 2. Altered source versions must be plainly marked as such, and must not be
15 // misrepresented as being the original software.
16 // 3. This notice may not be removed or altered from any source distribution.
17 //
18 
19 #ifndef DETOURNAVMESHBUILDER_H
20 #define DETOURNAVMESHBUILDER_H
21 
22 #include "SharedConfig.h"
23 #include "DetourAlloc.h"
24 
28 {
29 
34 
35  const unsigned short* verts;
36  int vertCount;
37  const unsigned short* polys;
38  const navAreaMask* areaMasks;
39  int polyCount;
40  int nvp;
41 
46 
47  const unsigned int* detailMeshes;
48  const float* detailVerts;
50  const unsigned char* detailTris;
52 
59 
61  const float* offMeshConVerts;
63  const float* offMeshConRad;
65  const navAreaMask* offMeshConAreaFlags;
70  const unsigned char* offMeshConDir;
72  const unsigned int* offMeshConUserID;
75 
80 
81  unsigned int userId;
82  int tileX;
83  int tileY;
84  int tileLayer;
85  float bmin[3];
86  float bmax[3];
87 
91 
94  float walkableClimb;
95  float cs;
96  float ch;
97 
101 
103 };
104 
111 bool dtCreateNavMeshData(dtNavMeshCreateParams* params, unsigned char** outData, int* outDataSize);
112 
116 bool dtNavMeshHeaderSwapEndian(unsigned char* data, const int dataSize);
117 
121 bool dtNavMeshDataSwapEndian(unsigned char* data, const int dataSize);
122 
123 #endif // DETOURNAVMESHBUILDER_H
124 
125 // This section contains detailed documentation for members that don't have
126 // a source file. It reduces clutter in the main section of the header.
127 
int tileLayer
The tile's layer within the layered destination mesh. Limit: >= 0
Definition: DetourNavMeshBuilder.h:84
float cs
The xz-plane cell size of the polygon mesh. [Limit: > 0] [Unit: wu].
Definition: DetourNavMeshBuilder.h:95
const unsigned char * offMeshConDir
The permitted travel direction of the off-mesh connections.
Definition: DetourNavMeshBuilder.h:70
const float * offMeshConVerts
Off-mesh connection vertices. [(ax, ay, az, bx, by, bz) * offMeshConCount] [Unit: wu]...
Definition: DetourNavMeshBuilder.h:61
const unsigned short * polys
The polygon data. [Size: polyCount * 2 * nvp].
Definition: DetourNavMeshBuilder.h:37
int nvp
Number maximum number of vertices per polygon. [Limit: >= 3].
Definition: DetourNavMeshBuilder.h:40
float walkableHeight
The agent height. [Unit: wu].
Definition: DetourNavMeshBuilder.h:92
Represents the source data used to build an navigation mesh tile.
Definition: DetourNavMeshBuilder.h:27
const unsigned char * detailTris
The detail mesh triangles. [Size: 4 * detailTriCount].
Definition: DetourNavMeshBuilder.h:50
float ch
The y-axis cell height of the polygon mesh. [Limit: > 0] [Unit: wu].
Definition: DetourNavMeshBuilder.h:96
float bmax[3]
The maximum bounds of the tile. [(x, y, z)] [Unit: wu].
Definition: DetourNavMeshBuilder.h:86
const navAreaMask * areaMasks
The user defined flags assigned to each polygon. [Size: polyCount].
Definition: DetourNavMeshBuilder.h:38
float walkableClimb
The agent maximum traversable ledge. (Up/Down) [Unit: wu].
Definition: DetourNavMeshBuilder.h:94
unsigned int userId
The user defined id of the tile.
Definition: DetourNavMeshBuilder.h:81
bool buildBvTree
True if a bounding volume tree should be built for the tile.
Definition: DetourNavMeshBuilder.h:100
int detailTriCount
The number of triangles in the detail mesh.
Definition: DetourNavMeshBuilder.h:51
const navAreaMask * offMeshConAreaFlags
User defined flags assigned to the off-mesh connections. [Size: offMeshConCount]. ...
Definition: DetourNavMeshBuilder.h:65
bool dtNavMeshDataSwapEndian(unsigned char *data, const int dataSize)
Swaps endianess of the tile data.
Definition: DetourNavMeshBuilder.cpp:685
int offMeshConCount
The number of off-mesh connections. [Limit: >= 0].
Definition: DetourNavMeshBuilder.h:74
bool dtCreateNavMeshData(dtNavMeshCreateParams *params, unsigned char **outData, int *outDataSize)
Builds navigation mesh tile data from the provided tile creation data.
Definition: DetourNavMeshBuilder.cpp:253
const unsigned short * verts
The polygon mesh vertices. [(x, y, z) * vertCount] [Unit: vx].
Definition: DetourNavMeshBuilder.h:35
float bmin[3]
The minimum bounds of the tile. [(x, y, z)] [Unit: wu].
Definition: DetourNavMeshBuilder.h:85
float walkableRadius
The agent radius. [Unit: wu].
Definition: DetourNavMeshBuilder.h:93
bool dtNavMeshHeaderSwapEndian(unsigned char *data, const int dataSize)
Swaps the endianess of the tile data's header (dtMeshHeader).
Definition: DetourNavMeshBuilder.cpp:633
const float * detailVerts
The detail mesh vertices. [Size: 3 * detailVertsCount] [Unit: wu].
Definition: DetourNavMeshBuilder.h:48
int tileY
The tile's y-grid location within the multi-tile desitation mesh. (Along the z-axis.)
Definition: DetourNavMeshBuilder.h:83
int polyCount
Number of polygons in the mesh. [Limit: >= 1].
Definition: DetourNavMeshBuilder.h:39
const unsigned int * detailMeshes
The height detail sub-mesh data. [Size: 4 * polyCount].
Definition: DetourNavMeshBuilder.h:47
int tileX
The tile's x-grid location within the multi-tile destination mesh. (Along the x-axis.)
Definition: DetourNavMeshBuilder.h:82
int vertCount
The number vertices in the polygon mesh. [Limit: >= 3].
Definition: DetourNavMeshBuilder.h:36
const float * offMeshConRad
Off-mesh connection radii. [Size: offMeshConCount] [Unit: wu].
Definition: DetourNavMeshBuilder.h:63
const unsigned int * offMeshConUserID
The user defined ids of the off-mesh connection. [Size: offMeshConCount].
Definition: DetourNavMeshBuilder.h:72
int detailVertsCount
The number of vertices in the detail mesh.
Definition: DetourNavMeshBuilder.h:49