diff --git a/CONTRIBUTING_8md.html b/CONTRIBUTING_8md.html new file mode 100644 index 00000000..ca7b83cd --- /dev/null +++ b/CONTRIBUTING_8md.html @@ -0,0 +1,104 @@ + + + + + + + +Recast Navigation: CONTRIBUTING.md File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
CONTRIBUTING.md File Reference
+
+
+
+
+ + + + + diff --git a/ChunkyTriMesh_8cpp.html b/ChunkyTriMesh_8cpp.html new file mode 100644 index 00000000..6f432d07 --- /dev/null +++ b/ChunkyTriMesh_8cpp.html @@ -0,0 +1,642 @@ + + + + + + + +Recast Navigation: ChunkyTriMesh.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
ChunkyTriMesh.cpp File Reference
+
+
+
#include "ChunkyTriMesh.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+
+ + + +

+Classes

struct  BoundsItem
 
+ + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

static int compareItemX (const void *va, const void *vb)
 
static int compareItemY (const void *va, const void *vb)
 
static void calcExtends (const BoundsItem *items, const int, const int imin, const int imax, float *bmin, float *bmax)
 
int longestAxis (float x, float y)
 
static void subdivide (BoundsItem *items, int nitems, int imin, int imax, int trisPerChunk, int &curNode, rcChunkyTriMeshNode *nodes, const int maxNodes, int &curTri, int *outTris, const int *inTris)
 
bool rcCreateChunkyTriMesh (const float *verts, const int *tris, int ntris, int trisPerChunk, rcChunkyTriMesh *cm)
 Creates partitioned triangle mesh (AABB tree), where each node contains at max trisPerChunk triangles. More...
 
bool checkOverlapRect (const float amin[2], const float amax[2], const float bmin[2], const float bmax[2])
 
int rcGetChunksOverlappingRect (const rcChunkyTriMesh *cm, float bmin[2], float bmax[2], int *ids, const int maxIds)
 Returns the chunk indices which overlap the input rectable. More...
 
static bool checkOverlapSegment (const float p[2], const float q[2], const float bmin[2], const float bmax[2])
 
int rcGetChunksOverlappingSegment (const rcChunkyTriMesh *cm, float p[2], float q[2], int *ids, const int maxIds)
 Returns the chunk indices which overlap the input segment. More...
 
+

Function Documentation

+ +

◆ calcExtends()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void calcExtends (const BoundsItemitems,
const int ,
const int imin,
const int imax,
float * bmin,
float * bmax 
)
+
+static
+
+ +
+
+ +

◆ checkOverlapRect()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool checkOverlapRect (const float amin[2],
const float amax[2],
const float bmin[2],
const float bmax[2] 
)
+
+inline
+
+ +
+
+ +

◆ checkOverlapSegment()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool checkOverlapSegment (const float p[2],
const float q[2],
const float bmin[2],
const float bmax[2] 
)
+
+static
+
+ +
+
+ +

◆ compareItemX()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static int compareItemX (const void * va,
const void * vb 
)
+
+static
+
+ +
+
+ +

◆ compareItemY()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static int compareItemY (const void * va,
const void * vb 
)
+
+static
+
+ +
+
+ +

◆ longestAxis()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int longestAxis (float x,
float y 
)
+
+inline
+
+ +
+
+ +

◆ rcCreateChunkyTriMesh()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool rcCreateChunkyTriMesh (const float * verts,
const int * tris,
int ntris,
int trisPerChunk,
rcChunkyTriMeshcm 
)
+
+ +

Creates partitioned triangle mesh (AABB tree), where each node contains at max trisPerChunk triangles.

+ +
+
+ +

◆ rcGetChunksOverlappingRect()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int rcGetChunksOverlappingRect (const rcChunkyTriMeshcm,
float bmin[2],
float bmax[2],
int * ids,
const int maxIds 
)
+
+ +

Returns the chunk indices which overlap the input rectable.

+ +
+
+ +

◆ rcGetChunksOverlappingSegment()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int rcGetChunksOverlappingSegment (const rcChunkyTriMeshcm,
float p[2],
float q[2],
int * ids,
const int maxIds 
)
+
+ +

Returns the chunk indices which overlap the input segment.

+ +
+
+ +

◆ subdivide()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void subdivide (BoundsItemitems,
int nitems,
int imin,
int imax,
int trisPerChunk,
int & curNode,
rcChunkyTriMeshNodenodes,
const int maxNodes,
int & curTri,
int * outTris,
const int * inTris 
)
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/ChunkyTriMesh_8cpp.js b/ChunkyTriMesh_8cpp.js new file mode 100644 index 00000000..8431327e --- /dev/null +++ b/ChunkyTriMesh_8cpp.js @@ -0,0 +1,14 @@ +var ChunkyTriMesh_8cpp = +[ + [ "BoundsItem", "structBoundsItem.html", "structBoundsItem" ], + [ "calcExtends", "ChunkyTriMesh_8cpp.html#ab9e1d32b348378cc47d69088c6c2578b", null ], + [ "checkOverlapRect", "ChunkyTriMesh_8cpp.html#a488658425e021197b682d2ff039ed0d5", null ], + [ "checkOverlapSegment", "ChunkyTriMesh_8cpp.html#a9a85b2fd169892112b16a277c6a59ced", null ], + [ "compareItemX", "ChunkyTriMesh_8cpp.html#a1888720290d8beeb3162f90e197ff7b3", null ], + [ "compareItemY", "ChunkyTriMesh_8cpp.html#ac4386676e18bfd480f6686981f10e595", null ], + [ "longestAxis", "ChunkyTriMesh_8cpp.html#a7e3f1cfa936454ba69f96894a38bd2e4", null ], + [ "rcCreateChunkyTriMesh", "ChunkyTriMesh_8cpp.html#af0a0d126ca38738602a567777806a242", null ], + [ "rcGetChunksOverlappingRect", "ChunkyTriMesh_8cpp.html#a1ddf6286b85d102c1012cb3db79020e2", null ], + [ "rcGetChunksOverlappingSegment", "ChunkyTriMesh_8cpp.html#a2738633e684f03e39567d80500039c7d", null ], + [ "subdivide", "ChunkyTriMesh_8cpp.html#af34b40e9f943704bcaa0d14f83fe8d8e", null ] +]; \ No newline at end of file diff --git a/ChunkyTriMesh_8h.html b/ChunkyTriMesh_8h.html new file mode 100644 index 00000000..d5979537 --- /dev/null +++ b/ChunkyTriMesh_8h.html @@ -0,0 +1,274 @@ + + + + + + + +Recast Navigation: ChunkyTriMesh.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
ChunkyTriMesh.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Classes

struct  rcChunkyTriMeshNode
 
struct  rcChunkyTriMesh
 
+ + + + + + + + + + +

+Functions

bool rcCreateChunkyTriMesh (const float *verts, const int *tris, int ntris, int trisPerChunk, rcChunkyTriMesh *cm)
 Creates partitioned triangle mesh (AABB tree), where each node contains at max trisPerChunk triangles. More...
 
int rcGetChunksOverlappingRect (const rcChunkyTriMesh *cm, float bmin[2], float bmax[2], int *ids, const int maxIds)
 Returns the chunk indices which overlap the input rectable. More...
 
int rcGetChunksOverlappingSegment (const rcChunkyTriMesh *cm, float p[2], float q[2], int *ids, const int maxIds)
 Returns the chunk indices which overlap the input segment. More...
 
+

Function Documentation

+ +

◆ rcCreateChunkyTriMesh()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool rcCreateChunkyTriMesh (const float * verts,
const int * tris,
int ntris,
int trisPerChunk,
rcChunkyTriMeshcm 
)
+
+ +

Creates partitioned triangle mesh (AABB tree), where each node contains at max trisPerChunk triangles.

+ +
+
+ +

◆ rcGetChunksOverlappingRect()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int rcGetChunksOverlappingRect (const rcChunkyTriMeshcm,
float bmin[2],
float bmax[2],
int * ids,
const int maxIds 
)
+
+ +

Returns the chunk indices which overlap the input rectable.

+ +
+
+ +

◆ rcGetChunksOverlappingSegment()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int rcGetChunksOverlappingSegment (const rcChunkyTriMeshcm,
float p[2],
float q[2],
int * ids,
const int maxIds 
)
+
+ +

Returns the chunk indices which overlap the input segment.

+ +
+
+
+
+ + + + + diff --git a/ChunkyTriMesh_8h.js b/ChunkyTriMesh_8h.js new file mode 100644 index 00000000..7df691ed --- /dev/null +++ b/ChunkyTriMesh_8h.js @@ -0,0 +1,8 @@ +var ChunkyTriMesh_8h = +[ + [ "rcChunkyTriMeshNode", "structrcChunkyTriMeshNode.html", "structrcChunkyTriMeshNode" ], + [ "rcChunkyTriMesh", "structrcChunkyTriMesh.html", "structrcChunkyTriMesh" ], + [ "rcCreateChunkyTriMesh", "ChunkyTriMesh_8h.html#af0a0d126ca38738602a567777806a242", null ], + [ "rcGetChunksOverlappingRect", "ChunkyTriMesh_8h.html#a1ddf6286b85d102c1012cb3db79020e2", null ], + [ "rcGetChunksOverlappingSegment", "ChunkyTriMesh_8h.html#a2738633e684f03e39567d80500039c7d", null ] +]; \ No newline at end of file diff --git a/ChunkyTriMesh_8h_source.html b/ChunkyTriMesh_8h_source.html new file mode 100644 index 00000000..3c0e3cd3 --- /dev/null +++ b/ChunkyTriMesh_8h_source.html @@ -0,0 +1,175 @@ + + + + + + + +Recast Navigation: ChunkyTriMesh.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ChunkyTriMesh.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 CHUNKYTRIMESH_H
+
20 #define CHUNKYTRIMESH_H
+
21 
+ +
23 {
+
24  float bmin[2];
+
25  float bmax[2];
+
26  int i;
+
27  int n;
+
28 };
+
29 
+ +
31 {
+
32  inline rcChunkyTriMesh() : nodes(0), nnodes(0), tris(0), ntris(0), maxTrisPerChunk(0) {}
+
33  inline ~rcChunkyTriMesh() { delete [] nodes; delete [] tris; }
+
34 
+ +
36  int nnodes;
+
37  int* tris;
+
38  int ntris;
+ +
40 
+
41 private:
+
42  // Explicitly disabled copy constructor and copy assignment operator.
+ +
44  rcChunkyTriMesh& operator=(const rcChunkyTriMesh&);
+
45 };
+
46 
+
49 bool rcCreateChunkyTriMesh(const float* verts, const int* tris, int ntris,
+
50  int trisPerChunk, rcChunkyTriMesh* cm);
+
51 
+
53 int rcGetChunksOverlappingRect(const rcChunkyTriMesh* cm, float bmin[2], float bmax[2], int* ids, const int maxIds);
+
54 
+
56 int rcGetChunksOverlappingSegment(const rcChunkyTriMesh* cm, float p[2], float q[2], int* ids, const int maxIds);
+
57 
+
58 
+
59 #endif // CHUNKYTRIMESH_H
+
int rcGetChunksOverlappingRect(const rcChunkyTriMesh *cm, float bmin[2], float bmax[2], int *ids, const int maxIds)
Returns the chunk indices which overlap the input rectable.
Definition: ChunkyTriMesh.cpp:213
+
int rcGetChunksOverlappingSegment(const rcChunkyTriMesh *cm, float p[2], float q[2], int *ids, const int maxIds)
Returns the chunk indices which overlap the input segment.
Definition: ChunkyTriMesh.cpp:283
+
bool rcCreateChunkyTriMesh(const float *verts, const int *tris, int ntris, int trisPerChunk, rcChunkyTriMesh *cm)
Creates partitioned triangle mesh (AABB tree), where each node contains at max trisPerChunk triangles...
Definition: ChunkyTriMesh.cpp:142
+
Definition: ChunkyTriMesh.h:23
+
int n
Definition: ChunkyTriMesh.h:27
+
float bmax[2]
Definition: ChunkyTriMesh.h:25
+
float bmin[2]
Definition: ChunkyTriMesh.h:24
+
int i
Definition: ChunkyTriMesh.h:26
+
Definition: ChunkyTriMesh.h:31
+
rcChunkyTriMesh()
Definition: ChunkyTriMesh.h:32
+
int * tris
Definition: ChunkyTriMesh.h:37
+
int ntris
Definition: ChunkyTriMesh.h:38
+
int maxTrisPerChunk
Definition: ChunkyTriMesh.h:39
+
rcChunkyTriMeshNode * nodes
Definition: ChunkyTriMesh.h:35
+
int nnodes
Definition: ChunkyTriMesh.h:36
+
~rcChunkyTriMesh()
Definition: ChunkyTriMesh.h:33
+
+
+ + + + + diff --git a/ConvexVolumeTool_8cpp.html b/ConvexVolumeTool_8cpp.html new file mode 100644 index 00000000..f3abdc44 --- /dev/null +++ b/ConvexVolumeTool_8cpp.html @@ -0,0 +1,294 @@ + + + + + + + +Recast Navigation: ConvexVolumeTool.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
ConvexVolumeTool.cpp File Reference
+
+
+
#include <math.h>
+#include <stdio.h>
+#include <string.h>
+#include <float.h>
+#include "SDL.h"
+#include "SDL_opengl.h"
+#include "imgui.h"
+#include "ConvexVolumeTool.h"
+#include "InputGeom.h"
+#include "Sample.h"
+#include "Recast.h"
+#include "RecastDebugDraw.h"
+#include "DetourDebugDraw.h"
+
+ + + + + + + + + +

+Functions

bool left (const float *a, const float *b, const float *c)
 
bool cmppt (const float *a, const float *b)
 
static int convexhull (const float *pts, int npts, int *out)
 
static int pointInPoly (int nvert, const float *verts, const float *p)
 
+

Function Documentation

+ +

◆ cmppt()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool cmppt (const float * a,
const float * b 
)
+
+inline
+
+ +
+
+ +

◆ convexhull()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static int convexhull (const float * pts,
int npts,
int * out 
)
+
+static
+
+ +
+
+ +

◆ left()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool left (const float * a,
const float * b,
const float * c 
)
+
+inline
+
+ +
+
+ +

◆ pointInPoly()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static int pointInPoly (int nvert,
const float * verts,
const float * p 
)
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/ConvexVolumeTool_8cpp.js b/ConvexVolumeTool_8cpp.js new file mode 100644 index 00000000..081ac0fc --- /dev/null +++ b/ConvexVolumeTool_8cpp.js @@ -0,0 +1,7 @@ +var ConvexVolumeTool_8cpp = +[ + [ "cmppt", "ConvexVolumeTool_8cpp.html#a9c7eafbf2dc4bd6e44f709540181f6fe", null ], + [ "convexhull", "ConvexVolumeTool_8cpp.html#a8c5d9876cd6cec34ee07abb195539ac9", null ], + [ "left", "ConvexVolumeTool_8cpp.html#aa70398cc4b7ef22352199dca700b3990", null ], + [ "pointInPoly", "ConvexVolumeTool_8cpp.html#aec57aa531152be79fa4a68bd4b2782f0", null ] +]; \ No newline at end of file diff --git a/ConvexVolumeTool_8h.html b/ConvexVolumeTool_8h.html new file mode 100644 index 00000000..dcf81554 --- /dev/null +++ b/ConvexVolumeTool_8h.html @@ -0,0 +1,115 @@ + + + + + + + +Recast Navigation: ConvexVolumeTool.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
ConvexVolumeTool.h File Reference
+
+
+
#include "Sample.h"
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  ConvexVolumeTool
 
+
+
+ + + + + diff --git a/ConvexVolumeTool_8h_source.html b/ConvexVolumeTool_8h_source.html new file mode 100644 index 00000000..963611eb --- /dev/null +++ b/ConvexVolumeTool_8h_source.html @@ -0,0 +1,175 @@ + + + + + + + +Recast Navigation: ConvexVolumeTool.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ConvexVolumeTool.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 CONVEXVOLUMETOOL_H
+
20 #define CONVEXVOLUMETOOL_H
+
21 
+
22 #include "Sample.h"
+
23 
+
24 // Tool to create convex volumess for InputGeom
+
25 
+ +
27 {
+
28  Sample* m_sample;
+
29  int m_areaType;
+
30  float m_polyOffset;
+
31  float m_boxHeight;
+
32  float m_boxDescent;
+
33 
+
34  static const int MAX_PTS = 12;
+
35  float m_pts[MAX_PTS*3];
+
36  int m_npts;
+
37  int m_hull[MAX_PTS];
+
38  int m_nhull;
+
39 
+
40 public:
+ +
42 
+
43  virtual int type() { return TOOL_CONVEX_VOLUME; }
+
44  virtual void init(Sample* sample);
+
45  virtual void reset();
+
46  virtual void handleMenu();
+
47  virtual void handleClick(const float* s, const float* p, bool shift);
+
48  virtual void handleToggle();
+
49  virtual void handleStep();
+
50  virtual void handleUpdate(const float dt);
+
51  virtual void handleRender();
+
52  virtual void handleRenderOverlay(double* proj, double* model, int* view);
+
53 };
+
54 
+
55 #endif // CONVEXVOLUMETOOL_H
+ +
@ TOOL_CONVEX_VOLUME
Definition: Sample.h:36
+
Definition: ConvexVolumeTool.h:27
+
virtual void reset()
Definition: ConvexVolumeTool.cpp:116
+
ConvexVolumeTool()
Definition: ConvexVolumeTool.cpp:100
+
virtual void handleStep()
Definition: ConvexVolumeTool.cpp:238
+
virtual void handleRender()
Definition: ConvexVolumeTool.cpp:246
+
virtual void init(Sample *sample)
Definition: ConvexVolumeTool.cpp:111
+
virtual void handleClick(const float *s, const float *p, bool shift)
Definition: ConvexVolumeTool.cpp:155
+
virtual void handleUpdate(const float dt)
Definition: ConvexVolumeTool.cpp:242
+
virtual int type()
Definition: ConvexVolumeTool.h:43
+
virtual void handleMenu()
Definition: ConvexVolumeTool.cpp:122
+
virtual void handleToggle()
Definition: ConvexVolumeTool.cpp:234
+
virtual void handleRenderOverlay(double *proj, double *model, int *view)
Definition: ConvexVolumeTool.cpp:282
+
Definition: Sample.h:100
+
Definition: Sample.h:76
+
+
+ + + + + diff --git a/CrowdTool_8cpp.html b/CrowdTool_8cpp.html new file mode 100644 index 00000000..58ef396d --- /dev/null +++ b/CrowdTool_8cpp.html @@ -0,0 +1,284 @@ + + + + + + + +Recast Navigation: CrowdTool.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
CrowdTool.cpp File Reference
+
+
+
#include <math.h>
+#include <stdio.h>
+#include <string.h>
+#include <float.h>
+#include "SDL.h"
+#include "SDL_opengl.h"
+#include <GL/glu.h>
+#include "imgui.h"
+#include "CrowdTool.h"
+#include "InputGeom.h"
+#include "Sample.h"
+#include "DetourCrowd.h"
+#include "DetourDebugDraw.h"
+#include "DetourObstacleAvoidance.h"
+#include "DetourCommon.h"
+#include "DetourNode.h"
+#include "SampleInterfaces.h"
+
+ + + + + + + +

+Functions

static bool isectSegAABB (const float *sp, const float *sq, const float *amin, const float *amax, float &tmin, float &tmax)
 
static void getAgentBounds (const dtCrowdAgent *ag, float *bmin, float *bmax)
 
static void calcVel (float *vel, const float *pos, const float *tgt, const float speed)
 
+

Function Documentation

+ +

◆ calcVel()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void calcVel (float * vel,
const float * pos,
const float * tgt,
const float speed 
)
+
+static
+
+ +
+
+ +

◆ getAgentBounds()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static void getAgentBounds (const dtCrowdAgentag,
float * bmin,
float * bmax 
)
+
+static
+
+ +
+
+ +

◆ isectSegAABB()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool isectSegAABB (const float * sp,
const float * sq,
const float * amin,
const float * amax,
float & tmin,
float & tmax 
)
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/CrowdTool_8cpp.js b/CrowdTool_8cpp.js new file mode 100644 index 00000000..67b48f49 --- /dev/null +++ b/CrowdTool_8cpp.js @@ -0,0 +1,6 @@ +var CrowdTool_8cpp = +[ + [ "calcVel", "CrowdTool_8cpp.html#a42d0c4968b7a64410b32b8a6bf0559fd", null ], + [ "getAgentBounds", "CrowdTool_8cpp.html#ae28c4a889bb4d9fac0cd88f0d0b93dd0", null ], + [ "isectSegAABB", "CrowdTool_8cpp.html#a6e7db3dabeb68c2e9c627812ee42c47e", null ] +]; \ No newline at end of file diff --git a/CrowdTool_8h.html b/CrowdTool_8h.html new file mode 100644 index 00000000..f1320ffe --- /dev/null +++ b/CrowdTool_8h.html @@ -0,0 +1,123 @@ + + + + + + + +Recast Navigation: CrowdTool.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
CrowdTool.h File Reference
+
+
+
#include "Sample.h"
+#include "DetourNavMesh.h"
+#include "DetourObstacleAvoidance.h"
+#include "ValueHistory.h"
+#include "DetourCrowd.h"
+
+

Go to the source code of this file.

+ + + + + + + + +

+Classes

struct  CrowdToolParams
 
class  CrowdToolState
 
class  CrowdTool
 
+
+
+ + + + + diff --git a/CrowdTool_8h_source.html b/CrowdTool_8h_source.html new file mode 100644 index 00000000..46b48f1a --- /dev/null +++ b/CrowdTool_8h_source.html @@ -0,0 +1,315 @@ + + + + + + + +Recast Navigation: CrowdTool.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
CrowdTool.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 CROWDTOOL_H
+
20 #define CROWDTOOL_H
+
21 
+
22 #include "Sample.h"
+
23 #include "DetourNavMesh.h"
+ +
25 #include "ValueHistory.h"
+
26 #include "DetourCrowd.h"
+
27 
+
28 // Tool to create crowds.
+
29 
+ +
31 {
+ + + +
35  bool m_showPath;
+
36  bool m_showVO;
+
37  bool m_showOpt;
+
38  bool m_showNeis;
+
39 
+ + +
42  bool m_showGrid;
+ + + +
46 
+ + + + + + + + +
55 };
+
56 
+ +
58 {
+
59  Sample* m_sample;
+
60  dtNavMesh* m_nav;
+
61  dtCrowd* m_crowd;
+
62 
+
63  float m_targetPos[3];
+
64  dtPolyRef m_targetRef;
+
65 
+
66  dtCrowdAgentDebugInfo m_agentDebug;
+ +
68 
+
69  static const int AGENT_MAX_TRAIL = 64;
+
70  static const int MAX_AGENTS = 128;
+
71  struct AgentTrail
+
72  {
+
73  float trail[AGENT_MAX_TRAIL*3];
+
74  int htrail;
+
75  };
+
76  AgentTrail m_trails[MAX_AGENTS];
+
77 
+
78  ValueHistory m_crowdTotalTime;
+
79  ValueHistory m_crowdSampleCount;
+
80 
+
81  CrowdToolParams m_toolParams;
+
82 
+
83  bool m_run;
+
84 
+
85 public:
+ +
87  virtual ~CrowdToolState();
+
88 
+
89  virtual void init(class Sample* sample);
+
90  virtual void reset();
+
91  virtual void handleRender();
+
92  virtual void handleRenderOverlay(double* proj, double* model, int* view);
+
93  virtual void handleUpdate(const float dt);
+
94 
+
95  inline bool isRunning() const { return m_run; }
+
96  inline void setRunning(const bool s) { m_run = s; }
+
97 
+
98  void addAgent(const float* pos);
+
99  void removeAgent(const int idx);
+
100  void hilightAgent(const int idx);
+
101  void updateAgentParams();
+
102  int hitTestAgents(const float* s, const float* p);
+
103  void setMoveTarget(const float* p, bool adjust);
+
104  void updateTick(const float dt);
+
105 
+
106  inline CrowdToolParams* getToolParams() { return &m_toolParams; }
+
107 
+
108 private:
+
109  // Explicitly disabled copy constructor and copy assignment operator.
+ +
111  CrowdToolState& operator=(const CrowdToolState&);
+
112 };
+
113 
+
114 
+
115 class CrowdTool : public SampleTool
+
116 {
+
117  Sample* m_sample;
+
118  CrowdToolState* m_state;
+
119 
+
120  enum ToolMode
+
121  {
+
122  TOOLMODE_CREATE,
+
123  TOOLMODE_MOVE_TARGET,
+
124  TOOLMODE_SELECT,
+
125  TOOLMODE_TOGGLE_POLYS
+
126  };
+
127  ToolMode m_mode;
+
128 
+
129 public:
+
130  CrowdTool();
+
131 
+
132  virtual int type() { return TOOL_CROWD; }
+
133  virtual void init(Sample* sample);
+
134  virtual void reset();
+
135  virtual void handleMenu();
+
136  virtual void handleClick(const float* s, const float* p, bool shift);
+
137  virtual void handleToggle();
+
138  virtual void handleStep();
+
139  virtual void handleUpdate(const float dt);
+
140  virtual void handleRender();
+
141  virtual void handleRenderOverlay(double* proj, double* model, int* view);
+
142 };
+
143 
+
144 #endif // CROWDTOOL_H
+ + + + +
@ TOOL_CROWD
Definition: Sample.h:37
+ +
Definition: CrowdTool.h:58
+
virtual void init(class Sample *sample)
Definition: CrowdTool.cpp:141
+
void setMoveTarget(const float *p, bool adjust)
Definition: CrowdTool.cpp:704
+
virtual void handleRender()
Definition: CrowdTool.cpp:201
+
void removeAgent(const int idx)
Definition: CrowdTool.cpp:680
+
CrowdToolState()
Definition: CrowdTool.cpp:97
+
int hitTestAgents(const float *s, const float *p)
Definition: CrowdTool.cpp:760
+
virtual void handleUpdate(const float dt)
Definition: CrowdTool.cpp:633
+
virtual ~CrowdToolState()
Definition: CrowdTool.cpp:136
+
void updateTick(const float dt)
Definition: CrowdTool.cpp:826
+
void setRunning(const bool s)
Definition: CrowdTool.h:96
+
void updateAgentParams()
Definition: CrowdTool.cpp:788
+
virtual void reset()
Definition: CrowdTool.cpp:197
+
CrowdToolParams * getToolParams()
Definition: CrowdTool.h:106
+
void addAgent(const float *pos)
Definition: CrowdTool.cpp:639
+
virtual void handleRenderOverlay(double *proj, double *model, int *view)
Definition: CrowdTool.cpp:521
+
void hilightAgent(const int idx)
Definition: CrowdTool.cpp:691
+
bool isRunning() const
Definition: CrowdTool.h:95
+
Definition: CrowdTool.h:116
+
virtual void handleRenderOverlay(double *proj, double *model, int *view)
Definition: CrowdTool.cpp:1075
+
virtual void handleMenu()
Definition: CrowdTool.cpp:890
+
virtual void handleRender()
Definition: CrowdTool.cpp:1071
+
virtual int type()
Definition: CrowdTool.h:132
+
virtual void handleClick(const float *s, const float *p, bool shift)
Definition: CrowdTool.cpp:991
+
virtual void handleUpdate(const float dt)
Definition: CrowdTool.cpp:1066
+
CrowdTool()
Definition: CrowdTool.cpp:860
+
virtual void init(Sample *sample)
Definition: CrowdTool.cpp:867
+
virtual void handleToggle()
Definition: CrowdTool.cpp:1060
+
virtual void reset()
Definition: CrowdTool.cpp:886
+
virtual void handleStep()
Definition: CrowdTool.cpp:1050
+
Definition: Sample.h:100
+
Definition: ValueHistory.h:5
+
Provides local steering behaviors for a group of agents.
Definition: DetourCrowd.h:204
+
A navigation mesh based on tiles of convex polygons.
Definition: DetourNavMesh.h:339
+
Definition: DetourObstacleAvoidance.h:39
+
unsigned int dtPolyRef
A handle to a polygon within a navigation mesh tile.
Definition: DetourNavMesh.h:48
+
Definition: CrowdTool.h:31
+
bool m_showCollisionSegments
Definition: CrowdTool.h:34
+
bool m_showGrid
Definition: CrowdTool.h:42
+
bool m_showPerfGraph
Definition: CrowdTool.h:44
+
bool m_expandOptions
Definition: CrowdTool.h:47
+
bool m_optimizeVis
Definition: CrowdTool.h:49
+
bool m_expandSelectedDebugDraw
Definition: CrowdTool.h:32
+
bool m_showVO
Definition: CrowdTool.h:36
+
bool m_optimizeTopo
Definition: CrowdTool.h:50
+
bool m_showNodes
Definition: CrowdTool.h:43
+
float m_separationWeight
Definition: CrowdTool.h:54
+
bool m_expandDebugDraw
Definition: CrowdTool.h:40
+
bool m_showPath
Definition: CrowdTool.h:35
+
bool m_separation
Definition: CrowdTool.h:53
+
bool m_showCorners
Definition: CrowdTool.h:33
+
float m_obstacleAvoidanceType
Definition: CrowdTool.h:52
+
bool m_showDetailAll
Definition: CrowdTool.h:45
+
bool m_showNeis
Definition: CrowdTool.h:38
+
bool m_showOpt
Definition: CrowdTool.h:37
+
bool m_obstacleAvoidance
Definition: CrowdTool.h:51
+
bool m_anticipateTurns
Definition: CrowdTool.h:48
+
bool m_showLabels
Definition: CrowdTool.h:41
+
Definition: Sample.h:90
+
Definition: Sample.h:76
+
Definition: DetourCrowd.h:195
+
+
+ + + + + diff --git a/DebugDraw_8cpp.html b/DebugDraw_8cpp.html new file mode 100644 index 00000000..937f28fc --- /dev/null +++ b/DebugDraw_8cpp.html @@ -0,0 +1,1773 @@ + + + + + + + +Recast Navigation: DebugDraw.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DebugDraw.cpp File Reference
+
+
+
#include <string.h>
+#include "DebugDraw.h"
+#include "DetourMath.h"
+#include "DetourNavMesh.h"
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

int bit (int a, int b)
 
unsigned int duIntToCol (int i, int a)
 
void duIntToCol (int i, float *col)
 
void duCalcBoxColors (unsigned int *colors, unsigned int colTop, unsigned int colSide)
 
void duDebugDrawCylinderWire (struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col, const float lineWidth)
 
void duDebugDrawBoxWire (struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col, const float lineWidth)
 
void duDebugDrawArc (struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float h, const float as0, const float as1, unsigned int col, const float lineWidth)
 
void duDebugDrawArrow (struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float as0, const float as1, unsigned int col, const float lineWidth)
 
void duDebugDrawCircle (struct duDebugDraw *dd, const float x, const float y, const float z, const float r, unsigned int col, const float lineWidth)
 
void duDebugDrawCross (struct duDebugDraw *dd, const float x, const float y, const float z, const float size, unsigned int col, const float lineWidth)
 
void duDebugDrawBox (struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, const unsigned int *fcol)
 
void duDebugDrawCylinder (struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col)
 
void duDebugDrawGridXZ (struct duDebugDraw *dd, const float ox, const float oy, const float oz, const int w, const int h, const float size, const unsigned int col, const float lineWidth)
 
void duAppendCylinderWire (struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col)
 
void duAppendBoxWire (struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col)
 
void duAppendBoxPoints (struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col)
 
void duAppendBox (struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, const unsigned int *fcol)
 
void duAppendCylinder (struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col)
 
void evalArc (const float x0, const float y0, const float z0, const float dx, const float dy, const float dz, const float h, const float u, float *res)
 
void vcross (float *dest, const float *v1, const float *v2)
 
void vnormalize (float *v)
 
void vsub (float *dest, const float *v1, const float *v2)
 
float vdistSqr (const float *v1, const float *v2)
 
void appendArrowHead (struct duDebugDraw *dd, const float *p, const float *q, const float s, unsigned int col)
 
void duAppendArc (struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float h, const float as0, const float as1, unsigned int col)
 
void duAppendArrow (struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float as0, const float as1, unsigned int col)
 
void duAppendCircle (struct duDebugDraw *dd, const float x, const float y, const float z, const float r, unsigned int col)
 
void duAppendCross (struct duDebugDraw *dd, const float x, const float y, const float z, const float s, unsigned int col)
 
+

Function Documentation

+ +

◆ appendArrowHead()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void appendArrowHead (struct duDebugDrawdd,
const float * p,
const float * q,
const float s,
unsigned int col 
)
+
+ +
+
+ +

◆ bit()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int bit (int a,
int b 
)
+
+inline
+
+ +
+
+ +

◆ duAppendArc()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duAppendArc (struct duDebugDrawdd,
const float x0,
const float y0,
const float z0,
const float x1,
const float y1,
const float z1,
const float h,
const float as0,
const float as1,
unsigned int col 
)
+
+ +
+
+ +

◆ duAppendArrow()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duAppendArrow (struct duDebugDrawdd,
const float x0,
const float y0,
const float z0,
const float x1,
const float y1,
const float z1,
const float as0,
const float as1,
unsigned int col 
)
+
+ +
+
+ +

◆ duAppendBox()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duAppendBox (struct duDebugDrawdd,
float minx,
float miny,
float minz,
float maxx,
float maxy,
float maxz,
const unsigned int * fcol 
)
+
+ +
+
+ +

◆ duAppendBoxPoints()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duAppendBoxPoints (struct duDebugDrawdd,
float minx,
float miny,
float minz,
float maxx,
float maxy,
float maxz,
unsigned int col 
)
+
+ +
+
+ +

◆ duAppendBoxWire()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duAppendBoxWire (struct duDebugDrawdd,
float minx,
float miny,
float minz,
float maxx,
float maxy,
float maxz,
unsigned int col 
)
+
+ +
+
+ +

◆ duAppendCircle()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duAppendCircle (struct duDebugDrawdd,
const float x,
const float y,
const float z,
const float r,
unsigned int col 
)
+
+ +
+
+ +

◆ duAppendCross()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duAppendCross (struct duDebugDrawdd,
const float x,
const float y,
const float z,
const float s,
unsigned int col 
)
+
+ +
+
+ +

◆ duAppendCylinder()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duAppendCylinder (struct duDebugDrawdd,
float minx,
float miny,
float minz,
float maxx,
float maxy,
float maxz,
unsigned int col 
)
+
+ +
+
+ +

◆ duAppendCylinderWire()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duAppendCylinderWire (struct duDebugDrawdd,
float minx,
float miny,
float minz,
float maxx,
float maxy,
float maxz,
unsigned int col 
)
+
+ +
+
+ +

◆ duCalcBoxColors()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void duCalcBoxColors (unsigned int * colors,
unsigned int colTop,
unsigned int colSide 
)
+
+ +
+
+ +

◆ duDebugDrawArc()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawArc (struct duDebugDrawdd,
const float x0,
const float y0,
const float z0,
const float x1,
const float y1,
const float z1,
const float h,
const float as0,
const float as1,
unsigned int col,
const float lineWidth 
)
+
+ +
+
+ +

◆ duDebugDrawArrow()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawArrow (struct duDebugDrawdd,
const float x0,
const float y0,
const float z0,
const float x1,
const float y1,
const float z1,
const float as0,
const float as1,
unsigned int col,
const float lineWidth 
)
+
+ +
+
+ +

◆ duDebugDrawBox()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawBox (struct duDebugDrawdd,
float minx,
float miny,
float minz,
float maxx,
float maxy,
float maxz,
const unsigned int * fcol 
)
+
+ +
+
+ +

◆ duDebugDrawBoxWire()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawBoxWire (struct duDebugDrawdd,
float minx,
float miny,
float minz,
float maxx,
float maxy,
float maxz,
unsigned int col,
const float lineWidth 
)
+
+ +
+
+ +

◆ duDebugDrawCircle()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawCircle (struct duDebugDrawdd,
const float x,
const float y,
const float z,
const float r,
unsigned int col,
const float lineWidth 
)
+
+ +
+
+ +

◆ duDebugDrawCross()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawCross (struct duDebugDrawdd,
const float x,
const float y,
const float z,
const float size,
unsigned int col,
const float lineWidth 
)
+
+ +
+
+ +

◆ duDebugDrawCylinder()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawCylinder (struct duDebugDrawdd,
float minx,
float miny,
float minz,
float maxx,
float maxy,
float maxz,
unsigned int col 
)
+
+ +
+
+ +

◆ duDebugDrawCylinderWire()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawCylinderWire (struct duDebugDrawdd,
float minx,
float miny,
float minz,
float maxx,
float maxy,
float maxz,
unsigned int col,
const float lineWidth 
)
+
+ +
+
+ +

◆ duDebugDrawGridXZ()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawGridXZ (struct duDebugDrawdd,
const float ox,
const float oy,
const float oz,
const int w,
const int h,
const float size,
const unsigned int col,
const float lineWidth 
)
+
+ +
+
+ +

◆ duIntToCol() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duIntToCol (int i,
float * col 
)
+
+ +
+
+ +

◆ duIntToCol() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
unsigned int duIntToCol (int i,
int a 
)
+
+ +
+
+ +

◆ evalArc()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void evalArc (const float x0,
const float y0,
const float z0,
const float dx,
const float dy,
const float dz,
const float h,
const float u,
float * res 
)
+
+inline
+
+ +
+
+ +

◆ vcross()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void vcross (float * dest,
const float * v1,
const float * v2 
)
+
+inline
+
+ +
+
+ +

◆ vdistSqr()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
float vdistSqr (const float * v1,
const float * v2 
)
+
+inline
+
+ +
+
+ +

◆ vnormalize()

+ +
+
+ + + + + +
+ + + + + + + + +
void vnormalize (float * v)
+
+inline
+
+ +
+
+ +

◆ vsub()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void vsub (float * dest,
const float * v1,
const float * v2 
)
+
+inline
+
+ +
+
+
+
+ + + + + diff --git a/DebugDraw_8cpp.js b/DebugDraw_8cpp.js new file mode 100644 index 00000000..2c3a1d09 --- /dev/null +++ b/DebugDraw_8cpp.js @@ -0,0 +1,31 @@ +var DebugDraw_8cpp = +[ + [ "appendArrowHead", "DebugDraw_8cpp.html#a92fe9ab381b78d4826302d41f9e3445a", null ], + [ "bit", "DebugDraw_8cpp.html#a540a122c002c99d142af5bfaac50b43d", null ], + [ "duAppendArc", "DebugDraw_8cpp.html#a4abde7bf119bbc15c7ce11e0fd29f433", null ], + [ "duAppendArrow", "DebugDraw_8cpp.html#af903a7d4db1e5a0b5199530b30fa0d04", null ], + [ "duAppendBox", "DebugDraw_8cpp.html#a31e157d9851ea970b3846f2e414a7a6b", null ], + [ "duAppendBoxPoints", "DebugDraw_8cpp.html#af642edb7bee9ad03a4888734aabc8722", null ], + [ "duAppendBoxWire", "DebugDraw_8cpp.html#ad8477d27dac2e71ac54ab62b57681444", null ], + [ "duAppendCircle", "DebugDraw_8cpp.html#a20f175472f6ec05add11a46ea87216ac", null ], + [ "duAppendCross", "DebugDraw_8cpp.html#a39a74525468b9153cc928f670a1bff6b", null ], + [ "duAppendCylinder", "DebugDraw_8cpp.html#ac8e97c3691067f8e62ed9f8eb3b255f7", null ], + [ "duAppendCylinderWire", "DebugDraw_8cpp.html#abb1f308b5bc7bf286afdde8b5bfeda7f", null ], + [ "duCalcBoxColors", "DebugDraw_8cpp.html#aed1355423ffd7e15f1114ff985836be0", null ], + [ "duDebugDrawArc", "DebugDraw_8cpp.html#a5f9e91a48539eaead1b44f1f1235093d", null ], + [ "duDebugDrawArrow", "DebugDraw_8cpp.html#abf367a1fd1a0fbb2993beb99454e095c", null ], + [ "duDebugDrawBox", "DebugDraw_8cpp.html#a445be6c90ff146c39c5ba3c9c4597be1", null ], + [ "duDebugDrawBoxWire", "DebugDraw_8cpp.html#aa351fc1c5dd7f39140446690e6784395", null ], + [ "duDebugDrawCircle", "DebugDraw_8cpp.html#a9701dd640ff0167c71e02921bb5004e2", null ], + [ "duDebugDrawCross", "DebugDraw_8cpp.html#afbf7aba36432ed758d110faac052043f", null ], + [ "duDebugDrawCylinder", "DebugDraw_8cpp.html#a02552e2c7419bd786631e6f443826004", null ], + [ "duDebugDrawCylinderWire", "DebugDraw_8cpp.html#a8d197b1cb938eb6a5d395fe86454fbc8", null ], + [ "duDebugDrawGridXZ", "DebugDraw_8cpp.html#abe21ceb0657dac9e04e7314e1636b6c7", null ], + [ "duIntToCol", "DebugDraw_8cpp.html#aa7ed02712813d056a5a092b0eb30b23f", null ], + [ "duIntToCol", "DebugDraw_8cpp.html#a731cb6ff6a2a2f0ef9867339999cc615", null ], + [ "evalArc", "DebugDraw_8cpp.html#a1981953ed43c0c1f2bf6c49dff16b092", null ], + [ "vcross", "DebugDraw_8cpp.html#a053fd5d6f9516c4e4e00ba86fcc602f8", null ], + [ "vdistSqr", "DebugDraw_8cpp.html#a4417fb2f20aaaa3e0d8e4a7e20b5cad9", null ], + [ "vnormalize", "DebugDraw_8cpp.html#a484d2a62675fb9c02e36ebd5ae9a1409", null ], + [ "vsub", "DebugDraw_8cpp.html#a5d1da618860cf741dca5e79581948dc2", null ] +]; \ No newline at end of file diff --git a/DebugDraw_8h.html b/DebugDraw_8h.html new file mode 100644 index 00000000..56976710 --- /dev/null +++ b/DebugDraw_8h.html @@ -0,0 +1,1768 @@ + + + + + + + +Recast Navigation: DebugDraw.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DebugDraw.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + +

+Classes

struct  duDebugDraw
 Abstract debug draw interface. More...
 
class  duDisplayList
 
+ + + +

+Enumerations

enum  duDebugDrawPrimitives { DU_DRAW_POINTS +, DU_DRAW_LINES +, DU_DRAW_TRIS +, DU_DRAW_QUADS + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

unsigned int duRGBA (int r, int g, int b, int a)
 
unsigned int duRGBAf (float fr, float fg, float fb, float fa)
 
unsigned int duIntToCol (int i, int a)
 
void duIntToCol (int i, float *col)
 
unsigned int duMultCol (const unsigned int col, const unsigned int d)
 
unsigned int duDarkenCol (unsigned int col)
 
unsigned int duLerpCol (unsigned int ca, unsigned int cb, unsigned int u)
 
unsigned int duTransCol (unsigned int c, unsigned int a)
 
void duCalcBoxColors (unsigned int *colors, unsigned int colTop, unsigned int colSide)
 
void duDebugDrawCylinderWire (struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col, const float lineWidth)
 
void duDebugDrawBoxWire (struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col, const float lineWidth)
 
void duDebugDrawArc (struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float h, const float as0, const float as1, unsigned int col, const float lineWidth)
 
void duDebugDrawArrow (struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float as0, const float as1, unsigned int col, const float lineWidth)
 
void duDebugDrawCircle (struct duDebugDraw *dd, const float x, const float y, const float z, const float r, unsigned int col, const float lineWidth)
 
void duDebugDrawCross (struct duDebugDraw *dd, const float x, const float y, const float z, const float size, unsigned int col, const float lineWidth)
 
void duDebugDrawBox (struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, const unsigned int *fcol)
 
void duDebugDrawCylinder (struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col)
 
void duDebugDrawGridXZ (struct duDebugDraw *dd, const float ox, const float oy, const float oz, const int w, const int h, const float size, const unsigned int col, const float lineWidth)
 
void duAppendCylinderWire (struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col)
 
void duAppendBoxWire (struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col)
 
void duAppendBoxPoints (struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col)
 
void duAppendArc (struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float h, const float as0, const float as1, unsigned int col)
 
void duAppendArrow (struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float as0, const float as1, unsigned int col)
 
void duAppendCircle (struct duDebugDraw *dd, const float x, const float y, const float z, const float r, unsigned int col)
 
void duAppendCross (struct duDebugDraw *dd, const float x, const float y, const float z, const float size, unsigned int col)
 
void duAppendBox (struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, const unsigned int *fcol)
 
void duAppendCylinder (struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col)
 
+ + + +

+Variables

static const float DU_PI = 3.14159265f
 
+

Enumeration Type Documentation

+ +

◆ duDebugDrawPrimitives

+ +
+
+ + + + +
enum duDebugDrawPrimitives
+
+ + + + + +
Enumerator
DU_DRAW_POINTS 
DU_DRAW_LINES 
DU_DRAW_TRIS 
DU_DRAW_QUADS 
+ +
+
+

Function Documentation

+ +

◆ duAppendArc()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duAppendArc (struct duDebugDrawdd,
const float x0,
const float y0,
const float z0,
const float x1,
const float y1,
const float z1,
const float h,
const float as0,
const float as1,
unsigned int col 
)
+
+ +
+
+ +

◆ duAppendArrow()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duAppendArrow (struct duDebugDrawdd,
const float x0,
const float y0,
const float z0,
const float x1,
const float y1,
const float z1,
const float as0,
const float as1,
unsigned int col 
)
+
+ +
+
+ +

◆ duAppendBox()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duAppendBox (struct duDebugDrawdd,
float minx,
float miny,
float minz,
float maxx,
float maxy,
float maxz,
const unsigned int * fcol 
)
+
+ +
+
+ +

◆ duAppendBoxPoints()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duAppendBoxPoints (struct duDebugDrawdd,
float minx,
float miny,
float minz,
float maxx,
float maxy,
float maxz,
unsigned int col 
)
+
+ +
+
+ +

◆ duAppendBoxWire()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duAppendBoxWire (struct duDebugDrawdd,
float minx,
float miny,
float minz,
float maxx,
float maxy,
float maxz,
unsigned int col 
)
+
+ +
+
+ +

◆ duAppendCircle()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duAppendCircle (struct duDebugDrawdd,
const float x,
const float y,
const float z,
const float r,
unsigned int col 
)
+
+ +
+
+ +

◆ duAppendCross()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duAppendCross (struct duDebugDrawdd,
const float x,
const float y,
const float z,
const float size,
unsigned int col 
)
+
+ +
+
+ +

◆ duAppendCylinder()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duAppendCylinder (struct duDebugDrawdd,
float minx,
float miny,
float minz,
float maxx,
float maxy,
float maxz,
unsigned int col 
)
+
+ +
+
+ +

◆ duAppendCylinderWire()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duAppendCylinderWire (struct duDebugDrawdd,
float minx,
float miny,
float minz,
float maxx,
float maxy,
float maxz,
unsigned int col 
)
+
+ +
+
+ +

◆ duCalcBoxColors()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void duCalcBoxColors (unsigned int * colors,
unsigned int colTop,
unsigned int colSide 
)
+
+ +
+
+ +

◆ duDarkenCol()

+ +
+
+ + + + + +
+ + + + + + + + +
unsigned int duDarkenCol (unsigned int col)
+
+inline
+
+ +
+
+ +

◆ duDebugDrawArc()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawArc (struct duDebugDrawdd,
const float x0,
const float y0,
const float z0,
const float x1,
const float y1,
const float z1,
const float h,
const float as0,
const float as1,
unsigned int col,
const float lineWidth 
)
+
+ +
+
+ +

◆ duDebugDrawArrow()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawArrow (struct duDebugDrawdd,
const float x0,
const float y0,
const float z0,
const float x1,
const float y1,
const float z1,
const float as0,
const float as1,
unsigned int col,
const float lineWidth 
)
+
+ +
+
+ +

◆ duDebugDrawBox()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawBox (struct duDebugDrawdd,
float minx,
float miny,
float minz,
float maxx,
float maxy,
float maxz,
const unsigned int * fcol 
)
+
+ +
+
+ +

◆ duDebugDrawBoxWire()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawBoxWire (struct duDebugDrawdd,
float minx,
float miny,
float minz,
float maxx,
float maxy,
float maxz,
unsigned int col,
const float lineWidth 
)
+
+ +
+
+ +

◆ duDebugDrawCircle()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawCircle (struct duDebugDrawdd,
const float x,
const float y,
const float z,
const float r,
unsigned int col,
const float lineWidth 
)
+
+ +
+
+ +

◆ duDebugDrawCross()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawCross (struct duDebugDrawdd,
const float x,
const float y,
const float z,
const float size,
unsigned int col,
const float lineWidth 
)
+
+ +
+
+ +

◆ duDebugDrawCylinder()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawCylinder (struct duDebugDrawdd,
float minx,
float miny,
float minz,
float maxx,
float maxy,
float maxz,
unsigned int col 
)
+
+ +
+
+ +

◆ duDebugDrawCylinderWire()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawCylinderWire (struct duDebugDrawdd,
float minx,
float miny,
float minz,
float maxx,
float maxy,
float maxz,
unsigned int col,
const float lineWidth 
)
+
+ +
+
+ +

◆ duDebugDrawGridXZ()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawGridXZ (struct duDebugDrawdd,
const float ox,
const float oy,
const float oz,
const int w,
const int h,
const float size,
const unsigned int col,
const float lineWidth 
)
+
+ +
+
+ +

◆ duIntToCol() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duIntToCol (int i,
float * col 
)
+
+ +
+
+ +

◆ duIntToCol() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
unsigned int duIntToCol (int i,
int a 
)
+
+ +
+
+ +

◆ duLerpCol()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
unsigned int duLerpCol (unsigned int ca,
unsigned int cb,
unsigned int u 
)
+
+inline
+
+ +
+
+ +

◆ duMultCol()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
unsigned int duMultCol (const unsigned int col,
const unsigned int d 
)
+
+inline
+
+ +
+
+ +

◆ duRGBA()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
unsigned int duRGBA (int r,
int g,
int b,
int a 
)
+
+inline
+
+ +
+
+ +

◆ duRGBAf()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
unsigned int duRGBAf (float fr,
float fg,
float fb,
float fa 
)
+
+inline
+
+ +
+
+ +

◆ duTransCol()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
unsigned int duTransCol (unsigned int c,
unsigned int a 
)
+
+inline
+
+ +
+
+

Variable Documentation

+ +

◆ DU_PI

+ +
+
+ + + + + +
+ + + + +
const float DU_PI = 3.14159265f
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/DebugDraw_8h.js b/DebugDraw_8h.js new file mode 100644 index 00000000..01f8e6ad --- /dev/null +++ b/DebugDraw_8h.js @@ -0,0 +1,39 @@ +var DebugDraw_8h = +[ + [ "duDebugDraw", "structduDebugDraw.html", "structduDebugDraw" ], + [ "duDisplayList", "classduDisplayList.html", "classduDisplayList" ], + [ "duDebugDrawPrimitives", "DebugDraw_8h.html#af30c0ce53d5b11fe9d2da8bbd903e90d", [ + [ "DU_DRAW_POINTS", "DebugDraw_8h.html#af30c0ce53d5b11fe9d2da8bbd903e90daf1f6f547b96e18d80d1ac6bb54c66d58", null ], + [ "DU_DRAW_LINES", "DebugDraw_8h.html#af30c0ce53d5b11fe9d2da8bbd903e90daae8de3f08d690327bfb9576eaead88a5", null ], + [ "DU_DRAW_TRIS", "DebugDraw_8h.html#af30c0ce53d5b11fe9d2da8bbd903e90dae12876d337e2889fa1aea98caa926242", null ], + [ "DU_DRAW_QUADS", "DebugDraw_8h.html#af30c0ce53d5b11fe9d2da8bbd903e90da43d97537acb0edeec852a77c75de6b87", null ] + ] ], + [ "duAppendArc", "DebugDraw_8h.html#a4abde7bf119bbc15c7ce11e0fd29f433", null ], + [ "duAppendArrow", "DebugDraw_8h.html#af903a7d4db1e5a0b5199530b30fa0d04", null ], + [ "duAppendBox", "DebugDraw_8h.html#a31e157d9851ea970b3846f2e414a7a6b", null ], + [ "duAppendBoxPoints", "DebugDraw_8h.html#af642edb7bee9ad03a4888734aabc8722", null ], + [ "duAppendBoxWire", "DebugDraw_8h.html#ad8477d27dac2e71ac54ab62b57681444", null ], + [ "duAppendCircle", "DebugDraw_8h.html#a20f175472f6ec05add11a46ea87216ac", null ], + [ "duAppendCross", "DebugDraw_8h.html#a9f4496fab81105908e92c2cfb8a8155b", null ], + [ "duAppendCylinder", "DebugDraw_8h.html#ac8e97c3691067f8e62ed9f8eb3b255f7", null ], + [ "duAppendCylinderWire", "DebugDraw_8h.html#abb1f308b5bc7bf286afdde8b5bfeda7f", null ], + [ "duCalcBoxColors", "DebugDraw_8h.html#aed1355423ffd7e15f1114ff985836be0", null ], + [ "duDarkenCol", "DebugDraw_8h.html#ab829d0ae7d4e7aa199bea0a6bf27b5f5", null ], + [ "duDebugDrawArc", "DebugDraw_8h.html#a5f9e91a48539eaead1b44f1f1235093d", null ], + [ "duDebugDrawArrow", "DebugDraw_8h.html#abf367a1fd1a0fbb2993beb99454e095c", null ], + [ "duDebugDrawBox", "DebugDraw_8h.html#a445be6c90ff146c39c5ba3c9c4597be1", null ], + [ "duDebugDrawBoxWire", "DebugDraw_8h.html#aa351fc1c5dd7f39140446690e6784395", null ], + [ "duDebugDrawCircle", "DebugDraw_8h.html#a9701dd640ff0167c71e02921bb5004e2", null ], + [ "duDebugDrawCross", "DebugDraw_8h.html#afbf7aba36432ed758d110faac052043f", null ], + [ "duDebugDrawCylinder", "DebugDraw_8h.html#a02552e2c7419bd786631e6f443826004", null ], + [ "duDebugDrawCylinderWire", "DebugDraw_8h.html#a8d197b1cb938eb6a5d395fe86454fbc8", null ], + [ "duDebugDrawGridXZ", "DebugDraw_8h.html#abe21ceb0657dac9e04e7314e1636b6c7", null ], + [ "duIntToCol", "DebugDraw_8h.html#aa7ed02712813d056a5a092b0eb30b23f", null ], + [ "duIntToCol", "DebugDraw_8h.html#a731cb6ff6a2a2f0ef9867339999cc615", null ], + [ "duLerpCol", "DebugDraw_8h.html#af86f10d8c5ee26ff8f70a9dbd457b76a", null ], + [ "duMultCol", "DebugDraw_8h.html#afe81eed2bd74c26dc0fc402c509571f7", null ], + [ "duRGBA", "DebugDraw_8h.html#af2db5f73ed824805a2f93ee69734aebf", null ], + [ "duRGBAf", "DebugDraw_8h.html#ab37b3884a567e012a9149cf260cb1a02", null ], + [ "duTransCol", "DebugDraw_8h.html#aba3168c3b213a2a18a2ca637e2b009b8", null ], + [ "DU_PI", "DebugDraw_8h.html#a247fb659fe4d8f5a813f33e8ba9f5571", null ] +]; \ No newline at end of file diff --git a/DebugDraw_8h_source.html b/DebugDraw_8h_source.html new file mode 100644 index 00000000..6959d146 --- /dev/null +++ b/DebugDraw_8h_source.html @@ -0,0 +1,361 @@ + + + + + + + +Recast Navigation: DebugDraw.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DebugDraw.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 DEBUGDRAW_H
+
20 #define DEBUGDRAW_H
+
21 
+
22 // Some math headers don't have PI defined.
+
23 static const float DU_PI = 3.14159265f;
+
24 
+ +
26 {
+ + + + +
31 };
+
32 
+ +
35 {
+
36  virtual ~duDebugDraw() = 0;
+
37 
+
38  virtual void depthMask(bool state) = 0;
+
39 
+
40  virtual void texture(bool state) = 0;
+
41 
+
45  virtual void begin(duDebugDrawPrimitives prim, float size = 1.0f) = 0;
+
46 
+
50  virtual void vertex(const float* pos, unsigned int color) = 0;
+
51 
+
55  virtual void vertex(const float x, const float y, const float z, unsigned int color) = 0;
+
56 
+
61  virtual void vertex(const float* pos, unsigned int color, const float* uv) = 0;
+
62 
+
67  virtual void vertex(const float x, const float y, const float z, unsigned int color, const float u, const float v) = 0;
+
68 
+
70  virtual void end() = 0;
+
71 
+
73  virtual unsigned int areaToCol(unsigned int area);
+
74 };
+
75 
+
76 inline unsigned int duRGBA(int r, int g, int b, int a)
+
77 {
+
78  return ((unsigned int)r) | ((unsigned int)g << 8) | ((unsigned int)b << 16) | ((unsigned int)a << 24);
+
79 }
+
80 
+
81 inline unsigned int duRGBAf(float fr, float fg, float fb, float fa)
+
82 {
+
83  unsigned char r = (unsigned char)(fr*255.0f);
+
84  unsigned char g = (unsigned char)(fg*255.0f);
+
85  unsigned char b = (unsigned char)(fb*255.0f);
+
86  unsigned char a = (unsigned char)(fa*255.0f);
+
87  return duRGBA(r,g,b,a);
+
88 }
+
89 
+
90 unsigned int duIntToCol(int i, int a);
+
91 void duIntToCol(int i, float* col);
+
92 
+
93 inline unsigned int duMultCol(const unsigned int col, const unsigned int d)
+
94 {
+
95  const unsigned int r = col & 0xff;
+
96  const unsigned int g = (col >> 8) & 0xff;
+
97  const unsigned int b = (col >> 16) & 0xff;
+
98  const unsigned int a = (col >> 24) & 0xff;
+
99  return duRGBA((r*d) >> 8, (g*d) >> 8, (b*d) >> 8, a);
+
100 }
+
101 
+
102 inline unsigned int duDarkenCol(unsigned int col)
+
103 {
+
104  return ((col >> 1) & 0x007f7f7f) | (col & 0xff000000);
+
105 }
+
106 
+
107 inline unsigned int duLerpCol(unsigned int ca, unsigned int cb, unsigned int u)
+
108 {
+
109  const unsigned int ra = ca & 0xff;
+
110  const unsigned int ga = (ca >> 8) & 0xff;
+
111  const unsigned int ba = (ca >> 16) & 0xff;
+
112  const unsigned int aa = (ca >> 24) & 0xff;
+
113  const unsigned int rb = cb & 0xff;
+
114  const unsigned int gb = (cb >> 8) & 0xff;
+
115  const unsigned int bb = (cb >> 16) & 0xff;
+
116  const unsigned int ab = (cb >> 24) & 0xff;
+
117 
+
118  unsigned int r = (ra*(255-u) + rb*u)/255;
+
119  unsigned int g = (ga*(255-u) + gb*u)/255;
+
120  unsigned int b = (ba*(255-u) + bb*u)/255;
+
121  unsigned int a = (aa*(255-u) + ab*u)/255;
+
122  return duRGBA(r,g,b,a);
+
123 }
+
124 
+
125 inline unsigned int duTransCol(unsigned int c, unsigned int a)
+
126 {
+
127  return (a<<24) | (c & 0x00ffffff);
+
128 }
+
129 
+
130 
+
131 void duCalcBoxColors(unsigned int* colors, unsigned int colTop, unsigned int colSide);
+
132 
+
133 void duDebugDrawCylinderWire(struct duDebugDraw* dd, float minx, float miny, float minz,
+
134  float maxx, float maxy, float maxz, unsigned int col, const float lineWidth);
+
135 
+
136 void duDebugDrawBoxWire(struct duDebugDraw* dd, float minx, float miny, float minz,
+
137  float maxx, float maxy, float maxz, unsigned int col, const float lineWidth);
+
138 
+
139 void duDebugDrawArc(struct duDebugDraw* dd, const float x0, const float y0, const float z0,
+
140  const float x1, const float y1, const float z1, const float h,
+
141  const float as0, const float as1, unsigned int col, const float lineWidth);
+
142 
+
143 void duDebugDrawArrow(struct duDebugDraw* dd, const float x0, const float y0, const float z0,
+
144  const float x1, const float y1, const float z1,
+
145  const float as0, const float as1, unsigned int col, const float lineWidth);
+
146 
+
147 void duDebugDrawCircle(struct duDebugDraw* dd, const float x, const float y, const float z,
+
148  const float r, unsigned int col, const float lineWidth);
+
149 
+
150 void duDebugDrawCross(struct duDebugDraw* dd, const float x, const float y, const float z,
+
151  const float size, unsigned int col, const float lineWidth);
+
152 
+
153 void duDebugDrawBox(struct duDebugDraw* dd, float minx, float miny, float minz,
+
154  float maxx, float maxy, float maxz, const unsigned int* fcol);
+
155 
+
156 void duDebugDrawCylinder(struct duDebugDraw* dd, float minx, float miny, float minz,
+
157  float maxx, float maxy, float maxz, unsigned int col);
+
158 
+
159 void duDebugDrawGridXZ(struct duDebugDraw* dd, const float ox, const float oy, const float oz,
+
160  const int w, const int h, const float size,
+
161  const unsigned int col, const float lineWidth);
+
162 
+
163 
+
164 // Versions without begin/end, can be used to draw multiple primitives.
+
165 void duAppendCylinderWire(struct duDebugDraw* dd, float minx, float miny, float minz,
+
166  float maxx, float maxy, float maxz, unsigned int col);
+
167 
+
168 void duAppendBoxWire(struct duDebugDraw* dd, float minx, float miny, float minz,
+
169  float maxx, float maxy, float maxz, unsigned int col);
+
170 
+
171 void duAppendBoxPoints(struct duDebugDraw* dd, float minx, float miny, float minz,
+
172  float maxx, float maxy, float maxz, unsigned int col);
+
173 
+
174 void duAppendArc(struct duDebugDraw* dd, const float x0, const float y0, const float z0,
+
175  const float x1, const float y1, const float z1, const float h,
+
176  const float as0, const float as1, unsigned int col);
+
177 
+
178 void duAppendArrow(struct duDebugDraw* dd, const float x0, const float y0, const float z0,
+
179  const float x1, const float y1, const float z1,
+
180  const float as0, const float as1, unsigned int col);
+
181 
+
182 void duAppendCircle(struct duDebugDraw* dd, const float x, const float y, const float z,
+
183  const float r, unsigned int col);
+
184 
+
185 void duAppendCross(struct duDebugDraw* dd, const float x, const float y, const float z,
+
186  const float size, unsigned int col);
+
187 
+
188 void duAppendBox(struct duDebugDraw* dd, float minx, float miny, float minz,
+
189  float maxx, float maxy, float maxz, const unsigned int* fcol);
+
190 
+
191 void duAppendCylinder(struct duDebugDraw* dd, float minx, float miny, float minz,
+
192  float maxx, float maxy, float maxz, unsigned int col);
+
193 
+
194 
+ +
196 {
+
197  float* m_pos;
+
198  unsigned int* m_color;
+
199  int m_size;
+
200  int m_cap;
+
201 
+
202  duDebugDrawPrimitives m_prim;
+
203  float m_primSize;
+
204  bool m_depthMask;
+
205 
+
206  void resize(int cap);
+
207 
+
208 public:
+
209  duDisplayList(int cap = 512);
+
210  virtual ~duDisplayList();
+
211  virtual void depthMask(bool state);
+
212  virtual void begin(duDebugDrawPrimitives prim, float size = 1.0f);
+
213  virtual void vertex(const float x, const float y, const float z, unsigned int color);
+
214  virtual void vertex(const float* pos, unsigned int color);
+
215  virtual void end();
+
216  void clear();
+
217  void draw(struct duDebugDraw* dd);
+
218 private:
+
219  // Explicitly disabled copy constructor and copy assignment operator.
+ +
221  duDisplayList& operator=(const duDisplayList&);
+
222 };
+
223 
+
224 
+
225 #endif // DEBUGDRAW_H
+
void duDebugDrawCylinder(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col)
Definition: DebugDraw.cpp:150
+
void duAppendCircle(struct duDebugDraw *dd, const float x, const float y, const float z, const float r, unsigned int col)
Definition: DebugDraw.cpp:490
+
static const float DU_PI
Definition: DebugDraw.h:23
+
void duAppendBox(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, const unsigned int *fcol)
Definition: DebugDraw.cpp:279
+
void duDebugDrawBox(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, const unsigned int *fcol)
Definition: DebugDraw.cpp:140
+
void duAppendArc(struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float h, const float as0, const float as1, unsigned int col)
Definition: DebugDraw.cpp:431
+
void duDebugDrawArc(struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float h, const float as0, const float as1, unsigned int col, const float lineWidth)
Definition: DebugDraw.cpp:98
+
unsigned int duIntToCol(int i, int a)
Definition: DebugDraw.cpp:48
+
void duDebugDrawCylinderWire(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col, const float lineWidth)
Definition: DebugDraw.cpp:78
+
void duDebugDrawCircle(struct duDebugDraw *dd, const float x, const float y, const float z, const float r, unsigned int col, const float lineWidth)
Definition: DebugDraw.cpp:120
+
void duAppendCross(struct duDebugDraw *dd, const float x, const float y, const float z, const float size, unsigned int col)
Definition: DebugDraw.cpp:515
+
void duDebugDrawBoxWire(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col, const float lineWidth)
Definition: DebugDraw.cpp:88
+
unsigned int duRGBAf(float fr, float fg, float fb, float fa)
Definition: DebugDraw.h:81
+
unsigned int duDarkenCol(unsigned int col)
Definition: DebugDraw.h:102
+
unsigned int duTransCol(unsigned int c, unsigned int a)
Definition: DebugDraw.h:125
+
void duAppendCylinderWire(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col)
Definition: DebugDraw.cpp:181
+
void duDebugDrawGridXZ(struct duDebugDraw *dd, const float ox, const float oy, const float oz, const int w, const int h, const float size, const unsigned int col, const float lineWidth)
Definition: DebugDraw.cpp:160
+
void duDebugDrawArrow(struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float as0, const float as1, unsigned int col, const float lineWidth)
Definition: DebugDraw.cpp:109
+
void duAppendCylinder(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col)
Definition: DebugDraw.cpp:314
+
void duAppendBoxWire(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col)
Definition: DebugDraw.cpp:219
+
void duCalcBoxColors(unsigned int *colors, unsigned int colTop, unsigned int colSide)
Definition: DebugDraw.cpp:66
+
unsigned int duRGBA(int r, int g, int b, int a)
Definition: DebugDraw.h:76
+
duDebugDrawPrimitives
Definition: DebugDraw.h:26
+
@ DU_DRAW_QUADS
Definition: DebugDraw.h:30
+
@ DU_DRAW_LINES
Definition: DebugDraw.h:28
+
@ DU_DRAW_TRIS
Definition: DebugDraw.h:29
+
@ DU_DRAW_POINTS
Definition: DebugDraw.h:27
+
void duAppendBoxPoints(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col)
Definition: DebugDraw.cpp:254
+
unsigned int duLerpCol(unsigned int ca, unsigned int cb, unsigned int u)
Definition: DebugDraw.h:107
+
void duAppendArrow(struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float as0, const float as1, unsigned int col)
Definition: DebugDraw.cpp:473
+
void duDebugDrawCross(struct duDebugDraw *dd, const float x, const float y, const float z, const float size, unsigned int col, const float lineWidth)
Definition: DebugDraw.cpp:130
+
unsigned int duMultCol(const unsigned int col, const unsigned int d)
Definition: DebugDraw.h:93
+
Definition: DebugDraw.h:196
+
virtual void depthMask(bool state)
Definition: DebugDraw.cpp:569
+
void draw(struct duDebugDraw *dd)
Definition: DebugDraw.cpp:602
+
void clear()
Definition: DebugDraw.cpp:564
+
virtual ~duDisplayList()
Definition: DebugDraw.cpp:541
+
duDisplayList(int cap=512)
Definition: DebugDraw.cpp:527
+
virtual void begin(duDebugDrawPrimitives prim, float size=1.0f)
Begin drawing primitives.
Definition: DebugDraw.cpp:574
+
virtual void end()
End drawing primitives.
Definition: DebugDraw.cpp:598
+
virtual void vertex(const float x, const float y, const float z, unsigned int color)
Submit a vertex.
Definition: DebugDraw.cpp:581
+
Abstract debug draw interface.
Definition: DebugDraw.h:35
+
virtual void vertex(const float x, const float y, const float z, unsigned int color, const float u, const float v)=0
Submit a vertex.
+
virtual void vertex(const float x, const float y, const float z, unsigned int color)=0
Submit a vertex.
+
virtual void begin(duDebugDrawPrimitives prim, float size=1.0f)=0
Begin drawing primitives.
+
virtual void vertex(const float *pos, unsigned int color, const float *uv)=0
Submit a vertex.
+
virtual void vertex(const float *pos, unsigned int color)=0
Submit a vertex.
+
virtual unsigned int areaToCol(unsigned int area)
Compute a color for given area.
Definition: DebugDraw.cpp:30
+
virtual void depthMask(bool state)=0
+
virtual void end()=0
End drawing primitives.
+
virtual ~duDebugDraw()=0
Definition: DebugDraw.cpp:25
+
virtual void texture(bool state)=0
+
+
+ + + + + diff --git a/DetourAlloc_8cpp.html b/DetourAlloc_8cpp.html new file mode 100644 index 00000000..5d681cca --- /dev/null +++ b/DetourAlloc_8cpp.html @@ -0,0 +1,344 @@ + + + + + + + +Recast Navigation: DetourAlloc.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourAlloc.cpp File Reference
+
+
+
#include <stdlib.h>
+#include "DetourAlloc.h"
+
+ + + + + + + + + + + + + + +

+Functions

static void * dtAllocDefault (size_t size, dtAllocHint)
 
static void dtFreeDefault (void *ptr)
 
void dtAllocSetCustom (dtAllocFunc *allocFunc, dtFreeFunc *freeFunc)
 Sets the base custom allocation functions to be used by Detour. More...
 
void * dtAlloc (size_t size, dtAllocHint hint)
 Allocates a memory block. More...
 
void dtFree (void *ptr)
 Deallocates a memory block. More...
 
+ + + + + +

+Variables

static dtAllocFuncsAllocFunc = dtAllocDefault
 
static dtFreeFuncsFreeFunc = dtFreeDefault
 
+

Function Documentation

+ +

◆ dtAlloc()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void* dtAlloc (size_t size,
dtAllocHint hint 
)
+
+ +

Allocates a memory block.

+
Parameters
+ + + +
[in]sizeThe size, in bytes of memory, to allocate.
[in]hintA hint to the allocator on how long the memory is expected to be in use.
+
+
+
Returns
A pointer to the beginning of the allocated memory block, or null if the allocation failed.
+
See also
dtFree
+ +
+
+ +

◆ dtAllocDefault()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void* dtAllocDefault (size_t size,
dtAllocHint  
)
+
+static
+
+ +
+
+ +

◆ dtAllocSetCustom()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void dtAllocSetCustom (dtAllocFuncallocFunc,
dtFreeFuncfreeFunc 
)
+
+ +

Sets the base custom allocation functions to be used by Detour.

+
Parameters
+ + + +
[in]allocFuncThe memory allocation function to be used by dtAlloc
[in]freeFuncThe memory de-allocation function to be used by dtFree
+
+
+ +
+
+ +

◆ dtFree()

+ +
+
+ + + + + + + + +
void dtFree (void * ptr)
+
+ +

Deallocates a memory block.

+
Parameters
+ + +
[in]ptrA pointer to a memory block previously allocated using dtAlloc.
+
+
+
See also
dtAlloc
+ +
+
+ +

◆ dtFreeDefault()

+ +
+
+ + + + + +
+ + + + + + + + +
static void dtFreeDefault (void * ptr)
+
+static
+
+ +
+
+

Variable Documentation

+ +

◆ sAllocFunc

+ +
+
+ + + + + +
+ + + + +
dtAllocFunc* sAllocFunc = dtAllocDefault
+
+static
+
+ +
+
+ +

◆ sFreeFunc

+ +
+
+ + + + + +
+ + + + +
dtFreeFunc* sFreeFunc = dtFreeDefault
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/DetourAlloc_8cpp.js b/DetourAlloc_8cpp.js new file mode 100644 index 00000000..a620aaac --- /dev/null +++ b/DetourAlloc_8cpp.js @@ -0,0 +1,10 @@ +var DetourAlloc_8cpp = +[ + [ "dtAlloc", "DetourAlloc_8cpp.html#ac7a1c461b037f7cc0cd1b2e480d12920", null ], + [ "dtAllocDefault", "DetourAlloc_8cpp.html#aa7c0af28baaf8fe3cc98abd4d7b6e9ea", null ], + [ "dtAllocSetCustom", "DetourAlloc_8cpp.html#af867be65f8ee4fcdcabd89cca01f2f4a", null ], + [ "dtFree", "DetourAlloc_8cpp.html#adb7919ae2642d1a487ce5fce6ae3af0d", null ], + [ "dtFreeDefault", "DetourAlloc_8cpp.html#ab4adb8d35383b40b861395dc36b82a3e", null ], + [ "sAllocFunc", "DetourAlloc_8cpp.html#a0f08afad9e7466f3ccbddf92700b5342", null ], + [ "sFreeFunc", "DetourAlloc_8cpp.html#a8175e527667d6a55c4acd7c573ea2ccb", null ] +]; \ No newline at end of file diff --git a/DetourAlloc_8h.html b/DetourAlloc_8h.html new file mode 100644 index 00000000..0a1f9010 --- /dev/null +++ b/DetourAlloc_8h.html @@ -0,0 +1,309 @@ + + + + + + + +Recast Navigation: DetourAlloc.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourAlloc.h File Reference
+
+
+
#include <stddef.h>
+
+

Go to the source code of this file.

+ + + + + + + + +

+Typedefs

typedef void *() dtAllocFunc(size_t size, dtAllocHint hint)
 A memory allocation function. More...
 
typedef void() dtFreeFunc(void *ptr)
 A memory deallocation function. More...
 
+ + + + +

+Enumerations

enum  dtAllocHint { DT_ALLOC_PERM +, DT_ALLOC_TEMP + }
 Provides hint values to the memory allocator on how long the memory is expected to be used. More...
 
+ + + + + + + + + + +

+Functions

void dtAllocSetCustom (dtAllocFunc *allocFunc, dtFreeFunc *freeFunc)
 Sets the base custom allocation functions to be used by Detour. More...
 
void * dtAlloc (size_t size, dtAllocHint hint)
 Allocates a memory block. More...
 
void dtFree (void *ptr)
 Deallocates a memory block. More...
 
+

Typedef Documentation

+ +

◆ dtAllocFunc

+ +
+
+ + + + +
typedef void*() dtAllocFunc(size_t size, dtAllocHint hint)
+
+ +

A memory allocation function.

+
See also
dtAllocSetCustom
+ +
+
+ +

◆ dtFreeFunc

+ +
+
+ + + + +
typedef void() dtFreeFunc(void *ptr)
+
+ +

A memory deallocation function.

+
Parameters
+ + +
[in]ptrA pointer to a memory block previously allocated using dtAllocFunc.
+
+
+
See also
dtAllocSetCustom
+ +
+
+

Enumeration Type Documentation

+ +

◆ dtAllocHint

+ +
+
+ + + + +
enum dtAllocHint
+
+ +

Provides hint values to the memory allocator on how long the memory is expected to be used.

+ + + +
Enumerator
DT_ALLOC_PERM 

Memory persist after a function call.

+
DT_ALLOC_TEMP 

Memory used temporarily within a function.

+
+ +
+
+

Function Documentation

+ +

◆ dtAlloc()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void* dtAlloc (size_t size,
dtAllocHint hint 
)
+
+ +

Allocates a memory block.

+
Parameters
+ + + +
[in]sizeThe size, in bytes of memory, to allocate.
[in]hintA hint to the allocator on how long the memory is expected to be in use.
+
+
+
Returns
A pointer to the beginning of the allocated memory block, or null if the allocation failed.
+
See also
dtFree
+ +
+
+ +

◆ dtAllocSetCustom()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void dtAllocSetCustom (dtAllocFuncallocFunc,
dtFreeFuncfreeFunc 
)
+
+ +

Sets the base custom allocation functions to be used by Detour.

+
Parameters
+ + + +
[in]allocFuncThe memory allocation function to be used by dtAlloc
[in]freeFuncThe memory de-allocation function to be used by dtFree
+
+
+ +
+
+ +

◆ dtFree()

+ +
+
+ + + + + + + + +
void dtFree (void * ptr)
+
+ +

Deallocates a memory block.

+
Parameters
+ + +
[in]ptrA pointer to a memory block previously allocated using dtAlloc.
+
+
+
See also
dtAlloc
+ +
+
+
+
+ + + + + diff --git a/DetourAlloc_8h.js b/DetourAlloc_8h.js new file mode 100644 index 00000000..3da3f1b7 --- /dev/null +++ b/DetourAlloc_8h.js @@ -0,0 +1,12 @@ +var DetourAlloc_8h = +[ + [ "dtAllocFunc", "DetourAlloc_8h.html#a5ff0ad0a4309278f973feae6c4193a3c", null ], + [ "dtFreeFunc", "DetourAlloc_8h.html#a15d9afa65e6a83a6188c7efa3fa50376", null ], + [ "dtAllocHint", "DetourAlloc_8h.html#a318bc084ec7fefd878cd36e0846bd14d", [ + [ "DT_ALLOC_PERM", "DetourAlloc_8h.html#a318bc084ec7fefd878cd36e0846bd14da4b5dc5bf08bcea4978a84327c7faf39f", null ], + [ "DT_ALLOC_TEMP", "DetourAlloc_8h.html#a318bc084ec7fefd878cd36e0846bd14da345c28489f1d9c43bb8d528b4dab5aee", null ] + ] ], + [ "dtAlloc", "DetourAlloc_8h.html#ac7a1c461b037f7cc0cd1b2e480d12920", null ], + [ "dtAllocSetCustom", "DetourAlloc_8h.html#af867be65f8ee4fcdcabd89cca01f2f4a", null ], + [ "dtFree", "DetourAlloc_8h.html#adb7919ae2642d1a487ce5fce6ae3af0d", null ] +]; \ No newline at end of file diff --git a/DetourAlloc_8h_source.html b/DetourAlloc_8h_source.html new file mode 100644 index 00000000..3017a8fd --- /dev/null +++ b/DetourAlloc_8h_source.html @@ -0,0 +1,155 @@ + + + + + + + +Recast Navigation: DetourAlloc.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DetourAlloc.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 DETOURALLOCATOR_H
+
20 #define DETOURALLOCATOR_H
+
21 
+
22 #include <stddef.h>
+
23 
+ +
27 {
+ + +
30 };
+
31 
+
33 // @param[in] size The size, in bytes of memory, to allocate.
+
34 // @param[in] rcAllocHint A hint to the allocator on how long the memory is expected to be in use.
+
35 // @return A pointer to the beginning of the allocated memory block, or null if the allocation failed.
+
37 typedef void* (dtAllocFunc)(size_t size, dtAllocHint hint);
+
38 
+
42 typedef void (dtFreeFunc)(void* ptr);
+
43 
+
47 void dtAllocSetCustom(dtAllocFunc *allocFunc, dtFreeFunc *freeFunc);
+
48 
+
54 void* dtAlloc(size_t size, dtAllocHint hint);
+
55 
+
59 void dtFree(void* ptr);
+
60 
+
61 #endif
+
void() dtFreeFunc(void *ptr)
A memory deallocation function.
Definition: DetourAlloc.h:42
+
dtAllocHint
Provides hint values to the memory allocator on how long the memory is expected to be used.
Definition: DetourAlloc.h:27
+
@ DT_ALLOC_TEMP
Memory used temporarily within a function.
Definition: DetourAlloc.h:29
+
@ DT_ALLOC_PERM
Memory persist after a function call.
Definition: DetourAlloc.h:28
+
void *() dtAllocFunc(size_t size, dtAllocHint hint)
A memory allocation function.
Definition: DetourAlloc.h:37
+
void * dtAlloc(size_t size, dtAllocHint hint)
Allocates a memory block.
Definition: DetourAlloc.cpp:41
+
void dtFree(void *ptr)
Deallocates a memory block.
Definition: DetourAlloc.cpp:46
+
void dtAllocSetCustom(dtAllocFunc *allocFunc, dtFreeFunc *freeFunc)
Sets the base custom allocation functions to be used by Detour.
Definition: DetourAlloc.cpp:35
+
+
+ + + + + diff --git a/DetourAssert_8cpp.html b/DetourAssert_8cpp.html new file mode 100644 index 00000000..ad63298f --- /dev/null +++ b/DetourAssert_8cpp.html @@ -0,0 +1,192 @@ + + + + + + + +Recast Navigation: DetourAssert.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourAssert.cpp File Reference
+
+
+
#include "DetourAssert.h"
+
+ + + + + + + +

+Functions

void dtAssertFailSetCustom (dtAssertFailFunc *assertFailFunc)
 Sets the base custom assertion failure function to be used by Detour. More...
 
dtAssertFailFuncdtAssertFailGetCustom ()
 Gets the base custom assertion failure function to be used by Detour. More...
 
+ + + +

+Variables

static dtAssertFailFuncsAssertFailFunc = 0
 
+

Function Documentation

+ +

◆ dtAssertFailGetCustom()

+ +
+
+ + + + + + + +
dtAssertFailFunc* dtAssertFailGetCustom ()
+
+ +

Gets the base custom assertion failure function to be used by Detour.

+ +
+
+ +

◆ dtAssertFailSetCustom()

+ +
+
+ + + + + + + + +
void dtAssertFailSetCustom (dtAssertFailFuncassertFailFunc)
+
+ +

Sets the base custom assertion failure function to be used by Detour.

+
Parameters
+ + +
[in]assertFailFuncThe function to be invoked in case of failure of dtAssert
+
+
+ +
+
+

Variable Documentation

+ +

◆ sAssertFailFunc

+ +
+
+ + + + + +
+ + + + +
dtAssertFailFunc* sAssertFailFunc = 0
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/DetourAssert_8cpp.js b/DetourAssert_8cpp.js new file mode 100644 index 00000000..89e6190f --- /dev/null +++ b/DetourAssert_8cpp.js @@ -0,0 +1,6 @@ +var DetourAssert_8cpp = +[ + [ "dtAssertFailGetCustom", "DetourAssert_8cpp.html#ad48579f8f6df6d400f91ad83a7d7cad2", null ], + [ "dtAssertFailSetCustom", "DetourAssert_8cpp.html#a34ec62fa292227b2ce32428549fe2b97", null ], + [ "sAssertFailFunc", "DetourAssert_8cpp.html#a7bbc68bcf03ba893c2d7e78eb46e9dd7", null ] +]; \ No newline at end of file diff --git a/DetourAssert_8h.html b/DetourAssert_8h.html new file mode 100644 index 00000000..24963303 --- /dev/null +++ b/DetourAssert_8h.html @@ -0,0 +1,221 @@ + + + + + + + +Recast Navigation: DetourAssert.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourAssert.h File Reference
+
+
+
#include <assert.h>
+
+

Go to the source code of this file.

+ + + + +

+Macros

#define dtAssert(expression)
 
+ + + + +

+Typedefs

typedef void() dtAssertFailFunc(const char *expression, const char *file, int line)
 An assertion failure function. More...
 
+ + + + + + + +

+Functions

void dtAssertFailSetCustom (dtAssertFailFunc *assertFailFunc)
 Sets the base custom assertion failure function to be used by Detour. More...
 
dtAssertFailFuncdtAssertFailGetCustom ()
 Gets the base custom assertion failure function to be used by Detour. More...
 
+

Macro Definition Documentation

+ +

◆ dtAssert

+ +
+
+ + + + + + + + +
#define dtAssert( expression)
+
+Value:
{ \
+
dtAssertFailFunc* failFunc = dtAssertFailGetCustom(); \
+
if(failFunc == NULL) { assert(expression); } \
+
else if(!(expression)) { (*failFunc)(#expression, __FILE__, __LINE__); } \
+
}
+
dtAssertFailFunc * dtAssertFailGetCustom()
Gets the base custom assertion failure function to be used by Detour.
Definition: DetourAssert.cpp:30
+
+
+
+

Typedef Documentation

+ +

◆ dtAssertFailFunc

+ +
+
+ + + + +
typedef void() dtAssertFailFunc(const char *expression, const char *file, int line)
+
+ +

An assertion failure function.

+
See also
dtAssertFailSetCustom
+ +
+
+

Function Documentation

+ +

◆ dtAssertFailGetCustom()

+ +
+
+ + + + + + + +
dtAssertFailFunc* dtAssertFailGetCustom ()
+
+ +

Gets the base custom assertion failure function to be used by Detour.

+ +
+
+ +

◆ dtAssertFailSetCustom()

+ +
+
+ + + + + + + + +
void dtAssertFailSetCustom (dtAssertFailFuncassertFailFunc)
+
+ +

Sets the base custom assertion failure function to be used by Detour.

+
Parameters
+ + +
[in]assertFailFuncThe function to be invoked in case of failure of dtAssert
+
+
+ +
+
+
+
+ + + + + diff --git a/DetourAssert_8h.js b/DetourAssert_8h.js new file mode 100644 index 00000000..c1a91112 --- /dev/null +++ b/DetourAssert_8h.js @@ -0,0 +1,7 @@ +var DetourAssert_8h = +[ + [ "dtAssert", "DetourAssert_8h.html#ad9878e9fa0121ff8d1390e21dc086951", null ], + [ "dtAssertFailFunc", "DetourAssert_8h.html#ad95d59f19355eca1ab12d2773d36455c", null ], + [ "dtAssertFailGetCustom", "DetourAssert_8h.html#ad48579f8f6df6d400f91ad83a7d7cad2", null ], + [ "dtAssertFailSetCustom", "DetourAssert_8h.html#a34ec62fa292227b2ce32428549fe2b97", null ] +]; \ No newline at end of file diff --git a/DetourAssert_8h_source.html b/DetourAssert_8h_source.html new file mode 100644 index 00000000..86d3ab85 --- /dev/null +++ b/DetourAssert_8h_source.html @@ -0,0 +1,158 @@ + + + + + + + +Recast Navigation: DetourAssert.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DetourAssert.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 DETOURASSERT_H
+
20 #define DETOURASSERT_H
+
21 
+
22 // Note: This header file's only purpose is to include define assert.
+
23 // Feel free to change the file and include your own implementation instead.
+
24 
+
25 #ifdef NDEBUG
+
26 
+
27 // From http://cnicholson.net/2009/02/stupid-c-tricks-adventures-in-assert/
+
28 # define dtAssert(x) do { (void)sizeof(x); } while((void)(__LINE__==-1),false)
+
29 
+
30 #else
+
31 
+
33 // @param[in] expression asserted expression.
+
34 // @param[in] file Filename of the failed assertion.
+
35 // @param[in] line Line number of the failed assertion.
+
37 typedef void (dtAssertFailFunc)(const char* expression, const char* file, int line);
+
38 
+
41 void dtAssertFailSetCustom(dtAssertFailFunc *assertFailFunc);
+
42 
+ +
45 
+
46 # include <assert.h>
+
47 # define dtAssert(expression) \
+
48  { \
+
49  dtAssertFailFunc* failFunc = dtAssertFailGetCustom(); \
+
50  if(failFunc == NULL) { assert(expression); } \
+
51  else if(!(expression)) { (*failFunc)(#expression, __FILE__, __LINE__); } \
+
52  }
+
53 
+
54 #endif
+
55 
+
56 #endif // DETOURASSERT_H
+
void dtAssertFailSetCustom(dtAssertFailFunc *assertFailFunc)
Sets the base custom assertion failure function to be used by Detour.
Definition: DetourAssert.cpp:25
+
dtAssertFailFunc * dtAssertFailGetCustom()
Gets the base custom assertion failure function to be used by Detour.
Definition: DetourAssert.cpp:30
+
void() dtAssertFailFunc(const char *expression, const char *file, int line)
An assertion failure function.
Definition: DetourAssert.h:37
+
+
+ + + + + diff --git a/DetourCommon_8cpp.html b/DetourCommon_8cpp.html new file mode 100644 index 00000000..777c7f42 --- /dev/null +++ b/DetourCommon_8cpp.html @@ -0,0 +1,792 @@ + + + + + + + +Recast Navigation: DetourCommon.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourCommon.cpp File Reference
+
+
+
#include "DetourCommon.h"
+#include "DetourMath.h"
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void dtClosestPtPointTriangle (float *closest, const float *p, const float *a, const float *b, const float *c)
 Derives the closest point on a triangle from the specified reference point. More...
 
bool dtIntersectSegmentPoly2D (const float *p0, const float *p1, const float *verts, int nverts, float &tmin, float &tmax, int &segMin, int &segMax)
 
float dtDistancePtSegSqr2D (const float *pt, const float *p, const float *q, float &t)
 
void dtCalcPolyCenter (float *tc, const unsigned short *idx, int nidx, const float *verts)
 Derives the centroid of a convex polygon. More...
 
bool dtClosestHeightPointTriangle (const float *p, const float *a, const float *b, const float *c, float &h)
 Derives the y-axis height of the closest point on the triangle from the specified reference point. More...
 
bool dtPointInPolygon (const float *pt, const float *verts, const int nverts)
 Determines if the specified point is inside the convex polygon on the xz-plane. More...
 
bool dtDistancePtPolyEdgesSqr (const float *pt, const float *verts, const int nverts, float *ed, float *et)
 
static void projectPoly (const float *axis, const float *poly, const int npoly, float &rmin, float &rmax)
 
bool overlapRange (const float amin, const float amax, const float bmin, const float bmax, const float eps)
 
bool dtOverlapPolyPoly2D (const float *polya, const int npolya, const float *polyb, const int npolyb)
 Determines if the two convex polygons overlap on the xz-plane. More...
 
void dtRandomPointInConvexPoly (const float *pts, const int npts, float *areas, const float s, const float t, float *out)
 
float vperpXZ (const float *a, const float *b)
 
bool dtIntersectSegSeg2D (const float *ap, const float *aq, const float *bp, const float *bq, float &s, float &t)
 
+

Function Documentation

+ +

◆ dtCalcPolyCenter()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void dtCalcPolyCenter (float * tc,
const unsigned short * idx,
int nidx,
const float * verts 
)
+
+ +

Derives the centroid of a convex polygon.

+
Parameters
+ + + + + +
[out]tcThe centroid of the polgyon. [(x, y, z)]
[in]idxThe polygon indices. [(vertIndex) * nidx]
[in]nidxThe number of indices in the polygon. [Limit: >= 3]
[in]vertsThe polygon vertices. [(x, y, z) * vertCount]
+
+
+ +
+
+ +

◆ dtClosestHeightPointTriangle()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool dtClosestHeightPointTriangle (const float * p,
const float * a,
const float * b,
const float * c,
float & h 
)
+
+ +

Derives the y-axis height of the closest point on the triangle from the specified reference point.

+
Parameters
+ + + + + + +
[in]pThe reference point from which to test. [(x, y, z)]
[in]aVertex A of triangle ABC. [(x, y, z)]
[in]bVertex B of triangle ABC. [(x, y, z)]
[in]cVertex C of triangle ABC. [(x, y, z)]
[out]hThe resulting height.
+
+
+ +
+
+ +

◆ dtClosestPtPointTriangle()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void dtClosestPtPointTriangle (float * closest,
const float * p,
const float * a,
const float * b,
const float * c 
)
+
+ +

Derives the closest point on a triangle from the specified reference point.

+
Parameters
+ + + + + + +
[out]closestThe closest point on the triangle.
+
[in]pThe reference point from which to test. [(x, y, z)]
[in]aVertex A of triangle ABC. [(x, y, z)]
[in]bVertex B of triangle ABC. [(x, y, z)]
[in]cVertex C of triangle ABC. [(x, y, z)]
+
+
+ +
+
+ +

◆ dtDistancePtPolyEdgesSqr()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool dtDistancePtPolyEdgesSqr (const float * pt,
const float * verts,
const int nverts,
float * ed,
float * et 
)
+
+ +
+
+ +

◆ dtDistancePtSegSqr2D()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
float dtDistancePtSegSqr2D (const float * pt,
const float * p,
const float * q,
float & t 
)
+
+ +
+
+ +

◆ dtIntersectSegmentPoly2D()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool dtIntersectSegmentPoly2D (const float * p0,
const float * p1,
const float * verts,
int nverts,
float & tmin,
float & tmax,
int & segMin,
int & segMax 
)
+
+ +
+
+ +

◆ dtIntersectSegSeg2D()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool dtIntersectSegSeg2D (const float * ap,
const float * aq,
const float * bp,
const float * bq,
float & s,
float & t 
)
+
+ +
+
+ +

◆ dtOverlapPolyPoly2D()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool dtOverlapPolyPoly2D (const float * polya,
const int npolya,
const float * polyb,
const int npolyb 
)
+
+ +

Determines if the two convex polygons overlap on the xz-plane.

+
+

All vertices are projected onto the xz-plane, so the y-values are ignored.

+ +
+
+ +

◆ dtPointInPolygon()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool dtPointInPolygon (const float * pt,
const float * verts,
const int nverts 
)
+
+ +

Determines if the specified point is inside the convex polygon on the xz-plane.

+
+

All points are projected onto the xz-plane, so the y-values are ignored.

+ +
+
+ +

◆ dtRandomPointInConvexPoly()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void dtRandomPointInConvexPoly (const float * pts,
const int npts,
float * areas,
const float s,
const float t,
float * out 
)
+
+ +
+
+ +

◆ overlapRange()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool overlapRange (const float amin,
const float amax,
const float bmin,
const float bmax,
const float eps 
)
+
+inline
+
+ +
+
+ +

◆ projectPoly()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void projectPoly (const float * axis,
const float * poly,
const int npoly,
float & rmin,
float & rmax 
)
+
+static
+
+ +
+
+ +

◆ vperpXZ()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
float vperpXZ (const float * a,
const float * b 
)
+
+inline
+
+ +
+
+
+
+ + + + + diff --git a/DetourCommon_8cpp.js b/DetourCommon_8cpp.js new file mode 100644 index 00000000..54a137b8 --- /dev/null +++ b/DetourCommon_8cpp.js @@ -0,0 +1,16 @@ +var DetourCommon_8cpp = +[ + [ "dtCalcPolyCenter", "DetourCommon_8cpp.html#ae5a2810aa8c6eeebde512561a1706515", null ], + [ "dtClosestHeightPointTriangle", "DetourCommon_8cpp.html#ae04f7da639a87bf34242ff362e31bef4", null ], + [ "dtClosestPtPointTriangle", "DetourCommon_8cpp.html#a4895e82b2b41cc99acade7e8f88eba6e", null ], + [ "dtDistancePtPolyEdgesSqr", "DetourCommon_8cpp.html#a9364781fff515c2d8e1fe654e9491b5d", null ], + [ "dtDistancePtSegSqr2D", "DetourCommon_8cpp.html#a99afe0b6e77a0c800e9582faea87cf6d", null ], + [ "dtIntersectSegmentPoly2D", "DetourCommon_8cpp.html#a5cb54b8f523d837ab0d99bf4acfc7e2a", null ], + [ "dtIntersectSegSeg2D", "DetourCommon_8cpp.html#af683acdd2685f36cbfd62202251857df", null ], + [ "dtOverlapPolyPoly2D", "DetourCommon_8cpp.html#a5eb3e9100fdc574add9a344030161dfa", null ], + [ "dtPointInPolygon", "DetourCommon_8cpp.html#a7b3806c429b5b231f316988edd4373aa", null ], + [ "dtRandomPointInConvexPoly", "DetourCommon_8cpp.html#a846b4291b0c9a3dde72c6979c428ffa3", null ], + [ "overlapRange", "DetourCommon_8cpp.html#ab355890a2df99a19209f9bf12086fcb4", null ], + [ "projectPoly", "DetourCommon_8cpp.html#af6e917ef4b822dd1feee0665ebbc3bda", null ], + [ "vperpXZ", "DetourCommon_8cpp.html#a8c5563632125a8e436ed0dff027370d4", null ] +]; \ No newline at end of file diff --git a/DetourCommon_8h.html b/DetourCommon_8h.html new file mode 100644 index 00000000..c0d50218 --- /dev/null +++ b/DetourCommon_8h.html @@ -0,0 +1,2685 @@ + + + + + + + +Recast Navigation: DetourCommon.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DetourCommon.h File Reference
+
+
+
#include "DetourMath.h"
+#include <stddef.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

General helper functions
template<class T >
void dtIgnoreUnused (const T &)
 Used to ignore a function parameter. More...
 
template<class T >
void dtSwap (T &a, T &b)
 Swaps the values of the two parameters. More...
 
template<class T >
dtMin (T a, T b)
 Returns the minimum of two values. More...
 
template<class T >
dtMax (T a, T b)
 Returns the maximum of two values. More...
 
template<class T >
dtAbs (T a)
 Returns the absolute value. More...
 
template<class T >
dtSqr (T a)
 Returns the square of the value. More...
 
template<class T >
dtClamp (T v, T mn, T mx)
 Clamps the value to the specified range. More...
 
Vector helper functions.
void dtVcross (float *dest, const float *v1, const float *v2)
 Derives the cross product of two vectors. More...
 
float dtVdot (const float *v1, const float *v2)
 Derives the dot product of two vectors. More...
 
void dtVmad (float *dest, const float *v1, const float *v2, const float s)
 Performs a scaled vector addition. More...
 
void dtVlerp (float *dest, const float *v1, const float *v2, const float t)
 Performs a linear interpolation between two vectors. More...
 
void dtVadd (float *dest, const float *v1, const float *v2)
 Performs a vector addition. More...
 
void dtVsub (float *dest, const float *v1, const float *v2)
 Performs a vector subtraction. More...
 
void dtVscale (float *dest, const float *v, const float t)
 Scales the vector by the specified value. More...
 
void dtVmin (float *mn, const float *v)
 Selects the minimum value of each element from the specified vectors. More...
 
void dtVmax (float *mx, const float *v)
 Selects the maximum value of each element from the specified vectors. More...
 
void dtVset (float *dest, const float x, const float y, const float z)
 Sets the vector elements to the specified values. More...
 
void dtVcopy (float *dest, const float *a)
 Performs a vector copy. More...
 
float dtVlen (const float *v)
 Derives the scalar length of the vector. More...
 
float dtVlenSqr (const float *v)
 Derives the square of the scalar length of the vector. More...
 
float dtVdist (const float *v1, const float *v2)
 Returns the distance between two points. More...
 
float dtVdistSqr (const float *v1, const float *v2)
 Returns the square of the distance between two points. More...
 
float dtVdist2D (const float *v1, const float *v2)
 Derives the distance between the specified points on the xz-plane. More...
 
float dtVdist2DSqr (const float *v1, const float *v2)
 Derives the square of the distance between the specified points on the xz-plane. More...
 
void dtVnormalize (float *v)
 Normalizes the vector. More...
 
bool dtVequal (const float *p0, const float *p1)
 Performs a 'sloppy' colocation check of the specified points. More...
 
bool dtVisfinite (const float *v)
 Checks that the specified vector's components are all finite. More...
 
bool dtVisfinite2D (const float *v)
 Checks that the specified vector's 2D components are finite. More...
 
float dtVdot2D (const float *u, const float *v)
 Derives the dot product of two vectors on the xz-plane. More...
 
float dtVperp2D (const float *u, const float *v)
 Derives the xz-plane 2D perp product of the two vectors. More...
 
Computational geometry helper functions.
float dtTriArea2D (const float *a, const float *b, const float *c)
 Derives the signed xz-plane area of the triangle ABC, or the relationship of line AB to point C. More...
 
bool dtOverlapQuantBounds (const unsigned short amin[3], const unsigned short amax[3], const unsigned short bmin[3], const unsigned short bmax[3])
 Determines if two axis-aligned bounding boxes overlap. More...
 
bool dtOverlapBounds (const float *amin, const float *amax, const float *bmin, const float *bmax)
 Determines if two axis-aligned bounding boxes overlap. More...
 
void dtClosestPtPointTriangle (float *closest, const float *p, const float *a, const float *b, const float *c)
 Derives the closest point on a triangle from the specified reference point. More...
 
bool dtClosestHeightPointTriangle (const float *p, const float *a, const float *b, const float *c, float &h)
 Derives the y-axis height of the closest point on the triangle from the specified reference point. More...
 
bool dtIntersectSegmentPoly2D (const float *p0, const float *p1, const float *verts, int nverts, float &tmin, float &tmax, int &segMin, int &segMax)
 
bool dtIntersectSegSeg2D (const float *ap, const float *aq, const float *bp, const float *bq, float &s, float &t)
 
bool dtPointInPolygon (const float *pt, const float *verts, const int nverts)
 Determines if the specified point is inside the convex polygon on the xz-plane. More...
 
bool dtDistancePtPolyEdgesSqr (const float *pt, const float *verts, const int nverts, float *ed, float *et)
 
float dtDistancePtSegSqr2D (const float *pt, const float *p, const float *q, float &t)
 
void dtCalcPolyCenter (float *tc, const unsigned short *idx, int nidx, const float *verts)
 Derives the centroid of a convex polygon. More...
 
bool dtOverlapPolyPoly2D (const float *polya, const int npolya, const float *polyb, const int npolyb)
 Determines if the two convex polygons overlap on the xz-plane. More...
 
Miscellanious functions.
unsigned int dtNextPow2 (unsigned int v)
 
unsigned int dtIlog2 (unsigned int v)
 
int dtAlign4 (int x)
 
int dtOppositeTile (int side)
 
void dtSwapByte (unsigned char *a, unsigned char *b)
 
void dtSwapEndian (unsigned short *v)
 
void dtSwapEndian (short *v)
 
void dtSwapEndian (unsigned int *v)
 
void dtSwapEndian (int *v)
 
void dtSwapEndian (float *v)
 
void dtRandomPointInConvexPoly (const float *pts, const int npts, float *areas, const float s, const float t, float *out)
 
template<typename TypeToRetrieveAs >
TypeToRetrieveAs * dtGetThenAdvanceBufferPointer (const unsigned char *&buffer, const size_t distanceToAdvance)
 
template<typename TypeToRetrieveAs >
TypeToRetrieveAs * dtGetThenAdvanceBufferPointer (unsigned char *&buffer, const size_t distanceToAdvance)
 
+

Function Documentation

+ +

◆ dtAbs()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + + +
T dtAbs (a)
+
+inline
+
+ +

Returns the absolute value.

+
Parameters
+ + +
[in]aThe value.
+
+
+
Returns
The absolute value of the specified value.
+ +
+
+ +

◆ dtAlign4()

+ +
+
+ + + + + +
+ + + + + + + + +
int dtAlign4 (int x)
+
+inline
+
+ +
+
+ +

◆ dtCalcPolyCenter()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void dtCalcPolyCenter (float * tc,
const unsigned short * idx,
int nidx,
const float * verts 
)
+
+ +

Derives the centroid of a convex polygon.

+
Parameters
+ + + + + +
[out]tcThe centroid of the polgyon. [(x, y, z)]
[in]idxThe polygon indices. [(vertIndex) * nidx]
[in]nidxThe number of indices in the polygon. [Limit: >= 3]
[in]vertsThe polygon vertices. [(x, y, z) * vertCount]
+
+
+ +
+
+ +

◆ dtClamp()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
T dtClamp (v,
mn,
mx 
)
+
+inline
+
+ +

Clamps the value to the specified range.

+
Parameters
+ + + + +
[in]vThe value to clamp.
[in]mnThe minimum permitted return value.
[in]mxThe maximum permitted return value.
+
+
+
Returns
The value, clamped to the specified range.
+ +
+
+ +

◆ dtClosestHeightPointTriangle()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool dtClosestHeightPointTriangle (const float * p,
const float * a,
const float * b,
const float * c,
float & h 
)
+
+ +

Derives the y-axis height of the closest point on the triangle from the specified reference point.

+
Parameters
+ + + + + + +
[in]pThe reference point from which to test. [(x, y, z)]
[in]aVertex A of triangle ABC. [(x, y, z)]
[in]bVertex B of triangle ABC. [(x, y, z)]
[in]cVertex C of triangle ABC. [(x, y, z)]
[out]hThe resulting height.
+
+
+ +
+
+ +

◆ dtClosestPtPointTriangle()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void dtClosestPtPointTriangle (float * closest,
const float * p,
const float * a,
const float * b,
const float * c 
)
+
+ +

Derives the closest point on a triangle from the specified reference point.

+
Parameters
+ + + + + + +
[out]closestThe closest point on the triangle.
+
[in]pThe reference point from which to test. [(x, y, z)]
[in]aVertex A of triangle ABC. [(x, y, z)]
[in]bVertex B of triangle ABC. [(x, y, z)]
[in]cVertex C of triangle ABC. [(x, y, z)]
+
+
+ +
+
+ +

◆ dtDistancePtPolyEdgesSqr()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool dtDistancePtPolyEdgesSqr (const float * pt,
const float * verts,
const int nverts,
float * ed,
float * et 
)
+
+ +
+
+ +

◆ dtDistancePtSegSqr2D()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
float dtDistancePtSegSqr2D (const float * pt,
const float * p,
const float * q,
float & t 
)
+
+ +
+
+ +

◆ dtGetThenAdvanceBufferPointer() [1/2]

+ +
+
+
+template<typename TypeToRetrieveAs >
+ + + + + + + + + + + + + + + + + + +
TypeToRetrieveAs* dtGetThenAdvanceBufferPointer (const unsigned char *& buffer,
const size_t distanceToAdvance 
)
+
+ +
+
+ +

◆ dtGetThenAdvanceBufferPointer() [2/2]

+ +
+
+
+template<typename TypeToRetrieveAs >
+ + + + + + + + + + + + + + + + + + +
TypeToRetrieveAs* dtGetThenAdvanceBufferPointer (unsigned char *& buffer,
const size_t distanceToAdvance 
)
+
+ +
+
+ +

◆ dtIgnoreUnused()

+ +
+
+
+template<class T >
+ + + + + + + + +
void dtIgnoreUnused (const T & )
+
+ +

Used to ignore a function parameter.

+

VS complains about unused parameters and this silences the warning.

+ +
+
+ +

◆ dtIlog2()

+ +
+
+ + + + + +
+ + + + + + + + +
unsigned int dtIlog2 (unsigned int v)
+
+inline
+
+ +
+
+ +

◆ dtIntersectSegmentPoly2D()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool dtIntersectSegmentPoly2D (const float * p0,
const float * p1,
const float * verts,
int nverts,
float & tmin,
float & tmax,
int & segMin,
int & segMax 
)
+
+ +
+
+ +

◆ dtIntersectSegSeg2D()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool dtIntersectSegSeg2D (const float * ap,
const float * aq,
const float * bp,
const float * bq,
float & s,
float & t 
)
+
+ +
+
+ +

◆ dtMax()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
T dtMax (a,
b 
)
+
+inline
+
+ +

Returns the maximum of two values.

+
Parameters
+ + + +
[in]aValue A
[in]bValue B
+
+
+
Returns
The maximum of the two values.
+ +
+
+ +

◆ dtMin()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
T dtMin (a,
b 
)
+
+inline
+
+ +

Returns the minimum of two values.

+
Parameters
+ + + +
[in]aValue A
[in]bValue B
+
+
+
Returns
The minimum of the two values.
+ +
+
+ +

◆ dtNextPow2()

+ +
+
+ + + + + +
+ + + + + + + + +
unsigned int dtNextPow2 (unsigned int v)
+
+inline
+
+ +
+
+ +

◆ dtOppositeTile()

+ +
+
+ + + + + +
+ + + + + + + + +
int dtOppositeTile (int side)
+
+inline
+
+ +
+
+ +

◆ dtOverlapBounds()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool dtOverlapBounds (const float * amin,
const float * amax,
const float * bmin,
const float * bmax 
)
+
+inline
+
+ +

Determines if two axis-aligned bounding boxes overlap.

+
Parameters
+ + + + + +
[in]aminMinimum bounds of box A. [(x, y, z)]
[in]amaxMaximum bounds of box A. [(x, y, z)]
[in]bminMinimum bounds of box B. [(x, y, z)]
[in]bmaxMaximum bounds of box B. [(x, y, z)]
+
+
+
Returns
True if the two AABB's overlap.
+
See also
dtOverlapQuantBounds
+ +
+
+ +

◆ dtOverlapPolyPoly2D()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool dtOverlapPolyPoly2D (const float * polya,
const int npolya,
const float * polyb,
const int npolyb 
)
+
+ +

Determines if the two convex polygons overlap on the xz-plane.

+
Parameters
+ + + + + +
[in]polyaPolygon A vertices. [(x, y, z) * npolya]
[in]npolyaThe number of vertices in polygon A.
[in]polybPolygon B vertices. [(x, y, z) * npolyb]
[in]npolybThe number of vertices in polygon B.
+
+
+
Returns
True if the two polygons overlap.
+
+

All vertices are projected onto the xz-plane, so the y-values are ignored.

+ +
+
+ +

◆ dtOverlapQuantBounds()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool dtOverlapQuantBounds (const unsigned short amin[3],
const unsigned short amax[3],
const unsigned short bmin[3],
const unsigned short bmax[3] 
)
+
+inline
+
+ +

Determines if two axis-aligned bounding boxes overlap.

+
Parameters
+ + + + + +
[in]aminMinimum bounds of box A. [(x, y, z)]
[in]amaxMaximum bounds of box A. [(x, y, z)]
[in]bminMinimum bounds of box B. [(x, y, z)]
[in]bmaxMaximum bounds of box B. [(x, y, z)]
+
+
+
Returns
True if the two AABB's overlap.
+
See also
dtOverlapBounds
+ +
+
+ +

◆ dtPointInPolygon()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool dtPointInPolygon (const float * pt,
const float * verts,
const int nverts 
)
+
+ +

Determines if the specified point is inside the convex polygon on the xz-plane.

+
Parameters
+ + + + +
[in]ptThe point to check. [(x, y, z)]
[in]vertsThe polygon vertices. [(x, y, z) * nverts]
[in]nvertsThe number of vertices. [Limit: >= 3]
+
+
+
Returns
True if the point is inside the polygon.
+
+

All points are projected onto the xz-plane, so the y-values are ignored.

+ +
+
+ +

◆ dtRandomPointInConvexPoly()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void dtRandomPointInConvexPoly (const float * pts,
const int npts,
float * areas,
const float s,
const float t,
float * out 
)
+
+ +
+
+ +

◆ dtSqr()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + + +
T dtSqr (a)
+
+inline
+
+ +

Returns the square of the value.

+
Parameters
+ + +
[in]aThe value.
+
+
+
Returns
The square of the value.
+ +
+
+ +

◆ dtSwap()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void dtSwap (T & a,
T & b 
)
+
+inline
+
+ +

Swaps the values of the two parameters.

+
Parameters
+ + + +
[in,out]aValue A
[in,out]bValue B
+
+
+ +
+
+ +

◆ dtSwapByte()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void dtSwapByte (unsigned char * a,
unsigned char * b 
)
+
+inline
+
+ +
+
+ +

◆ dtSwapEndian() [1/5]

+ +
+
+ + + + + +
+ + + + + + + + +
void dtSwapEndian (float * v)
+
+inline
+
+ +
+
+ +

◆ dtSwapEndian() [2/5]

+ +
+
+ + + + + +
+ + + + + + + + +
void dtSwapEndian (int * v)
+
+inline
+
+ +
+
+ +

◆ dtSwapEndian() [3/5]

+ +
+
+ + + + + +
+ + + + + + + + +
void dtSwapEndian (short * v)
+
+inline
+
+ +
+
+ +

◆ dtSwapEndian() [4/5]

+ +
+
+ + + + + +
+ + + + + + + + +
void dtSwapEndian (unsigned int * v)
+
+inline
+
+ +
+
+ +

◆ dtSwapEndian() [5/5]

+ +
+
+ + + + + +
+ + + + + + + + +
void dtSwapEndian (unsigned short * v)
+
+inline
+
+ +
+
+ +

◆ dtTriArea2D()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
float dtTriArea2D (const float * a,
const float * b,
const float * c 
)
+
+inline
+
+ +

Derives the signed xz-plane area of the triangle ABC, or the relationship of line AB to point C.

+
Parameters
+ + + + +
[in]aVertex A. [(x, y, z)]
[in]bVertex B. [(x, y, z)]
[in]cVertex C. [(x, y, z)]
+
+
+
Returns
The signed xz-plane area of the triangle.
+
+

The vertices are projected onto the xz-plane, so the y-values are ignored.

+

This is a low cost function than can be used for various purposes. Its main purpose is for point/line relationship testing.

+

In all cases: A value of zero indicates that all vertices are collinear or represent the same point. (On the xz-plane.)

+

When used for point/line relationship tests, AB usually represents a line against which the C point is to be tested. In this case:

+

A positive value indicates that point C is to the left of line AB, looking from A toward B.
+ A negative value indicates that point C is to the right of lineAB, looking from A toward B.

+

When used for evaluating a triangle:

+

The absolute value of the return value is two times the area of the triangle when it is projected onto the xz-plane.

+

A positive return value indicates:

+
    +
  • +The vertices are wrapped in the normal Detour wrap direction.
  • +
  • +The triangle's 3D face normal is in the general up direction.
  • +
+

A negative return value indicates:

+
    +
  • +The vertices are reverse wrapped. (Wrapped opposite the normal Detour wrap direction.)
  • +
  • +The triangle's 3D face normal is in the general down direction.
  • +
+ +
+
+ +

◆ dtVadd()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void dtVadd (float * dest,
const float * v1,
const float * v2 
)
+
+inline
+
+ +

Performs a vector addition.

+

(v1 + v2)

Parameters
+ + + + +
[out]destThe result vector. [(x, y, z)]
[in]v1The base vector. [(x, y, z)]
[in]v2The vector to add to v1. [(x, y, z)]
+
+
+ +
+
+ +

◆ dtVcopy()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void dtVcopy (float * dest,
const float * a 
)
+
+inline
+
+ +

Performs a vector copy.

+
Parameters
+ + + +
[out]destThe result. [(x, y, z)]
[in]aThe vector to copy. [(x, y, z)]
+
+
+ +
+
+ +

◆ dtVcross()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void dtVcross (float * dest,
const float * v1,
const float * v2 
)
+
+inline
+
+ +

Derives the cross product of two vectors.

+

(v1 x v2)

Parameters
+ + + + +
[out]destThe cross product. [(x, y, z)]
[in]v1A Vector [(x, y, z)]
[in]v2A vector [(x, y, z)]
+
+
+ +
+
+ +

◆ dtVdist()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
float dtVdist (const float * v1,
const float * v2 
)
+
+inline
+
+ +

Returns the distance between two points.

+
Parameters
+ + + +
[in]v1A point. [(x, y, z)]
[in]v2A point. [(x, y, z)]
+
+
+
Returns
The distance between the two points.
+ +
+
+ +

◆ dtVdist2D()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
float dtVdist2D (const float * v1,
const float * v2 
)
+
+inline
+
+ +

Derives the distance between the specified points on the xz-plane.

+
Parameters
+ + + +
[in]v1A point. [(x, y, z)]
[in]v2A point. [(x, y, z)]
+
+
+
Returns
The distance between the point on the xz-plane.
+

The vectors are projected onto the xz-plane, so the y-values are ignored.

+ +
+
+ +

◆ dtVdist2DSqr()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
float dtVdist2DSqr (const float * v1,
const float * v2 
)
+
+inline
+
+ +

Derives the square of the distance between the specified points on the xz-plane.

+
Parameters
+ + + +
[in]v1A point. [(x, y, z)]
[in]v2A point. [(x, y, z)]
+
+
+
Returns
The square of the distance between the point on the xz-plane.
+ +
+
+ +

◆ dtVdistSqr()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
float dtVdistSqr (const float * v1,
const float * v2 
)
+
+inline
+
+ +

Returns the square of the distance between two points.

+
Parameters
+ + + +
[in]v1A point. [(x, y, z)]
[in]v2A point. [(x, y, z)]
+
+
+
Returns
The square of the distance between the two points.
+ +
+
+ +

◆ dtVdot()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
float dtVdot (const float * v1,
const float * v2 
)
+
+inline
+
+ +

Derives the dot product of two vectors.

+

(v1 . v2)

Parameters
+ + + +
[in]v1A Vector [(x, y, z)]
[in]v2A vector [(x, y, z)]
+
+
+
Returns
The dot product.
+ +
+
+ +

◆ dtVdot2D()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
float dtVdot2D (const float * u,
const float * v 
)
+
+inline
+
+ +

Derives the dot product of two vectors on the xz-plane.

+

(u . v)

Parameters
+ + + +
[in]uA vector [(x, y, z)]
[in]vA vector [(x, y, z)]
+
+
+
Returns
The dot product on the xz-plane.
+

The vectors are projected onto the xz-plane, so the y-values are ignored.

+ +
+
+ +

◆ dtVequal()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool dtVequal (const float * p0,
const float * p1 
)
+
+inline
+
+ +

Performs a 'sloppy' colocation check of the specified points.

+
Parameters
+ + + +
[in]p0A point. [(x, y, z)]
[in]p1A point. [(x, y, z)]
+
+
+
Returns
True if the points are considered to be at the same location.
+

Basically, this function will return true if the specified points are close enough to eachother to be considered colocated.

+ +
+
+ +

◆ dtVisfinite()

+ +
+
+ + + + + +
+ + + + + + + + +
bool dtVisfinite (const float * v)
+
+inline
+
+ +

Checks that the specified vector's components are all finite.

+
Parameters
+ + +
[in]vA point. [(x, y, z)]
+
+
+
Returns
True if all of the point's components are finite, i.e. not NaN or any of the infinities.
+ +
+
+ +

◆ dtVisfinite2D()

+ +
+
+ + + + + +
+ + + + + + + + +
bool dtVisfinite2D (const float * v)
+
+inline
+
+ +

Checks that the specified vector's 2D components are finite.

+
Parameters
+ + +
[in]vA point. [(x, y, z)]
+
+
+ +
+
+ +

◆ dtVlen()

+ +
+
+ + + + + +
+ + + + + + + + +
float dtVlen (const float * v)
+
+inline
+
+ +

Derives the scalar length of the vector.

+
Parameters
+ + +
[in]vThe vector. [(x, y, z)]
+
+
+
Returns
The scalar length of the vector.
+ +
+
+ +

◆ dtVlenSqr()

+ +
+
+ + + + + +
+ + + + + + + + +
float dtVlenSqr (const float * v)
+
+inline
+
+ +

Derives the square of the scalar length of the vector.

+

(len * len)

Parameters
+ + +
[in]vThe vector. [(x, y, z)]
+
+
+
Returns
The square of the scalar length of the vector.
+ +
+
+ +

◆ dtVlerp()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void dtVlerp (float * dest,
const float * v1,
const float * v2,
const float t 
)
+
+inline
+
+ +

Performs a linear interpolation between two vectors.

+

(v1 toward v2)

Parameters
+ + + + + +
[out]destThe result vector. [(x, y, x)]
[in]v1The starting vector.
[in]v2The destination vector.
[in]tThe interpolation factor. [Limits: 0 <= value <= 1.0]
+
+
+ +
+
+ +

◆ dtVmad()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void dtVmad (float * dest,
const float * v1,
const float * v2,
const float s 
)
+
+inline
+
+ +

Performs a scaled vector addition.

+

(v1 + (v2 * s))

Parameters
+ + + + + +
[out]destThe result vector. [(x, y, z)]
[in]v1The base vector. [(x, y, z)]
[in]v2The vector to scale and add to v1. [(x, y, z)]
[in]sThe amount to scale v2 by before adding to v1.
+
+
+ +
+
+ +

◆ dtVmax()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void dtVmax (float * mx,
const float * v 
)
+
+inline
+
+ +

Selects the maximum value of each element from the specified vectors.

+
Parameters
+ + + +
[in,out]mxA vector. (Will be updated with the result.) [(x, y, z)]
[in]vA vector. [(x, y, z)]
+
+
+ +
+
+ +

◆ dtVmin()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void dtVmin (float * mn,
const float * v 
)
+
+inline
+
+ +

Selects the minimum value of each element from the specified vectors.

+
Parameters
+ + + +
[in,out]mnA vector. (Will be updated with the result.) [(x, y, z)]
[in]vA vector. [(x, y, z)]
+
+
+ +
+
+ +

◆ dtVnormalize()

+ +
+
+ + + + + +
+ + + + + + + + +
void dtVnormalize (float * v)
+
+inline
+
+ +

Normalizes the vector.

+
Parameters
+ + +
[in,out]vThe vector to normalize. [(x, y, z)]
+
+
+ +
+
+ +

◆ dtVperp2D()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
float dtVperp2D (const float * u,
const float * v 
)
+
+inline
+
+ +

Derives the xz-plane 2D perp product of the two vectors.

+

(uz*vx - ux*vz)

Parameters
+ + + +
[in]uThe LHV vector [(x, y, z)]
[in]vThe RHV vector [(x, y, z)]
+
+
+
Returns
The perp dot product on the xz-plane.
+

The vectors are projected onto the xz-plane, so the y-values are ignored.

+ +
+
+ +

◆ dtVscale()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void dtVscale (float * dest,
const float * v,
const float t 
)
+
+inline
+
+ +

Scales the vector by the specified value.

+

(v * t)

Parameters
+ + + + +
[out]destThe result vector. [(x, y, z)]
[in]vThe vector to scale. [(x, y, z)]
[in]tThe scaling factor.
+
+
+ +
+
+ +

◆ dtVset()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void dtVset (float * dest,
const float x,
const float y,
const float z 
)
+
+inline
+
+ +

Sets the vector elements to the specified values.

+
Parameters
+ + + + + +
[out]destThe result vector. [(x, y, z)]
[in]xThe x-value of the vector.
[in]yThe y-value of the vector.
[in]zThe z-value of the vector.
+
+
+ +
+
+ +

◆ dtVsub()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void dtVsub (float * dest,
const float * v1,
const float * v2 
)
+
+inline
+
+ +

Performs a vector subtraction.

+

(v1 - v2)

Parameters
+ + + + +
[out]destThe result vector. [(x, y, z)]
[in]v1The base vector. [(x, y, z)]
[in]v2The vector to subtract from v1. [(x, y, z)]
+
+
+ +
+
+
+
+ + + + + diff --git a/DetourCommon_8h.js b/DetourCommon_8h.js new file mode 100644 index 00000000..c523b7ae --- /dev/null +++ b/DetourCommon_8h.js @@ -0,0 +1,58 @@ +var DetourCommon_8h = +[ + [ "dtAbs", "DetourCommon_8h.html#a6dd5612e0be99e2c657d7164c699c044", null ], + [ "dtAlign4", "DetourCommon_8h.html#af0b670bfe127997c427f8f79b7e6d2dd", null ], + [ "dtCalcPolyCenter", "DetourCommon_8h.html#ae5a2810aa8c6eeebde512561a1706515", null ], + [ "dtClamp", "DetourCommon_8h.html#a488d89869306c3d57c7a685aab89f9e6", null ], + [ "dtClosestHeightPointTriangle", "DetourCommon_8h.html#ae04f7da639a87bf34242ff362e31bef4", null ], + [ "dtClosestPtPointTriangle", "DetourCommon_8h.html#a4895e82b2b41cc99acade7e8f88eba6e", null ], + [ "dtDistancePtPolyEdgesSqr", "DetourCommon_8h.html#a9364781fff515c2d8e1fe654e9491b5d", null ], + [ "dtDistancePtSegSqr2D", "DetourCommon_8h.html#a99afe0b6e77a0c800e9582faea87cf6d", null ], + [ "dtGetThenAdvanceBufferPointer", "DetourCommon_8h.html#a36687a200ee5ef42291fb2618c678298", null ], + [ "dtGetThenAdvanceBufferPointer", "DetourCommon_8h.html#ab994073a9dc4b569d776786b00d90e1d", null ], + [ "dtIgnoreUnused", "DetourCommon_8h.html#a339afb43c105f3923f719bd63dca7312", null ], + [ "dtIlog2", "DetourCommon_8h.html#a8c49318f4e7f77972684dd9de93849e3", null ], + [ "dtIntersectSegmentPoly2D", "DetourCommon_8h.html#a5cb54b8f523d837ab0d99bf4acfc7e2a", null ], + [ "dtIntersectSegSeg2D", "DetourCommon_8h.html#af683acdd2685f36cbfd62202251857df", null ], + [ "dtMax", "DetourCommon_8h.html#a8823f3ed1d46c80aa4d8d6b6646e8e72", null ], + [ "dtMin", "DetourCommon_8h.html#a1ba504117782e7d67fe3106ecd76988a", null ], + [ "dtNextPow2", "DetourCommon_8h.html#aca8a96b35bdd0d6ca037cb40611bc1b5", null ], + [ "dtOppositeTile", "DetourCommon_8h.html#ab20ff0c590db06a62e05c6f6df292404", null ], + [ "dtOverlapBounds", "DetourCommon_8h.html#ad63541204d445957e2ddc5eff010e485", null ], + [ "dtOverlapPolyPoly2D", "DetourCommon_8h.html#a5eb3e9100fdc574add9a344030161dfa", null ], + [ "dtOverlapQuantBounds", "DetourCommon_8h.html#acd68b769b30c3bf711467f5d8652b15d", null ], + [ "dtPointInPolygon", "DetourCommon_8h.html#a7b3806c429b5b231f316988edd4373aa", null ], + [ "dtRandomPointInConvexPoly", "DetourCommon_8h.html#a846b4291b0c9a3dde72c6979c428ffa3", null ], + [ "dtSqr", "DetourCommon_8h.html#af0a088077730ad6995ce4d82093588cc", null ], + [ "dtSwap", "DetourCommon_8h.html#af347205bbcdcd802e8a41f0e2897c7f2", null ], + [ "dtSwapByte", "DetourCommon_8h.html#ab940927fe9d901d2f763fb7de105239e", null ], + [ "dtSwapEndian", "DetourCommon_8h.html#a42ad975ca7ff142a500805e113bd3ac4", null ], + [ "dtSwapEndian", "DetourCommon_8h.html#af91067419d846eaecd54af7a91874d25", null ], + [ "dtSwapEndian", "DetourCommon_8h.html#a0efb26f29e363d814b1caeac7450d9f7", null ], + [ "dtSwapEndian", "DetourCommon_8h.html#a12856916647f1a32e1964e457fb4e0e6", null ], + [ "dtSwapEndian", "DetourCommon_8h.html#a11c2aec43edd3160f39b9b60eed4c763", null ], + [ "dtTriArea2D", "DetourCommon_8h.html#ace29bd80c4e15d0e4e4a5738aaa77408", null ], + [ "dtVadd", "DetourCommon_8h.html#acad549159189d387ad9496e51994c70e", null ], + [ "dtVcopy", "DetourCommon_8h.html#a20bd1921d4bb81875f48bb8cbf7a63b4", null ], + [ "dtVcross", "DetourCommon_8h.html#a950177c2c05a3853ece198cc303ba972", null ], + [ "dtVdist", "DetourCommon_8h.html#a000a4b437d73fd37c831c4bcbc3abb8d", null ], + [ "dtVdist2D", "DetourCommon_8h.html#a37a45cfe0cfc45112b6219fba1949e42", null ], + [ "dtVdist2DSqr", "DetourCommon_8h.html#ad68b02ca8e48bb8098b512fd3157c4d7", null ], + [ "dtVdistSqr", "DetourCommon_8h.html#acebfa3b142ae9b3ad052bf0dd0b3a820", null ], + [ "dtVdot", "DetourCommon_8h.html#a668c20a766e16f1e88b0ce55fcff6b3a", null ], + [ "dtVdot2D", "DetourCommon_8h.html#ab16c954d6f9b1c271916d56a1210fb31", null ], + [ "dtVequal", "DetourCommon_8h.html#ad246e02163e1de850ffe6a2645f3c28e", null ], + [ "dtVisfinite", "DetourCommon_8h.html#a1de203d55d933ccaa2ae9f3e126f4e63", null ], + [ "dtVisfinite2D", "DetourCommon_8h.html#ae3ddf094d63f2630a272f4dd865db7a3", null ], + [ "dtVlen", "DetourCommon_8h.html#a3d534f22feca897eab0c01da28083bb3", null ], + [ "dtVlenSqr", "DetourCommon_8h.html#a509bf6e4d1ac9f683c8547163591ff8a", null ], + [ "dtVlerp", "DetourCommon_8h.html#a7b3295d18cd477fca1fe541b59b1b231", null ], + [ "dtVmad", "DetourCommon_8h.html#a1c4e6b8a509d183f62f57af1e73e1c6e", null ], + [ "dtVmax", "DetourCommon_8h.html#a0bb8468867be21e93fab6c7fd343ca67", null ], + [ "dtVmin", "DetourCommon_8h.html#a01ec3e541001b08eb054bfaf019c34d7", null ], + [ "dtVnormalize", "DetourCommon_8h.html#a68f410fb499f25b1bf72ff4c6051cb3c", null ], + [ "dtVperp2D", "DetourCommon_8h.html#aebb664a885e741148b381caeeb4f0dba", null ], + [ "dtVscale", "DetourCommon_8h.html#a865e98b3352fdea9216c36374d1f0b6a", null ], + [ "dtVset", "DetourCommon_8h.html#a78ab75edc5f87fc90471873c2652ca89", null ], + [ "dtVsub", "DetourCommon_8h.html#a8b3255050bf09f5459f3c575ba1574b4", null ] +]; \ No newline at end of file diff --git a/DetourCommon_8h_source.html b/DetourCommon_8h_source.html new file mode 100644 index 00000000..be829ae0 --- /dev/null +++ b/DetourCommon_8h_source.html @@ -0,0 +1,500 @@ + + + + + + + +Recast Navigation: DetourCommon.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DetourCommon.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 DETOURCOMMON_H
+
20 #define DETOURCOMMON_H
+
21 
+
22 #include "DetourMath.h"
+
23 #include <stddef.h>
+
24 
+
37 
+
40 template<class T> void dtIgnoreUnused(const T&) { }
+
41 
+
45 template<class T> inline void dtSwap(T& a, T& b) { T t = a; a = b; b = t; }
+
46 
+
51 template<class T> inline T dtMin(T a, T b) { return a < b ? a : b; }
+
52 
+
57 template<class T> inline T dtMax(T a, T b) { return a > b ? a : b; }
+
58 
+
62 template<class T> inline T dtAbs(T a) { return a < 0 ? -a : a; }
+
63 
+
67 template<class T> inline T dtSqr(T a) { return a*a; }
+
68 
+
74 template<class T> inline T dtClamp(T v, T mn, T mx) { return v < mn ? mn : (v > mx ? mx : v); }
+
75 
+
79 
+
84 inline void dtVcross(float* dest, const float* v1, const float* v2)
+
85 {
+
86  dest[0] = v1[1]*v2[2] - v1[2]*v2[1];
+
87  dest[1] = v1[2]*v2[0] - v1[0]*v2[2];
+
88  dest[2] = v1[0]*v2[1] - v1[1]*v2[0];
+
89 }
+
90 
+
95 inline float dtVdot(const float* v1, const float* v2)
+
96 {
+
97  return v1[0]*v2[0] + v1[1]*v2[1] + v1[2]*v2[2];
+
98 }
+
99 
+
105 inline void dtVmad(float* dest, const float* v1, const float* v2, const float s)
+
106 {
+
107  dest[0] = v1[0]+v2[0]*s;
+
108  dest[1] = v1[1]+v2[1]*s;
+
109  dest[2] = v1[2]+v2[2]*s;
+
110 }
+
111 
+
117 inline void dtVlerp(float* dest, const float* v1, const float* v2, const float t)
+
118 {
+
119  dest[0] = v1[0]+(v2[0]-v1[0])*t;
+
120  dest[1] = v1[1]+(v2[1]-v1[1])*t;
+
121  dest[2] = v1[2]+(v2[2]-v1[2])*t;
+
122 }
+
123 
+
128 inline void dtVadd(float* dest, const float* v1, const float* v2)
+
129 {
+
130  dest[0] = v1[0]+v2[0];
+
131  dest[1] = v1[1]+v2[1];
+
132  dest[2] = v1[2]+v2[2];
+
133 }
+
134 
+
139 inline void dtVsub(float* dest, const float* v1, const float* v2)
+
140 {
+
141  dest[0] = v1[0]-v2[0];
+
142  dest[1] = v1[1]-v2[1];
+
143  dest[2] = v1[2]-v2[2];
+
144 }
+
145 
+
150 inline void dtVscale(float* dest, const float* v, const float t)
+
151 {
+
152  dest[0] = v[0]*t;
+
153  dest[1] = v[1]*t;
+
154  dest[2] = v[2]*t;
+
155 }
+
156 
+
160 inline void dtVmin(float* mn, const float* v)
+
161 {
+
162  mn[0] = dtMin(mn[0], v[0]);
+
163  mn[1] = dtMin(mn[1], v[1]);
+
164  mn[2] = dtMin(mn[2], v[2]);
+
165 }
+
166 
+
170 inline void dtVmax(float* mx, const float* v)
+
171 {
+
172  mx[0] = dtMax(mx[0], v[0]);
+
173  mx[1] = dtMax(mx[1], v[1]);
+
174  mx[2] = dtMax(mx[2], v[2]);
+
175 }
+
176 
+
182 inline void dtVset(float* dest, const float x, const float y, const float z)
+
183 {
+
184  dest[0] = x; dest[1] = y; dest[2] = z;
+
185 }
+
186 
+
190 inline void dtVcopy(float* dest, const float* a)
+
191 {
+
192  dest[0] = a[0];
+
193  dest[1] = a[1];
+
194  dest[2] = a[2];
+
195 }
+
196 
+
200 inline float dtVlen(const float* v)
+
201 {
+
202  return dtMathSqrtf(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]);
+
203 }
+
204 
+
208 inline float dtVlenSqr(const float* v)
+
209 {
+
210  return v[0]*v[0] + v[1]*v[1] + v[2]*v[2];
+
211 }
+
212 
+
217 inline float dtVdist(const float* v1, const float* v2)
+
218 {
+
219  const float dx = v2[0] - v1[0];
+
220  const float dy = v2[1] - v1[1];
+
221  const float dz = v2[2] - v1[2];
+
222  return dtMathSqrtf(dx*dx + dy*dy + dz*dz);
+
223 }
+
224 
+
229 inline float dtVdistSqr(const float* v1, const float* v2)
+
230 {
+
231  const float dx = v2[0] - v1[0];
+
232  const float dy = v2[1] - v1[1];
+
233  const float dz = v2[2] - v1[2];
+
234  return dx*dx + dy*dy + dz*dz;
+
235 }
+
236 
+
243 inline float dtVdist2D(const float* v1, const float* v2)
+
244 {
+
245  const float dx = v2[0] - v1[0];
+
246  const float dz = v2[2] - v1[2];
+
247  return dtMathSqrtf(dx*dx + dz*dz);
+
248 }
+
249 
+
254 inline float dtVdist2DSqr(const float* v1, const float* v2)
+
255 {
+
256  const float dx = v2[0] - v1[0];
+
257  const float dz = v2[2] - v1[2];
+
258  return dx*dx + dz*dz;
+
259 }
+
260 
+
263 inline void dtVnormalize(float* v)
+
264 {
+
265  float d = 1.0f / dtMathSqrtf(dtSqr(v[0]) + dtSqr(v[1]) + dtSqr(v[2]));
+
266  v[0] *= d;
+
267  v[1] *= d;
+
268  v[2] *= d;
+
269 }
+
270 
+
278 inline bool dtVequal(const float* p0, const float* p1)
+
279 {
+
280  static const float thr = dtSqr(1.0f/16384.0f);
+
281  const float d = dtVdistSqr(p0, p1);
+
282  return d < thr;
+
283 }
+
284 
+
289 inline bool dtVisfinite(const float* v)
+
290 {
+
291  bool result =
+
292  dtMathIsfinite(v[0]) &&
+
293  dtMathIsfinite(v[1]) &&
+
294  dtMathIsfinite(v[2]);
+
295 
+
296  return result;
+
297 }
+
298 
+
301 inline bool dtVisfinite2D(const float* v)
+
302 {
+
303  bool result = dtMathIsfinite(v[0]) && dtMathIsfinite(v[2]);
+
304  return result;
+
305 }
+
306 
+
313 inline float dtVdot2D(const float* u, const float* v)
+
314 {
+
315  return u[0]*v[0] + u[2]*v[2];
+
316 }
+
317 
+
324 inline float dtVperp2D(const float* u, const float* v)
+
325 {
+
326  return u[2]*v[0] - u[0]*v[2];
+
327 }
+
328 
+
332 
+
338 inline float dtTriArea2D(const float* a, const float* b, const float* c)
+
339 {
+
340  const float abx = b[0] - a[0];
+
341  const float abz = b[2] - a[2];
+
342  const float acx = c[0] - a[0];
+
343  const float acz = c[2] - a[2];
+
344  return acx*abz - abx*acz;
+
345 }
+
346 
+
354 inline bool dtOverlapQuantBounds(const unsigned short amin[3], const unsigned short amax[3],
+
355  const unsigned short bmin[3], const unsigned short bmax[3])
+
356 {
+
357  bool overlap = true;
+
358  overlap = (amin[0] > bmax[0] || amax[0] < bmin[0]) ? false : overlap;
+
359  overlap = (amin[1] > bmax[1] || amax[1] < bmin[1]) ? false : overlap;
+
360  overlap = (amin[2] > bmax[2] || amax[2] < bmin[2]) ? false : overlap;
+
361  return overlap;
+
362 }
+
363 
+
371 inline bool dtOverlapBounds(const float* amin, const float* amax,
+
372  const float* bmin, const float* bmax)
+
373 {
+
374  bool overlap = true;
+
375  overlap = (amin[0] > bmax[0] || amax[0] < bmin[0]) ? false : overlap;
+
376  overlap = (amin[1] > bmax[1] || amax[1] < bmin[1]) ? false : overlap;
+
377  overlap = (amin[2] > bmax[2] || amax[2] < bmin[2]) ? false : overlap;
+
378  return overlap;
+
379 }
+
380 
+
387 void dtClosestPtPointTriangle(float* closest, const float* p,
+
388  const float* a, const float* b, const float* c);
+
389 
+
396 bool dtClosestHeightPointTriangle(const float* p, const float* a, const float* b, const float* c, float& h);
+
397 
+
398 bool dtIntersectSegmentPoly2D(const float* p0, const float* p1,
+
399  const float* verts, int nverts,
+
400  float& tmin, float& tmax,
+
401  int& segMin, int& segMax);
+
402 
+
403 bool dtIntersectSegSeg2D(const float* ap, const float* aq,
+
404  const float* bp, const float* bq,
+
405  float& s, float& t);
+
406 
+
412 bool dtPointInPolygon(const float* pt, const float* verts, const int nverts);
+
413 
+
414 bool dtDistancePtPolyEdgesSqr(const float* pt, const float* verts, const int nverts,
+
415  float* ed, float* et);
+
416 
+
417 float dtDistancePtSegSqr2D(const float* pt, const float* p, const float* q, float& t);
+
418 
+
424 void dtCalcPolyCenter(float* tc, const unsigned short* idx, int nidx, const float* verts);
+
425 
+
432 bool dtOverlapPolyPoly2D(const float* polya, const int npolya,
+
433  const float* polyb, const int npolyb);
+
434 
+
438 
+
439 inline unsigned int dtNextPow2(unsigned int v)
+
440 {
+
441  v--;
+
442  v |= v >> 1;
+
443  v |= v >> 2;
+
444  v |= v >> 4;
+
445  v |= v >> 8;
+
446  v |= v >> 16;
+
447  v++;
+
448  return v;
+
449 }
+
450 
+
451 inline unsigned int dtIlog2(unsigned int v)
+
452 {
+
453  unsigned int r;
+
454  unsigned int shift;
+
455  r = (v > 0xffff) << 4; v >>= r;
+
456  shift = (v > 0xff) << 3; v >>= shift; r |= shift;
+
457  shift = (v > 0xf) << 2; v >>= shift; r |= shift;
+
458  shift = (v > 0x3) << 1; v >>= shift; r |= shift;
+
459  r |= (v >> 1);
+
460  return r;
+
461 }
+
462 
+
463 inline int dtAlign4(int x) { return (x+3) & ~3; }
+
464 
+
465 inline int dtOppositeTile(int side) { return (side+4) & 0x7; }
+
466 
+
467 inline void dtSwapByte(unsigned char* a, unsigned char* b)
+
468 {
+
469  unsigned char tmp = *a;
+
470  *a = *b;
+
471  *b = tmp;
+
472 }
+
473 
+
474 inline void dtSwapEndian(unsigned short* v)
+
475 {
+
476  unsigned char* x = (unsigned char*)v;
+
477  dtSwapByte(x+0, x+1);
+
478 }
+
479 
+
480 inline void dtSwapEndian(short* v)
+
481 {
+
482  unsigned char* x = (unsigned char*)v;
+
483  dtSwapByte(x+0, x+1);
+
484 }
+
485 
+
486 inline void dtSwapEndian(unsigned int* v)
+
487 {
+
488  unsigned char* x = (unsigned char*)v;
+
489  dtSwapByte(x+0, x+3); dtSwapByte(x+1, x+2);
+
490 }
+
491 
+
492 inline void dtSwapEndian(int* v)
+
493 {
+
494  unsigned char* x = (unsigned char*)v;
+
495  dtSwapByte(x+0, x+3); dtSwapByte(x+1, x+2);
+
496 }
+
497 
+
498 inline void dtSwapEndian(float* v)
+
499 {
+
500  unsigned char* x = (unsigned char*)v;
+
501  dtSwapByte(x+0, x+3); dtSwapByte(x+1, x+2);
+
502 }
+
503 
+
504 void dtRandomPointInConvexPoly(const float* pts, const int npts, float* areas,
+
505  const float s, const float t, float* out);
+
506 
+
507 template<typename TypeToRetrieveAs>
+
508 TypeToRetrieveAs* dtGetThenAdvanceBufferPointer(const unsigned char*& buffer, const size_t distanceToAdvance)
+
509 {
+
510  TypeToRetrieveAs* returnPointer = reinterpret_cast<TypeToRetrieveAs*>(buffer);
+
511  buffer += distanceToAdvance;
+
512  return returnPointer;
+
513 }
+
514 
+
515 template<typename TypeToRetrieveAs>
+
516 TypeToRetrieveAs* dtGetThenAdvanceBufferPointer(unsigned char*& buffer, const size_t distanceToAdvance)
+
517 {
+
518  TypeToRetrieveAs* returnPointer = reinterpret_cast<TypeToRetrieveAs*>(buffer);
+
519  buffer += distanceToAdvance;
+
520  return returnPointer;
+
521 }
+
522 
+
523 
+
525 
+
526 #endif // DETOURCOMMON_H
+
527 
+
529 
+
530 // This section contains detailed documentation for members that don't have
+
531 // a source file. It reduces clutter in the main section of the header.
+
532 
+
float dtVdist(const float *v1, const float *v2)
Returns the distance between two points.
Definition: DetourCommon.h:217
+
void dtVmin(float *mn, const float *v)
Selects the minimum value of each element from the specified vectors.
Definition: DetourCommon.h:160
+
void dtVmax(float *mx, const float *v)
Selects the maximum value of each element from the specified vectors.
Definition: DetourCommon.h:170
+
void dtSwapEndian(unsigned short *v)
Definition: DetourCommon.h:474
+
T dtMin(T a, T b)
Returns the minimum of two values.
Definition: DetourCommon.h:51
+
void dtVmad(float *dest, const float *v1, const float *v2, const float s)
Performs a scaled vector addition.
Definition: DetourCommon.h:105
+
bool dtVisfinite(const float *v)
Checks that the specified vector's components are all finite.
Definition: DetourCommon.h:289
+
void dtVcopy(float *dest, const float *a)
Performs a vector copy.
Definition: DetourCommon.h:190
+
void dtIgnoreUnused(const T &)
Used to ignore a function parameter.
Definition: DetourCommon.h:40
+
TypeToRetrieveAs * dtGetThenAdvanceBufferPointer(const unsigned char *&buffer, const size_t distanceToAdvance)
Definition: DetourCommon.h:508
+
float dtVdist2D(const float *v1, const float *v2)
Derives the distance between the specified points on the xz-plane.
Definition: DetourCommon.h:243
+
float dtVlen(const float *v)
Derives the scalar length of the vector.
Definition: DetourCommon.h:200
+
T dtClamp(T v, T mn, T mx)
Clamps the value to the specified range.
Definition: DetourCommon.h:74
+
void dtClosestPtPointTriangle(float *closest, const float *p, const float *a, const float *b, const float *c)
Derives the closest point on a triangle from the specified reference point.
Definition: DetourCommon.cpp:24
+
float dtVlenSqr(const float *v)
Derives the square of the scalar length of the vector.
Definition: DetourCommon.h:208
+
bool dtIntersectSegmentPoly2D(const float *p0, const float *p1, const float *verts, int nverts, float &tmin, float &tmax, int &segMin, int &segMax)
Definition: DetourCommon.cpp:110
+
bool dtOverlapPolyPoly2D(const float *polya, const int npolya, const float *polyb, const int npolyb)
Determines if the two convex polygons overlap on the xz-plane.
Definition: DetourCommon.cpp:294
+
float dtVdot(const float *v1, const float *v2)
Derives the dot product of two vectors.
Definition: DetourCommon.h:95
+
void dtVnormalize(float *v)
Normalizes the vector.
Definition: DetourCommon.h:263
+
T dtAbs(T a)
Returns the absolute value.
Definition: DetourCommon.h:62
+
void dtVset(float *dest, const float x, const float y, const float z)
Sets the vector elements to the specified values.
Definition: DetourCommon.h:182
+
void dtVlerp(float *dest, const float *v1, const float *v2, const float t)
Performs a linear interpolation between two vectors.
Definition: DetourCommon.h:117
+
bool dtPointInPolygon(const float *pt, const float *verts, const int nverts)
Determines if the specified point is inside the convex polygon on the xz-plane.
Definition: DetourCommon.cpp:238
+
void dtRandomPointInConvexPoly(const float *pts, const int npts, float *areas, const float s, const float t, float *out)
Definition: DetourCommon.cpp:332
+
void dtVscale(float *dest, const float *v, const float t)
Scales the vector by the specified value.
Definition: DetourCommon.h:150
+
T dtMax(T a, T b)
Returns the maximum of two values.
Definition: DetourCommon.h:57
+
void dtVsub(float *dest, const float *v1, const float *v2)
Performs a vector subtraction.
Definition: DetourCommon.h:139
+
unsigned int dtIlog2(unsigned int v)
Definition: DetourCommon.h:451
+
bool dtDistancePtPolyEdgesSqr(const float *pt, const float *verts, const int nverts, float *ed, float *et)
Definition: DetourCommon.cpp:254
+
void dtVcross(float *dest, const float *v1, const float *v2)
Derives the cross product of two vectors.
Definition: DetourCommon.h:84
+
float dtDistancePtSegSqr2D(const float *pt, const float *p, const float *q, float &t)
Definition: DetourCommon.cpp:170
+
float dtVdot2D(const float *u, const float *v)
Derives the dot product of two vectors on the xz-plane.
Definition: DetourCommon.h:313
+
int dtOppositeTile(int side)
Definition: DetourCommon.h:465
+
void dtSwapByte(unsigned char *a, unsigned char *b)
Definition: DetourCommon.h:467
+
unsigned int dtNextPow2(unsigned int v)
Definition: DetourCommon.h:439
+
void dtVadd(float *dest, const float *v1, const float *v2)
Performs a vector addition.
Definition: DetourCommon.h:128
+
bool dtOverlapQuantBounds(const unsigned short amin[3], const unsigned short amax[3], const unsigned short bmin[3], const unsigned short bmax[3])
Determines if two axis-aligned bounding boxes overlap.
Definition: DetourCommon.h:354
+
float dtTriArea2D(const float *a, const float *b, const float *c)
Derives the signed xz-plane area of the triangle ABC, or the relationship of line AB to point C.
Definition: DetourCommon.h:338
+
float dtVdistSqr(const float *v1, const float *v2)
Returns the square of the distance between two points.
Definition: DetourCommon.h:229
+
bool dtVequal(const float *p0, const float *p1)
Performs a 'sloppy' colocation check of the specified points.
Definition: DetourCommon.h:278
+
bool dtOverlapBounds(const float *amin, const float *amax, const float *bmin, const float *bmax)
Determines if two axis-aligned bounding boxes overlap.
Definition: DetourCommon.h:371
+
float dtVdist2DSqr(const float *v1, const float *v2)
Derives the square of the distance between the specified points on the xz-plane.
Definition: DetourCommon.h:254
+
bool dtClosestHeightPointTriangle(const float *p, const float *a, const float *b, const float *c, float &h)
Derives the y-axis height of the closest point on the triangle from the specified reference point.
Definition: DetourCommon.cpp:204
+
bool dtVisfinite2D(const float *v)
Checks that the specified vector's 2D components are finite.
Definition: DetourCommon.h:301
+
void dtCalcPolyCenter(float *tc, const unsigned short *idx, int nidx, const float *verts)
Derives the centroid of a convex polygon.
Definition: DetourCommon.cpp:186
+
float dtVperp2D(const float *u, const float *v)
Derives the xz-plane 2D perp product of the two vectors.
Definition: DetourCommon.h:324
+
T dtSqr(T a)
Returns the square of the value.
Definition: DetourCommon.h:67
+
int dtAlign4(int x)
Definition: DetourCommon.h:463
+
void dtSwap(T &a, T &b)
Swaps the values of the two parameters.
Definition: DetourCommon.h:45
+
bool dtIntersectSegSeg2D(const float *ap, const float *aq, const float *bp, const float *bq, float &s, float &t)
Definition: DetourCommon.cpp:373
+ +
float dtMathSqrtf(float x)
Definition: DetourMath.h:16
+
bool dtMathIsfinite(float x)
Definition: DetourMath.h:22
+
+
+ + + + + diff --git a/DetourCrowd_8cpp.html b/DetourCrowd_8cpp.html new file mode 100644 index 00000000..76d305a1 --- /dev/null +++ b/DetourCrowd_8cpp.html @@ -0,0 +1,676 @@ + + + + + + + +Recast Navigation: DetourCrowd.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourCrowd.cpp File Reference
+
+
+
#include <string.h>
+#include <float.h>
+#include <stdlib.h>
+#include <new>
+#include "DetourCrowd.h"
+#include "DetourNavMesh.h"
+#include "DetourNavMeshQuery.h"
+#include "DetourObstacleAvoidance.h"
+#include "DetourCommon.h"
+#include "DetourMath.h"
+#include "DetourAssert.h"
+#include "DetourAlloc.h"
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

dtCrowddtAllocCrowd ()
 Allocates a crowd object using the Detour allocator. More...
 
void dtFreeCrowd (dtCrowd *ptr)
 Frees the specified crowd object using the Detour allocator. More...
 
float tween (const float t, const float t0, const float t1)
 
static void integrate (dtCrowdAgent *ag, const float dt)
 
static bool overOffmeshConnection (const dtCrowdAgent *ag, const float radius)
 
static float getDistanceToGoal (const dtCrowdAgent *ag, const float range)
 
static void calcSmoothSteerDirection (const dtCrowdAgent *ag, float *dir)
 
static void calcStraightSteerDirection (const dtCrowdAgent *ag, float *dir)
 
static int addNeighbour (const int idx, const float dist, dtCrowdNeighbour *neis, const int nneis, const int maxNeis)
 
static int getNeighbours (const float *pos, const float height, const float range, const dtCrowdAgent *skip, dtCrowdNeighbour *result, const int maxResult, dtCrowdAgent **agents, const int, dtProximityGrid *grid)
 
static int addToOptQueue (dtCrowdAgent *newag, dtCrowdAgent **agents, const int nagents, const int maxAgents)
 
static int addToPathQueue (dtCrowdAgent *newag, dtCrowdAgent **agents, const int nagents, const int maxAgents)
 
+ + + + + + + +

+Variables

static const int MAX_ITERS_PER_UPDATE = 100
 
static const int MAX_PATHQUEUE_NODES = 4096
 
static const int MAX_COMMON_NODES = 512
 
+

Function Documentation

+ +

◆ addNeighbour()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static int addNeighbour (const int idx,
const float dist,
dtCrowdNeighbourneis,
const int nneis,
const int maxNeis 
)
+
+static
+
+ +
+
+ +

◆ addToOptQueue()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static int addToOptQueue (dtCrowdAgentnewag,
dtCrowdAgent ** agents,
const int nagents,
const int maxAgents 
)
+
+static
+
+ +
+
+ +

◆ addToPathQueue()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static int addToPathQueue (dtCrowdAgentnewag,
dtCrowdAgent ** agents,
const int nagents,
const int maxAgents 
)
+
+static
+
+ +
+
+ +

◆ calcSmoothSteerDirection()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void calcSmoothSteerDirection (const dtCrowdAgentag,
float * dir 
)
+
+static
+
+ +
+
+ +

◆ calcStraightSteerDirection()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void calcStraightSteerDirection (const dtCrowdAgentag,
float * dir 
)
+
+static
+
+ +
+
+ +

◆ getDistanceToGoal()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static float getDistanceToGoal (const dtCrowdAgentag,
const float range 
)
+
+static
+
+ +
+
+ +

◆ getNeighbours()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static int getNeighbours (const float * pos,
const float height,
const float range,
const dtCrowdAgentskip,
dtCrowdNeighbourresult,
const int maxResult,
dtCrowdAgent ** agents,
const int ,
dtProximityGridgrid 
)
+
+static
+
+ +
+
+ +

◆ integrate()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void integrate (dtCrowdAgentag,
const float dt 
)
+
+static
+
+ +
+
+ +

◆ overOffmeshConnection()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static bool overOffmeshConnection (const dtCrowdAgentag,
const float radius 
)
+
+static
+
+ +
+
+ +

◆ tween()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
float tween (const float t,
const float t0,
const float t1 
)
+
+inline
+
+ +
+
+

Variable Documentation

+ +

◆ MAX_COMMON_NODES

+ +
+
+ + + + + +
+ + + + +
const int MAX_COMMON_NODES = 512
+
+static
+
+ +
+
+ +

◆ MAX_ITERS_PER_UPDATE

+ +
+
+ + + + + +
+ + + + +
const int MAX_ITERS_PER_UPDATE = 100
+
+static
+
+ +
+
+ +

◆ MAX_PATHQUEUE_NODES

+ +
+
+ + + + + +
+ + + + +
const int MAX_PATHQUEUE_NODES = 4096
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/DetourCrowd_8cpp.js b/DetourCrowd_8cpp.js new file mode 100644 index 00000000..798f52f3 --- /dev/null +++ b/DetourCrowd_8cpp.js @@ -0,0 +1,18 @@ +var DetourCrowd_8cpp = +[ + [ "addNeighbour", "DetourCrowd_8cpp.html#a9e5491a91f795b81e724a48f8a4ee942", null ], + [ "addToOptQueue", "DetourCrowd_8cpp.html#a260333ea7db3d2f49d9fdfd9ed4d078c", null ], + [ "addToPathQueue", "DetourCrowd_8cpp.html#ad6e17a3fb0a88bbdb9f36d4d1eb483e8", null ], + [ "calcSmoothSteerDirection", "DetourCrowd_8cpp.html#abfe93834630c322a9a508de9c9a1bbb8", null ], + [ "calcStraightSteerDirection", "DetourCrowd_8cpp.html#a13aa5147e130f02757fc14ad317d5dff", null ], + [ "dtAllocCrowd", "group__crowd.html#ga01a53c9d76d1b61678ab1944dfbfac55", null ], + [ "dtFreeCrowd", "group__crowd.html#ga9475313642645070e78c359e0fc02b7a", null ], + [ "getDistanceToGoal", "DetourCrowd_8cpp.html#aa1c9aee7599d23c1b1b5db2363cc3a1c", null ], + [ "getNeighbours", "DetourCrowd_8cpp.html#a5fcc526c98bb123bbcb22c103d5f736b", null ], + [ "integrate", "DetourCrowd_8cpp.html#a284e9ea2c9700317d3dca1df47df5ab8", null ], + [ "overOffmeshConnection", "DetourCrowd_8cpp.html#a72ec7fe4c35ce817869a41b2319f0618", null ], + [ "tween", "DetourCrowd_8cpp.html#a41b93b1d9ae7dc1511fbee39032e4e9a", null ], + [ "MAX_COMMON_NODES", "DetourCrowd_8cpp.html#ac718951eb34b37a1c2f66ef6cc3f7ee6", null ], + [ "MAX_ITERS_PER_UPDATE", "DetourCrowd_8cpp.html#a6415beb0f334c026346ca21f1473d3ed", null ], + [ "MAX_PATHQUEUE_NODES", "DetourCrowd_8cpp.html#a6041e29fcccdcfc2f0b2b41d6f5df394", null ] +]; \ No newline at end of file diff --git a/DetourCrowd_8h.html b/DetourCrowd_8h.html new file mode 100644 index 00000000..57268b22 --- /dev/null +++ b/DetourCrowd_8h.html @@ -0,0 +1,217 @@ + + + + + + + +Recast Navigation: DetourCrowd.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourCrowd.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + +

+Classes

struct  dtCrowdNeighbour
 Provides neighbor data for agents managed by the crowd. More...
 
struct  dtCrowdAgentParams
 Configuration parameters for a crowd agent. More...
 
struct  dtCrowdAgent
 Represents an agent managed by a dtCrowd object. More...
 
struct  dtCrowdAgentAnimation
 
struct  dtCrowdAgentDebugInfo
 
class  dtCrowd
 Provides local steering behaviors for a group of agents. More...
 
+ + + + + + + + + +

+Enumerations

enum  CrowdAgentState { DT_CROWDAGENT_STATE_INVALID +, DT_CROWDAGENT_STATE_WALKING +, DT_CROWDAGENT_STATE_OFFMESH + }
 The type of navigation mesh polygon the agent is currently traversing. More...
 
enum  MoveRequestState {
+  DT_CROWDAGENT_TARGET_NONE = 0 +, DT_CROWDAGENT_TARGET_FAILED +, DT_CROWDAGENT_TARGET_VALID +, DT_CROWDAGENT_TARGET_REQUESTING +,
+  DT_CROWDAGENT_TARGET_WAITING_FOR_QUEUE +, DT_CROWDAGENT_TARGET_WAITING_FOR_PATH +, DT_CROWDAGENT_TARGET_VELOCITY +
+ }
 
enum  UpdateFlags {
+  DT_CROWD_ANTICIPATE_TURNS = 1 +, DT_CROWD_OBSTACLE_AVOIDANCE = 2 +, DT_CROWD_SEPARATION = 4 +, DT_CROWD_OPTIMIZE_VIS = 8 +,
+  DT_CROWD_OPTIMIZE_TOPO = 16 +
+ }
 Crowd agent update flags. More...
 
+ + + + + + + +

+Functions

dtCrowddtAllocCrowd ()
 Allocates a crowd object using the Detour allocator. More...
 
void dtFreeCrowd (dtCrowd *ptr)
 Frees the specified crowd object using the Detour allocator. More...
 
+ + + + + + + + + + + + + +

+Variables

static const int DT_CROWDAGENT_MAX_NEIGHBOURS = 6
 The maximum number of neighbors that a crowd agent can take into account for steering decisions. More...
 
static const int DT_CROWDAGENT_MAX_CORNERS = 4
 The maximum number of corners a crowd agent will look ahead in the path. More...
 
static const int DT_CROWD_MAX_OBSTAVOIDANCE_PARAMS = 8
 The maximum number of crowd avoidance configurations supported by the crowd manager. More...
 
static const int DT_CROWD_MAX_QUERY_FILTER_TYPE = 16
 The maximum number of query filter types supported by the crowd manager. More...
 
+

Enumeration Type Documentation

+ +

◆ MoveRequestState

+ +
+
+ + + + +
enum MoveRequestState
+
+ + + + + + + + +
Enumerator
DT_CROWDAGENT_TARGET_NONE 
DT_CROWDAGENT_TARGET_FAILED 
DT_CROWDAGENT_TARGET_VALID 
DT_CROWDAGENT_TARGET_REQUESTING 
DT_CROWDAGENT_TARGET_WAITING_FOR_QUEUE 
DT_CROWDAGENT_TARGET_WAITING_FOR_PATH 
DT_CROWDAGENT_TARGET_VELOCITY 
+ +
+
+
+
+ + + + + diff --git a/DetourCrowd_8h.js b/DetourCrowd_8h.js new file mode 100644 index 00000000..1e028bc4 --- /dev/null +++ b/DetourCrowd_8h.js @@ -0,0 +1,32 @@ +var DetourCrowd_8h = +[ + [ "dtCrowdAgentAnimation", "structdtCrowdAgentAnimation.html", "structdtCrowdAgentAnimation" ], + [ "dtCrowdAgentDebugInfo", "structdtCrowdAgentDebugInfo.html", "structdtCrowdAgentDebugInfo" ], + [ "CrowdAgentState", "group__crowd.html#ga59bc9aa54705292d8f0f1ad9ca48ca82", [ + [ "DT_CROWDAGENT_STATE_INVALID", "group__crowd.html#gga59bc9aa54705292d8f0f1ad9ca48ca82ac2abcf7abcdba5abeda5801fc771baa8", null ], + [ "DT_CROWDAGENT_STATE_WALKING", "group__crowd.html#gga59bc9aa54705292d8f0f1ad9ca48ca82ab165ebb808ee9390c7f7ec9f5ea277ec", null ], + [ "DT_CROWDAGENT_STATE_OFFMESH", "group__crowd.html#gga59bc9aa54705292d8f0f1ad9ca48ca82a4194d4934f447526177f505e93c96fec", null ] + ] ], + [ "MoveRequestState", "DetourCrowd_8h.html#aad3d0709fbef530774fb64258d384b45", [ + [ "DT_CROWDAGENT_TARGET_NONE", "DetourCrowd_8h.html#aad3d0709fbef530774fb64258d384b45a1efdea788539b201e16bcd09e9347ae7", null ], + [ "DT_CROWDAGENT_TARGET_FAILED", "DetourCrowd_8h.html#aad3d0709fbef530774fb64258d384b45aaa1525e197b2b6add764e97fd3da5ce7", null ], + [ "DT_CROWDAGENT_TARGET_VALID", "DetourCrowd_8h.html#aad3d0709fbef530774fb64258d384b45a45244b4362aee5863d10bd13b5c66551", null ], + [ "DT_CROWDAGENT_TARGET_REQUESTING", "DetourCrowd_8h.html#aad3d0709fbef530774fb64258d384b45a6cde99476549f0f93d670b33bbdd7876", null ], + [ "DT_CROWDAGENT_TARGET_WAITING_FOR_QUEUE", "DetourCrowd_8h.html#aad3d0709fbef530774fb64258d384b45a21672fb406e58d9efd8382d0cdcc4d25", null ], + [ "DT_CROWDAGENT_TARGET_WAITING_FOR_PATH", "DetourCrowd_8h.html#aad3d0709fbef530774fb64258d384b45a0f572e76100f026a51452e63824e26b1", null ], + [ "DT_CROWDAGENT_TARGET_VELOCITY", "DetourCrowd_8h.html#aad3d0709fbef530774fb64258d384b45a9c2198f765c2c912565af671e5635bbe", null ] + ] ], + [ "UpdateFlags", "group__crowd.html#gaa94b67d2fdcc390690c523f28019e52f", [ + [ "DT_CROWD_ANTICIPATE_TURNS", "group__crowd.html#ggaa94b67d2fdcc390690c523f28019e52fafeecd3363350e50041dca39352c3e268", null ], + [ "DT_CROWD_OBSTACLE_AVOIDANCE", "group__crowd.html#ggaa94b67d2fdcc390690c523f28019e52fad5d5d50e0b623e78e0dd68eb816bcc00", null ], + [ "DT_CROWD_SEPARATION", "group__crowd.html#ggaa94b67d2fdcc390690c523f28019e52fa07d463e4e35cd6ca1f16e6bede02856e", null ], + [ "DT_CROWD_OPTIMIZE_VIS", "group__crowd.html#ggaa94b67d2fdcc390690c523f28019e52fad11f447facf1bf42c09de64e9483f3aa", null ], + [ "DT_CROWD_OPTIMIZE_TOPO", "group__crowd.html#ggaa94b67d2fdcc390690c523f28019e52fa89c6f7f2e49254e775cb2b85259a0a93", null ] + ] ], + [ "dtAllocCrowd", "group__crowd.html#ga01a53c9d76d1b61678ab1944dfbfac55", null ], + [ "dtFreeCrowd", "group__crowd.html#ga9475313642645070e78c359e0fc02b7a", null ], + [ "DT_CROWD_MAX_OBSTAVOIDANCE_PARAMS", "group__crowd.html#gaca1e1a9395fd4406de712dc4330c60c5", null ], + [ "DT_CROWD_MAX_QUERY_FILTER_TYPE", "group__crowd.html#ga1686003d07121541db2ee11074e1b3af", null ], + [ "DT_CROWDAGENT_MAX_CORNERS", "group__crowd.html#gab745b43d81519294efcfe7449faff3de", null ], + [ "DT_CROWDAGENT_MAX_NEIGHBOURS", "group__crowd.html#ga70106a906d993ec6c39ef91d81c0f40e", null ] +]; \ No newline at end of file diff --git a/DetourCrowd_8h_source.html b/DetourCrowd_8h_source.html new file mode 100644 index 00000000..8c41323e --- /dev/null +++ b/DetourCrowd_8h_source.html @@ -0,0 +1,477 @@ + + + + + + + +Recast Navigation: DetourCrowd.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DetourCrowd.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 DETOURCROWD_H
+
20 #define DETOURCROWD_H
+
21 
+
22 #include "DetourNavMeshQuery.h"
+ +
24 #include "DetourLocalBoundary.h"
+
25 #include "DetourPathCorridor.h"
+
26 #include "DetourProximityGrid.h"
+
27 #include "DetourPathQueue.h"
+
28 
+
32 static const int DT_CROWDAGENT_MAX_NEIGHBOURS = 6;
+
33 
+
39 static const int DT_CROWDAGENT_MAX_CORNERS = 4;
+
40 
+
46 static const int DT_CROWD_MAX_OBSTAVOIDANCE_PARAMS = 8;
+
47 
+
52 static const int DT_CROWD_MAX_QUERY_FILTER_TYPE = 16;
+
53 
+ +
58 {
+
59  int idx;
+
60  float dist;
+
61 };
+
62 
+ +
66 {
+ + + +
70 };
+
71 
+ +
75 {
+
76  float radius;
+
77  float height;
+ +
79  float maxSpeed;
+
80 
+ +
83 
+ +
85 
+ +
88 
+
90  unsigned char updateFlags;
+
91 
+
94  unsigned char obstacleAvoidanceType;
+
95 
+
97  unsigned char queryFilterType;
+
98 
+
100  void* userData;
+
101 };
+
102 
+ +
104 {
+ + + + + + + +
112 };
+
113 
+ +
117 {
+
119  bool active;
+
120 
+
122  unsigned char state;
+
123 
+
125  bool partial;
+
126 
+ +
129 
+ +
132 
+ +
135 
+ +
138 
+
140  int nneis;
+
141 
+ +
144 
+
145  float npos[3];
+
146  float disp[3];
+
147  float dvel[3];
+
148  float nvel[3];
+
149  float vel[3];
+
150 
+ +
153 
+ +
156 
+ +
159 
+ +
162 
+
164  int ncorners;
+
165 
+
166  unsigned char targetState;
+ +
168  float targetPos[3];
+ + + +
172 };
+
173 
+ +
175 {
+
176  bool active;
+
177  float initPos[3], startPos[3], endPos[3];
+ +
179  float t, tmax;
+
180 };
+
181 
+ +
186 {
+ + + + + +
192 };
+
193 
+ +
195 {
+
196  int idx;
+
197  float optStart[3], optEnd[3];
+ +
199 };
+
200 
+
203 class dtCrowd
+
204 {
+
205  int m_maxAgents;
+
206  dtCrowdAgent* m_agents;
+
207  dtCrowdAgent** m_activeAgents;
+
208  dtCrowdAgentAnimation* m_agentAnims;
+
209 
+
210  dtPathQueue m_pathq;
+
211 
+ +
213  dtObstacleAvoidanceQuery* m_obstacleQuery;
+
214 
+
215  dtProximityGrid* m_grid;
+
216 
+
217  dtPolyRef* m_pathResult;
+
218  int m_maxPathResult;
+
219 
+
220  float m_agentPlacementHalfExtents[3];
+
221 
+ +
223 
+
224  float m_maxAgentRadius;
+
225 
+
226  int m_velocitySampleCount;
+
227 
+
228  dtNavMeshQuery* m_navquery;
+
229 
+
230  void updateTopologyOptimization(dtCrowdAgent** agents, const int nagents, const float dt);
+
231  void updateMoveRequest(const float dt);
+
232  void checkPathValidity(dtCrowdAgent** agents, const int nagents, const float dt);
+
233 
+
234  inline int getAgentIndex(const dtCrowdAgent* agent) const { return (int)(agent - m_agents); }
+
235 
+
236  bool requestMoveTargetReplan(const int idx, dtPolyRef ref, const float* pos);
+
237 
+
238  void purge();
+
239 
+
240 public:
+
241  dtCrowd();
+
242  ~dtCrowd();
+
243 
+
249  bool init(const int maxAgents, const float maxAgentRadius, dtNavMesh* nav);
+
250 
+
254  void setObstacleAvoidanceParams(const int idx, const dtObstacleAvoidanceParams* params);
+
255 
+
260  const dtObstacleAvoidanceParams* getObstacleAvoidanceParams(const int idx) const;
+
261 
+
265  const dtCrowdAgent* getAgent(const int idx);
+
266 
+
270  dtCrowdAgent* getEditableAgent(const int idx);
+
271 
+
274  int getAgentCount() const;
+
275 
+
280  int addAgent(const float* pos, const dtCrowdAgentParams* params);
+
281 
+
285  void updateAgentParameters(const int idx, const dtCrowdAgentParams* params);
+
286 
+
289  void removeAgent(const int idx);
+
290 
+
296  bool requestMoveTarget(const int idx, dtPolyRef ref, const float* pos);
+
297 
+
302  bool requestMoveVelocity(const int idx, const float* vel);
+
303 
+
307  bool resetMoveTarget(const int idx);
+
308 
+
313  int getActiveAgents(dtCrowdAgent** agents, const int maxAgents);
+
314 
+
318  void update(const float dt, dtCrowdAgentDebugInfo* debug);
+
319 
+
322  inline const dtQueryFilter* getFilter(const int i) const { return (i >= 0 && i < DT_CROWD_MAX_QUERY_FILTER_TYPE) ? &m_filters[i] : 0; }
+
323 
+
326  inline dtQueryFilter* getEditableFilter(const int i) { return (i >= 0 && i < DT_CROWD_MAX_QUERY_FILTER_TYPE) ? &m_filters[i] : 0; }
+
327 
+
330  const float* getQueryHalfExtents() const { return m_agentPlacementHalfExtents; }
+
331 
+
334  const float* getQueryExtents() const { return m_agentPlacementHalfExtents; }
+
335 
+
338  inline int getVelocitySampleCount() const { return m_velocitySampleCount; }
+
339 
+
342  const dtProximityGrid* getGrid() const { return m_grid; }
+
343 
+
346  const dtPathQueue* getPathQueue() const { return &m_pathq; }
+
347 
+
349  const dtNavMeshQuery* getNavMeshQuery() const { return m_navquery; }
+
350 
+
351 private:
+
352  // Explicitly disabled copy constructor and copy assignment operator.
+
353  dtCrowd(const dtCrowd&);
+
354  dtCrowd& operator=(const dtCrowd&);
+
355 };
+
356 
+ +
361 
+
365 void dtFreeCrowd(dtCrowd* ptr);
+
366 
+
367 
+
368 #endif // DETOURCROWD_H
+
369 
+
371 
+
372 // This section contains detailed documentation for members that don't have
+
373 // a source file. It reduces clutter in the main section of the header.
+
374 
+
MoveRequestState
Definition: DetourCrowd.h:104
+
@ DT_CROWDAGENT_TARGET_WAITING_FOR_PATH
Definition: DetourCrowd.h:110
+
@ DT_CROWDAGENT_TARGET_NONE
Definition: DetourCrowd.h:105
+
@ DT_CROWDAGENT_TARGET_WAITING_FOR_QUEUE
Definition: DetourCrowd.h:109
+
@ DT_CROWDAGENT_TARGET_VALID
Definition: DetourCrowd.h:107
+
@ DT_CROWDAGENT_TARGET_REQUESTING
Definition: DetourCrowd.h:108
+
@ DT_CROWDAGENT_TARGET_VELOCITY
Definition: DetourCrowd.h:111
+
@ DT_CROWDAGENT_TARGET_FAILED
Definition: DetourCrowd.h:106
+ + + + + +
unsigned int dtPathQueueRef
Definition: DetourPathQueue.h:27
+ +
Provides local steering behaviors for a group of agents.
Definition: DetourCrowd.h:204
+
int getActiveAgents(dtCrowdAgent **agents, const int maxAgents)
Gets the active agents int the agent pool.
Definition: DetourCrowd.cpp:664
+
dtQueryFilter * getEditableFilter(const int i)
Gets the filter used by the crowd.
Definition: DetourCrowd.h:326
+
const dtProximityGrid * getGrid() const
Gets the crowd's proximity grid.
Definition: DetourCrowd.h:342
+
dtCrowd()
Definition: DetourCrowd.cpp:331
+
int getVelocitySampleCount() const
Gets the velocity sample count.
Definition: DetourCrowd.h:338
+
const float * getQueryHalfExtents() const
Gets the search halfExtents [(x, y, z)] used by the crowd for query operations.
Definition: DetourCrowd.h:330
+
bool init(const int maxAgents, const float maxAgentRadius, dtNavMesh *nav)
Initializes the crowd.
Definition: DetourCrowd.cpp:381
+
const dtObstacleAvoidanceParams * getObstacleAvoidanceParams(const int idx) const
Gets the shared avoidance configuration for the specified index.
Definition: DetourCrowd.cpp:470
+
bool requestMoveVelocity(const int idx, const float *vel)
Submits a new move request for the specified agent.
Definition: DetourCrowd.cpp:629
+
const dtPathQueue * getPathQueue() const
Gets the crowd's path request queue.
Definition: DetourCrowd.h:346
+
const float * getQueryExtents() const
Same as getQueryHalfExtents.
Definition: DetourCrowd.h:334
+
void updateAgentParameters(const int idx, const dtCrowdAgentParams *params)
Updates the specified agent's configuration.
Definition: DetourCrowd.cpp:501
+
bool resetMoveTarget(const int idx)
Resets any request for the specified agent.
Definition: DetourCrowd.cpp:646
+
int getAgentCount() const
The maximum number of agents that can be managed by the object.
Definition: DetourCrowd.cpp:477
+
void setObstacleAvoidanceParams(const int idx, const dtObstacleAvoidanceParams *params)
Sets the shared avoidance configuration for the specified index.
Definition: DetourCrowd.cpp:464
+
~dtCrowd()
Definition: DetourCrowd.cpp:346
+
bool requestMoveTarget(const int idx, dtPolyRef ref, const float *pos)
Submits a new move request for the specified agent.
Definition: DetourCrowd.cpp:607
+
dtCrowdAgent * getEditableAgent(const int idx)
Gets the specified agent from the pool.
Definition: DetourCrowd.cpp:494
+
void update(const float dt, dtCrowdAgentDebugInfo *debug)
Updates the steering and positions of all agents.
Definition: DetourCrowd.cpp:1046
+
const dtNavMeshQuery * getNavMeshQuery() const
Gets the query object used by the crowd.
Definition: DetourCrowd.h:349
+
const dtQueryFilter * getFilter(const int i) const
Gets the filter used by the crowd.
Definition: DetourCrowd.h:322
+
int addAgent(const float *pos, const dtCrowdAgentParams *params)
Adds a new agent to the crowd.
Definition: DetourCrowd.cpp:511
+
void removeAgent(const int idx)
Removes the agent from the crowd.
Definition: DetourCrowd.cpp:572
+
const dtCrowdAgent * getAgent(const int idx)
Gets the specified agent from the pool.
Definition: DetourCrowd.cpp:485
+
Definition: DetourLocalBoundary.h:26
+
Provides the ability to perform pathfinding related queries against a navigation mesh.
Definition: DetourNavMeshQuery.h:166
+
A navigation mesh based on tiles of convex polygons.
Definition: DetourNavMesh.h:339
+
Definition: DetourObstacleAvoidance.h:39
+
Definition: DetourObstacleAvoidance.h:98
+
Represents a dynamic polygon corridor used to plan agent movement.
Definition: DetourPathCorridor.h:27
+
Definition: DetourPathQueue.h:30
+
Definition: DetourProximityGrid.h:23
+
Defines polygon filtering and traversal costs for navigation mesh query operations.
Definition: DetourNavMeshQuery.h:36
+
dtCrowd * dtAllocCrowd()
Allocates a crowd object using the Detour allocator.
Definition: DetourCrowd.cpp:33
+
static const int DT_CROWD_MAX_QUERY_FILTER_TYPE
The maximum number of query filter types supported by the crowd manager.
Definition: DetourCrowd.h:52
+
CrowdAgentState
The type of navigation mesh polygon the agent is currently traversing.
Definition: DetourCrowd.h:66
+
static const int DT_CROWDAGENT_MAX_NEIGHBOURS
The maximum number of neighbors that a crowd agent can take into account for steering decisions.
Definition: DetourCrowd.h:32
+
void dtFreeCrowd(dtCrowd *ptr)
Frees the specified crowd object using the Detour allocator.
Definition: DetourCrowd.cpp:40
+
UpdateFlags
Crowd agent update flags.
Definition: DetourCrowd.h:186
+
static const int DT_CROWDAGENT_MAX_CORNERS
The maximum number of corners a crowd agent will look ahead in the path.
Definition: DetourCrowd.h:39
+
static const int DT_CROWD_MAX_OBSTAVOIDANCE_PARAMS
The maximum number of crowd avoidance configurations supported by the crowd manager.
Definition: DetourCrowd.h:46
+
@ DT_CROWDAGENT_STATE_OFFMESH
The agent is traversing an off-mesh connection.
Definition: DetourCrowd.h:69
+
@ DT_CROWDAGENT_STATE_WALKING
The agent is traversing a normal navigation mesh polygon.
Definition: DetourCrowd.h:68
+
@ DT_CROWDAGENT_STATE_INVALID
The agent is not in a valid state.
Definition: DetourCrowd.h:67
+
@ DT_CROWD_SEPARATION
Definition: DetourCrowd.h:189
+
@ DT_CROWD_OPTIMIZE_TOPO
Use dtPathCorridor::optimizePathTopology() to optimize the agent path.
Definition: DetourCrowd.h:191
+
@ DT_CROWD_OPTIMIZE_VIS
Use dtPathCorridor::optimizePathVisibility() to optimize the agent path.
Definition: DetourCrowd.h:190
+
@ DT_CROWD_OBSTACLE_AVOIDANCE
Definition: DetourCrowd.h:188
+
@ DT_CROWD_ANTICIPATE_TURNS
Definition: DetourCrowd.h:187
+
unsigned int dtPolyRef
A handle to a polygon within a navigation mesh tile.
Definition: DetourNavMesh.h:48
+
Definition: DetourCrowd.h:175
+
bool active
Definition: DetourCrowd.h:176
+
float initPos[3]
Definition: DetourCrowd.h:177
+
float tmax
Definition: DetourCrowd.h:179
+
float startPos[3]
Definition: DetourCrowd.h:177
+
dtPolyRef polyRef
Definition: DetourCrowd.h:178
+
float t
Definition: DetourCrowd.h:179
+
float endPos[3]
Definition: DetourCrowd.h:177
+
Definition: DetourCrowd.h:195
+
float optEnd[3]
Definition: DetourCrowd.h:197
+
dtObstacleAvoidanceDebugData * vod
Definition: DetourCrowd.h:198
+
float optStart[3]
Definition: DetourCrowd.h:197
+
int idx
Definition: DetourCrowd.h:196
+
Configuration parameters for a crowd agent.
Definition: DetourCrowd.h:75
+
void * userData
User defined data attached to the agent.
Definition: DetourCrowd.h:100
+
float maxSpeed
Maximum allowed speed. [Limit: >= 0].
Definition: DetourCrowd.h:79
+
float maxAcceleration
Maximum allowed acceleration. [Limit: >= 0].
Definition: DetourCrowd.h:78
+
float collisionQueryRange
Defines how close a collision element must be before it is considered for steering behaviors....
Definition: DetourCrowd.h:82
+
float separationWeight
How aggresive the agent manager should be at avoiding collisions with this agent. [Limit: >= 0].
Definition: DetourCrowd.h:87
+
unsigned char updateFlags
Flags that impact steering behavior. (See: UpdateFlags)
Definition: DetourCrowd.h:90
+
float height
Agent height. [Limit: > 0].
Definition: DetourCrowd.h:77
+
float radius
Agent radius. [Limit: >= 0].
Definition: DetourCrowd.h:76
+
float pathOptimizationRange
The path visibility optimization range. [Limit: > 0].
Definition: DetourCrowd.h:84
+
unsigned char obstacleAvoidanceType
The index of the avoidance configuration to use for the agent.
Definition: DetourCrowd.h:94
+
unsigned char queryFilterType
The index of the query filter used by this agent.
Definition: DetourCrowd.h:97
+
Represents an agent managed by a dtCrowd object.
Definition: DetourCrowd.h:117
+
unsigned char state
The type of mesh polygon the agent is traversing. (See: CrowdAgentState)
Definition: DetourCrowd.h:122
+
unsigned char cornerFlags[DT_CROWDAGENT_MAX_CORNERS]
The local path corridor corner flags. (See: dtStraightPathFlags) [(flags) * ncorners].
Definition: DetourCrowd.h:158
+
dtPolyRef targetRef
Target polyref of the movement request.
Definition: DetourCrowd.h:167
+
float targetPos[3]
Target position of the movement request (or velocity in case of DT_CROWDAGENT_TARGET_VELOCITY).
Definition: DetourCrowd.h:168
+
dtPathQueueRef targetPathqRef
Path finder ref.
Definition: DetourCrowd.h:169
+
unsigned char targetState
State of the movement request.
Definition: DetourCrowd.h:166
+
int nneis
The number of neighbors.
Definition: DetourCrowd.h:140
+
float vel[3]
The actual velocity of the agent. The change from nvel -> vel is constrained by max acceleration....
Definition: DetourCrowd.h:149
+
float targetReplanTime
Definition: DetourCrowd.h:171
+
bool targetReplan
Flag indicating that the current path is being replanned.
Definition: DetourCrowd.h:170
+
bool active
True if the agent is active, false if the agent is in an unused slot in the agent pool.
Definition: DetourCrowd.h:119
+
dtPathCorridor corridor
The path corridor the agent is using.
Definition: DetourCrowd.h:128
+
dtLocalBoundary boundary
The local boundary data for the agent.
Definition: DetourCrowd.h:131
+
float disp[3]
A temporary value used to accumulate agent displacement during iterative collision resolution....
Definition: DetourCrowd.h:146
+
float topologyOptTime
Time since the agent's path corridor was optimized.
Definition: DetourCrowd.h:134
+
int ncorners
The number of corners.
Definition: DetourCrowd.h:164
+
dtCrowdNeighbour neis[DT_CROWDAGENT_MAX_NEIGHBOURS]
The known neighbors of the agent.
Definition: DetourCrowd.h:137
+
float nvel[3]
The desired velocity adjusted by obstacle avoidance, calculated from scratch each frame....
Definition: DetourCrowd.h:148
+
dtPolyRef cornerPolys[DT_CROWDAGENT_MAX_CORNERS]
The reference id of the polygon being entered at the corner. [(polyRef) * ncorners].
Definition: DetourCrowd.h:161
+
float cornerVerts[DT_CROWDAGENT_MAX_CORNERS *3]
The local path corridor corners for the agent. (Staight path.) [(x, y, z) * ncorners].
Definition: DetourCrowd.h:155
+
float npos[3]
The current agent position. [(x, y, z)].
Definition: DetourCrowd.h:145
+
float desiredSpeed
The desired speed.
Definition: DetourCrowd.h:143
+
dtCrowdAgentParams params
The agent's configuration parameters.
Definition: DetourCrowd.h:152
+
float dvel[3]
The desired velocity of the agent. Based on the current path, calculated from scratch each frame....
Definition: DetourCrowd.h:147
+
bool partial
True if the agent has valid path (targetState == DT_CROWDAGENT_TARGET_VALID) and the path does not le...
Definition: DetourCrowd.h:125
+
Provides neighbor data for agents managed by the crowd.
Definition: DetourCrowd.h:58
+
int idx
The index of the neighbor in the crowd.
Definition: DetourCrowd.h:59
+
float dist
The distance between the current agent and the neighbor.
Definition: DetourCrowd.h:60
+
Definition: DetourObstacleAvoidance.h:84
+
+
+ + + + + diff --git a/DetourDebugDraw_8cpp.html b/DetourDebugDraw_8cpp.html new file mode 100644 index 00000000..23e0eaae --- /dev/null +++ b/DetourDebugDraw_8cpp.html @@ -0,0 +1,830 @@ + + + + + + + +Recast Navigation: DetourDebugDraw.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourDebugDraw.cpp File Reference
+
+
+
#include "DebugDraw.h"
+#include "DetourDebugDraw.h"
+#include "DetourNavMesh.h"
+#include "DetourCommon.h"
+#include "DetourNode.h"
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

static float distancePtLine2d (const float *pt, const float *p, const float *q)
 
static void drawPolyBoundaries (duDebugDraw *dd, const dtMeshTile *tile, const unsigned int col, const float linew, bool inner)
 
static void drawMeshTile (duDebugDraw *dd, const dtNavMesh &mesh, const dtNavMeshQuery *query, const dtMeshTile *tile, unsigned char flags)
 
void duDebugDrawNavMesh (duDebugDraw *dd, const dtNavMesh &mesh, unsigned char flags)
 
void duDebugDrawNavMeshWithClosedList (struct duDebugDraw *dd, const dtNavMesh &mesh, const dtNavMeshQuery &query, unsigned char flags)
 
void duDebugDrawNavMeshNodes (struct duDebugDraw *dd, const dtNavMeshQuery &query)
 
static void drawMeshTileBVTree (duDebugDraw *dd, const dtMeshTile *tile)
 
void duDebugDrawNavMeshBVTree (duDebugDraw *dd, const dtNavMesh &mesh)
 
static void drawMeshTilePortal (duDebugDraw *dd, const dtMeshTile *tile)
 
void duDebugDrawNavMeshPortals (duDebugDraw *dd, const dtNavMesh &mesh)
 
void duDebugDrawNavMeshPolysWithFlags (struct duDebugDraw *dd, const dtNavMesh &mesh, const unsigned short polyFlags, const unsigned int col)
 
void duDebugDrawNavMeshPoly (duDebugDraw *dd, const dtNavMesh &mesh, dtPolyRef ref, const unsigned int col)
 
static void debugDrawTileCachePortals (struct duDebugDraw *dd, const dtTileCacheLayer &layer, const float cs, const float ch)
 
void duDebugDrawTileCacheLayerAreas (struct duDebugDraw *dd, const dtTileCacheLayer &layer, const float cs, const float ch)
 
void duDebugDrawTileCacheLayerRegions (struct duDebugDraw *dd, const dtTileCacheLayer &layer, const float cs, const float ch)
 
void duDebugDrawTileCacheContours (duDebugDraw *dd, const struct dtTileCacheContourSet &lcset, const float *orig, const float cs, const float ch)
 
void duDebugDrawTileCachePolyMesh (duDebugDraw *dd, const struct dtTileCachePolyMesh &lmesh, const float *orig, const float cs, const float ch)
 
+

Function Documentation

+ +

◆ debugDrawTileCachePortals()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void debugDrawTileCachePortals (struct duDebugDrawdd,
const dtTileCacheLayerlayer,
const float cs,
const float ch 
)
+
+static
+
+ +
+
+ +

◆ distancePtLine2d()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static float distancePtLine2d (const float * pt,
const float * p,
const float * q 
)
+
+static
+
+ +
+
+ +

◆ drawMeshTile()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void drawMeshTile (duDebugDrawdd,
const dtNavMeshmesh,
const dtNavMeshQueryquery,
const dtMeshTiletile,
unsigned char flags 
)
+
+static
+
+ +
+
+ +

◆ drawMeshTileBVTree()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void drawMeshTileBVTree (duDebugDrawdd,
const dtMeshTiletile 
)
+
+static
+
+ +
+
+ +

◆ drawMeshTilePortal()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void drawMeshTilePortal (duDebugDrawdd,
const dtMeshTiletile 
)
+
+static
+
+ +
+
+ +

◆ drawPolyBoundaries()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void drawPolyBoundaries (duDebugDrawdd,
const dtMeshTiletile,
const unsigned int col,
const float linew,
bool inner 
)
+
+static
+
+ +
+
+ +

◆ duDebugDrawNavMesh()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawNavMesh (duDebugDrawdd,
const dtNavMeshmesh,
unsigned char flags 
)
+
+ +
+
+ +

◆ duDebugDrawNavMeshBVTree()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duDebugDrawNavMeshBVTree (duDebugDrawdd,
const dtNavMeshmesh 
)
+
+ +
+
+ +

◆ duDebugDrawNavMeshNodes()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duDebugDrawNavMeshNodes (struct duDebugDrawdd,
const dtNavMeshQueryquery 
)
+
+ +
+
+ +

◆ duDebugDrawNavMeshPoly()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawNavMeshPoly (duDebugDrawdd,
const dtNavMeshmesh,
dtPolyRef ref,
const unsigned int col 
)
+
+ +
+
+ +

◆ duDebugDrawNavMeshPolysWithFlags()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawNavMeshPolysWithFlags (struct duDebugDrawdd,
const dtNavMeshmesh,
const unsigned short polyFlags,
const unsigned int col 
)
+
+ +
+
+ +

◆ duDebugDrawNavMeshPortals()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duDebugDrawNavMeshPortals (duDebugDrawdd,
const dtNavMeshmesh 
)
+
+ +
+
+ +

◆ duDebugDrawNavMeshWithClosedList()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawNavMeshWithClosedList (struct duDebugDrawdd,
const dtNavMeshmesh,
const dtNavMeshQueryquery,
unsigned char flags 
)
+
+ +
+
+ +

◆ duDebugDrawTileCacheContours()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawTileCacheContours (duDebugDrawdd,
const struct dtTileCacheContourSetlcset,
const float * orig,
const float cs,
const float ch 
)
+
+ +
+
+ +

◆ duDebugDrawTileCacheLayerAreas()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawTileCacheLayerAreas (struct duDebugDrawdd,
const dtTileCacheLayerlayer,
const float cs,
const float ch 
)
+
+ +
+
+ +

◆ duDebugDrawTileCacheLayerRegions()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawTileCacheLayerRegions (struct duDebugDrawdd,
const dtTileCacheLayerlayer,
const float cs,
const float ch 
)
+
+ +
+
+ +

◆ duDebugDrawTileCachePolyMesh()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawTileCachePolyMesh (duDebugDrawdd,
const struct dtTileCachePolyMeshlmesh,
const float * orig,
const float cs,
const float ch 
)
+
+ +
+
+
+
+ + + + + diff --git a/DetourDebugDraw_8cpp.js b/DetourDebugDraw_8cpp.js new file mode 100644 index 00000000..5fd5f311 --- /dev/null +++ b/DetourDebugDraw_8cpp.js @@ -0,0 +1,20 @@ +var DetourDebugDraw_8cpp = +[ + [ "debugDrawTileCachePortals", "DetourDebugDraw_8cpp.html#a8a78e768c829bc09c23c09605a8b33f3", null ], + [ "distancePtLine2d", "DetourDebugDraw_8cpp.html#a2c832a347cec9984c7713d8f714932ea", null ], + [ "drawMeshTile", "DetourDebugDraw_8cpp.html#af2a1ee1373016e10eaf947ea88c772de", null ], + [ "drawMeshTileBVTree", "DetourDebugDraw_8cpp.html#a0fd6603cb9e0de34bbe38e6e3cad0b75", null ], + [ "drawMeshTilePortal", "DetourDebugDraw_8cpp.html#aee29199f3b0642b89186180c86bb788e", null ], + [ "drawPolyBoundaries", "DetourDebugDraw_8cpp.html#a2c6ebd24958b7956f65fc24a718d18ee", null ], + [ "duDebugDrawNavMesh", "DetourDebugDraw_8cpp.html#a4f1b28d605cfc117094788cacd4fb64b", null ], + [ "duDebugDrawNavMeshBVTree", "DetourDebugDraw_8cpp.html#a4ff4399141d9f50af406373b7c648fbb", null ], + [ "duDebugDrawNavMeshNodes", "DetourDebugDraw_8cpp.html#aea1b04e77329d2698cf52c9daf844338", null ], + [ "duDebugDrawNavMeshPoly", "DetourDebugDraw_8cpp.html#abe21458cb541f67811a7887c9ad2730a", null ], + [ "duDebugDrawNavMeshPolysWithFlags", "DetourDebugDraw_8cpp.html#a6f6cbcb5c4104aa25f96f04469f2aeee", null ], + [ "duDebugDrawNavMeshPortals", "DetourDebugDraw_8cpp.html#a2f05a4c6d4c49272108f23cd01772774", null ], + [ "duDebugDrawNavMeshWithClosedList", "DetourDebugDraw_8cpp.html#ae33b26c815bcc08ba69313bbb5cff60e", null ], + [ "duDebugDrawTileCacheContours", "DetourDebugDraw_8cpp.html#aafa0931f8e76ca201b8ffdd2e0c4c4be", null ], + [ "duDebugDrawTileCacheLayerAreas", "DetourDebugDraw_8cpp.html#a395f60215ed954912bd63dbed81d1c78", null ], + [ "duDebugDrawTileCacheLayerRegions", "DetourDebugDraw_8cpp.html#a5e3b1e9d9d420ae6a99e6f5e17c326cb", null ], + [ "duDebugDrawTileCachePolyMesh", "DetourDebugDraw_8cpp.html#a884d4beb61d64886df056e39ec77c528", null ] +]; \ No newline at end of file diff --git a/DetourDebugDraw_8h.html b/DetourDebugDraw_8h.html new file mode 100644 index 00000000..f9d34363 --- /dev/null +++ b/DetourDebugDraw_8h.html @@ -0,0 +1,577 @@ + + + + + + + +Recast Navigation: DetourDebugDraw.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourDebugDraw.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Enumerations

enum  DrawNavMeshFlags { DU_DRAWNAVMESH_OFFMESHCONS = 0x01 +, DU_DRAWNAVMESH_CLOSEDLIST = 0x02 +, DU_DRAWNAVMESH_COLOR_TILES = 0x04 + }
 
+ + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void duDebugDrawNavMesh (struct duDebugDraw *dd, const dtNavMesh &mesh, unsigned char flags)
 
void duDebugDrawNavMeshWithClosedList (struct duDebugDraw *dd, const dtNavMesh &mesh, const dtNavMeshQuery &query, unsigned char flags)
 
void duDebugDrawNavMeshNodes (struct duDebugDraw *dd, const dtNavMeshQuery &query)
 
void duDebugDrawNavMeshBVTree (struct duDebugDraw *dd, const dtNavMesh &mesh)
 
void duDebugDrawNavMeshPortals (struct duDebugDraw *dd, const dtNavMesh &mesh)
 
void duDebugDrawNavMeshPolysWithFlags (struct duDebugDraw *dd, const dtNavMesh &mesh, const unsigned short polyFlags, const unsigned int col)
 
void duDebugDrawNavMeshPoly (struct duDebugDraw *dd, const dtNavMesh &mesh, dtPolyRef ref, const unsigned int col)
 
void duDebugDrawTileCacheLayerAreas (struct duDebugDraw *dd, const dtTileCacheLayer &layer, const float cs, const float ch)
 
void duDebugDrawTileCacheLayerRegions (struct duDebugDraw *dd, const dtTileCacheLayer &layer, const float cs, const float ch)
 
void duDebugDrawTileCacheContours (duDebugDraw *dd, const struct dtTileCacheContourSet &lcset, const float *orig, const float cs, const float ch)
 
void duDebugDrawTileCachePolyMesh (duDebugDraw *dd, const struct dtTileCachePolyMesh &lmesh, const float *orig, const float cs, const float ch)
 
+

Enumeration Type Documentation

+ +

◆ DrawNavMeshFlags

+ +
+
+ + + + +
enum DrawNavMeshFlags
+
+ + + + +
Enumerator
DU_DRAWNAVMESH_OFFMESHCONS 
DU_DRAWNAVMESH_CLOSEDLIST 
DU_DRAWNAVMESH_COLOR_TILES 
+ +
+
+

Function Documentation

+ +

◆ duDebugDrawNavMesh()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawNavMesh (struct duDebugDrawdd,
const dtNavMeshmesh,
unsigned char flags 
)
+
+ +
+
+ +

◆ duDebugDrawNavMeshBVTree()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duDebugDrawNavMeshBVTree (struct duDebugDrawdd,
const dtNavMeshmesh 
)
+
+ +
+
+ +

◆ duDebugDrawNavMeshNodes()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duDebugDrawNavMeshNodes (struct duDebugDrawdd,
const dtNavMeshQueryquery 
)
+
+ +
+
+ +

◆ duDebugDrawNavMeshPoly()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawNavMeshPoly (struct duDebugDrawdd,
const dtNavMeshmesh,
dtPolyRef ref,
const unsigned int col 
)
+
+ +
+
+ +

◆ duDebugDrawNavMeshPolysWithFlags()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawNavMeshPolysWithFlags (struct duDebugDrawdd,
const dtNavMeshmesh,
const unsigned short polyFlags,
const unsigned int col 
)
+
+ +
+
+ +

◆ duDebugDrawNavMeshPortals()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duDebugDrawNavMeshPortals (struct duDebugDrawdd,
const dtNavMeshmesh 
)
+
+ +
+
+ +

◆ duDebugDrawNavMeshWithClosedList()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawNavMeshWithClosedList (struct duDebugDrawdd,
const dtNavMeshmesh,
const dtNavMeshQueryquery,
unsigned char flags 
)
+
+ +
+
+ +

◆ duDebugDrawTileCacheContours()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawTileCacheContours (duDebugDrawdd,
const struct dtTileCacheContourSetlcset,
const float * orig,
const float cs,
const float ch 
)
+
+ +
+
+ +

◆ duDebugDrawTileCacheLayerAreas()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawTileCacheLayerAreas (struct duDebugDrawdd,
const dtTileCacheLayerlayer,
const float cs,
const float ch 
)
+
+ +
+
+ +

◆ duDebugDrawTileCacheLayerRegions()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawTileCacheLayerRegions (struct duDebugDrawdd,
const dtTileCacheLayerlayer,
const float cs,
const float ch 
)
+
+ +
+
+ +

◆ duDebugDrawTileCachePolyMesh()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawTileCachePolyMesh (duDebugDrawdd,
const struct dtTileCachePolyMeshlmesh,
const float * orig,
const float cs,
const float ch 
)
+
+ +
+
+
+
+ + + + + diff --git a/DetourDebugDraw_8h.js b/DetourDebugDraw_8h.js new file mode 100644 index 00000000..72395245 --- /dev/null +++ b/DetourDebugDraw_8h.js @@ -0,0 +1,19 @@ +var DetourDebugDraw_8h = +[ + [ "DrawNavMeshFlags", "DetourDebugDraw_8h.html#a114ab556d129137b6058f93b88da7ef6", [ + [ "DU_DRAWNAVMESH_OFFMESHCONS", "DetourDebugDraw_8h.html#a114ab556d129137b6058f93b88da7ef6a69a679b05dbd7792ca0cd1d1e9dcf13e", null ], + [ "DU_DRAWNAVMESH_CLOSEDLIST", "DetourDebugDraw_8h.html#a114ab556d129137b6058f93b88da7ef6ab4ba1b69972d0da1ec7b9e94cb0b6a31", null ], + [ "DU_DRAWNAVMESH_COLOR_TILES", "DetourDebugDraw_8h.html#a114ab556d129137b6058f93b88da7ef6a0ae84122add4971464d47e94f5e29df8", null ] + ] ], + [ "duDebugDrawNavMesh", "DetourDebugDraw_8h.html#adb702f765bd63cea5084faaf24ee18f7", null ], + [ "duDebugDrawNavMeshBVTree", "DetourDebugDraw_8h.html#ad879d0dcbf2511741b83a254d574896b", null ], + [ "duDebugDrawNavMeshNodes", "DetourDebugDraw_8h.html#aea1b04e77329d2698cf52c9daf844338", null ], + [ "duDebugDrawNavMeshPoly", "DetourDebugDraw_8h.html#a07a430d9d45107d565eb986fab0b9343", null ], + [ "duDebugDrawNavMeshPolysWithFlags", "DetourDebugDraw_8h.html#a6f6cbcb5c4104aa25f96f04469f2aeee", null ], + [ "duDebugDrawNavMeshPortals", "DetourDebugDraw_8h.html#a337c55285d250b7419b9dfa8a8bc0315", null ], + [ "duDebugDrawNavMeshWithClosedList", "DetourDebugDraw_8h.html#ae33b26c815bcc08ba69313bbb5cff60e", null ], + [ "duDebugDrawTileCacheContours", "DetourDebugDraw_8h.html#aafa0931f8e76ca201b8ffdd2e0c4c4be", null ], + [ "duDebugDrawTileCacheLayerAreas", "DetourDebugDraw_8h.html#a395f60215ed954912bd63dbed81d1c78", null ], + [ "duDebugDrawTileCacheLayerRegions", "DetourDebugDraw_8h.html#a5e3b1e9d9d420ae6a99e6f5e17c326cb", null ], + [ "duDebugDrawTileCachePolyMesh", "DetourDebugDraw_8h.html#a884d4beb61d64886df056e39ec77c528", null ] +]; \ No newline at end of file diff --git a/DetourDebugDraw_8h_source.html b/DetourDebugDraw_8h_source.html new file mode 100644 index 00000000..18829e66 --- /dev/null +++ b/DetourDebugDraw_8h_source.html @@ -0,0 +1,177 @@ + + + + + + + +Recast Navigation: DetourDebugDraw.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DetourDebugDraw.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 DETOURDEBUGDRAW_H
+
20 #define DETOURDEBUGDRAW_H
+
21 
+
22 #include "DetourNavMesh.h"
+
23 #include "DetourNavMeshQuery.h"
+
24 #include "DetourTileCacheBuilder.h"
+
25 
+ +
27 {
+ + + +
31 };
+
32 
+
33 void duDebugDrawNavMesh(struct duDebugDraw* dd, const dtNavMesh& mesh, unsigned char flags);
+
34 void duDebugDrawNavMeshWithClosedList(struct duDebugDraw* dd, const dtNavMesh& mesh, const dtNavMeshQuery& query, unsigned char flags);
+
35 void duDebugDrawNavMeshNodes(struct duDebugDraw* dd, const dtNavMeshQuery& query);
+
36 void duDebugDrawNavMeshBVTree(struct duDebugDraw* dd, const dtNavMesh& mesh);
+
37 void duDebugDrawNavMeshPortals(struct duDebugDraw* dd, const dtNavMesh& mesh);
+
38 void duDebugDrawNavMeshPolysWithFlags(struct duDebugDraw* dd, const dtNavMesh& mesh, const unsigned short polyFlags, const unsigned int col);
+
39 void duDebugDrawNavMeshPoly(struct duDebugDraw* dd, const dtNavMesh& mesh, dtPolyRef ref, const unsigned int col);
+
40 
+
41 void duDebugDrawTileCacheLayerAreas(struct duDebugDraw* dd, const dtTileCacheLayer& layer, const float cs, const float ch);
+
42 void duDebugDrawTileCacheLayerRegions(struct duDebugDraw* dd, const dtTileCacheLayer& layer, const float cs, const float ch);
+ +
44  const float* orig, const float cs, const float ch);
+ +
46  const float* orig, const float cs, const float ch);
+
47 
+
48 #endif // DETOURDEBUGDRAW_H
+
void duDebugDrawNavMeshPoly(struct duDebugDraw *dd, const dtNavMesh &mesh, dtPolyRef ref, const unsigned int col)
Definition: DetourDebugDraw.cpp:439
+
DrawNavMeshFlags
Definition: DetourDebugDraw.h:27
+
@ DU_DRAWNAVMESH_COLOR_TILES
Definition: DetourDebugDraw.h:30
+
@ DU_DRAWNAVMESH_OFFMESHCONS
Definition: DetourDebugDraw.h:28
+
@ DU_DRAWNAVMESH_CLOSEDLIST
Definition: DetourDebugDraw.h:29
+
void duDebugDrawNavMeshPortals(struct duDebugDraw *dd, const dtNavMesh &mesh)
Definition: DetourDebugDraw.cpp:407
+
void duDebugDrawTileCacheLayerAreas(struct duDebugDraw *dd, const dtTileCacheLayer &layer, const float cs, const float ch)
Definition: DetourDebugDraw.cpp:529
+
void duDebugDrawTileCacheLayerRegions(struct duDebugDraw *dd, const dtTileCacheLayer &layer, const float cs, const float ch)
Definition: DetourDebugDraw.cpp:583
+
void duDebugDrawNavMeshPolysWithFlags(struct duDebugDraw *dd, const dtNavMesh &mesh, const unsigned short polyFlags, const unsigned int col)
Definition: DetourDebugDraw.cpp:419
+
void duDebugDrawTileCachePolyMesh(duDebugDraw *dd, const struct dtTileCachePolyMesh &lmesh, const float *orig, const float cs, const float ch)
Definition: DetourDebugDraw.cpp:728
+
void duDebugDrawTileCacheContours(duDebugDraw *dd, const struct dtTileCacheContourSet &lcset, const float *orig, const float cs, const float ch)
Definition: DetourDebugDraw.cpp:648
+
void duDebugDrawNavMeshBVTree(struct duDebugDraw *dd, const dtNavMesh &mesh)
Definition: DetourDebugDraw.cpp:323
+
void duDebugDrawNavMesh(struct duDebugDraw *dd, const dtNavMesh &mesh, unsigned char flags)
Definition: DetourDebugDraw.cpp:237
+
void duDebugDrawNavMeshWithClosedList(struct duDebugDraw *dd, const dtNavMesh &mesh, const dtNavMeshQuery &query, unsigned char flags)
Definition: DetourDebugDraw.cpp:249
+
void duDebugDrawNavMeshNodes(struct duDebugDraw *dd, const dtNavMeshQuery &query)
Definition: DetourDebugDraw.cpp:263
+ + + +
Provides the ability to perform pathfinding related queries against a navigation mesh.
Definition: DetourNavMeshQuery.h:166
+
A navigation mesh based on tiles of convex polygons.
Definition: DetourNavMesh.h:339
+
unsigned int dtPolyRef
A handle to a polygon within a navigation mesh tile.
Definition: DetourNavMesh.h:48
+
Definition: DetourTileCacheBuilder.h:62
+
Definition: DetourTileCacheBuilder.h:44
+
Definition: DetourTileCacheBuilder.h:68
+
Abstract debug draw interface.
Definition: DebugDraw.h:35
+
+
+ + + + + diff --git a/DetourLocalBoundary_8cpp.html b/DetourLocalBoundary_8cpp.html new file mode 100644 index 00000000..0eba3757 --- /dev/null +++ b/DetourLocalBoundary_8cpp.html @@ -0,0 +1,110 @@ + + + + + + + +Recast Navigation: DetourLocalBoundary.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DetourLocalBoundary.cpp File Reference
+
+
+
#include <float.h>
+#include <string.h>
+#include "DetourLocalBoundary.h"
+#include "DetourNavMeshQuery.h"
+#include "DetourCommon.h"
+#include "DetourAssert.h"
+
+
+ + + + + diff --git a/DetourLocalBoundary_8h.html b/DetourLocalBoundary_8h.html new file mode 100644 index 00000000..079d2003 --- /dev/null +++ b/DetourLocalBoundary_8h.html @@ -0,0 +1,115 @@ + + + + + + + +Recast Navigation: DetourLocalBoundary.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourLocalBoundary.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Classes

class  dtLocalBoundary
 
+
+
+ + + + + diff --git a/DetourLocalBoundary_8h_source.html b/DetourLocalBoundary_8h_source.html new file mode 100644 index 00000000..ff438c4a --- /dev/null +++ b/DetourLocalBoundary_8h_source.html @@ -0,0 +1,183 @@ + + + + + + + +Recast Navigation: DetourLocalBoundary.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DetourLocalBoundary.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 DETOURLOCALBOUNDARY_H
+
20 #define DETOURLOCALBOUNDARY_H
+
21 
+
22 #include "DetourNavMeshQuery.h"
+
23 
+
24 
+ +
26 {
+
27  static const int MAX_LOCAL_SEGS = 8;
+
28  static const int MAX_LOCAL_POLYS = 16;
+
29 
+
30  struct Segment
+
31  {
+
32  float s[6];
+
33  float d;
+
34  };
+
35 
+
36  float m_center[3];
+
37  Segment m_segs[MAX_LOCAL_SEGS];
+
38  int m_nsegs;
+
39 
+
40  dtPolyRef m_polys[MAX_LOCAL_POLYS];
+
41  int m_npolys;
+
42 
+
43  void addSegment(const float dist, const float* s);
+
44 
+
45 public:
+ + +
48 
+
49  void reset();
+
50 
+
51  void update(dtPolyRef ref, const float* pos, const float collisionQueryRange,
+
52  dtNavMeshQuery* navquery, const dtQueryFilter* filter);
+
53 
+
54  bool isValid(dtNavMeshQuery* navquery, const dtQueryFilter* filter);
+
55 
+
56  inline const float* getCenter() const { return m_center; }
+
57  inline int getSegmentCount() const { return m_nsegs; }
+
58  inline const float* getSegment(int i) const { return m_segs[i].s; }
+
59 
+
60 private:
+
61  // Explicitly disabled copy constructor and copy assignment operator.
+ +
63  dtLocalBoundary& operator=(const dtLocalBoundary&);
+
64 };
+
65 
+
66 #endif // DETOURLOCALBOUNDARY_H
+ +
Definition: DetourLocalBoundary.h:26
+
int getSegmentCount() const
Definition: DetourLocalBoundary.h:57
+
const float * getSegment(int i) const
Definition: DetourLocalBoundary.h:58
+
void update(dtPolyRef ref, const float *pos, const float collisionQueryRange, dtNavMeshQuery *navquery, const dtQueryFilter *filter)
Definition: DetourLocalBoundary.cpp:84
+
void reset()
Definition: DetourLocalBoundary.cpp:38
+
~dtLocalBoundary()
Definition: DetourLocalBoundary.cpp:34
+
const float * getCenter() const
Definition: DetourLocalBoundary.h:56
+
dtLocalBoundary()
Definition: DetourLocalBoundary.cpp:27
+
bool isValid(dtNavMeshQuery *navquery, const dtQueryFilter *filter)
Definition: DetourLocalBoundary.cpp:123
+
Provides the ability to perform pathfinding related queries against a navigation mesh.
Definition: DetourNavMeshQuery.h:166
+
Defines polygon filtering and traversal costs for navigation mesh query operations.
Definition: DetourNavMeshQuery.h:36
+
unsigned int dtPolyRef
A handle to a polygon within a navigation mesh tile.
Definition: DetourNavMesh.h:48
+
+
+ + + + + diff --git a/DetourMath_8h.html b/DetourMath_8h.html new file mode 100644 index 00000000..a92a3f2c --- /dev/null +++ b/DetourMath_8h.html @@ -0,0 +1,349 @@ + + + + + + + +Recast Navigation: DetourMath.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourMath.h File Reference
+
+
+
#include <math.h>
+#include <cmath>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + +

+Functions

float dtMathFabsf (float x)
 
float dtMathSqrtf (float x)
 
float dtMathFloorf (float x)
 
float dtMathCeilf (float x)
 
float dtMathCosf (float x)
 
float dtMathSinf (float x)
 
float dtMathAtan2f (float y, float x)
 
bool dtMathIsfinite (float x)
 
+

Function Documentation

+ +

◆ dtMathAtan2f()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
float dtMathAtan2f (float y,
float x 
)
+
+inline
+
+ +
+
+ +

◆ dtMathCeilf()

+ +
+
+ + + + + +
+ + + + + + + + +
float dtMathCeilf (float x)
+
+inline
+
+ +
+
+ +

◆ dtMathCosf()

+ +
+
+ + + + + +
+ + + + + + + + +
float dtMathCosf (float x)
+
+inline
+
+ +
+
+ +

◆ dtMathFabsf()

+ +
+
+ + + + + +
+ + + + + + + + +
float dtMathFabsf (float x)
+
+inline
+
+ +
+
+ +

◆ dtMathFloorf()

+ +
+
+ + + + + +
+ + + + + + + + +
float dtMathFloorf (float x)
+
+inline
+
+ +
+
+ +

◆ dtMathIsfinite()

+ +
+
+ + + + + +
+ + + + + + + + +
bool dtMathIsfinite (float x)
+
+inline
+
+ +
+
+ +

◆ dtMathSinf()

+ +
+
+ + + + + +
+ + + + + + + + +
float dtMathSinf (float x)
+
+inline
+
+ +
+
+ +

◆ dtMathSqrtf()

+ +
+
+ + + + + +
+ + + + + + + + +
float dtMathSqrtf (float x)
+
+inline
+
+ +
+
+
+
+ + + + + diff --git a/DetourMath_8h.js b/DetourMath_8h.js new file mode 100644 index 00000000..d62d3406 --- /dev/null +++ b/DetourMath_8h.js @@ -0,0 +1,11 @@ +var DetourMath_8h = +[ + [ "dtMathAtan2f", "DetourMath_8h.html#a292378604b8f33cb144e143f9d33a2e4", null ], + [ "dtMathCeilf", "DetourMath_8h.html#aa4a2945349a192a21dd0d9b8d66929d8", null ], + [ "dtMathCosf", "DetourMath_8h.html#acfd5b167b14008287b6bc277c8d8d63f", null ], + [ "dtMathFabsf", "DetourMath_8h.html#a2ad54989ede65d69ab7a72a06b99941e", null ], + [ "dtMathFloorf", "DetourMath_8h.html#a3969a62f73c241ca665136b5c705be2c", null ], + [ "dtMathIsfinite", "DetourMath_8h.html#aada58cd45766fc2aa5c722315d5ba04c", null ], + [ "dtMathSinf", "DetourMath_8h.html#a79b7b16693ad3fed887aa65c1207724d", null ], + [ "dtMathSqrtf", "DetourMath_8h.html#a7d78191f5515fca287061332e9792632", null ] +]; \ No newline at end of file diff --git a/DetourMath_8h_source.html b/DetourMath_8h_source.html new file mode 100644 index 00000000..845a7303 --- /dev/null +++ b/DetourMath_8h_source.html @@ -0,0 +1,131 @@ + + + + + + + +Recast Navigation: DetourMath.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DetourMath.h
+
+
+Go to the documentation of this file.
1 
+
7 #ifndef DETOURMATH_H
+
8 #define DETOURMATH_H
+
9 
+
10 #include <math.h>
+
11 // This include is required because libstdc++ has problems with isfinite
+
12 // if cmath is included before math.h.
+
13 #include <cmath>
+
14 
+
15 inline float dtMathFabsf(float x) { return fabsf(x); }
+
16 inline float dtMathSqrtf(float x) { return sqrtf(x); }
+
17 inline float dtMathFloorf(float x) { return floorf(x); }
+
18 inline float dtMathCeilf(float x) { return ceilf(x); }
+
19 inline float dtMathCosf(float x) { return cosf(x); }
+
20 inline float dtMathSinf(float x) { return sinf(x); }
+
21 inline float dtMathAtan2f(float y, float x) { return atan2f(y, x); }
+
22 inline bool dtMathIsfinite(float x) { return std::isfinite(x); }
+
23 
+
24 #endif
+
float dtMathAtan2f(float y, float x)
Definition: DetourMath.h:21
+
float dtMathFabsf(float x)
Definition: DetourMath.h:15
+
float dtMathFloorf(float x)
Definition: DetourMath.h:17
+
float dtMathSinf(float x)
Definition: DetourMath.h:20
+
float dtMathSqrtf(float x)
Definition: DetourMath.h:16
+
float dtMathCeilf(float x)
Definition: DetourMath.h:18
+
bool dtMathIsfinite(float x)
Definition: DetourMath.h:22
+
float dtMathCosf(float x)
Definition: DetourMath.h:19
+
+
+ + + + + diff --git a/DetourNavMeshBuilder_8cpp.html b/DetourNavMeshBuilder_8cpp.html new file mode 100644 index 00000000..aa04ccb5 --- /dev/null +++ b/DetourNavMeshBuilder_8cpp.html @@ -0,0 +1,604 @@ + + + + + + + +Recast Navigation: DetourNavMeshBuilder.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourNavMeshBuilder.cpp File Reference
+
+
+
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <float.h>
+#include "DetourNavMesh.h"
+#include "DetourCommon.h"
+#include "DetourMath.h"
+#include "DetourNavMeshBuilder.h"
+#include "DetourAlloc.h"
+#include "DetourAssert.h"
+
+ + + +

+Classes

struct  BVItem
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

static int compareItemX (const void *va, const void *vb)
 
static int compareItemY (const void *va, const void *vb)
 
static int compareItemZ (const void *va, const void *vb)
 
static void calcExtends (BVItem *items, const int, const int imin, const int imax, unsigned short *bmin, unsigned short *bmax)
 
int longestAxis (unsigned short x, unsigned short y, unsigned short z)
 
static void subdivide (BVItem *items, int nitems, int imin, int imax, int &curNode, dtBVNode *nodes)
 
static int createBVTree (dtNavMeshCreateParams *params, dtBVNode *nodes, int)
 
static unsigned char classifyOffMeshPoint (const float *pt, const float *bmin, const float *bmax)
 
bool dtCreateNavMeshData (dtNavMeshCreateParams *params, unsigned char **outData, int *outDataSize)
 Builds navigation mesh tile data from the provided tile creation data. More...
 
bool dtNavMeshHeaderSwapEndian (unsigned char *data, const int)
 Swaps the endianess of the tile data's header (dtMeshHeader). More...
 
bool dtNavMeshDataSwapEndian (unsigned char *data, const int)
 Swaps endianess of the tile data. More...
 
+ + + +

+Variables

static unsigned short MESH_NULL_IDX = 0xffff
 
+

Function Documentation

+ +

◆ calcExtends()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void calcExtends (BVItemitems,
const int ,
const int imin,
const int imax,
unsigned short * bmin,
unsigned short * bmax 
)
+
+static
+
+ +
+
+ +

◆ classifyOffMeshPoint()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static unsigned char classifyOffMeshPoint (const float * pt,
const float * bmin,
const float * bmax 
)
+
+static
+
+ +
+
+ +

◆ compareItemX()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static int compareItemX (const void * va,
const void * vb 
)
+
+static
+
+ +
+
+ +

◆ compareItemY()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static int compareItemY (const void * va,
const void * vb 
)
+
+static
+
+ +
+
+ +

◆ compareItemZ()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static int compareItemZ (const void * va,
const void * vb 
)
+
+static
+
+ +
+
+ +

◆ createBVTree()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static int createBVTree (dtNavMeshCreateParamsparams,
dtBVNodenodes,
int  
)
+
+static
+
+ +
+
+ +

◆ dtNavMeshDataSwapEndian()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool dtNavMeshDataSwapEndian (unsigned char * data,
const int dataSize 
)
+
+ +

Swaps endianess of the tile data.

+
+
Warning
This function assumes that the header is in the correct endianess already. Call dtNavMeshHeaderSwapEndian() first on the data if the data is expected to be in wrong endianess to start with. Call dtNavMeshHeaderSwapEndian() after the data has been swapped if converting from native to foreign endianess.
+ +
+
+ +

◆ dtNavMeshHeaderSwapEndian()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool dtNavMeshHeaderSwapEndian (unsigned char * data,
const int dataSize 
)
+
+ +

Swaps the endianess of the tile data's header (dtMeshHeader).

+
Parameters
+ + + +
[in,out]dataThe tile data array.
[in]dataSizeThe size of the data array.
+
+
+ +
+
+ +

◆ longestAxis()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
int longestAxis (unsigned short x,
unsigned short y,
unsigned short z 
)
+
+inline
+
+ +
+
+ +

◆ subdivide()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void subdivide (BVItemitems,
int nitems,
int imin,
int imax,
int & curNode,
dtBVNodenodes 
)
+
+static
+
+ +
+
+

Variable Documentation

+ +

◆ MESH_NULL_IDX

+ +
+
+ + + + + +
+ + + + +
unsigned short MESH_NULL_IDX = 0xffff
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/DetourNavMeshBuilder_8cpp.js b/DetourNavMeshBuilder_8cpp.js new file mode 100644 index 00000000..dbb41f6b --- /dev/null +++ b/DetourNavMeshBuilder_8cpp.js @@ -0,0 +1,16 @@ +var DetourNavMeshBuilder_8cpp = +[ + [ "BVItem", "structBVItem.html", "structBVItem" ], + [ "calcExtends", "DetourNavMeshBuilder_8cpp.html#a67e97cee06fddfdd0a3eb43661b44637", null ], + [ "classifyOffMeshPoint", "DetourNavMeshBuilder_8cpp.html#a9a7e6003820face64f333c968b5c0cdb", null ], + [ "compareItemX", "DetourNavMeshBuilder_8cpp.html#a1888720290d8beeb3162f90e197ff7b3", null ], + [ "compareItemY", "DetourNavMeshBuilder_8cpp.html#ac4386676e18bfd480f6686981f10e595", null ], + [ "compareItemZ", "DetourNavMeshBuilder_8cpp.html#a025ef8ddc40e9119efdb4dfa5ab3c1af", null ], + [ "createBVTree", "DetourNavMeshBuilder_8cpp.html#a494edfa1ff65cd394f1d824b57df1781", null ], + [ "dtCreateNavMeshData", "group__detour.html#gaf56ac19e79e5948fdb1051158577e648", null ], + [ "dtNavMeshDataSwapEndian", "DetourNavMeshBuilder_8cpp.html#a4a05bdb40ab3e0ea33220421ed049d15", null ], + [ "dtNavMeshHeaderSwapEndian", "DetourNavMeshBuilder_8cpp.html#ace48ade47c4974b02f054b9f5c46f9e3", null ], + [ "longestAxis", "DetourNavMeshBuilder_8cpp.html#a3ad98504f45740f02c1442cdce16f653", null ], + [ "subdivide", "DetourNavMeshBuilder_8cpp.html#a95ba365676cad314741a13f58b6b0eba", null ], + [ "MESH_NULL_IDX", "DetourNavMeshBuilder_8cpp.html#af3008e30fc489f2443bd25ae528c01e4", null ] +]; \ No newline at end of file diff --git a/DetourNavMeshBuilder_8h.html b/DetourNavMeshBuilder_8h.html new file mode 100644 index 00000000..19356fcc --- /dev/null +++ b/DetourNavMeshBuilder_8h.html @@ -0,0 +1,206 @@ + + + + + + + +Recast Navigation: DetourNavMeshBuilder.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourNavMeshBuilder.h File Reference
+
+
+
#include "DetourAlloc.h"
+
+

Go to the source code of this file.

+ + + + + +

+Classes

struct  dtNavMeshCreateParams
 Represents the source data used to build an navigation mesh tile. More...
 
+ + + + + + + + + + +

+Functions

bool dtCreateNavMeshData (dtNavMeshCreateParams *params, unsigned char **outData, int *outDataSize)
 Builds navigation mesh tile data from the provided tile creation data. More...
 
bool dtNavMeshHeaderSwapEndian (unsigned char *data, const int dataSize)
 Swaps the endianess of the tile data's header (dtMeshHeader). More...
 
bool dtNavMeshDataSwapEndian (unsigned char *data, const int dataSize)
 Swaps endianess of the tile data. More...
 
+

Function Documentation

+ +

◆ dtNavMeshDataSwapEndian()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool dtNavMeshDataSwapEndian (unsigned char * data,
const int dataSize 
)
+
+ +

Swaps endianess of the tile data.

+
Parameters
+ + + +
[in,out]dataThe tile data array.
[in]dataSizeThe size of the data array.
+
+
+
+
Warning
This function assumes that the header is in the correct endianess already. Call dtNavMeshHeaderSwapEndian() first on the data if the data is expected to be in wrong endianess to start with. Call dtNavMeshHeaderSwapEndian() after the data has been swapped if converting from native to foreign endianess.
+ +
+
+ +

◆ dtNavMeshHeaderSwapEndian()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool dtNavMeshHeaderSwapEndian (unsigned char * data,
const int dataSize 
)
+
+ +

Swaps the endianess of the tile data's header (dtMeshHeader).

+
Parameters
+ + + +
[in,out]dataThe tile data array.
[in]dataSizeThe size of the data array.
+
+
+ +
+
+
+
+ + + + + diff --git a/DetourNavMeshBuilder_8h.js b/DetourNavMeshBuilder_8h.js new file mode 100644 index 00000000..67e4eb64 --- /dev/null +++ b/DetourNavMeshBuilder_8h.js @@ -0,0 +1,6 @@ +var DetourNavMeshBuilder_8h = +[ + [ "dtCreateNavMeshData", "group__detour.html#gaf56ac19e79e5948fdb1051158577e648", null ], + [ "dtNavMeshDataSwapEndian", "DetourNavMeshBuilder_8h.html#a619569f8035bcbf9973ac3bdf391ca49", null ], + [ "dtNavMeshHeaderSwapEndian", "DetourNavMeshBuilder_8h.html#aeec7de5f61c6a26b6ae2917864a040df", null ] +]; \ No newline at end of file diff --git a/DetourNavMeshBuilder_8h_source.html b/DetourNavMeshBuilder_8h_source.html new file mode 100644 index 00000000..9539ab3d --- /dev/null +++ b/DetourNavMeshBuilder_8h_source.html @@ -0,0 +1,221 @@ + + + + + + + +Recast Navigation: DetourNavMeshBuilder.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
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 "DetourAlloc.h"
+
23 
+ +
27 {
+
28 
+
33 
+
34  const unsigned short* verts;
+
35  int vertCount;
+
36  const unsigned short* polys;
+
37  const unsigned short* polyFlags;
+
38  const unsigned char* polyAreas;
+
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 unsigned short* offMeshConFlags;
+
67  const unsigned char* offMeshConAreas;
+
72  const unsigned char* offMeshConDir;
+
74  const unsigned int* offMeshConUserID;
+ +
77 
+
82 
+
83  unsigned int userId;
+
84  int tileX;
+
85  int tileY;
+
86  int tileLayer;
+
87  float bmin[3];
+
88  float bmax[3];
+
89 
+
93 
+ + +
96  float walkableClimb;
+
97  float cs;
+
98  float ch;
+
99 
+ +
103 
+
105 };
+
106 
+
113 bool dtCreateNavMeshData(dtNavMeshCreateParams* params, unsigned char** outData, int* outDataSize);
+
114 
+
118 bool dtNavMeshHeaderSwapEndian(unsigned char* data, const int dataSize);
+
119 
+
123 bool dtNavMeshDataSwapEndian(unsigned char* data, const int dataSize);
+
124 
+
125 #endif // DETOURNAVMESHBUILDER_H
+
126 
+
127 // This section contains detailed documentation for members that don't have
+
128 // a source file. It reduces clutter in the main section of the header.
+
129 
+ +
bool dtNavMeshDataSwapEndian(unsigned char *data, const int dataSize)
Swaps endianess of the tile data.
Definition: DetourNavMeshBuilder.cpp:712
+
bool dtNavMeshHeaderSwapEndian(unsigned char *data, const int dataSize)
Swaps the endianess of the tile data's header (dtMeshHeader).
Definition: DetourNavMeshBuilder.cpp:660
+
bool dtCreateNavMeshData(dtNavMeshCreateParams *params, unsigned char **outData, int *outDataSize)
Builds navigation mesh tile data from the provided tile creation data.
Definition: DetourNavMeshBuilder.cpp:280
+
Represents the source data used to build an navigation mesh tile.
Definition: DetourNavMeshBuilder.h:27
+
const unsigned short * verts
The polygon mesh vertices. [(x, y, z) * vertCount] [Unit: vx].
Definition: DetourNavMeshBuilder.h:34
+
float walkableHeight
The agent height. [Unit: wu].
Definition: DetourNavMeshBuilder.h:94
+
const unsigned int * detailMeshes
The height detail sub-mesh data. [Size: 4 * polyCount].
Definition: DetourNavMeshBuilder.h:47
+
float cs
The xz-plane cell size of the polygon mesh. [Limit: > 0] [Unit: wu].
Definition: DetourNavMeshBuilder.h:97
+
int detailTriCount
The number of triangles in the detail mesh.
Definition: DetourNavMeshBuilder.h:51
+
float walkableClimb
The agent maximum traversable ledge. (Up/Down) [Unit: wu].
Definition: DetourNavMeshBuilder.h:96
+
float bmin[3]
The minimum bounds of the tile. [(x, y, z)] [Unit: wu].
Definition: DetourNavMeshBuilder.h:87
+
const unsigned short * polys
The polygon data. [Size: polyCount * 2 * nvp].
Definition: DetourNavMeshBuilder.h:36
+
const unsigned char * offMeshConAreas
User defined area ids assigned to the off-mesh connections. [Size: offMeshConCount].
Definition: DetourNavMeshBuilder.h:67
+
bool buildBvTree
True if a bounding volume tree should be built for the tile.
Definition: DetourNavMeshBuilder.h:102
+
const unsigned char * detailTris
The detail mesh triangles. [Size: 4 * detailTriCount].
Definition: DetourNavMeshBuilder.h:50
+
const float * offMeshConRad
Off-mesh connection radii. [Size: offMeshConCount] [Unit: wu].
Definition: DetourNavMeshBuilder.h:63
+
const unsigned char * offMeshConDir
The permitted travel direction of the off-mesh connections.
Definition: DetourNavMeshBuilder.h:72
+
int tileLayer
The tile's layer within the layered destination mesh. Limit: >= 0
Definition: DetourNavMeshBuilder.h:86
+
float walkableRadius
The agent radius. [Unit: wu].
Definition: DetourNavMeshBuilder.h:95
+
int vertCount
The number vertices in the polygon mesh. [Limit: >= 3].
Definition: DetourNavMeshBuilder.h:35
+
const unsigned int * offMeshConUserID
The user defined ids of the off-mesh connection. [Size: offMeshConCount].
Definition: DetourNavMeshBuilder.h:74
+
const unsigned short * polyFlags
The user defined flags assigned to each polygon. [Size: polyCount].
Definition: DetourNavMeshBuilder.h:37
+
const unsigned char * polyAreas
The user defined area ids assigned to each polygon. [Size: polyCount].
Definition: DetourNavMeshBuilder.h:38
+
float bmax[3]
The maximum bounds of the tile. [(x, y, z)] [Unit: wu].
Definition: DetourNavMeshBuilder.h:88
+
const float * offMeshConVerts
Off-mesh connection vertices. [(ax, ay, az, bx, by, bz) * offMeshConCount] [Unit: wu].
Definition: DetourNavMeshBuilder.h:61
+
int nvp
Number maximum number of vertices per polygon. [Limit: >= 3].
Definition: DetourNavMeshBuilder.h:40
+
float ch
The y-axis cell height of the polygon mesh. [Limit: > 0] [Unit: wu].
Definition: DetourNavMeshBuilder.h:98
+
const unsigned short * offMeshConFlags
User defined flags assigned to the off-mesh connections. [Size: offMeshConCount].
Definition: DetourNavMeshBuilder.h:65
+
const float * detailVerts
The detail mesh vertices. [Size: 3 * detailVertsCount] [Unit: wu].
Definition: DetourNavMeshBuilder.h:48
+
int tileX
The tile's x-grid location within the multi-tile destination mesh. (Along the x-axis....
Definition: DetourNavMeshBuilder.h:84
+
int polyCount
Number of polygons in the mesh. [Limit: >= 1].
Definition: DetourNavMeshBuilder.h:39
+
int offMeshConCount
The number of off-mesh connections. [Limit: >= 0].
Definition: DetourNavMeshBuilder.h:76
+
unsigned int userId
The user defined id of the tile.
Definition: DetourNavMeshBuilder.h:83
+
int detailVertsCount
The number of vertices in the detail mesh.
Definition: DetourNavMeshBuilder.h:49
+
int tileY
The tile's y-grid location within the multi-tile desitation mesh. (Along the z-axis....
Definition: DetourNavMeshBuilder.h:85
+
+
+ + + + + diff --git a/DetourNavMeshQuery_8cpp.html b/DetourNavMeshQuery_8cpp.html new file mode 100644 index 00000000..abd9d85c --- /dev/null +++ b/DetourNavMeshQuery_8cpp.html @@ -0,0 +1,228 @@ + + + + + + + +Recast Navigation: DetourNavMeshQuery.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourNavMeshQuery.cpp File Reference
+
+
+
#include <float.h>
+#include <string.h>
+#include "DetourNavMeshQuery.h"
+#include "DetourNavMesh.h"
+#include "DetourNode.h"
+#include "DetourCommon.h"
+#include "DetourMath.h"
+#include "DetourAlloc.h"
+#include "DetourAssert.h"
+#include <new>
+
+ + + + + + + +

+Classes

class  dtFindNearestPolyQuery
 
class  dtCollectPolysQuery
 
struct  dtSegInterval
 
+ + + + + + + + + +

+Functions

dtNavMeshQuerydtAllocNavMeshQuery ()
 Allocates a query object using the Detour allocator. More...
 
void dtFreeNavMeshQuery (dtNavMeshQuery *navmesh)
 Frees the specified query object using the Detour allocator. More...
 
static void insertInterval (dtSegInterval *ints, int &nints, const int maxInts, const short tmin, const short tmax, const dtPolyRef ref)
 
+ + + +

+Variables

static const float H_SCALE = 0.999f
 
+

Function Documentation

+ +

◆ insertInterval()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void insertInterval (dtSegIntervalints,
int & nints,
const int maxInts,
const short tmin,
const short tmax,
const dtPolyRef ref 
)
+
+static
+
+ +
+
+

Variable Documentation

+ +

◆ H_SCALE

+ +
+
+ + + + + +
+ + + + +
const float H_SCALE = 0.999f
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/DetourNavMeshQuery_8cpp.js b/DetourNavMeshQuery_8cpp.js new file mode 100644 index 00000000..cffc8146 --- /dev/null +++ b/DetourNavMeshQuery_8cpp.js @@ -0,0 +1,10 @@ +var DetourNavMeshQuery_8cpp = +[ + [ "dtFindNearestPolyQuery", "classdtFindNearestPolyQuery.html", "classdtFindNearestPolyQuery" ], + [ "dtCollectPolysQuery", "classdtCollectPolysQuery.html", "classdtCollectPolysQuery" ], + [ "dtSegInterval", "structdtSegInterval.html", "structdtSegInterval" ], + [ "dtAllocNavMeshQuery", "group__detour.html#gae547f165feefc955136130c8e22f207a", null ], + [ "dtFreeNavMeshQuery", "group__detour.html#ga24ccc133f15a0aa85f06f1c1ead2e6c4", null ], + [ "insertInterval", "DetourNavMeshQuery_8cpp.html#ac742e93c715068b76c2592ae822a39ff", null ], + [ "H_SCALE", "DetourNavMeshQuery_8cpp.html#a691377deb83853ca02735f394ccf0a30", null ] +]; \ No newline at end of file diff --git a/DetourNavMeshQuery_8h.html b/DetourNavMeshQuery_8h.html new file mode 100644 index 00000000..64b0e1e7 --- /dev/null +++ b/DetourNavMeshQuery_8h.html @@ -0,0 +1,136 @@ + + + + + + + +Recast Navigation: DetourNavMeshQuery.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourNavMeshQuery.h File Reference
+
+
+
#include "DetourNavMesh.h"
+#include "DetourStatus.h"
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + +

+Classes

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...
 
+ + + + + + + +

+Functions

dtNavMeshQuerydtAllocNavMeshQuery ()
 Allocates a query object using the Detour allocator. More...
 
void dtFreeNavMeshQuery (dtNavMeshQuery *query)
 Frees the specified query object using the Detour allocator. More...
 
+
+
+ + + + + diff --git a/DetourNavMeshQuery_8h.js b/DetourNavMeshQuery_8h.js new file mode 100644 index 00000000..83a9c97f --- /dev/null +++ b/DetourNavMeshQuery_8h.js @@ -0,0 +1,5 @@ +var DetourNavMeshQuery_8h = +[ + [ "dtAllocNavMeshQuery", "group__detour.html#gae547f165feefc955136130c8e22f207a", null ], + [ "dtFreeNavMeshQuery", "group__detour.html#ga24ccc133f15a0aa85f06f1c1ead2e6c4", null ] +]; \ No newline at end of file diff --git a/DetourNavMeshQuery_8h_source.html b/DetourNavMeshQuery_8h_source.html new file mode 100644 index 00000000..27b45ce1 --- /dev/null +++ b/DetourNavMeshQuery_8h_source.html @@ -0,0 +1,444 @@ + + + + + + + +Recast Navigation: DetourNavMeshQuery.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DetourNavMeshQuery.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 DETOURNAVMESHQUERY_H
+
20 #define DETOURNAVMESHQUERY_H
+
21 
+
22 #include "DetourNavMesh.h"
+
23 #include "DetourStatus.h"
+
24 
+
25 
+
26 // Define DT_VIRTUAL_QUERYFILTER if you wish to derive a custom filter from dtQueryFilter.
+
27 // On certain platforms indirect or virtual function call is expensive. The default
+
28 // setting is to use non-virtual functions, the actual implementations of the functions
+
29 // are declared as inline for maximum speed.
+
30 
+
31 //#define DT_VIRTUAL_QUERYFILTER 1
+
32 
+ +
36 {
+
37  float m_areaCost[DT_MAX_AREAS];
+
38  unsigned short m_includeFlags;
+
39  unsigned short m_excludeFlags;
+
40 
+
41 public:
+
42  dtQueryFilter();
+
43 
+
44 #ifdef DT_VIRTUAL_QUERYFILTER
+
45  virtual ~dtQueryFilter() { }
+
46 #endif
+
47 
+
52 #ifdef DT_VIRTUAL_QUERYFILTER
+
53  virtual bool passFilter(const dtPolyRef ref,
+
54  const dtMeshTile* tile,
+
55  const dtPoly* poly) const;
+
56 #else
+
57  bool passFilter(const dtPolyRef ref,
+
58  const dtMeshTile* tile,
+
59  const dtPoly* poly) const;
+
60 #endif
+
61 
+
75 #ifdef DT_VIRTUAL_QUERYFILTER
+
76  virtual float getCost(const float* pa, const float* pb,
+
77  const dtPolyRef prevRef, const dtMeshTile* prevTile, const dtPoly* prevPoly,
+
78  const dtPolyRef curRef, const dtMeshTile* curTile, const dtPoly* curPoly,
+
79  const dtPolyRef nextRef, const dtMeshTile* nextTile, const dtPoly* nextPoly) const;
+
80 #else
+
81  float getCost(const float* pa, const float* pb,
+
82  const dtPolyRef prevRef, const dtMeshTile* prevTile, const dtPoly* prevPoly,
+
83  const dtPolyRef curRef, const dtMeshTile* curTile, const dtPoly* curPoly,
+
84  const dtPolyRef nextRef, const dtMeshTile* nextTile, const dtPoly* nextPoly) const;
+
85 #endif
+
86 
+
89 
+
93  inline float getAreaCost(const int i) const { return m_areaCost[i]; }
+
94 
+
98  inline void setAreaCost(const int i, const float cost) { m_areaCost[i] = cost; }
+
99 
+
103  inline unsigned short getIncludeFlags() const { return m_includeFlags; }
+
104 
+
107  inline void setIncludeFlags(const unsigned short flags) { m_includeFlags = flags; }
+
108 
+
112  inline unsigned short getExcludeFlags() const { return m_excludeFlags; }
+
113 
+
116  inline void setExcludeFlags(const unsigned short flags) { m_excludeFlags = flags; }
+
117 
+
119 
+
120 };
+
121 
+ +
126 {
+
128  float t;
+
129 
+
131  float hitNormal[3];
+
132 
+ +
135 
+ +
138 
+ +
141 
+
143  int maxPath;
+
144 
+
146  float pathCost;
+
147 };
+
148 
+ +
153 {
+
154 public:
+
155  virtual ~dtPolyQuery();
+
156 
+
159  virtual void process(const dtMeshTile* tile, dtPoly** polys, dtPolyRef* refs, int count) = 0;
+
160 };
+
161 
+ +
166 {
+
167 public:
+
168  dtNavMeshQuery();
+
169  ~dtNavMeshQuery();
+
170 
+
175  dtStatus init(const dtNavMesh* nav, const int maxNodes);
+
176 
+
179 
+
190  dtStatus findPath(dtPolyRef startRef, dtPolyRef endRef,
+
191  const float* startPos, const float* endPos,
+
192  const dtQueryFilter* filter,
+
193  dtPolyRef* path, int* pathCount, const int maxPath) const;
+
194 
+
207  dtStatus findStraightPath(const float* startPos, const float* endPos,
+
208  const dtPolyRef* path, const int pathSize,
+
209  float* straightPath, unsigned char* straightPathFlags, dtPolyRef* straightPathRefs,
+
210  int* straightPathCount, const int maxStraightPath, const int options = 0) const;
+
211 
+
219 
+ +
229  const float* startPos, const float* endPos,
+
230  const dtQueryFilter* filter, const unsigned int options = 0);
+
231 
+
236  dtStatus updateSlicedFindPath(const int maxIter, int* doneIters);
+
237 
+
244  dtStatus finalizeSlicedFindPath(dtPolyRef* path, int* pathCount, const int maxPath);
+
245 
+
255  dtStatus finalizeSlicedFindPathPartial(const dtPolyRef* existing, const int existingSize,
+
256  dtPolyRef* path, int* pathCount, const int maxPath);
+
257 
+
261 
+
274  dtStatus findPolysAroundCircle(dtPolyRef startRef, const float* centerPos, const float radius,
+
275  const dtQueryFilter* filter,
+
276  dtPolyRef* resultRef, dtPolyRef* resultParent, float* resultCost,
+
277  int* resultCount, const int maxResult) const;
+
278 
+
292  dtStatus findPolysAroundShape(dtPolyRef startRef, const float* verts, const int nverts,
+
293  const dtQueryFilter* filter,
+
294  dtPolyRef* resultRef, dtPolyRef* resultParent, float* resultCost,
+
295  int* resultCount, const int maxResult) const;
+
296 
+
309  dtStatus getPathFromDijkstraSearch(dtPolyRef endRef, dtPolyRef* path, int* pathCount, int maxPath) const;
+
310 
+
314 
+
324  dtStatus findNearestPoly(const float* center, const float* halfExtents,
+
325  const dtQueryFilter* filter,
+
326  dtPolyRef* nearestRef, float* nearestPt) const;
+
327 
+
338  dtStatus findNearestPoly(const float* center, const float* halfExtents,
+
339  const dtQueryFilter* filter,
+
340  dtPolyRef* nearestRef, float* nearestPt, bool* isOverPoly) const;
+
341 
+
350  dtStatus queryPolygons(const float* center, const float* halfExtents,
+
351  const dtQueryFilter* filter,
+
352  dtPolyRef* polys, int* polyCount, const int maxPolys) const;
+
353 
+
359  dtStatus queryPolygons(const float* center, const float* halfExtents,
+
360  const dtQueryFilter* filter, dtPolyQuery* query) const;
+
361 
+
373  dtStatus findLocalNeighbourhood(dtPolyRef startRef, const float* centerPos, const float radius,
+
374  const dtQueryFilter* filter,
+
375  dtPolyRef* resultRef, dtPolyRef* resultParent,
+
376  int* resultCount, const int maxResult) const;
+
377 
+
388  dtStatus moveAlongSurface(dtPolyRef startRef, const float* startPos, const float* endPos,
+
389  const dtQueryFilter* filter,
+
390  float* resultPos, dtPolyRef* visited, int* visitedCount, const int maxVisitedSize) const;
+
391 
+
406  dtStatus raycast(dtPolyRef startRef, const float* startPos, const float* endPos,
+
407  const dtQueryFilter* filter,
+
408  float* t, float* hitNormal, dtPolyRef* path, int* pathCount, const int maxPath) const;
+
409 
+
421  dtStatus raycast(dtPolyRef startRef, const float* startPos, const float* endPos,
+
422  const dtQueryFilter* filter, const unsigned int options,
+
423  dtRaycastHit* hit, dtPolyRef prevRef = 0) const;
+
424 
+
425 
+
436  dtStatus findDistanceToWall(dtPolyRef startRef, const float* centerPos, const float maxRadius,
+
437  const dtQueryFilter* filter,
+
438  float* hitDist, float* hitPos, float* hitNormal) const;
+
439 
+ +
450  float* segmentVerts, dtPolyRef* segmentRefs, int* segmentCount,
+
451  const int maxSegments) const;
+
452 
+
460  dtStatus findRandomPoint(const dtQueryFilter* filter, float (*frand)(),
+
461  dtPolyRef* randomRef, float* randomPt) const;
+
462 
+
474  dtStatus findRandomPointAroundCircle(dtPolyRef startRef, const float* centerPos, const float maxRadius,
+
475  const dtQueryFilter* filter, float (*frand)(),
+
476  dtPolyRef* randomRef, float* randomPt) const;
+
477 
+
484  dtStatus closestPointOnPoly(dtPolyRef ref, const float* pos, float* closest, bool* posOverPoly) const;
+
485 
+
492  dtStatus closestPointOnPolyBoundary(dtPolyRef ref, const float* pos, float* closest) const;
+
493 
+
499  dtStatus getPolyHeight(dtPolyRef ref, const float* pos, float* height) const;
+
500 
+
504 
+
508  bool isValidPolyRef(dtPolyRef ref, const dtQueryFilter* filter) const;
+
509 
+
513  bool isInClosedList(dtPolyRef ref) const;
+
514 
+
517  class dtNodePool* getNodePool() const { return m_nodePool; }
+
518 
+
521  const dtNavMesh* getAttachedNavMesh() const { return m_nav; }
+
522 
+
524 
+
525 private:
+
526  // Explicitly disabled copy constructor and copy assignment operator
+ +
528  dtNavMeshQuery& operator=(const dtNavMeshQuery&);
+
529 
+
531  void queryPolygonsInTile(const dtMeshTile* tile, const float* qmin, const float* qmax,
+
532  const dtQueryFilter* filter, dtPolyQuery* query) const;
+
533 
+
535  dtStatus getPortalPoints(dtPolyRef from, dtPolyRef to, float* left, float* right,
+
536  unsigned char& fromType, unsigned char& toType) const;
+
537  dtStatus getPortalPoints(dtPolyRef from, const dtPoly* fromPoly, const dtMeshTile* fromTile,
+
538  dtPolyRef to, const dtPoly* toPoly, const dtMeshTile* toTile,
+
539  float* left, float* right) const;
+
540 
+
542  dtStatus getEdgeMidPoint(dtPolyRef from, dtPolyRef to, float* mid) const;
+
543  dtStatus getEdgeMidPoint(dtPolyRef from, const dtPoly* fromPoly, const dtMeshTile* fromTile,
+
544  dtPolyRef to, const dtPoly* toPoly, const dtMeshTile* toTile,
+
545  float* mid) const;
+
546 
+
547  // Appends vertex to a straight path
+
548  dtStatus appendVertex(const float* pos, const unsigned char flags, const dtPolyRef ref,
+
549  float* straightPath, unsigned char* straightPathFlags, dtPolyRef* straightPathRefs,
+
550  int* straightPathCount, const int maxStraightPath) const;
+
551 
+
552  // Appends intermediate portal points to a straight path.
+
553  dtStatus appendPortals(const int startIdx, const int endIdx, const float* endPos, const dtPolyRef* path,
+
554  float* straightPath, unsigned char* straightPathFlags, dtPolyRef* straightPathRefs,
+
555  int* straightPathCount, const int maxStraightPath, const int options) const;
+
556 
+
557  // Gets the path leading to the specified end node.
+
558  dtStatus getPathToNode(struct dtNode* endNode, dtPolyRef* path, int* pathCount, int maxPath) const;
+
559 
+
560  const dtNavMesh* m_nav;
+
561 
+
562  struct dtQueryData
+
563  {
+
564  dtStatus status;
+
565  struct dtNode* lastBestNode;
+
566  float lastBestNodeCost;
+
567  dtPolyRef startRef, endRef;
+
568  float startPos[3], endPos[3];
+
569  const dtQueryFilter* filter;
+
570  unsigned int options;
+
571  float raycastLimitSqr;
+
572  };
+
573  dtQueryData m_query;
+
574 
+
575  class dtNodePool* m_tinyNodePool;
+
576  class dtNodePool* m_nodePool;
+
577  class dtNodeQueue* m_openList;
+
578 };
+
579 
+ +
584 
+ +
589 
+
590 #endif // DETOURNAVMESHQUERY_H
+ + +
unsigned int dtStatus
Definition: DetourStatus.h:22
+
static bool appendVertex(dtTempContour &cont, const int x, const int y, const int z, const int r)
Definition: DetourTileCacheBuilder.cpp:394
+
bool left(const unsigned char *a, const unsigned char *b, const unsigned char *c)
Definition: DetourTileCacheBuilder.cpp:1098
+
static float frand()
Definition: NavMeshTesterTool.cpp:48
+
Provides the ability to perform pathfinding related queries against a navigation mesh.
Definition: DetourNavMeshQuery.h:166
+
dtStatus finalizeSlicedFindPathPartial(const dtPolyRef *existing, const int existingSize, dtPolyRef *path, int *pathCount, const int maxPath)
Finalizes and returns the results of an incomplete sliced path query, returning the path to the furth...
Definition: DetourNavMeshQuery.cpp:1587
+
const dtNavMesh * getAttachedNavMesh() const
Gets the navigation mesh the query object is using.
Definition: DetourNavMeshQuery.h:521
+
dtStatus queryPolygons(const float *center, const float *halfExtents, const dtQueryFilter *filter, dtPolyRef *polys, int *polyCount, const int maxPolys) const
Finds polygons that overlap the search box.
Definition: DetourNavMeshQuery.cpp:899
+
dtStatus closestPointOnPoly(dtPolyRef ref, const float *pos, float *closest, bool *posOverPoly) const
Finds the closest point on the specified polygon.
Definition: DetourNavMeshQuery.cpp:511
+
dtStatus findPolysAroundCircle(dtPolyRef startRef, const float *centerPos, const float radius, const dtQueryFilter *filter, dtPolyRef *resultRef, dtPolyRef *resultParent, float *resultCost, int *resultCount, const int maxResult) const
Finds the polygons along the navigation graph that touch the specified circle.
Definition: DetourNavMeshQuery.cpp:2720
+
dtStatus findDistanceToWall(dtPolyRef startRef, const float *centerPos, const float maxRadius, const dtQueryFilter *filter, float *hitDist, float *hitPos, float *hitNormal) const
Finds the distance from the specified position to the nearest polygon wall.
Definition: DetourNavMeshQuery.cpp:3470
+
~dtNavMeshQuery()
Definition: DetourNavMeshQuery.cpp:152
+
dtStatus getPolyWallSegments(dtPolyRef ref, const dtQueryFilter *filter, float *segmentVerts, dtPolyRef *segmentRefs, int *segmentCount, const int maxSegments) const
Returns the segments for the specified polygon, optionally including portals.
Definition: DetourNavMeshQuery.cpp:3314
+
dtStatus findNearestPoly(const float *center, const float *halfExtents, const dtQueryFilter *filter, dtPolyRef *nearestRef, float *nearestPt) const
Finds the polygon nearest to the specified center point.
Definition: DetourNavMeshQuery.cpp:693
+
class dtNodePool * getNodePool() const
Gets the node pool.
Definition: DetourNavMeshQuery.h:517
+
dtStatus raycast(dtPolyRef startRef, const float *startPos, const float *endPos, const dtQueryFilter *filter, float *t, float *hitNormal, dtPolyRef *path, int *pathCount, const int maxPath) const
Casts a 'walkability' ray along the surface of the navigation mesh from the start position toward the...
Definition: DetourNavMeshQuery.cpp:2408
+
dtStatus moveAlongSurface(dtPolyRef startRef, const float *startPos, const float *endPos, const dtQueryFilter *filter, float *resultPos, dtPolyRef *visited, int *visitedCount, const int maxVisitedSize) const
Moves from the start to the end position constrained to the navigation mesh.
Definition: DetourNavMeshQuery.cpp:2044
+
dtStatus findLocalNeighbourhood(dtPolyRef startRef, const float *centerPos, const float radius, const dtQueryFilter *filter, dtPolyRef *resultRef, dtPolyRef *resultParent, int *resultCount, const int maxResult) const
Finds the non-overlapping navigation polygons in the local neighbourhood around the center position.
Definition: DetourNavMeshQuery.cpp:3092
+
dtStatus finalizeSlicedFindPath(dtPolyRef *path, int *pathCount, const int maxPath)
Finalizes and returns the results of a sliced path query.
Definition: DetourNavMeshQuery.cpp:1497
+
dtStatus findPath(dtPolyRef startRef, dtPolyRef endRef, const float *startPos, const float *endPos, const dtQueryFilter *filter, dtPolyRef *path, int *pathCount, const int maxPath) const
Finds a path from the start polygon to the end polygon.
Definition: DetourNavMeshQuery.cpp:973
+
dtStatus updateSlicedFindPath(const int maxIter, int *doneIters)
Updates an in-progress sliced path query.
Definition: DetourNavMeshQuery.cpp:1280
+
dtStatus findPolysAroundShape(dtPolyRef startRef, const float *verts, const int nverts, const dtQueryFilter *filter, dtPolyRef *resultRef, dtPolyRef *resultParent, float *resultCost, int *resultCount, const int maxResult) const
Finds the polygons along the naviation graph that touch the specified convex polygon.
Definition: DetourNavMeshQuery.cpp:2894
+
dtStatus closestPointOnPolyBoundary(dtPolyRef ref, const float *pos, float *closest) const
Returns a point on the boundary closest to the source point if the source point is outside the polygo...
Definition: DetourNavMeshQuery.cpp:536
+
dtNavMeshQuery()
Definition: DetourNavMeshQuery.cpp:143
+
dtStatus findRandomPointAroundCircle(dtPolyRef startRef, const float *centerPos, const float maxRadius, const dtQueryFilter *filter, float(*frand)(), dtPolyRef *randomRef, float *randomPt) const
Returns random location on navmesh within the reach of specified location.
Definition: DetourNavMeshQuery.cpp:317
+
dtStatus findStraightPath(const float *startPos, const float *endPos, const dtPolyRef *path, const int pathSize, float *straightPath, unsigned char *straightPathFlags, dtPolyRef *straightPathRefs, int *straightPathCount, const int maxStraightPath, const int options=0) const
Finds the straight path from the start to the end position within the polygon corridor.
Definition: DetourNavMeshQuery.cpp:1793
+
bool isValidPolyRef(dtPolyRef ref, const dtQueryFilter *filter) const
Returns true if the polygon reference is valid and passes the filter restrictions.
Definition: DetourNavMeshQuery.cpp:3657
+
dtStatus init(const dtNavMesh *nav, const int maxNodes)
Initializes the query object.
Definition: DetourNavMeshQuery.cpp:171
+
bool isInClosedList(dtPolyRef ref) const
Returns true if the polygon reference is in the closed list.
Definition: DetourNavMeshQuery.cpp:3676
+
dtStatus initSlicedFindPath(dtPolyRef startRef, dtPolyRef endRef, const float *startPos, const float *endPos, const dtQueryFilter *filter, const unsigned int options=0)
Intializes a sliced path query.
Definition: DetourNavMeshQuery.cpp:1216
+
dtStatus getPathFromDijkstraSearch(dtPolyRef endRef, dtPolyRef *path, int *pathCount, int maxPath) const
Gets a path from the explored nodes in the previous search.
Definition: DetourNavMeshQuery.cpp:3055
+
dtStatus getPolyHeight(dtPolyRef ref, const float *pos, float *height) const
Gets the height of the polygon at the provided position using the height detail.
Definition: DetourNavMeshQuery.cpp:591
+
dtStatus findRandomPoint(const dtQueryFilter *filter, float(*frand)(), dtPolyRef *randomRef, float *randomPt) const
Returns random location on navmesh.
Definition: DetourNavMeshQuery.cpp:226
+
A navigation mesh based on tiles of convex polygons.
Definition: DetourNavMesh.h:339
+
Definition: DetourNode.h:50
+
Definition: DetourNode.h:109
+
Provides custom polygon query behavior.
Definition: DetourNavMeshQuery.h:153
+
virtual void process(const dtMeshTile *tile, dtPoly **polys, dtPolyRef *refs, int count)=0
Called for each batch of unique polygons touched by the search area in dtNavMeshQuery::queryPolygons.
+
virtual ~dtPolyQuery()
Definition: DetourNavMeshQuery.cpp:120
+
Defines polygon filtering and traversal costs for navigation mesh query operations.
Definition: DetourNavMeshQuery.h:36
+
float getCost(const float *pa, const float *pb, const dtPolyRef prevRef, const dtMeshTile *prevTile, const dtPoly *prevPoly, const dtPolyRef curRef, const dtMeshTile *curTile, const dtPoly *curPoly, const dtPolyRef nextRef, const dtMeshTile *nextTile, const dtPoly *nextPoly) const
Returns cost to move from the beginning to the end of a line segment that is fully contained within a...
Definition: DetourNavMeshQuery.cpp:94
+
void setExcludeFlags(const unsigned short flags)
Sets the exclude flags for the filter.
Definition: DetourNavMeshQuery.h:116
+
float getAreaCost(const int i) const
Returns the traversal cost of the area.
Definition: DetourNavMeshQuery.h:93
+
void setAreaCost(const int i, const float cost)
Sets the traversal cost of the area.
Definition: DetourNavMeshQuery.h:98
+
unsigned short getIncludeFlags() const
Returns the include flags for the filter.
Definition: DetourNavMeshQuery.h:103
+
bool passFilter(const dtPolyRef ref, const dtMeshTile *tile, const dtPoly *poly) const
Returns true if the polygon can be visited.
Definition: DetourNavMeshQuery.cpp:87
+
void setIncludeFlags(const unsigned short flags)
Sets the include flags for the filter.
Definition: DetourNavMeshQuery.h:107
+
unsigned short getExcludeFlags() const
Returns the exclude flags for the filter.
Definition: DetourNavMeshQuery.h:112
+
dtQueryFilter()
Definition: DetourNavMeshQuery.cpp:63
+
void dtFreeNavMeshQuery(dtNavMeshQuery *query)
Frees the specified query object using the Detour allocator.
Definition: DetourNavMeshQuery.cpp:113
+
static const int DT_MAX_AREAS
The maximum number of user defined area ids.
Definition: DetourNavMesh.h:95
+
unsigned int dtPolyRef
A handle to a polygon within a navigation mesh tile.
Definition: DetourNavMesh.h:48
+
dtNavMeshQuery * dtAllocNavMeshQuery()
Allocates a query object using the Detour allocator.
Definition: DetourNavMeshQuery.cpp:106
+
Defines a navigation mesh tile.
Definition: DetourNavMesh.h:282
+
Definition: DetourNode.h:37
+
Defines a polygon within a dtMeshTile object.
Definition: DetourNavMesh.h:156
+
Provides information about raycast hit filled by dtNavMeshQuery::raycast.
Definition: DetourNavMeshQuery.h:126
+
int hitEdgeIndex
The index of the edge on the final polygon where the wall was hit.
Definition: DetourNavMeshQuery.h:134
+
float hitNormal[3]
hitNormal The normal of the nearest wall hit. [(x, y, z)]
Definition: DetourNavMeshQuery.h:131
+
int maxPath
The maximum number of polygons the path array can hold.
Definition: DetourNavMeshQuery.h:143
+
float t
The hit parameter. (FLT_MAX if no wall hit.)
Definition: DetourNavMeshQuery.h:128
+
float pathCost
The cost of the path until hit.
Definition: DetourNavMeshQuery.h:146
+
int pathCount
The number of visited polygons. [opt].
Definition: DetourNavMeshQuery.h:140
+
dtPolyRef * path
Pointer to an array of reference ids of the visited polygons. [opt].
Definition: DetourNavMeshQuery.h:137
+
+
+ + + + + diff --git a/DetourNavMesh_8cpp.html b/DetourNavMesh_8cpp.html new file mode 100644 index 00000000..3bea1914 --- /dev/null +++ b/DetourNavMesh_8cpp.html @@ -0,0 +1,401 @@ + + + + + + + +Recast Navigation: DetourNavMesh.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourNavMesh.cpp File Reference
+
+
+
#include <float.h>
+#include <string.h>
+#include <stdio.h>
+#include "DetourNavMesh.h"
+#include "DetourNode.h"
+#include "DetourCommon.h"
+#include "DetourMath.h"
+#include "DetourAlloc.h"
+#include "DetourAssert.h"
+#include <new>
+
+ + + + + +

+Classes

struct  dtTileState
 
struct  dtPolyState
 
+ + + + + + + + + + + + + + + + + + + +

+Functions

bool overlapSlabs (const float *amin, const float *amax, const float *bmin, const float *bmax, const float px, const float py)
 
static float getSlabCoord (const float *va, const int side)
 
static void calcSlabEndPoints (const float *va, const float *vb, float *bmin, float *bmax, const int side)
 
int computeTileHash (int x, int y, const int mask)
 
unsigned int allocLink (dtMeshTile *tile)
 
void freeLink (dtMeshTile *tile, unsigned int link)
 
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...
 
+

Function Documentation

+ +

◆ allocLink()

+ +
+
+ + + + + +
+ + + + + + + + +
unsigned int allocLink (dtMeshTiletile)
+
+inline
+
+ +
+
+ +

◆ calcSlabEndPoints()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void calcSlabEndPoints (const float * va,
const float * vb,
float * bmin,
float * bmax,
const int side 
)
+
+static
+
+ +
+
+ +

◆ computeTileHash()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
int computeTileHash (int x,
int y,
const int mask 
)
+
+inline
+
+ +
+
+ +

◆ freeLink()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void freeLink (dtMeshTiletile,
unsigned int link 
)
+
+inline
+
+ +
+
+ +

◆ getSlabCoord()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static float getSlabCoord (const float * va,
const int side 
)
+
+static
+
+ +
+
+ +

◆ overlapSlabs()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool overlapSlabs (const float * amin,
const float * amax,
const float * bmin,
const float * bmax,
const float px,
const float py 
)
+
+inline
+
+ +
+
+
+
+ + + + + diff --git a/DetourNavMesh_8cpp.js b/DetourNavMesh_8cpp.js new file mode 100644 index 00000000..2e7ec697 --- /dev/null +++ b/DetourNavMesh_8cpp.js @@ -0,0 +1,13 @@ +var DetourNavMesh_8cpp = +[ + [ "dtTileState", "structdtTileState.html", "structdtTileState" ], + [ "dtPolyState", "structdtPolyState.html", "structdtPolyState" ], + [ "allocLink", "DetourNavMesh_8cpp.html#aa74dd7666e6d665dd48779e18f5d4ed9", null ], + [ "calcSlabEndPoints", "DetourNavMesh_8cpp.html#a80261651de8c5a4a2798b3d64fcb73bb", null ], + [ "computeTileHash", "DetourNavMesh_8cpp.html#ab22aa4a9219f2568cb77b35fbc2d0f9b", null ], + [ "dtAllocNavMesh", "group__detour.html#ga73648d53c5a414855a2aa264aab9263c", null ], + [ "dtFreeNavMesh", "group__detour.html#gad938af5675a2f62c7c3830b38ea9a184", null ], + [ "freeLink", "DetourNavMesh_8cpp.html#abcf0226951222dd602078a87bd7d347d", null ], + [ "getSlabCoord", "DetourNavMesh_8cpp.html#a3e7eb7995c416f34e56ae9a40d233655", null ], + [ "overlapSlabs", "DetourNavMesh_8cpp.html#acc02f71919750fff6272687cd0879e2a", null ] +]; \ No newline at end of file diff --git a/DetourNavMesh_8h.html b/DetourNavMesh_8h.html new file mode 100644 index 00000000..83d54be2 --- /dev/null +++ b/DetourNavMesh_8h.html @@ -0,0 +1,624 @@ + + + + + + + +Recast Navigation: DetourNavMesh.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourNavMesh.h File Reference
+
+
+
#include "DetourAlloc.h"
+#include "DetourStatus.h"
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Classes

struct  dtPoly
 Defines a polygon 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...
 
+ + + + + + + + + + + + + + + + + + + + + +

+Enumerations

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_AREA_CROSSINGS = 0x01 +, DT_STRAIGHTPATH_ALL_CROSSINGS = 0x02 + }
 Options for dtNavMeshQuery::findStraightPath. More...
 
enum  dtFindPathOptions { DT_FINDPATH_ANY_ANGLE = 0x02 + }
 Options for dtNavMeshQuery::initSlicedFindPath and updateSlicedFindPath. More...
 
enum  dtRaycastOptions { DT_RAYCAST_USE_COSTS = 0x01 + }
 Options for dtNavMeshQuery::raycast. More...
 
enum  dtDetailTriEdgeFlags { DT_DETAIL_EDGE_BOUNDARY = 0x01 + }
 
enum  dtPolyTypes { DT_POLYTYPE_GROUND = 0 +, DT_POLYTYPE_OFFMESH_CONNECTION = 1 + }
 Flags representing the type of a navigation mesh polygon. More...
 
+ + + + + + + + + + +

+Functions

int dtGetDetailTriEdgeFlags (unsigned char triFlags, int edgeIndex)
 Get flags for edge in detail triangle. More...
 
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 int DT_MAX_AREAS = 64
 The maximum number of user defined area ids. 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...
 
+

Enumeration Type Documentation

+ +

◆ dtDetailTriEdgeFlags

+ +
+
+ + + + +
enum dtDetailTriEdgeFlags
+
+ + +
Enumerator
DT_DETAIL_EDGE_BOUNDARY 

Detail triangle edge is part of the poly boundary.

+
+ +
+
+ +

◆ dtFindPathOptions

+ +
+
+ + + + +
enum dtFindPathOptions
+
+ +

Options for dtNavMeshQuery::initSlicedFindPath and updateSlicedFindPath.

+ + +
Enumerator
DT_FINDPATH_ANY_ANGLE 

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

+
+ +
+
+ +

◆ dtPolyTypes

+ +
+
+ + + + +
enum dtPolyTypes
+
+ +

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.

+
+ +
+
+ +

◆ dtRaycastOptions

+ +
+
+ + + + +
enum dtRaycastOptions
+
+ +

Options for dtNavMeshQuery::raycast.

+ + +
Enumerator
DT_RAYCAST_USE_COSTS 

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

+
+ +
+
+ +

◆ dtStraightPathFlags

+ +
+
+ + + + +
enum dtStraightPathFlags
+
+ +

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.

+
+ +
+
+ +

◆ dtStraightPathOptions

+ +
+
+ + + + +
enum dtStraightPathOptions
+
+ +

Options for dtNavMeshQuery::findStraightPath.

+ + + +
Enumerator
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.

+
+ +
+
+ +

◆ dtTileFlags

+ +
+
+ + + + +
enum dtTileFlags
+
+ +

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.

+
+ +
+
+

Function Documentation

+ +

◆ dtGetDetailTriEdgeFlags()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int dtGetDetailTriEdgeFlags (unsigned char triFlags,
int edgeIndex 
)
+
+inline
+
+ +

Get flags for edge in detail triangle.

+
Parameters
+ + + +
[in]triFlagsThe flags for the triangle (last component of detail vertices above).
[in]edgeIndexThe index of the first vertex of the edge. For instance, if 0, returns flags for edge AB.
+
+
+ +
+
+

Variable Documentation

+ +

◆ DT_EXT_LINK

+ +
+
+ + + + + +
+ + + + +
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.)

+ +
+
+ +

◆ DT_NAVMESH_MAGIC

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

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

+ +
+
+ +

◆ DT_NAVMESH_STATE_MAGIC

+ +
+
+ + + + + +
+ + + + +
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.

+ +
+
+ +

◆ DT_NAVMESH_STATE_VERSION

+ +
+
+ + + + + +
+ + + + +
const int DT_NAVMESH_STATE_VERSION = 1
+
+static
+
+ +

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

+ +
+
+ +

◆ DT_NAVMESH_VERSION

+ +
+
+ + + + + +
+ + + + +
const int DT_NAVMESH_VERSION = 7
+
+static
+
+ +

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

+ +
+
+ +

◆ DT_NULL_LINK

+ +
+
+ + + + + +
+ + + + +
const unsigned int DT_NULL_LINK = 0xffffffff
+
+static
+
+ +

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

+ +
+
+ +

◆ DT_OFFMESH_CON_BIDIR

+ +
+
+ + + + + +
+ + + + +
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.)

+ +
+
+ +

◆ DT_RAY_CAST_LIMIT_PROPORTIONS

+ +
+
+ + + + + +
+ + + + +
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.

+ +
+
+
+
+ + + + + diff --git a/DetourNavMesh_8h.js b/DetourNavMesh_8h.js new file mode 100644 index 00000000..7cc9e67d --- /dev/null +++ b/DetourNavMesh_8h.js @@ -0,0 +1,47 @@ +var DetourNavMesh_8h = +[ + [ "dtPolyDetail", "structdtPolyDetail.html", "structdtPolyDetail" ], + [ "dtLink", "structdtLink.html", "structdtLink" ], + [ "dtBVNode", "structdtBVNode.html", "structdtBVNode" ], + [ "dtOffMeshConnection", "structdtOffMeshConnection.html", "structdtOffMeshConnection" ], + [ "dtPolyRef", "group__detour.html#gab4e0b2257a670c1a800057999612b466", null ], + [ "dtTileRef", "group__detour.html#ga7ea56cfe01bd7c34a81d821d94cbeea5", null ], + [ "dtDetailTriEdgeFlags", "DetourNavMesh_8h.html#a42be29b2c7d98704d437ef08e9bc526d", [ + [ "DT_DETAIL_EDGE_BOUNDARY", "DetourNavMesh_8h.html#a42be29b2c7d98704d437ef08e9bc526da2d515783212eec68c805a91b8de1d723", null ] + ] ], + [ "dtFindPathOptions", "DetourNavMesh_8h.html#aa783b570776c948098378da1a45e1bac", [ + [ "DT_FINDPATH_ANY_ANGLE", "DetourNavMesh_8h.html#aa783b570776c948098378da1a45e1bacae68dc8af59dbb706ec70f4482590599b", null ] + ] ], + [ "dtPolyTypes", "DetourNavMesh_8h.html#a19937b4ff098f7c52ee08af1b5f39c98", [ + [ "DT_POLYTYPE_GROUND", "DetourNavMesh_8h.html#a19937b4ff098f7c52ee08af1b5f39c98a29186313531593c85696d62ff83f6220", null ], + [ "DT_POLYTYPE_OFFMESH_CONNECTION", "DetourNavMesh_8h.html#a19937b4ff098f7c52ee08af1b5f39c98a5454d6f0a19d046264f5305baa7ba858", null ] + ] ], + [ "dtRaycastOptions", "DetourNavMesh_8h.html#a667a15950cb93797b15be3c958e440f0", [ + [ "DT_RAYCAST_USE_COSTS", "DetourNavMesh_8h.html#a667a15950cb93797b15be3c958e440f0a904277bd4cec80e1ec2848c010b779e8", null ] + ] ], + [ "dtStraightPathFlags", "DetourNavMesh_8h.html#ac8cecf1c1e32f8464a1905edfeaebbc7", [ + [ "DT_STRAIGHTPATH_START", "DetourNavMesh_8h.html#ac8cecf1c1e32f8464a1905edfeaebbc7a45732cca36a4a88b3cc5492dc1c4d55a", null ], + [ "DT_STRAIGHTPATH_END", "DetourNavMesh_8h.html#ac8cecf1c1e32f8464a1905edfeaebbc7a3857dec720eca5984c04ecf962b7bfa2", null ], + [ "DT_STRAIGHTPATH_OFFMESH_CONNECTION", "DetourNavMesh_8h.html#ac8cecf1c1e32f8464a1905edfeaebbc7a6f3af4eb103dca5d2259f7b8770e2c02", null ] + ] ], + [ "dtStraightPathOptions", "DetourNavMesh_8h.html#a41a7f5b74dd90b219858a75208bcac4e", [ + [ "DT_STRAIGHTPATH_AREA_CROSSINGS", "DetourNavMesh_8h.html#a41a7f5b74dd90b219858a75208bcac4ea0b347150cb46ca63c54526df691a9aef", null ], + [ "DT_STRAIGHTPATH_ALL_CROSSINGS", "DetourNavMesh_8h.html#a41a7f5b74dd90b219858a75208bcac4eae6fa64aada65c8ec7458b2a5653d5e02", null ] + ] ], + [ "dtTileFlags", "DetourNavMesh_8h.html#ace45ee22124392a9026eb6266000ca1c", [ + [ "DT_TILE_FREE_DATA", "DetourNavMesh_8h.html#ace45ee22124392a9026eb6266000ca1ca454ad5984fddf654fc291123ada94d1b", null ] + ] ], + [ "dtAllocNavMesh", "group__detour.html#ga73648d53c5a414855a2aa264aab9263c", null ], + [ "dtFreeNavMesh", "group__detour.html#gad938af5675a2f62c7c3830b38ea9a184", null ], + [ "dtGetDetailTriEdgeFlags", "DetourNavMesh_8h.html#a5368111c9ec95da8fd3ad0c45b90c902", null ], + [ "DT_EXT_LINK", "DetourNavMesh_8h.html#aa2d400dcfaef68b62c1f1118de13e87e", null ], + [ "DT_MAX_AREAS", "group__detour.html#ga954dc85eacf41248ee76968957484a9e", null ], + [ "DT_NAVMESH_MAGIC", "DetourNavMesh_8h.html#aab52da983cde5b114352f3aed116d9ed", null ], + [ "DT_NAVMESH_STATE_MAGIC", "DetourNavMesh_8h.html#aef983d45255c8121c3407c8dc927351d", null ], + [ "DT_NAVMESH_STATE_VERSION", "DetourNavMesh_8h.html#ad9115abe722291293a45d928ec44a87b", null ], + [ "DT_NAVMESH_VERSION", "DetourNavMesh_8h.html#a666e6e3396a42c7cacc6ac5d593c10d8", null ], + [ "DT_NULL_LINK", "DetourNavMesh_8h.html#aca31b5eadafd19285e16eca707b3295b", null ], + [ "DT_OFFMESH_CON_BIDIR", "DetourNavMesh_8h.html#adf1ff9d60c36045d41c92859d96e8dd0", null ], + [ "DT_RAY_CAST_LIMIT_PROPORTIONS", "DetourNavMesh_8h.html#a52749b53f72f838b3f54f61ca091ca74", null ], + [ "DT_VERTS_PER_POLYGON", "group__detour.html#ga8591fdac662dbfabb580de626c64c9f3", null ] +]; \ No newline at end of file diff --git a/DetourNavMesh_8h_source.html b/DetourNavMesh_8h_source.html new file mode 100644 index 00000000..065cfa59 --- /dev/null +++ b/DetourNavMesh_8h_source.html @@ -0,0 +1,696 @@ + + + + + + + +Recast Navigation: DetourNavMesh.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DetourNavMesh.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 DETOURNAVMESH_H
+
20 #define DETOURNAVMESH_H
+
21 
+
22 #include "DetourAlloc.h"
+
23 #include "DetourStatus.h"
+
24 
+
25 // Undefine (or define in a build cofnig) the following line to use 64bit polyref.
+
26 // Generally not needed, useful for very large worlds.
+
27 // Note: tiles build using 32bit refs are not compatible with 64bit refs!
+
28 //#define DT_POLYREF64 1
+
29 
+
30 #ifdef DT_POLYREF64
+
31 // TODO: figure out a multiplatform version of uint64_t
+
32 // - maybe: https://code.google.com/p/msinttypes/
+
33 // - or: http://www.azillionmonkeys.com/qed/pstdint.h
+
34 #include <stdint.h>
+
35 #endif
+
36 
+
37 // Note: If you want to use 64-bit refs, change the types of both dtPolyRef & dtTileRef.
+
38 // It is also recommended that you change dtHashRef() to a proper 64-bit hash.
+
39 
+
42 #ifdef DT_POLYREF64
+
43 static const unsigned int DT_SALT_BITS = 16;
+
44 static const unsigned int DT_TILE_BITS = 28;
+
45 static const unsigned int DT_POLY_BITS = 20;
+
46 typedef uint64_t dtPolyRef;
+
47 #else
+
48 typedef unsigned int dtPolyRef;
+
49 #endif
+
50 
+
53 #ifdef DT_POLYREF64
+
54 typedef uint64_t dtTileRef;
+
55 #else
+
56 typedef unsigned int dtTileRef;
+
57 #endif
+
58 
+
61 static const int DT_VERTS_PER_POLYGON = 6;
+
62 
+
68 
+
70 static const int DT_NAVMESH_MAGIC = 'D'<<24 | 'N'<<16 | 'A'<<8 | 'V';
+
71 
+
73 static const int DT_NAVMESH_VERSION = 7;
+
74 
+
76 static const int DT_NAVMESH_STATE_MAGIC = 'D'<<24 | 'N'<<16 | 'M'<<8 | 'S';
+
77 
+
79 static const int DT_NAVMESH_STATE_VERSION = 1;
+
80 
+
82 
+
85 static const unsigned short DT_EXT_LINK = 0x8000;
+
86 
+
88 static const unsigned int DT_NULL_LINK = 0xffffffff;
+
89 
+
91 static const unsigned int DT_OFFMESH_CON_BIDIR = 1;
+
92 
+
95 static const int DT_MAX_AREAS = 64;
+
96 
+ +
100 {
+
102  DT_TILE_FREE_DATA = 0x01
+
103 };
+
104 
+ +
107 {
+ + + +
111 };
+
112 
+ +
115 {
+ + +
118 };
+
119 
+
120 
+ +
123 {
+
124  DT_FINDPATH_ANY_ANGLE = 0x02
+
125 };
+
126 
+ +
129 {
+
130  DT_RAYCAST_USE_COSTS = 0x01
+
131 };
+
132 
+ +
134 {
+ +
136 };
+
137 
+
138 
+
141 static const float DT_RAY_CAST_LIMIT_PROPORTIONS = 50.0f;
+
142 
+ +
145 {
+ + +
150 };
+
151 
+
152 
+
155 struct dtPoly
+
156 {
+
158  unsigned int firstLink;
+
159 
+
162  unsigned short verts[DT_VERTS_PER_POLYGON];
+
163 
+
165  unsigned short neis[DT_VERTS_PER_POLYGON];
+
166 
+
168  unsigned short flags;
+
169 
+
171  unsigned char vertCount;
+
172 
+
175  unsigned char areaAndtype;
+
176 
+
178  inline void setArea(unsigned char a) { areaAndtype = (areaAndtype & 0xc0) | (a & 0x3f); }
+
179 
+
181  inline void setType(unsigned char t) { areaAndtype = (areaAndtype & 0x3f) | (t << 6); }
+
182 
+
184  inline unsigned char getArea() const { return areaAndtype & 0x3f; }
+
185 
+
187  inline unsigned char getType() const { return areaAndtype >> 6; }
+
188 };
+
189 
+ +
192 {
+
193  unsigned int vertBase;
+
194  unsigned int triBase;
+
195  unsigned char vertCount;
+
196  unsigned char triCount;
+
197 };
+
198 
+
202 struct dtLink
+
203 {
+ +
205  unsigned int next;
+
206  unsigned char edge;
+
207  unsigned char side;
+
208  unsigned char bmin;
+
209  unsigned char bmax;
+
210 };
+
211 
+
215 struct dtBVNode
+
216 {
+
217  unsigned short bmin[3];
+
218  unsigned short bmax[3];
+
219  int i;
+
220 };
+
221 
+ +
225 {
+
227  float pos[6];
+
228 
+
230  float rad;
+
231 
+
233  unsigned short poly;
+
234 
+
238  unsigned char flags;
+
239 
+
241  unsigned char side;
+
242 
+
244  unsigned int userId;
+
245 };
+
246 
+ +
250 {
+
251  int magic;
+
252  int version;
+
253  int x;
+
254  int y;
+
255  int layer;
+
256  unsigned int userId;
+
257  int polyCount;
+
258  int vertCount;
+ + +
261 
+ +
264 
+ + + + + + + +
272  float bmin[3];
+
273  float bmax[3];
+
274 
+ +
277 };
+
278 
+ +
282 {
+
283  unsigned int salt;
+
284 
+
285  unsigned int linksFreeList;
+ + +
288  float* verts;
+ + +
291 
+
293  float* detailVerts;
+
294 
+
297  unsigned char* detailTris;
+
298 
+ +
302 
+ +
304 
+
305  unsigned char* data;
+
306  int dataSize;
+
307  int flags;
+ +
309 private:
+
310  dtMeshTile(const dtMeshTile&);
+
311  dtMeshTile& operator=(const dtMeshTile&);
+
312 };
+
313 
+
318 inline int dtGetDetailTriEdgeFlags(unsigned char triFlags, int edgeIndex)
+
319 {
+
320  return (triFlags >> (edgeIndex * 2)) & 0x3;
+
321 }
+
322 
+ +
328 {
+
329  float orig[3];
+
330  float tileWidth;
+
331  float tileHeight;
+
332  int maxTiles;
+
333  int maxPolys;
+
334 };
+
335 
+ +
339 {
+
340 public:
+
341  dtNavMesh();
+
342  ~dtNavMesh();
+
343 
+
346 
+
350  dtStatus init(const dtNavMeshParams* params);
+
351 
+
358  dtStatus init(unsigned char* data, const int dataSize, const int flags);
+
359 
+
361  const dtNavMeshParams* getParams() const;
+
362 
+
370  dtStatus addTile(unsigned char* data, int dataSize, int flags, dtTileRef lastRef, dtTileRef* result);
+
371 
+
377  dtStatus removeTile(dtTileRef ref, unsigned char** data, int* dataSize);
+
378 
+
380 
+
383 
+
388  void calcTileLoc(const float* pos, int* tx, int* ty) const;
+
389 
+
395  const dtMeshTile* getTileAt(const int x, const int y, const int layer) const;
+
396 
+
403  int getTilesAt(const int x, const int y,
+
404  dtMeshTile const** tiles, const int maxTiles) const;
+
405 
+
411  dtTileRef getTileRefAt(int x, int y, int layer) const;
+
412 
+
416  dtTileRef getTileRef(const dtMeshTile* tile) const;
+
417 
+
422  const dtMeshTile* getTileByRef(dtTileRef ref) const;
+
423 
+
426  int getMaxTiles() const;
+
427 
+
431  const dtMeshTile* getTile(int i) const;
+
432 
+
438  dtStatus getTileAndPolyByRef(const dtPolyRef ref, const dtMeshTile** tile, const dtPoly** poly) const;
+
439 
+
444  void getTileAndPolyByRefUnsafe(const dtPolyRef ref, const dtMeshTile** tile, const dtPoly** poly) const;
+
445 
+
449  bool isValidPolyRef(dtPolyRef ref) const;
+
450 
+
454  dtPolyRef getPolyRefBase(const dtMeshTile* tile) const;
+
455 
+
462  dtStatus getOffMeshConnectionPolyEndPoints(dtPolyRef prevRef, dtPolyRef polyRef, float* startPos, float* endPos) const;
+
463 
+ +
468 
+
470 
+
474 
+
479  dtStatus setPolyFlags(dtPolyRef ref, unsigned short flags);
+
480 
+
485  dtStatus getPolyFlags(dtPolyRef ref, unsigned short* resultFlags) const;
+
486 
+
491  dtStatus setPolyArea(dtPolyRef ref, unsigned char area);
+
492 
+
497  dtStatus getPolyArea(dtPolyRef ref, unsigned char* resultArea) const;
+
498 
+
502  int getTileStateSize(const dtMeshTile* tile) const;
+
503 
+
509  dtStatus storeTileState(const dtMeshTile* tile, unsigned char* data, const int maxDataSize) const;
+
510 
+
516  dtStatus restoreTileState(dtMeshTile* tile, const unsigned char* data, const int maxDataSize);
+
517 
+
519 
+
523 
+
529  inline dtPolyRef encodePolyId(unsigned int salt, unsigned int it, unsigned int ip) const
+
530  {
+
531 #ifdef DT_POLYREF64
+
532  return ((dtPolyRef)salt << (DT_POLY_BITS+DT_TILE_BITS)) | ((dtPolyRef)it << DT_POLY_BITS) | (dtPolyRef)ip;
+
533 #else
+
534  return ((dtPolyRef)salt << (m_polyBits+m_tileBits)) | ((dtPolyRef)it << m_polyBits) | (dtPolyRef)ip;
+
535 #endif
+
536  }
+
537 
+
545  inline void decodePolyId(dtPolyRef ref, unsigned int& salt, unsigned int& it, unsigned int& ip) const
+
546  {
+
547 #ifdef DT_POLYREF64
+
548  const dtPolyRef saltMask = ((dtPolyRef)1<<DT_SALT_BITS)-1;
+
549  const dtPolyRef tileMask = ((dtPolyRef)1<<DT_TILE_BITS)-1;
+
550  const dtPolyRef polyMask = ((dtPolyRef)1<<DT_POLY_BITS)-1;
+
551  salt = (unsigned int)((ref >> (DT_POLY_BITS+DT_TILE_BITS)) & saltMask);
+
552  it = (unsigned int)((ref >> DT_POLY_BITS) & tileMask);
+
553  ip = (unsigned int)(ref & polyMask);
+
554 #else
+
555  const dtPolyRef saltMask = ((dtPolyRef)1<<m_saltBits)-1;
+
556  const dtPolyRef tileMask = ((dtPolyRef)1<<m_tileBits)-1;
+
557  const dtPolyRef polyMask = ((dtPolyRef)1<<m_polyBits)-1;
+
558  salt = (unsigned int)((ref >> (m_polyBits+m_tileBits)) & saltMask);
+
559  it = (unsigned int)((ref >> m_polyBits) & tileMask);
+
560  ip = (unsigned int)(ref & polyMask);
+
561 #endif
+
562  }
+
563 
+
568  inline unsigned int decodePolyIdSalt(dtPolyRef ref) const
+
569  {
+
570 #ifdef DT_POLYREF64
+
571  const dtPolyRef saltMask = ((dtPolyRef)1<<DT_SALT_BITS)-1;
+
572  return (unsigned int)((ref >> (DT_POLY_BITS+DT_TILE_BITS)) & saltMask);
+
573 #else
+
574  const dtPolyRef saltMask = ((dtPolyRef)1<<m_saltBits)-1;
+
575  return (unsigned int)((ref >> (m_polyBits+m_tileBits)) & saltMask);
+
576 #endif
+
577  }
+
578 
+
583  inline unsigned int decodePolyIdTile(dtPolyRef ref) const
+
584  {
+
585 #ifdef DT_POLYREF64
+
586  const dtPolyRef tileMask = ((dtPolyRef)1<<DT_TILE_BITS)-1;
+
587  return (unsigned int)((ref >> DT_POLY_BITS) & tileMask);
+
588 #else
+
589  const dtPolyRef tileMask = ((dtPolyRef)1<<m_tileBits)-1;
+
590  return (unsigned int)((ref >> m_polyBits) & tileMask);
+
591 #endif
+
592  }
+
593 
+
598  inline unsigned int decodePolyIdPoly(dtPolyRef ref) const
+
599  {
+
600 #ifdef DT_POLYREF64
+
601  const dtPolyRef polyMask = ((dtPolyRef)1<<DT_POLY_BITS)-1;
+
602  return (unsigned int)(ref & polyMask);
+
603 #else
+
604  const dtPolyRef polyMask = ((dtPolyRef)1<<m_polyBits)-1;
+
605  return (unsigned int)(ref & polyMask);
+
606 #endif
+
607  }
+
608 
+
610 
+
611 private:
+
612  // Explicitly disabled copy constructor and copy assignment operator.
+
613  dtNavMesh(const dtNavMesh&);
+
614  dtNavMesh& operator=(const dtNavMesh&);
+
615 
+
617  dtMeshTile* getTile(int i);
+
618 
+
620  int getTilesAt(const int x, const int y,
+
621  dtMeshTile** tiles, const int maxTiles) const;
+
622 
+
624  int getNeighbourTilesAt(const int x, const int y, const int side,
+
625  dtMeshTile** tiles, const int maxTiles) const;
+
626 
+
628  int findConnectingPolys(const float* va, const float* vb,
+
629  const dtMeshTile* tile, int side,
+
630  dtPolyRef* con, float* conarea, int maxcon) const;
+
631 
+
633  void connectIntLinks(dtMeshTile* tile);
+
635  void baseOffMeshLinks(dtMeshTile* tile);
+
636 
+
638  void connectExtLinks(dtMeshTile* tile, dtMeshTile* target, int side);
+
640  void connectExtOffMeshLinks(dtMeshTile* tile, dtMeshTile* target, int side);
+
641 
+
643  void unconnectLinks(dtMeshTile* tile, dtMeshTile* target);
+
644 
+
645 
+
646  // TODO: These methods are duplicates from dtNavMeshQuery, but are needed for off-mesh connection finding.
+
647 
+
649  int queryPolygonsInTile(const dtMeshTile* tile, const float* qmin, const float* qmax,
+
650  dtPolyRef* polys, const int maxPolys) const;
+
652  dtPolyRef findNearestPolyInTile(const dtMeshTile* tile, const float* center,
+
653  const float* halfExtents, float* nearestPt) const;
+
655  bool getPolyHeight(const dtMeshTile* tile, const dtPoly* poly, const float* pos, float* height) const;
+
657  void closestPointOnPoly(dtPolyRef ref, const float* pos, float* closest, bool* posOverPoly) const;
+
658 
+
659  dtNavMeshParams m_params;
+
660  float m_orig[3];
+
661  float m_tileWidth, m_tileHeight;
+
662  int m_maxTiles;
+
663  int m_tileLutSize;
+
664  int m_tileLutMask;
+
665 
+
666  dtMeshTile** m_posLookup;
+
667  dtMeshTile* m_nextFree;
+
668  dtMeshTile* m_tiles;
+
669 
+
670 #ifndef DT_POLYREF64
+
671  unsigned int m_saltBits;
+
672  unsigned int m_tileBits;
+
673  unsigned int m_polyBits;
+
674 #endif
+
675 
+
676  friend class dtNavMeshQuery;
+
677 };
+
678 
+ +
683 
+
687 void dtFreeNavMesh(dtNavMesh* navmesh);
+
688 
+
689 #endif // DETOURNAVMESH_H
+
690 
+
692 
+
693 // This section contains detailed documentation for members that don't have
+
694 // a source file. It reduces clutter in the main section of the header.
+
695 
+ +
dtPolyTypes
Flags representing the type of a navigation mesh polygon.
Definition: DetourNavMesh.h:145
+
@ DT_POLYTYPE_GROUND
The polygon is a standard convex polygon that is part of the surface of the mesh.
Definition: DetourNavMesh.h:147
+
@ DT_POLYTYPE_OFFMESH_CONNECTION
The polygon is an off-mesh connection consisting of two vertices.
Definition: DetourNavMesh.h:149
+
dtStraightPathOptions
Options for dtNavMeshQuery::findStraightPath.
Definition: DetourNavMesh.h:115
+
@ DT_STRAIGHTPATH_AREA_CROSSINGS
Add a vertex at every polygon edge crossing where area changes.
Definition: DetourNavMesh.h:116
+
@ DT_STRAIGHTPATH_ALL_CROSSINGS
Add a vertex at every polygon edge crossing.
Definition: DetourNavMesh.h:117
+
dtDetailTriEdgeFlags
Definition: DetourNavMesh.h:134
+
@ DT_DETAIL_EDGE_BOUNDARY
Detail triangle edge is part of the poly boundary.
Definition: DetourNavMesh.h:135
+
static const float DT_RAY_CAST_LIMIT_PROPORTIONS
Limit raycasting during any angle pahfinding The limit is given as a multiple of the character radius...
Definition: DetourNavMesh.h:141
+
int dtGetDetailTriEdgeFlags(unsigned char triFlags, int edgeIndex)
Get flags for edge in detail triangle.
Definition: DetourNavMesh.h:318
+
static const int DT_NAVMESH_VERSION
A version number used to detect compatibility of navigation tile data.
Definition: DetourNavMesh.h:73
+
dtRaycastOptions
Options for dtNavMeshQuery::raycast.
Definition: DetourNavMesh.h:129
+
@ DT_RAYCAST_USE_COSTS
Raycast should calculate movement cost along the ray and fill RaycastHit::cost.
Definition: DetourNavMesh.h:130
+
static const unsigned short DT_EXT_LINK
A flag that indicates that an entity links to an external entity.
Definition: DetourNavMesh.h:85
+
dtFindPathOptions
Options for dtNavMeshQuery::initSlicedFindPath and updateSlicedFindPath.
Definition: DetourNavMesh.h:123
+
@ DT_FINDPATH_ANY_ANGLE
use raycasts during pathfind to "shortcut" (raycast still consider costs)
Definition: DetourNavMesh.h:124
+
static const int DT_NAVMESH_MAGIC
A magic number used to detect compatibility of navigation tile data.
Definition: DetourNavMesh.h:70
+
dtStraightPathFlags
Vertex flags returned by dtNavMeshQuery::findStraightPath.
Definition: DetourNavMesh.h:107
+
@ DT_STRAIGHTPATH_END
The vertex is the end position in the path.
Definition: DetourNavMesh.h:109
+
@ DT_STRAIGHTPATH_START
The vertex is the start position in the path.
Definition: DetourNavMesh.h:108
+
@ DT_STRAIGHTPATH_OFFMESH_CONNECTION
The vertex is the start of an off-mesh connection.
Definition: DetourNavMesh.h:110
+
static const unsigned int DT_NULL_LINK
A value that indicates the entity does not link to anything.
Definition: DetourNavMesh.h:88
+
dtTileFlags
Tile flags used for various functions and fields.
Definition: DetourNavMesh.h:100
+
@ DT_TILE_FREE_DATA
The navigation mesh owns the tile memory and is responsible for freeing it.
Definition: DetourNavMesh.h:102
+
static const int DT_NAVMESH_STATE_VERSION
A version number used to detect compatibility of navigation tile states.
Definition: DetourNavMesh.h:79
+
static const unsigned int DT_OFFMESH_CON_BIDIR
A flag that indicates that an off-mesh connection can be traversed in both directions....
Definition: DetourNavMesh.h:91
+
static const int DT_NAVMESH_STATE_MAGIC
A magic number used to detect the compatibility of navigation tile states.
Definition: DetourNavMesh.h:76
+ +
unsigned int dtStatus
Definition: DetourStatus.h:22
+
Provides the ability to perform pathfinding related queries against a navigation mesh.
Definition: DetourNavMeshQuery.h:166
+
A navigation mesh based on tiles of convex polygons.
Definition: DetourNavMesh.h:339
+
dtStatus init(const dtNavMeshParams *params)
Initializes the navigation mesh for tiled use.
Definition: DetourNavMesh.cpp:224
+
dtPolyRef getPolyRefBase(const dtMeshTile *tile) const
Gets the polygon reference for the tile's base polygon.
Definition: DetourNavMesh.cpp:1356
+
~dtNavMesh()
Definition: DetourNavMesh.cpp:209
+
dtStatus storeTileState(const dtMeshTile *tile, unsigned char *data, const int maxDataSize) const
Stores the non-structural state of the tile in the specified buffer.
Definition: DetourNavMesh.cpp:1390
+
dtPolyRef encodePolyId(unsigned int salt, unsigned int it, unsigned int ip) const
Derives a standard polygon reference.
Definition: DetourNavMesh.h:529
+
int getMaxTiles() const
The maximum number of tiles supported by the navigation mesh.
Definition: DetourNavMesh.cpp:1176
+
int getTilesAt(const int x, const int y, dtMeshTile const **tiles, const int maxTiles) const
Gets all tiles at the specified grid location.
Definition: DetourNavMesh.cpp:1120
+
const dtOffMeshConnection * getOffMeshConnectionByRef(dtPolyRef ref) const
Gets the specified off-mesh connection.
Definition: DetourNavMesh.cpp:1502
+
dtNavMesh()
Definition: DetourNavMesh.cpp:188
+
dtStatus getTileAndPolyByRef(const dtPolyRef ref, const dtMeshTile **tile, const dtPoly **poly) const
Gets the tile and polygon for the specified polygon reference.
Definition: DetourNavMesh.cpp:1197
+
const dtMeshTile * getTile(int i) const
Gets the tile at the specified index.
Definition: DetourNavMesh.cpp:1186
+
unsigned int decodePolyIdSalt(dtPolyRef ref) const
Extracts a tile's salt value from the specified polygon reference.
Definition: DetourNavMesh.h:568
+
dtStatus addTile(unsigned char *data, int dataSize, int flags, dtTileRef lastRef, dtTileRef *result)
Adds a tile to the navigation mesh.
Definition: DetourNavMesh.cpp:908
+
dtStatus removeTile(dtTileRef ref, unsigned char **data, int *dataSize)
Removes the specified tile from the navigation mesh.
Definition: DetourNavMesh.cpp:1240
+
dtStatus getOffMeshConnectionPolyEndPoints(dtPolyRef prevRef, dtPolyRef polyRef, float *startPos, float *endPos) const
Gets the endpoints for an off-mesh connection, ordered by "direction of travel".
Definition: DetourNavMesh.cpp:1459
+
dtTileRef getTileRef(const dtMeshTile *tile) const
Gets the tile reference for the specified tile.
Definition: DetourNavMesh.cpp:1335
+
void calcTileLoc(const float *pos, int *tx, int *ty) const
Calculates the tile grid location for the specified world position.
Definition: DetourNavMesh.cpp:1191
+
dtStatus setPolyArea(dtPolyRef ref, unsigned char area)
Sets the user defined area for the specified polygon.
Definition: DetourNavMesh.cpp:1560
+
bool isValidPolyRef(dtPolyRef ref) const
Checks the validity of a polygon reference.
Definition: DetourNavMesh.cpp:1223
+
dtTileRef getTileRefAt(int x, int y, int layer) const
Gets the tile reference for the tile at specified grid location.
Definition: DetourNavMesh.cpp:1143
+
dtStatus getPolyFlags(dtPolyRef ref, unsigned short *resultFlags) const
Gets the user defined flags for the specified polygon.
Definition: DetourNavMesh.cpp:1544
+
const dtNavMeshParams * getParams() const
The navigation mesh initialization params.
Definition: DetourNavMesh.cpp:294
+
unsigned int decodePolyIdPoly(dtPolyRef ref) const
Extracts the polygon's index (within its tile) from the specified polygon reference.
Definition: DetourNavMesh.h:598
+
unsigned int decodePolyIdTile(dtPolyRef ref) const
Extracts the tile's index from the specified polygon reference.
Definition: DetourNavMesh.h:583
+
dtStatus getPolyArea(dtPolyRef ref, unsigned char *resultArea) const
Gets the user defined area for the specified polygon.
Definition: DetourNavMesh.cpp:1576
+
int getTileStateSize(const dtMeshTile *tile) const
Gets the size of the buffer required by storeTileState to store the specified tile's state.
Definition: DetourNavMesh.cpp:1377
+
void getTileAndPolyByRefUnsafe(const dtPolyRef ref, const dtMeshTile **tile, const dtPoly **poly) const
Returns the tile and polygon for the specified polygon reference.
Definition: DetourNavMesh.cpp:1215
+
const dtMeshTile * getTileByRef(dtTileRef ref) const
Gets the tile for the specified tile reference.
Definition: DetourNavMesh.cpp:1162
+
const dtMeshTile * getTileAt(const int x, const int y, const int layer) const
Gets the tile at the specified grid location.
Definition: DetourNavMesh.cpp:1057
+
dtStatus restoreTileState(dtMeshTile *tile, const unsigned char *data, const int maxDataSize)
Restores the state of the tile.
Definition: DetourNavMesh.cpp:1422
+
dtStatus setPolyFlags(dtPolyRef ref, unsigned short flags)
Sets the user defined flags for the specified polygon.
Definition: DetourNavMesh.cpp:1527
+
void decodePolyId(dtPolyRef ref, unsigned int &salt, unsigned int &it, unsigned int &ip) const
Decodes a standard polygon reference.
Definition: DetourNavMesh.h:545
+
dtNavMesh * dtAllocNavMesh()
Allocates a navigation mesh object using the Detour allocator.
Definition: DetourNavMesh.cpp:138
+
unsigned int dtTileRef
A handle to a tile within a navigation mesh.
Definition: DetourNavMesh.h:56
+
static const int DT_VERTS_PER_POLYGON
The maximum number of vertices per navigation polygon.
Definition: DetourNavMesh.h:61
+
static const int DT_MAX_AREAS
The maximum number of user defined area ids.
Definition: DetourNavMesh.h:95
+
unsigned int dtPolyRef
A handle to a polygon within a navigation mesh tile.
Definition: DetourNavMesh.h:48
+
void dtFreeNavMesh(dtNavMesh *navmesh)
Frees the specified navigation mesh object using the Detour allocator.
Definition: DetourNavMesh.cpp:149
+
Bounding volume node.
Definition: DetourNavMesh.h:216
+
unsigned short bmin[3]
Minimum bounds of the node's AABB. [(x, y, z)].
Definition: DetourNavMesh.h:217
+
int i
The node's index. (Negative for escape sequence.)
Definition: DetourNavMesh.h:219
+
unsigned short bmax[3]
Maximum bounds of the node's AABB. [(x, y, z)].
Definition: DetourNavMesh.h:218
+ + + + + + + +
Provides high level information related to a dtMeshTile object.
Definition: DetourNavMesh.h:250
+
int detailTriCount
The number of triangles in the detail mesh.
Definition: DetourNavMesh.h:265
+
unsigned int userId
The user defined id of the tile.
Definition: DetourNavMesh.h:256
+
int version
Tile data format version number.
Definition: DetourNavMesh.h:252
+
int bvNodeCount
The number of bounding volume nodes. (Zero if bounding volumes are disabled.)
Definition: DetourNavMesh.h:266
+
int magic
Tile magic number. (Used to identify the data format.)
Definition: DetourNavMesh.h:251
+
int detailMeshCount
The number of sub-meshes in the detail mesh.
Definition: DetourNavMesh.h:260
+
float bmax[3]
The maximum bounds of the tile's AABB. [(x, y, z)].
Definition: DetourNavMesh.h:273
+
float walkableHeight
The height of the agents using the tile.
Definition: DetourNavMesh.h:269
+
int y
The y-position of the tile within the dtNavMesh tile grid. (x, y, layer)
Definition: DetourNavMesh.h:254
+
int vertCount
The number of vertices in the tile.
Definition: DetourNavMesh.h:258
+
int polyCount
The number of polygons in the tile.
Definition: DetourNavMesh.h:257
+
float bvQuantFactor
The bounding volume quantization factor.
Definition: DetourNavMesh.h:276
+
int maxLinkCount
The number of allocated links.
Definition: DetourNavMesh.h:259
+
float walkableClimb
The maximum climb height of the agents using the tile.
Definition: DetourNavMesh.h:271
+
int detailVertCount
The number of unique vertices in the detail mesh. (In addition to the polygon vertices....
Definition: DetourNavMesh.h:263
+
float bmin[3]
The minimum bounds of the tile's AABB. [(x, y, z)].
Definition: DetourNavMesh.h:272
+
int offMeshBase
The index of the first polygon which is an off-mesh connection.
Definition: DetourNavMesh.h:268
+
int layer
The layer of the tile within the dtNavMesh tile grid. (x, y, layer)
Definition: DetourNavMesh.h:255
+
int x
The x-position of the tile within the dtNavMesh tile grid. (x, y, layer)
Definition: DetourNavMesh.h:253
+
float walkableRadius
The radius of the agents using the tile.
Definition: DetourNavMesh.h:270
+
int offMeshConCount
The number of off-mesh connections.
Definition: DetourNavMesh.h:267
+
Defines a navigation mesh tile.
Definition: DetourNavMesh.h:282
+
dtLink * links
The tile links. [Size: dtMeshHeader::maxLinkCount].
Definition: DetourNavMesh.h:289
+
int dataSize
Size of the tile data.
Definition: DetourNavMesh.h:306
+
dtBVNode * bvTree
The tile bounding volume nodes.
Definition: DetourNavMesh.h:301
+
unsigned int salt
Counter describing modifications to the tile.
Definition: DetourNavMesh.h:283
+
unsigned char * detailTris
The detail mesh's triangles.
Definition: DetourNavMesh.h:297
+
dtMeshTile * next
The next free tile, or the next tile in the spatial grid.
Definition: DetourNavMesh.h:308
+
dtMeshHeader * header
The tile header.
Definition: DetourNavMesh.h:286
+
float * detailVerts
The detail mesh's unique vertices. [(x, y, z) * dtMeshHeader::detailVertCount].
Definition: DetourNavMesh.h:293
+
int flags
Tile flags. (See: dtTileFlags)
Definition: DetourNavMesh.h:307
+
dtPolyDetail * detailMeshes
The tile's detail sub-meshes. [Size: dtMeshHeader::detailMeshCount].
Definition: DetourNavMesh.h:290
+
dtOffMeshConnection * offMeshCons
The tile off-mesh connections. [Size: dtMeshHeader::offMeshConCount].
Definition: DetourNavMesh.h:303
+
dtPoly * polys
The tile polygons. [Size: dtMeshHeader::polyCount].
Definition: DetourNavMesh.h:287
+
float * verts
The tile vertices. [(x, y, z) * dtMeshHeader::vertCount].
Definition: DetourNavMesh.h:288
+
unsigned int linksFreeList
Index to the next free link.
Definition: DetourNavMesh.h:285
+
unsigned char * data
The tile data. (Not directly accessed under normal situations.)
Definition: DetourNavMesh.h:305
+
Configuration parameters used to define multi-tile navigation meshes.
Definition: DetourNavMesh.h:328
+
float orig[3]
The world space origin of the navigation mesh's tile space. [(x, y, z)].
Definition: DetourNavMesh.h:329
+
int maxPolys
The maximum number of polygons each tile can contain. This and maxTiles are used to calculate how man...
Definition: DetourNavMesh.h:333
+
float tileWidth
The width of each tile. (Along the x-axis.)
Definition: DetourNavMesh.h:330
+
float tileHeight
The height of each tile. (Along the z-axis.)
Definition: DetourNavMesh.h:331
+
int maxTiles
The maximum number of tiles the navigation mesh can contain. This and maxPolys are used to calculate ...
Definition: DetourNavMesh.h:332
+
Defines an navigation mesh off-mesh connection within a dtMeshTile object.
Definition: DetourNavMesh.h:225
+
unsigned int userId
The id of the offmesh connection. (User assigned when the navigation mesh is built....
Definition: DetourNavMesh.h:244
+
float pos[6]
The endpoints of the connection. [(ax, ay, az, bx, by, bz)].
Definition: DetourNavMesh.h:227
+
unsigned short poly
The polygon reference of the connection within the tile.
Definition: DetourNavMesh.h:233
+
unsigned char side
End point side.
Definition: DetourNavMesh.h:241
+
unsigned char flags
Link flags.
Definition: DetourNavMesh.h:238
+
float rad
The radius of the endpoints. [Limit: >= 0].
Definition: DetourNavMesh.h:230
+
Defines the location of detail sub-mesh data within a dtMeshTile.
Definition: DetourNavMesh.h:192
+
unsigned char vertCount
The number of vertices in the sub-mesh.
Definition: DetourNavMesh.h:195
+
unsigned int triBase
The offset of the triangles in the dtMeshTile::detailTris array.
Definition: DetourNavMesh.h:194
+
unsigned int vertBase
The offset of the vertices in the dtMeshTile::detailVerts array.
Definition: DetourNavMesh.h:193
+
unsigned char triCount
The number of triangles in the sub-mesh.
Definition: DetourNavMesh.h:196
+
Defines a polygon within a dtMeshTile object.
Definition: DetourNavMesh.h:156
+
unsigned char getType() const
Gets the polygon type. (See: dtPolyTypes)
Definition: DetourNavMesh.h:187
+
unsigned short flags
The user defined polygon flags.
Definition: DetourNavMesh.h:168
+
unsigned int firstLink
Index to first link in linked list. (Or DT_NULL_LINK if there is no link.)
Definition: DetourNavMesh.h:158
+
void setArea(unsigned char a)
Sets the user defined area id. [Limit: < DT_MAX_AREAS].
Definition: DetourNavMesh.h:178
+
unsigned char getArea() const
Gets the user defined area id.
Definition: DetourNavMesh.h:184
+
unsigned short neis[DT_VERTS_PER_POLYGON]
Packed data representing neighbor polygons references and flags for each edge.
Definition: DetourNavMesh.h:165
+
void setType(unsigned char t)
Sets the polygon type. (See: dtPolyTypes.)
Definition: DetourNavMesh.h:181
+
unsigned short verts[DT_VERTS_PER_POLYGON]
The indices of the polygon's vertices.
Definition: DetourNavMesh.h:162
+
unsigned char areaAndtype
The bit packed area id and polygon type.
Definition: DetourNavMesh.h:175
+
unsigned char vertCount
The number of vertices in the polygon.
Definition: DetourNavMesh.h:171
+
+
+ + + + + diff --git a/DetourNode_8cpp.html b/DetourNode_8cpp.html new file mode 100644 index 00000000..0b6d7048 --- /dev/null +++ b/DetourNode_8cpp.html @@ -0,0 +1,144 @@ + + + + + + + +Recast Navigation: DetourNode.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourNode.cpp File Reference
+
+
+
#include "DetourNode.h"
+#include "DetourAlloc.h"
+#include "DetourAssert.h"
+#include "DetourCommon.h"
+#include <string.h>
+
+ + + +

+Functions

unsigned int dtHashRef (dtPolyRef a)
 
+

Function Documentation

+ +

◆ dtHashRef()

+ +
+
+ + + + + +
+ + + + + + + + +
unsigned int dtHashRef (dtPolyRef a)
+
+inline
+
+ +
+
+
+
+ + + + + diff --git a/DetourNode_8cpp.js b/DetourNode_8cpp.js new file mode 100644 index 00000000..9a537998 --- /dev/null +++ b/DetourNode_8cpp.js @@ -0,0 +1,4 @@ +var DetourNode_8cpp = +[ + [ "dtHashRef", "DetourNode_8cpp.html#abe28cb23dd9bd2f51a0146c2448827d2", null ] +]; \ No newline at end of file diff --git a/DetourNode_8h.html b/DetourNode_8h.html new file mode 100644 index 00000000..c25c277b --- /dev/null +++ b/DetourNode_8h.html @@ -0,0 +1,270 @@ + + + + + + + +Recast Navigation: DetourNode.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourNode.h File Reference
+
+
+
#include "DetourNavMesh.h"
+
+

Go to the source code of this file.

+ + + + + + + + +

+Classes

struct  dtNode
 
class  dtNodePool
 
class  dtNodeQueue
 
+ + + +

+Typedefs

typedef unsigned short dtNodeIndex
 
+ + + +

+Enumerations

enum  dtNodeFlags { DT_NODE_OPEN = 0x01 +, DT_NODE_CLOSED = 0x02 +, DT_NODE_PARENT_DETACHED = 0x04 + }
 
+ + + + + + + + + +

+Variables

static const dtNodeIndex DT_NULL_IDX = (dtNodeIndex)~0
 
static const int DT_NODE_PARENT_BITS = 24
 
static const int DT_NODE_STATE_BITS = 2
 
static const int DT_MAX_STATES_PER_NODE = 1 << DT_NODE_STATE_BITS
 
+

Typedef Documentation

+ +

◆ dtNodeIndex

+ +
+
+ + + + +
typedef unsigned short dtNodeIndex
+
+ +
+
+

Enumeration Type Documentation

+ +

◆ dtNodeFlags

+ +
+
+ + + + +
enum dtNodeFlags
+
+ + + + +
Enumerator
DT_NODE_OPEN 
DT_NODE_CLOSED 
DT_NODE_PARENT_DETACHED 
+ +
+
+

Variable Documentation

+ +

◆ DT_MAX_STATES_PER_NODE

+ +
+
+ + + + + +
+ + + + +
const int DT_MAX_STATES_PER_NODE = 1 << DT_NODE_STATE_BITS
+
+static
+
+ +
+
+ +

◆ DT_NODE_PARENT_BITS

+ +
+
+ + + + + +
+ + + + +
const int DT_NODE_PARENT_BITS = 24
+
+static
+
+ +
+
+ +

◆ DT_NODE_STATE_BITS

+ +
+
+ + + + + +
+ + + + +
const int DT_NODE_STATE_BITS = 2
+
+static
+
+ +
+
+ +

◆ DT_NULL_IDX

+ +
+
+ + + + + +
+ + + + +
const dtNodeIndex DT_NULL_IDX = (dtNodeIndex)~0
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/DetourNode_8h.js b/DetourNode_8h.js new file mode 100644 index 00000000..6da53282 --- /dev/null +++ b/DetourNode_8h.js @@ -0,0 +1,16 @@ +var DetourNode_8h = +[ + [ "dtNode", "structdtNode.html", "structdtNode" ], + [ "dtNodePool", "classdtNodePool.html", "classdtNodePool" ], + [ "dtNodeQueue", "classdtNodeQueue.html", "classdtNodeQueue" ], + [ "dtNodeIndex", "DetourNode_8h.html#adc6b682c3b5770de3190074b6a27c543", null ], + [ "dtNodeFlags", "DetourNode_8h.html#a2792299fd5fa6e50bb9c5d5b7dd12974", [ + [ "DT_NODE_OPEN", "DetourNode_8h.html#a2792299fd5fa6e50bb9c5d5b7dd12974a792e67a3226f80ca54332bcbdac1c1c9", null ], + [ "DT_NODE_CLOSED", "DetourNode_8h.html#a2792299fd5fa6e50bb9c5d5b7dd12974aa9a4b8aa94ba18584fa07b2d8ad9aac2", null ], + [ "DT_NODE_PARENT_DETACHED", "DetourNode_8h.html#a2792299fd5fa6e50bb9c5d5b7dd12974acbfda68f4c9e956d9b2573521a5156e1", null ] + ] ], + [ "DT_MAX_STATES_PER_NODE", "DetourNode_8h.html#a1f8049d9ecf8fd9c1cd5887a366c84b4", null ], + [ "DT_NODE_PARENT_BITS", "DetourNode_8h.html#ad5fac666b7b3afcd2bfdc861b5183b37", null ], + [ "DT_NODE_STATE_BITS", "DetourNode_8h.html#a555dcbe78da237f3b3612de831cebf38", null ], + [ "DT_NULL_IDX", "DetourNode_8h.html#acef3b5e4fc85d943523912f705df710d", null ] +]; \ No newline at end of file diff --git a/DetourNode_8h_source.html b/DetourNode_8h_source.html new file mode 100644 index 00000000..9e614bef --- /dev/null +++ b/DetourNode_8h_source.html @@ -0,0 +1,318 @@ + + + + + + + +Recast Navigation: DetourNode.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DetourNode.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 DETOURNODE_H
+
20 #define DETOURNODE_H
+
21 
+
22 #include "DetourNavMesh.h"
+
23 
+ +
25 {
+
26  DT_NODE_OPEN = 0x01,
+ +
28  DT_NODE_PARENT_DETACHED = 0x04 // parent of the node is not adjacent. Found using raycast.
+
29 };
+
30 
+
31 typedef unsigned short dtNodeIndex;
+
32 static const dtNodeIndex DT_NULL_IDX = (dtNodeIndex)~0;
+
33 
+
34 static const int DT_NODE_PARENT_BITS = 24;
+
35 static const int DT_NODE_STATE_BITS = 2;
+
36 struct dtNode
+
37 {
+
38  float pos[3];
+
39  float cost;
+
40  float total;
+
41  unsigned int pidx : DT_NODE_PARENT_BITS;
+
42  unsigned int state : DT_NODE_STATE_BITS;
+
43  unsigned int flags : 3;
+ +
45 };
+
46 
+
47 static const int DT_MAX_STATES_PER_NODE = 1 << DT_NODE_STATE_BITS; // number of extra states per node. See dtNode::state
+
48 
+ +
50 {
+
51 public:
+
52  dtNodePool(int maxNodes, int hashSize);
+
53  ~dtNodePool();
+
54  void clear();
+
55 
+
56  // Get a dtNode by ref and extra state information. If there is none then - allocate
+
57  // There can be more than one node for the same polyRef but with different extra state information
+
58  dtNode* getNode(dtPolyRef id, unsigned char state=0);
+
59  dtNode* findNode(dtPolyRef id, unsigned char state);
+
60  unsigned int findNodes(dtPolyRef id, dtNode** nodes, const int maxNodes);
+
61 
+
62  inline unsigned int getNodeIdx(const dtNode* node) const
+
63  {
+
64  if (!node) return 0;
+
65  return (unsigned int)(node - m_nodes) + 1;
+
66  }
+
67 
+
68  inline dtNode* getNodeAtIdx(unsigned int idx)
+
69  {
+
70  if (!idx) return 0;
+
71  return &m_nodes[idx - 1];
+
72  }
+
73 
+
74  inline const dtNode* getNodeAtIdx(unsigned int idx) const
+
75  {
+
76  if (!idx) return 0;
+
77  return &m_nodes[idx - 1];
+
78  }
+
79 
+
80  inline int getMemUsed() const
+
81  {
+
82  return sizeof(*this) +
+
83  sizeof(dtNode)*m_maxNodes +
+
84  sizeof(dtNodeIndex)*m_maxNodes +
+
85  sizeof(dtNodeIndex)*m_hashSize;
+
86  }
+
87 
+
88  inline int getMaxNodes() const { return m_maxNodes; }
+
89 
+
90  inline int getHashSize() const { return m_hashSize; }
+
91  inline dtNodeIndex getFirst(int bucket) const { return m_first[bucket]; }
+
92  inline dtNodeIndex getNext(int i) const { return m_next[i]; }
+
93  inline int getNodeCount() const { return m_nodeCount; }
+
94 
+
95 private:
+
96  // Explicitly disabled copy constructor and copy assignment operator.
+
97  dtNodePool(const dtNodePool&);
+
98  dtNodePool& operator=(const dtNodePool&);
+
99 
+
100  dtNode* m_nodes;
+
101  dtNodeIndex* m_first;
+
102  dtNodeIndex* m_next;
+
103  const int m_maxNodes;
+
104  const int m_hashSize;
+
105  int m_nodeCount;
+
106 };
+
107 
+ +
109 {
+
110 public:
+
111  dtNodeQueue(int n);
+
112  ~dtNodeQueue();
+
113 
+
114  inline void clear() { m_size = 0; }
+
115 
+
116  inline dtNode* top() { return m_heap[0]; }
+
117 
+
118  inline dtNode* pop()
+
119  {
+
120  dtNode* result = m_heap[0];
+
121  m_size--;
+
122  trickleDown(0, m_heap[m_size]);
+
123  return result;
+
124  }
+
125 
+
126  inline void push(dtNode* node)
+
127  {
+
128  m_size++;
+
129  bubbleUp(m_size-1, node);
+
130  }
+
131 
+
132  inline void modify(dtNode* node)
+
133  {
+
134  for (int i = 0; i < m_size; ++i)
+
135  {
+
136  if (m_heap[i] == node)
+
137  {
+
138  bubbleUp(i, node);
+
139  return;
+
140  }
+
141  }
+
142  }
+
143 
+
144  inline bool empty() const { return m_size == 0; }
+
145 
+
146  inline int getMemUsed() const
+
147  {
+
148  return sizeof(*this) +
+
149  sizeof(dtNode*) * (m_capacity + 1);
+
150  }
+
151 
+
152  inline int getCapacity() const { return m_capacity; }
+
153 
+
154 private:
+
155  // Explicitly disabled copy constructor and copy assignment operator.
+
156  dtNodeQueue(const dtNodeQueue&);
+
157  dtNodeQueue& operator=(const dtNodeQueue&);
+
158 
+
159  void bubbleUp(int i, dtNode* node);
+
160  void trickleDown(int i, dtNode* node);
+
161 
+
162  dtNode** m_heap;
+
163  const int m_capacity;
+
164  int m_size;
+
165 };
+
166 
+
167 
+
168 #endif // DETOURNODE_H
+ +
static const int DT_MAX_STATES_PER_NODE
Definition: DetourNode.h:47
+
dtNodeFlags
Definition: DetourNode.h:25
+
@ DT_NODE_OPEN
Definition: DetourNode.h:26
+
@ DT_NODE_CLOSED
Definition: DetourNode.h:27
+
@ DT_NODE_PARENT_DETACHED
Definition: DetourNode.h:28
+
static const int DT_NODE_STATE_BITS
Definition: DetourNode.h:35
+
static const dtNodeIndex DT_NULL_IDX
Definition: DetourNode.h:32
+
static const int DT_NODE_PARENT_BITS
Definition: DetourNode.h:34
+
unsigned short dtNodeIndex
Definition: DetourNode.h:31
+
Definition: DetourNode.h:50
+
int getMemUsed() const
Definition: DetourNode.h:80
+
dtNode * findNode(dtPolyRef id, unsigned char state)
Definition: DetourNode.cpp:108
+
void clear()
Definition: DetourNode.cpp:83
+
unsigned int getNodeIdx(const dtNode *node) const
Definition: DetourNode.h:62
+
int getNodeCount() const
Definition: DetourNode.h:93
+
dtNode * getNodeAtIdx(unsigned int idx)
Definition: DetourNode.h:68
+
unsigned int findNodes(dtPolyRef id, dtNode **nodes, const int maxNodes)
Definition: DetourNode.cpp:89
+
dtNodePool(int maxNodes, int hashSize)
Definition: DetourNode.cpp:51
+
dtNodeIndex getFirst(int bucket) const
Definition: DetourNode.h:91
+
int getHashSize() const
Definition: DetourNode.h:90
+
dtNode * getNode(dtPolyRef id, unsigned char state=0)
Definition: DetourNode.cpp:121
+
~dtNodePool()
Definition: DetourNode.cpp:76
+
int getMaxNodes() const
Definition: DetourNode.h:88
+
dtNodeIndex getNext(int i) const
Definition: DetourNode.h:92
+
const dtNode * getNodeAtIdx(unsigned int idx) const
Definition: DetourNode.h:74
+
Definition: DetourNode.h:109
+
int getMemUsed() const
Definition: DetourNode.h:146
+
bool empty() const
Definition: DetourNode.h:144
+
int getCapacity() const
Definition: DetourNode.h:152
+
dtNode * pop()
Definition: DetourNode.h:118
+
void push(dtNode *node)
Definition: DetourNode.h:126
+
~dtNodeQueue()
Definition: DetourNode.cpp:167
+
void modify(dtNode *node)
Definition: DetourNode.h:132
+
dtNodeQueue(int n)
Definition: DetourNode.cpp:156
+
void clear()
Definition: DetourNode.h:114
+
dtNode * top()
Definition: DetourNode.h:116
+
unsigned int dtPolyRef
A handle to a polygon within a navigation mesh tile.
Definition: DetourNavMesh.h:48
+
Definition: DetourNode.h:37
+
dtPolyRef id
Polygon ref the node corresponds to.
Definition: DetourNode.h:44
+
float cost
Cost from previous node to current node.
Definition: DetourNode.h:39
+
float pos[3]
Position of the node.
Definition: DetourNode.h:38
+
unsigned int state
extra state information. A polyRef can have multiple nodes with different extra info....
Definition: DetourNode.h:42
+
unsigned int flags
Node flags. A combination of dtNodeFlags.
Definition: DetourNode.h:43
+
float total
Cost up to the node.
Definition: DetourNode.h:40
+
unsigned int pidx
Index to parent node.
Definition: DetourNode.h:41
+
+
+ + + + + diff --git a/DetourObstacleAvoidance_8cpp.html b/DetourObstacleAvoidance_8cpp.html new file mode 100644 index 00000000..240b4d93 --- /dev/null +++ b/DetourObstacleAvoidance_8cpp.html @@ -0,0 +1,460 @@ + + + + + + + +Recast Navigation: DetourObstacleAvoidance.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourObstacleAvoidance.cpp File Reference
+
+
+
#include "DetourObstacleAvoidance.h"
+#include "DetourCommon.h"
+#include "DetourMath.h"
+#include "DetourAlloc.h"
+#include "DetourAssert.h"
+#include <string.h>
+#include <float.h>
+#include <new>
+
+ + + + + + + + + + + + + + + + + + + +

+Functions

static int sweepCircleCircle (const float *c0, const float r0, const float *v, const float *c1, const float r1, float &tmin, float &tmax)
 
static int isectRaySeg (const float *ap, const float *u, const float *bp, const float *bq, float &t)
 
dtObstacleAvoidanceDebugDatadtAllocObstacleAvoidanceDebugData ()
 
void dtFreeObstacleAvoidanceDebugData (dtObstacleAvoidanceDebugData *ptr)
 
static void normalizeArray (float *arr, const int n)
 
dtObstacleAvoidanceQuerydtAllocObstacleAvoidanceQuery ()
 
void dtFreeObstacleAvoidanceQuery (dtObstacleAvoidanceQuery *ptr)
 
void dtNormalize2D (float *v)
 
void dtRorate2D (float *dest, const float *v, float ang)
 
+ + + +

+Variables

static const float DT_PI = 3.14159265f
 
+

Function Documentation

+ +

◆ dtAllocObstacleAvoidanceDebugData()

+ +
+
+ + + + + + + +
dtObstacleAvoidanceDebugData* dtAllocObstacleAvoidanceDebugData ()
+
+ +
+
+ +

◆ dtAllocObstacleAvoidanceQuery()

+ +
+
+ + + + + + + +
dtObstacleAvoidanceQuery* dtAllocObstacleAvoidanceQuery ()
+
+ +
+
+ +

◆ dtFreeObstacleAvoidanceDebugData()

+ +
+
+ + + + + + + + +
void dtFreeObstacleAvoidanceDebugData (dtObstacleAvoidanceDebugDataptr)
+
+ +
+
+ +

◆ dtFreeObstacleAvoidanceQuery()

+ +
+
+ + + + + + + + +
void dtFreeObstacleAvoidanceQuery (dtObstacleAvoidanceQueryptr)
+
+ +
+
+ +

◆ dtNormalize2D()

+ +
+
+ + + + + +
+ + + + + + + + +
void dtNormalize2D (float * v)
+
+inline
+
+ +
+
+ +

◆ dtRorate2D()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void dtRorate2D (float * dest,
const float * v,
float ang 
)
+
+inline
+
+ +
+
+ +

◆ isectRaySeg()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static int isectRaySeg (const float * ap,
const float * u,
const float * bp,
const float * bq,
float & t 
)
+
+static
+
+ +
+
+ +

◆ normalizeArray()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void normalizeArray (float * arr,
const int n 
)
+
+static
+
+ +
+
+ +

◆ sweepCircleCircle()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static int sweepCircleCircle (const float * c0,
const float r0,
const float * v,
const float * c1,
const float r1,
float & tmin,
float & tmax 
)
+
+static
+
+ +
+
+

Variable Documentation

+ +

◆ DT_PI

+ +
+
+ + + + + +
+ + + + +
const float DT_PI = 3.14159265f
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/DetourObstacleAvoidance_8cpp.js b/DetourObstacleAvoidance_8cpp.js new file mode 100644 index 00000000..de854fb0 --- /dev/null +++ b/DetourObstacleAvoidance_8cpp.js @@ -0,0 +1,13 @@ +var DetourObstacleAvoidance_8cpp = +[ + [ "dtAllocObstacleAvoidanceDebugData", "DetourObstacleAvoidance_8cpp.html#a73b364d644159af0553fb750f43749bb", null ], + [ "dtAllocObstacleAvoidanceQuery", "DetourObstacleAvoidance_8cpp.html#affb10f1420abfa15837a5fb1cdfd9d6e", null ], + [ "dtFreeObstacleAvoidanceDebugData", "DetourObstacleAvoidance_8cpp.html#adc41dc4522eeb508fad47cfa044e7e1b", null ], + [ "dtFreeObstacleAvoidanceQuery", "DetourObstacleAvoidance_8cpp.html#aef93bd8686c7ffe189f66a3ac387fe22", null ], + [ "dtNormalize2D", "DetourObstacleAvoidance_8cpp.html#ab7fb56742ba1ed08dd87f2f2b59d1b63", null ], + [ "dtRorate2D", "DetourObstacleAvoidance_8cpp.html#aa044036b3af9615bec7948ecce6c7ba7", null ], + [ "isectRaySeg", "DetourObstacleAvoidance_8cpp.html#a25706e06770764f3eeb01417981ccfbd", null ], + [ "normalizeArray", "DetourObstacleAvoidance_8cpp.html#ad5691e317bdbe68d51526215952a2227", null ], + [ "sweepCircleCircle", "DetourObstacleAvoidance_8cpp.html#a07a96536185de3b5b7e8aae361ac70a9", null ], + [ "DT_PI", "DetourObstacleAvoidance_8cpp.html#a9afa5327384071c6217ac389c728f196", null ] +]; \ No newline at end of file diff --git a/DetourObstacleAvoidance_8h.html b/DetourObstacleAvoidance_8h.html new file mode 100644 index 00000000..bc76d569 --- /dev/null +++ b/DetourObstacleAvoidance_8h.html @@ -0,0 +1,264 @@ + + + + + + + +Recast Navigation: DetourObstacleAvoidance.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourObstacleAvoidance.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + +

+Classes

struct  dtObstacleCircle
 
struct  dtObstacleSegment
 
class  dtObstacleAvoidanceDebugData
 
struct  dtObstacleAvoidanceParams
 
class  dtObstacleAvoidanceQuery
 
+ + + + + + + + + +

+Functions

dtObstacleAvoidanceDebugDatadtAllocObstacleAvoidanceDebugData ()
 
void dtFreeObstacleAvoidanceDebugData (dtObstacleAvoidanceDebugData *ptr)
 
dtObstacleAvoidanceQuerydtAllocObstacleAvoidanceQuery ()
 
void dtFreeObstacleAvoidanceQuery (dtObstacleAvoidanceQuery *ptr)
 
+ + + + + + + +

+Variables

static const int DT_MAX_PATTERN_DIVS = 32
 Max numver of adaptive divs. More...
 
static const int DT_MAX_PATTERN_RINGS = 4
 Max number of adaptive rings. More...
 
+

Function Documentation

+ +

◆ dtAllocObstacleAvoidanceDebugData()

+ +
+
+ + + + + + + +
dtObstacleAvoidanceDebugData* dtAllocObstacleAvoidanceDebugData ()
+
+ +
+
+ +

◆ dtAllocObstacleAvoidanceQuery()

+ +
+
+ + + + + + + +
dtObstacleAvoidanceQuery* dtAllocObstacleAvoidanceQuery ()
+
+ +
+
+ +

◆ dtFreeObstacleAvoidanceDebugData()

+ +
+
+ + + + + + + + +
void dtFreeObstacleAvoidanceDebugData (dtObstacleAvoidanceDebugDataptr)
+
+ +
+
+ +

◆ dtFreeObstacleAvoidanceQuery()

+ +
+
+ + + + + + + + +
void dtFreeObstacleAvoidanceQuery (dtObstacleAvoidanceQueryptr)
+
+ +
+
+

Variable Documentation

+ +

◆ DT_MAX_PATTERN_DIVS

+ +
+
+ + + + + +
+ + + + +
const int DT_MAX_PATTERN_DIVS = 32
+
+static
+
+ +

Max numver of adaptive divs.

+ +
+
+ +

◆ DT_MAX_PATTERN_RINGS

+ +
+
+ + + + + +
+ + + + +
const int DT_MAX_PATTERN_RINGS = 4
+
+static
+
+ +

Max number of adaptive rings.

+ +
+
+
+
+ + + + + diff --git a/DetourObstacleAvoidance_8h.js b/DetourObstacleAvoidance_8h.js new file mode 100644 index 00000000..48a92405 --- /dev/null +++ b/DetourObstacleAvoidance_8h.js @@ -0,0 +1,14 @@ +var DetourObstacleAvoidance_8h = +[ + [ "dtObstacleCircle", "structdtObstacleCircle.html", "structdtObstacleCircle" ], + [ "dtObstacleSegment", "structdtObstacleSegment.html", "structdtObstacleSegment" ], + [ "dtObstacleAvoidanceDebugData", "classdtObstacleAvoidanceDebugData.html", "classdtObstacleAvoidanceDebugData" ], + [ "dtObstacleAvoidanceParams", "structdtObstacleAvoidanceParams.html", "structdtObstacleAvoidanceParams" ], + [ "dtObstacleAvoidanceQuery", "classdtObstacleAvoidanceQuery.html", "classdtObstacleAvoidanceQuery" ], + [ "dtAllocObstacleAvoidanceDebugData", "DetourObstacleAvoidance_8h.html#a73b364d644159af0553fb750f43749bb", null ], + [ "dtAllocObstacleAvoidanceQuery", "DetourObstacleAvoidance_8h.html#affb10f1420abfa15837a5fb1cdfd9d6e", null ], + [ "dtFreeObstacleAvoidanceDebugData", "DetourObstacleAvoidance_8h.html#adc41dc4522eeb508fad47cfa044e7e1b", null ], + [ "dtFreeObstacleAvoidanceQuery", "DetourObstacleAvoidance_8h.html#aef93bd8686c7ffe189f66a3ac387fe22", null ], + [ "DT_MAX_PATTERN_DIVS", "DetourObstacleAvoidance_8h.html#ac8451df4322c140ea80ad2a0f51f1ba3", null ], + [ "DT_MAX_PATTERN_RINGS", "DetourObstacleAvoidance_8h.html#afed135d1762d837d2a633452d40cf956", null ] +]; \ No newline at end of file diff --git a/DetourObstacleAvoidance_8h_source.html b/DetourObstacleAvoidance_8h_source.html new file mode 100644 index 00000000..851797a5 --- /dev/null +++ b/DetourObstacleAvoidance_8h_source.html @@ -0,0 +1,319 @@ + + + + + + + +Recast Navigation: DetourObstacleAvoidance.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DetourObstacleAvoidance.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 DETOUROBSTACLEAVOIDANCE_H
+
20 #define DETOUROBSTACLEAVOIDANCE_H
+
21 
+ +
23 {
+
24  float p[3];
+
25  float vel[3];
+
26  float dvel[3];
+
27  float rad;
+
28  float dp[3], np[3];
+
29 };
+
30 
+ +
32 {
+
33  float p[3], q[3];
+
34  bool touch;
+
35 };
+
36 
+
37 
+ +
39 {
+
40 public:
+ + +
43 
+
44  bool init(const int maxSamples);
+
45  void reset();
+
46  void addSample(const float* vel, const float ssize, const float pen,
+
47  const float vpen, const float vcpen, const float spen, const float tpen);
+
48 
+
49  void normalizeSamples();
+
50 
+
51  inline int getSampleCount() const { return m_nsamples; }
+
52  inline const float* getSampleVelocity(const int i) const { return &m_vel[i*3]; }
+
53  inline float getSampleSize(const int i) const { return m_ssize[i]; }
+
54  inline float getSamplePenalty(const int i) const { return m_pen[i]; }
+
55  inline float getSampleDesiredVelocityPenalty(const int i) const { return m_vpen[i]; }
+
56  inline float getSampleCurrentVelocityPenalty(const int i) const { return m_vcpen[i]; }
+
57  inline float getSamplePreferredSidePenalty(const int i) const { return m_spen[i]; }
+
58  inline float getSampleCollisionTimePenalty(const int i) const { return m_tpen[i]; }
+
59 
+
60 private:
+
61  // Explicitly disabled copy constructor and copy assignment operator.
+ + +
64 
+
65  int m_nsamples;
+
66  int m_maxSamples;
+
67  float* m_vel;
+
68  float* m_ssize;
+
69  float* m_pen;
+
70  float* m_vpen;
+
71  float* m_vcpen;
+
72  float* m_spen;
+
73  float* m_tpen;
+
74 };
+
75 
+ + +
78 
+
79 
+
80 static const int DT_MAX_PATTERN_DIVS = 32;
+
81 static const int DT_MAX_PATTERN_RINGS = 4;
+
82 
+ +
84 {
+
85  float velBias;
+
86  float weightDesVel;
+
87  float weightCurVel;
+
88  float weightSide;
+
89  float weightToi;
+
90  float horizTime;
+
91  unsigned char gridSize;
+
92  unsigned char adaptiveDivs;
+
93  unsigned char adaptiveRings;
+
94  unsigned char adaptiveDepth;
+
95 };
+
96 
+ +
98 {
+
99 public:
+ + +
102 
+
103  bool init(const int maxCircles, const int maxSegments);
+
104 
+
105  void reset();
+
106 
+
107  void addCircle(const float* pos, const float rad,
+
108  const float* vel, const float* dvel);
+
109 
+
110  void addSegment(const float* p, const float* q);
+
111 
+
112  int sampleVelocityGrid(const float* pos, const float rad, const float vmax,
+
113  const float* vel, const float* dvel, float* nvel,
+
114  const dtObstacleAvoidanceParams* params,
+
115  dtObstacleAvoidanceDebugData* debug = 0);
+
116 
+
117  int sampleVelocityAdaptive(const float* pos, const float rad, const float vmax,
+
118  const float* vel, const float* dvel, float* nvel,
+
119  const dtObstacleAvoidanceParams* params,
+
120  dtObstacleAvoidanceDebugData* debug = 0);
+
121 
+
122  inline int getObstacleCircleCount() const { return m_ncircles; }
+
123  const dtObstacleCircle* getObstacleCircle(const int i) { return &m_circles[i]; }
+
124 
+
125  inline int getObstacleSegmentCount() const { return m_nsegments; }
+
126  const dtObstacleSegment* getObstacleSegment(const int i) { return &m_segments[i]; }
+
127 
+
128 private:
+
129  // Explicitly disabled copy constructor and copy assignment operator.
+ + +
132 
+
133  void prepare(const float* pos, const float* dvel);
+
134 
+
135  float processSample(const float* vcand, const float cs,
+
136  const float* pos, const float rad,
+
137  const float* vel, const float* dvel,
+
138  const float minPenalty,
+ +
140 
+
141  dtObstacleAvoidanceParams m_params;
+
142  float m_invHorizTime;
+
143  float m_vmax;
+
144  float m_invVmax;
+
145 
+
146  int m_maxCircles;
+
147  dtObstacleCircle* m_circles;
+
148  int m_ncircles;
+
149 
+
150  int m_maxSegments;
+
151  dtObstacleSegment* m_segments;
+
152  int m_nsegments;
+
153 };
+
154 
+ + +
157 
+
158 
+
159 #endif // DETOUROBSTACLEAVOIDANCE_H
+
dtObstacleAvoidanceDebugData * dtAllocObstacleAvoidanceDebugData()
Definition: DetourObstacleAvoidance.cpp:72
+
static const int DT_MAX_PATTERN_DIVS
Max numver of adaptive divs.
Definition: DetourObstacleAvoidance.h:80
+
void dtFreeObstacleAvoidanceDebugData(dtObstacleAvoidanceDebugData *ptr)
Definition: DetourObstacleAvoidance.cpp:79
+
void dtFreeObstacleAvoidanceQuery(dtObstacleAvoidanceQuery *ptr)
Definition: DetourObstacleAvoidance.cpp:201
+
static const int DT_MAX_PATTERN_RINGS
Max number of adaptive rings.
Definition: DetourObstacleAvoidance.h:81
+
dtObstacleAvoidanceQuery * dtAllocObstacleAvoidanceQuery()
Definition: DetourObstacleAvoidance.cpp:194
+
Definition: DetourObstacleAvoidance.h:39
+
void reset()
Definition: DetourObstacleAvoidance.cpp:141
+
float getSamplePenalty(const int i) const
Definition: DetourObstacleAvoidance.h:54
+
int getSampleCount() const
Definition: DetourObstacleAvoidance.h:51
+
bool init(const int maxSamples)
Definition: DetourObstacleAvoidance.cpp:111
+
float getSamplePreferredSidePenalty(const int i) const
Definition: DetourObstacleAvoidance.h:57
+
void addSample(const float *vel, const float ssize, const float pen, const float vpen, const float vcpen, const float spen, const float tpen)
Definition: DetourObstacleAvoidance.cpp:146
+
float getSampleCollisionTimePenalty(const int i) const
Definition: DetourObstacleAvoidance.h:58
+
const float * getSampleVelocity(const int i) const
Definition: DetourObstacleAvoidance.h:52
+
float getSampleSize(const int i) const
Definition: DetourObstacleAvoidance.h:53
+
float getSampleDesiredVelocityPenalty(const int i) const
Definition: DetourObstacleAvoidance.h:55
+
void normalizeSamples()
Definition: DetourObstacleAvoidance.cpp:184
+
~dtObstacleAvoidanceDebugData()
Definition: DetourObstacleAvoidance.cpp:100
+
float getSampleCurrentVelocityPenalty(const int i) const
Definition: DetourObstacleAvoidance.h:56
+
dtObstacleAvoidanceDebugData()
Definition: DetourObstacleAvoidance.cpp:87
+
Definition: DetourObstacleAvoidance.h:98
+
const dtObstacleCircle * getObstacleCircle(const int i)
Definition: DetourObstacleAvoidance.h:123
+
dtObstacleAvoidanceQuery()
Definition: DetourObstacleAvoidance.cpp:209
+
int getObstacleSegmentCount() const
Definition: DetourObstacleAvoidance.h:125
+
int sampleVelocityGrid(const float *pos, const float rad, const float vmax, const float *vel, const float *dvel, float *nvel, const dtObstacleAvoidanceParams *params, dtObstacleAvoidanceDebugData *debug=0)
Definition: DetourObstacleAvoidance.cpp:435
+
~dtObstacleAvoidanceQuery()
Definition: DetourObstacleAvoidance.cpp:222
+
const dtObstacleSegment * getObstacleSegment(const int i)
Definition: DetourObstacleAvoidance.h:126
+
void reset()
Definition: DetourObstacleAvoidance.cpp:247
+
bool init(const int maxCircles, const int maxSegments)
Definition: DetourObstacleAvoidance.cpp:228
+
void addSegment(const float *p, const float *q)
Definition: DetourObstacleAvoidance.cpp:266
+
void addCircle(const float *pos, const float rad, const float *vel, const float *dvel)
Definition: DetourObstacleAvoidance.cpp:253
+
int getObstacleCircleCount() const
Definition: DetourObstacleAvoidance.h:122
+
int sampleVelocityAdaptive(const float *pos, const float rad, const float vmax, const float *vel, const float *dvel, float *nvel, const dtObstacleAvoidanceParams *params, dtObstacleAvoidanceDebugData *debug=0)
Definition: DetourObstacleAvoidance.cpp:507
+
Definition: DetourObstacleAvoidance.h:84
+
float horizTime
Definition: DetourObstacleAvoidance.h:90
+
float weightSide
Definition: DetourObstacleAvoidance.h:88
+
unsigned char gridSize
grid
Definition: DetourObstacleAvoidance.h:91
+
float weightDesVel
Definition: DetourObstacleAvoidance.h:86
+
unsigned char adaptiveDepth
adaptive
Definition: DetourObstacleAvoidance.h:94
+
float weightToi
Definition: DetourObstacleAvoidance.h:89
+
unsigned char adaptiveDivs
adaptive
Definition: DetourObstacleAvoidance.h:92
+
float velBias
Definition: DetourObstacleAvoidance.h:85
+
unsigned char adaptiveRings
adaptive
Definition: DetourObstacleAvoidance.h:93
+
float weightCurVel
Definition: DetourObstacleAvoidance.h:87
+
Definition: DetourObstacleAvoidance.h:23
+
float np[3]
Use for side selection during sampling.
Definition: DetourObstacleAvoidance.h:28
+
float dp[3]
Definition: DetourObstacleAvoidance.h:28
+
float p[3]
Position of the obstacle.
Definition: DetourObstacleAvoidance.h:24
+
float dvel[3]
Velocity of the obstacle.
Definition: DetourObstacleAvoidance.h:26
+
float vel[3]
Velocity of the obstacle.
Definition: DetourObstacleAvoidance.h:25
+
float rad
Radius of the obstacle.
Definition: DetourObstacleAvoidance.h:27
+
Definition: DetourObstacleAvoidance.h:32
+
bool touch
Definition: DetourObstacleAvoidance.h:34
+
float q[3]
End points of the obstacle segment.
Definition: DetourObstacleAvoidance.h:33
+
float p[3]
Definition: DetourObstacleAvoidance.h:33
+
+
+ + + + + diff --git a/DetourPathCorridor_8cpp.html b/DetourPathCorridor_8cpp.html new file mode 100644 index 00000000..b07b09f9 --- /dev/null +++ b/DetourPathCorridor_8cpp.html @@ -0,0 +1,261 @@ + + + + + + + +Recast Navigation: DetourPathCorridor.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourPathCorridor.cpp File Reference
+
+
+
#include <string.h>
+#include "DetourPathCorridor.h"
+#include "DetourNavMeshQuery.h"
+#include "DetourCommon.h"
+#include "DetourAssert.h"
+#include "DetourAlloc.h"
+
+ + + + + + + +

+Functions

int dtMergeCorridorStartMoved (dtPolyRef *path, const int npath, const int maxPath, const dtPolyRef *visited, const int nvisited)
 
int dtMergeCorridorEndMoved (dtPolyRef *path, const int npath, const int maxPath, const dtPolyRef *visited, const int nvisited)
 
int dtMergeCorridorStartShortcut (dtPolyRef *path, const int npath, const int maxPath, const dtPolyRef *visited, const int nvisited)
 
+

Function Documentation

+ +

◆ dtMergeCorridorEndMoved()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int dtMergeCorridorEndMoved (dtPolyRefpath,
const int npath,
const int maxPath,
const dtPolyRefvisited,
const int nvisited 
)
+
+ +
+
+ +

◆ dtMergeCorridorStartMoved()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int dtMergeCorridorStartMoved (dtPolyRefpath,
const int npath,
const int maxPath,
const dtPolyRefvisited,
const int nvisited 
)
+
+ +
+
+ +

◆ dtMergeCorridorStartShortcut()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int dtMergeCorridorStartShortcut (dtPolyRefpath,
const int npath,
const int maxPath,
const dtPolyRefvisited,
const int nvisited 
)
+
+ +
+
+
+
+ + + + + diff --git a/DetourPathCorridor_8cpp.js b/DetourPathCorridor_8cpp.js new file mode 100644 index 00000000..b4514df9 --- /dev/null +++ b/DetourPathCorridor_8cpp.js @@ -0,0 +1,6 @@ +var DetourPathCorridor_8cpp = +[ + [ "dtMergeCorridorEndMoved", "DetourPathCorridor_8cpp.html#a4d27cc6ca58f90a5d92f6081d9a8d4f3", null ], + [ "dtMergeCorridorStartMoved", "DetourPathCorridor_8cpp.html#ae7c0ed2b3c1e994b2591716f66f3ecaf", null ], + [ "dtMergeCorridorStartShortcut", "DetourPathCorridor_8cpp.html#a0cce0c029141de4e0cadc120729f945b", null ] +]; \ No newline at end of file diff --git a/DetourPathCorridor_8h.html b/DetourPathCorridor_8h.html new file mode 100644 index 00000000..328285e1 --- /dev/null +++ b/DetourPathCorridor_8h.html @@ -0,0 +1,265 @@ + + + + + + + +Recast Navigation: DetourPathCorridor.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourPathCorridor.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + +

+Classes

class  dtPathCorridor
 Represents a dynamic polygon corridor used to plan agent movement. More...
 
+ + + + + + + +

+Functions

int dtMergeCorridorStartMoved (dtPolyRef *path, const int npath, const int maxPath, const dtPolyRef *visited, const int nvisited)
 
int dtMergeCorridorEndMoved (dtPolyRef *path, const int npath, const int maxPath, const dtPolyRef *visited, const int nvisited)
 
int dtMergeCorridorStartShortcut (dtPolyRef *path, const int npath, const int maxPath, const dtPolyRef *visited, const int nvisited)
 
+

Function Documentation

+ +

◆ dtMergeCorridorEndMoved()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int dtMergeCorridorEndMoved (dtPolyRefpath,
const int npath,
const int maxPath,
const dtPolyRefvisited,
const int nvisited 
)
+
+ +
+
+ +

◆ dtMergeCorridorStartMoved()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int dtMergeCorridorStartMoved (dtPolyRefpath,
const int npath,
const int maxPath,
const dtPolyRefvisited,
const int nvisited 
)
+
+ +
+
+ +

◆ dtMergeCorridorStartShortcut()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int dtMergeCorridorStartShortcut (dtPolyRefpath,
const int npath,
const int maxPath,
const dtPolyRefvisited,
const int nvisited 
)
+
+ +
+
+
+
+ + + + + diff --git a/DetourPathCorridor_8h.js b/DetourPathCorridor_8h.js new file mode 100644 index 00000000..7113628f --- /dev/null +++ b/DetourPathCorridor_8h.js @@ -0,0 +1,6 @@ +var DetourPathCorridor_8h = +[ + [ "dtMergeCorridorEndMoved", "DetourPathCorridor_8h.html#a4d27cc6ca58f90a5d92f6081d9a8d4f3", null ], + [ "dtMergeCorridorStartMoved", "DetourPathCorridor_8h.html#ae7c0ed2b3c1e994b2591716f66f3ecaf", null ], + [ "dtMergeCorridorStartShortcut", "DetourPathCorridor_8h.html#a0cce0c029141de4e0cadc120729f945b", null ] +]; \ No newline at end of file diff --git a/DetourPathCorridor_8h_source.html b/DetourPathCorridor_8h_source.html new file mode 100644 index 00000000..c7e3e272 --- /dev/null +++ b/DetourPathCorridor_8h_source.html @@ -0,0 +1,227 @@ + + + + + + + +Recast Navigation: DetourPathCorridor.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DetourPathCorridor.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 DETOUTPATHCORRIDOR_H
+
20 #define DETOUTPATHCORRIDOR_H
+
21 
+
22 #include "DetourNavMeshQuery.h"
+
23 
+ +
27 {
+
28  float m_pos[3];
+
29  float m_target[3];
+
30 
+
31  dtPolyRef* m_path;
+
32  int m_npath;
+
33  int m_maxPath;
+
34 
+
35 public:
+ + +
38 
+
42  bool init(const int maxPath);
+
43 
+
47  void reset(dtPolyRef ref, const float* pos);
+
48 
+
58  int findCorners(float* cornerVerts, unsigned char* cornerFlags,
+
59  dtPolyRef* cornerPolys, const int maxCorners,
+
60  dtNavMeshQuery* navquery, const dtQueryFilter* filter);
+
61 
+
67  void optimizePathVisibility(const float* next, const float pathOptimizationRange,
+
68  dtNavMeshQuery* navquery, const dtQueryFilter* filter);
+
69 
+
73  bool optimizePathTopology(dtNavMeshQuery* navquery, const dtQueryFilter* filter);
+
74 
+
75  bool moveOverOffmeshConnection(dtPolyRef offMeshConRef, dtPolyRef* refs,
+
76  float* startPos, float* endPos,
+
77  dtNavMeshQuery* navquery);
+
78 
+
79  bool fixPathStart(dtPolyRef safeRef, const float* safePos);
+
80 
+
81  bool trimInvalidPath(dtPolyRef safeRef, const float* safePos,
+
82  dtNavMeshQuery* navquery, const dtQueryFilter* filter);
+
83 
+
88  bool isValid(const int maxLookAhead, dtNavMeshQuery* navquery, const dtQueryFilter* filter);
+
89 
+
96  bool movePosition(const float* npos, dtNavMeshQuery* navquery, const dtQueryFilter* filter);
+
97 
+
104  bool moveTargetPosition(const float* npos, dtNavMeshQuery* navquery, const dtQueryFilter* filter);
+
105 
+
110  void setCorridor(const float* target, const dtPolyRef* polys, const int npath);
+
111 
+
114  inline const float* getPos() const { return m_pos; }
+
115 
+
118  inline const float* getTarget() const { return m_target; }
+
119 
+
122  inline dtPolyRef getFirstPoly() const { return m_npath ? m_path[0] : 0; }
+
123 
+
126  inline dtPolyRef getLastPoly() const { return m_npath ? m_path[m_npath-1] : 0; }
+
127 
+
130  inline const dtPolyRef* getPath() const { return m_path; }
+
131 
+
134  inline int getPathCount() const { return m_npath; }
+
135 
+
136 private:
+
137  // Explicitly disabled copy constructor and copy assignment operator.
+ +
139  dtPathCorridor& operator=(const dtPathCorridor&);
+
140 };
+
141 
+
142 int dtMergeCorridorStartMoved(dtPolyRef* path, const int npath, const int maxPath,
+
143  const dtPolyRef* visited, const int nvisited);
+
144 
+
145 int dtMergeCorridorEndMoved(dtPolyRef* path, const int npath, const int maxPath,
+
146  const dtPolyRef* visited, const int nvisited);
+
147 
+
148 int dtMergeCorridorStartShortcut(dtPolyRef* path, const int npath, const int maxPath,
+
149  const dtPolyRef* visited, const int nvisited);
+
150 
+
151 #endif // DETOUTPATHCORRIDOR_H
+ +
int dtMergeCorridorStartShortcut(dtPolyRef *path, const int npath, const int maxPath, const dtPolyRef *visited, const int nvisited)
Definition: DetourPathCorridor.cpp:110
+
int dtMergeCorridorEndMoved(dtPolyRef *path, const int npath, const int maxPath, const dtPolyRef *visited, const int nvisited)
Definition: DetourPathCorridor.cpp:72
+
int dtMergeCorridorStartMoved(dtPolyRef *path, const int npath, const int maxPath, const dtPolyRef *visited, const int nvisited)
Definition: DetourPathCorridor.cpp:27
+
int next(int i, int n)
Definition: DetourTileCacheBuilder.cpp:1080
+
Provides the ability to perform pathfinding related queries against a navigation mesh.
Definition: DetourNavMeshQuery.h:166
+
Represents a dynamic polygon corridor used to plan agent movement.
Definition: DetourPathCorridor.h:27
+
~dtPathCorridor()
Definition: DetourPathCorridor.cpp:207
+
dtPolyRef getFirstPoly() const
The polygon reference id of the first polygon in the corridor, the polygon containing the position.
Definition: DetourPathCorridor.h:122
+
int getPathCount() const
The number of polygons in the current corridor path.
Definition: DetourPathCorridor.h:134
+
dtPathCorridor()
Definition: DetourPathCorridor.cpp:200
+
bool movePosition(const float *npos, dtNavMeshQuery *navquery, const dtQueryFilter *filter)
Moves the position from the current location to the desired location, adjusting the corridor as neede...
Definition: DetourPathCorridor.cpp:439
+
void optimizePathVisibility(const float *next, const float pathOptimizationRange, dtNavMeshQuery *navquery, const dtQueryFilter *filter)
Attempts to optimize the path if the specified point is visible from the current position.
Definition: DetourPathCorridor.cpp:310
+
dtPolyRef getLastPoly() const
The polygon reference id of the last polygon in the corridor, the polygon containing the target.
Definition: DetourPathCorridor.h:126
+
bool trimInvalidPath(dtPolyRef safeRef, const float *safePos, dtNavMeshQuery *navquery, const dtQueryFilter *filter)
Definition: DetourPathCorridor.cpp:543
+
const float * getPos() const
Gets the current position within the corridor.
Definition: DetourPathCorridor.h:114
+
bool moveTargetPosition(const float *npos, dtNavMeshQuery *navquery, const dtQueryFilter *filter)
Moves the target from the curent location to the desired location, adjusting the corridor as needed t...
Definition: DetourPathCorridor.cpp:477
+
bool optimizePathTopology(dtNavMeshQuery *navquery, const dtQueryFilter *filter)
Attempts to optimize the path using a local area search.
Definition: DetourPathCorridor.cpp:353
+
bool init(const int maxPath)
Allocates the corridor's path buffer.
Definition: DetourPathCorridor.cpp:215
+
int findCorners(float *cornerVerts, unsigned char *cornerFlags, dtPolyRef *cornerPolys, const int maxCorners, dtNavMeshQuery *navquery, const dtQueryFilter *filter)
Finds the corners in the corridor from the position toward the target.
Definition: DetourPathCorridor.cpp:251
+
const float * getTarget() const
Gets the current target within the corridor.
Definition: DetourPathCorridor.h:118
+
void reset(dtPolyRef ref, const float *pos)
Resets the path corridor to the specified position.
Definition: DetourPathCorridor.cpp:230
+
const dtPolyRef * getPath() const
The corridor's path.
Definition: DetourPathCorridor.h:130
+
bool fixPathStart(dtPolyRef safeRef, const float *safePos)
Definition: DetourPathCorridor.cpp:522
+
bool moveOverOffmeshConnection(dtPolyRef offMeshConRef, dtPolyRef *refs, float *startPos, float *endPos, dtNavMeshQuery *navquery)
Definition: DetourPathCorridor.cpp:380
+
bool isValid(const int maxLookAhead, dtNavMeshQuery *navquery, const dtQueryFilter *filter)
Checks the current corridor path to see if its polygon references remain valid.
Definition: DetourPathCorridor.cpp:586
+
void setCorridor(const float *target, const dtPolyRef *polys, const int npath)
Loads a new path and target into the corridor.
Definition: DetourPathCorridor.cpp:511
+
Defines polygon filtering and traversal costs for navigation mesh query operations.
Definition: DetourNavMeshQuery.h:36
+
unsigned int dtPolyRef
A handle to a polygon within a navigation mesh tile.
Definition: DetourNavMesh.h:48
+
+
+ + + + + diff --git a/DetourPathQueue_8cpp.html b/DetourPathQueue_8cpp.html new file mode 100644 index 00000000..54034da0 --- /dev/null +++ b/DetourPathQueue_8cpp.html @@ -0,0 +1,110 @@ + + + + + + + +Recast Navigation: DetourPathQueue.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DetourPathQueue.cpp File Reference
+
+
+
#include <string.h>
+#include "DetourPathQueue.h"
+#include "DetourNavMesh.h"
+#include "DetourNavMeshQuery.h"
+#include "DetourAlloc.h"
+#include "DetourCommon.h"
+
+
+ + + + + diff --git a/DetourPathQueue_8h.html b/DetourPathQueue_8h.html new file mode 100644 index 00000000..76f2361a --- /dev/null +++ b/DetourPathQueue_8h.html @@ -0,0 +1,166 @@ + + + + + + + +Recast Navigation: DetourPathQueue.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourPathQueue.h File Reference
+
+
+
#include "DetourNavMesh.h"
+#include "DetourNavMeshQuery.h"
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  dtPathQueue
 
+ + + +

+Typedefs

typedef unsigned int dtPathQueueRef
 
+ + + +

+Variables

static const unsigned int DT_PATHQ_INVALID = 0
 
+

Typedef Documentation

+ +

◆ dtPathQueueRef

+ +
+
+ + + + +
typedef unsigned int dtPathQueueRef
+
+ +
+
+

Variable Documentation

+ +

◆ DT_PATHQ_INVALID

+ +
+
+ + + + + +
+ + + + +
const unsigned int DT_PATHQ_INVALID = 0
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/DetourPathQueue_8h.js b/DetourPathQueue_8h.js new file mode 100644 index 00000000..332d8a9c --- /dev/null +++ b/DetourPathQueue_8h.js @@ -0,0 +1,6 @@ +var DetourPathQueue_8h = +[ + [ "dtPathQueue", "classdtPathQueue.html", "classdtPathQueue" ], + [ "dtPathQueueRef", "DetourPathQueue_8h.html#ab97a1eb15082a50b8b7b781a715f5f74", null ], + [ "DT_PATHQ_INVALID", "DetourPathQueue_8h.html#aa93cb031b83396d30e7577f4a69671cc", null ] +]; \ No newline at end of file diff --git a/DetourPathQueue_8h_source.html b/DetourPathQueue_8h_source.html new file mode 100644 index 00000000..f37b6473 --- /dev/null +++ b/DetourPathQueue_8h_source.html @@ -0,0 +1,198 @@ + + + + + + + +Recast Navigation: DetourPathQueue.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DetourPathQueue.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 DETOURPATHQUEUE_H
+
20 #define DETOURPATHQUEUE_H
+
21 
+
22 #include "DetourNavMesh.h"
+
23 #include "DetourNavMeshQuery.h"
+
24 
+
25 static const unsigned int DT_PATHQ_INVALID = 0;
+
26 
+
27 typedef unsigned int dtPathQueueRef;
+
28 
+ +
30 {
+
31  struct PathQuery
+
32  {
+
33  dtPathQueueRef ref;
+
35  float startPos[3], endPos[3];
+
36  dtPolyRef startRef, endRef;
+
38  dtPolyRef* path;
+
39  int npath;
+
41  dtStatus status;
+
42  int keepAlive;
+
43  const dtQueryFilter* filter;
+
44  };
+
45 
+
46  static const int MAX_QUEUE = 8;
+
47  PathQuery m_queue[MAX_QUEUE];
+
48  dtPathQueueRef m_nextHandle;
+
49  int m_maxPathSize;
+
50  int m_queueHead;
+
51  dtNavMeshQuery* m_navquery;
+
52 
+
53  void purge();
+
54 
+
55 public:
+
56  dtPathQueue();
+
57  ~dtPathQueue();
+
58 
+
59  bool init(const int maxPathSize, const int maxSearchNodeCount, dtNavMesh* nav);
+
60 
+
61  void update(const int maxIters);
+
62 
+
63  dtPathQueueRef request(dtPolyRef startRef, dtPolyRef endRef,
+
64  const float* startPos, const float* endPos,
+
65  const dtQueryFilter* filter);
+
66 
+ +
68 
+
69  dtStatus getPathResult(dtPathQueueRef ref, dtPolyRef* path, int* pathSize, const int maxPath);
+
70 
+
71  inline const dtNavMeshQuery* getNavQuery() const { return m_navquery; }
+
72 
+
73 private:
+
74  // Explicitly disabled copy constructor and copy assignment operator.
+
75  dtPathQueue(const dtPathQueue&);
+
76  dtPathQueue& operator=(const dtPathQueue&);
+
77 };
+
78 
+
79 #endif // DETOURPATHQUEUE_H
+ + +
static const unsigned int DT_PATHQ_INVALID
Definition: DetourPathQueue.h:25
+
unsigned int dtPathQueueRef
Definition: DetourPathQueue.h:27
+
unsigned int dtStatus
Definition: DetourStatus.h:22
+
Provides the ability to perform pathfinding related queries against a navigation mesh.
Definition: DetourNavMeshQuery.h:166
+
A navigation mesh based on tiles of convex polygons.
Definition: DetourNavMesh.h:339
+
Definition: DetourPathQueue.h:30
+
dtStatus getRequestStatus(dtPathQueueRef ref) const
Definition: DetourPathQueue.cpp:171
+
~dtPathQueue()
Definition: DetourPathQueue.cpp:37
+
dtPathQueue()
Definition: DetourPathQueue.cpp:27
+
dtStatus getPathResult(dtPathQueueRef ref, dtPolyRef *path, int *pathSize, const int maxPath)
Definition: DetourPathQueue.cpp:181
+
void update(const int maxIters)
Definition: DetourPathQueue.cpp:77
+
dtPathQueueRef request(dtPolyRef startRef, dtPolyRef endRef, const float *startPos, const float *endPos, const dtQueryFilter *filter)
Definition: DetourPathQueue.cpp:135
+
const dtNavMeshQuery * getNavQuery() const
Definition: DetourPathQueue.h:71
+
bool init(const int maxPathSize, const int maxSearchNodeCount, dtNavMesh *nav)
Definition: DetourPathQueue.cpp:53
+
Defines polygon filtering and traversal costs for navigation mesh query operations.
Definition: DetourNavMeshQuery.h:36
+
unsigned int dtPolyRef
A handle to a polygon within a navigation mesh tile.
Definition: DetourNavMesh.h:48
+
+
+ + + + + diff --git a/DetourProximityGrid_8cpp.html b/DetourProximityGrid_8cpp.html new file mode 100644 index 00000000..c2b559dd --- /dev/null +++ b/DetourProximityGrid_8cpp.html @@ -0,0 +1,201 @@ + + + + + + + +Recast Navigation: DetourProximityGrid.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourProximityGrid.cpp File Reference
+
+
+
#include <string.h>
+#include <new>
+#include "DetourProximityGrid.h"
+#include "DetourCommon.h"
+#include "DetourMath.h"
+#include "DetourAlloc.h"
+#include "DetourAssert.h"
+
+ + + + + + + +

+Functions

dtProximityGriddtAllocProximityGrid ()
 
void dtFreeProximityGrid (dtProximityGrid *ptr)
 
int hashPos2 (int x, int y, int n)
 
+

Function Documentation

+ +

◆ dtAllocProximityGrid()

+ +
+
+ + + + + + + +
dtProximityGrid* dtAllocProximityGrid ()
+
+ +
+
+ +

◆ dtFreeProximityGrid()

+ +
+
+ + + + + + + + +
void dtFreeProximityGrid (dtProximityGridptr)
+
+ +
+
+ +

◆ hashPos2()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
int hashPos2 (int x,
int y,
int n 
)
+
+inline
+
+ +
+
+
+
+ + + + + diff --git a/DetourProximityGrid_8cpp.js b/DetourProximityGrid_8cpp.js new file mode 100644 index 00000000..6d538680 --- /dev/null +++ b/DetourProximityGrid_8cpp.js @@ -0,0 +1,6 @@ +var DetourProximityGrid_8cpp = +[ + [ "dtAllocProximityGrid", "DetourProximityGrid_8cpp.html#aa385f0e14495008ab9f08493071e6a1b", null ], + [ "dtFreeProximityGrid", "DetourProximityGrid_8cpp.html#a6e5d0e95e7ed462c5732e66a17410338", null ], + [ "hashPos2", "DetourProximityGrid_8cpp.html#a45540c644ac152f30cbade2c4d49eabb", null ] +]; \ No newline at end of file diff --git a/DetourProximityGrid_8h.html b/DetourProximityGrid_8h.html new file mode 100644 index 00000000..b9a51558 --- /dev/null +++ b/DetourProximityGrid_8h.html @@ -0,0 +1,158 @@ + + + + + + + +Recast Navigation: DetourProximityGrid.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourProximityGrid.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Classes

class  dtProximityGrid
 
+ + + + + +

+Functions

dtProximityGriddtAllocProximityGrid ()
 
void dtFreeProximityGrid (dtProximityGrid *ptr)
 
+

Function Documentation

+ +

◆ dtAllocProximityGrid()

+ +
+
+ + + + + + + +
dtProximityGrid* dtAllocProximityGrid ()
+
+ +
+
+ +

◆ dtFreeProximityGrid()

+ +
+
+ + + + + + + + +
void dtFreeProximityGrid (dtProximityGridptr)
+
+ +
+
+
+
+ + + + + diff --git a/DetourProximityGrid_8h.js b/DetourProximityGrid_8h.js new file mode 100644 index 00000000..8c1d2793 --- /dev/null +++ b/DetourProximityGrid_8h.js @@ -0,0 +1,6 @@ +var DetourProximityGrid_8h = +[ + [ "dtProximityGrid", "classdtProximityGrid.html", "classdtProximityGrid" ], + [ "dtAllocProximityGrid", "DetourProximityGrid_8h.html#aa385f0e14495008ab9f08493071e6a1b", null ], + [ "dtFreeProximityGrid", "DetourProximityGrid_8h.html#a6e5d0e95e7ed462c5732e66a17410338", null ] +]; \ No newline at end of file diff --git a/DetourProximityGrid_8h_source.html b/DetourProximityGrid_8h_source.html new file mode 100644 index 00000000..eb5ba5fd --- /dev/null +++ b/DetourProximityGrid_8h_source.html @@ -0,0 +1,191 @@ + + + + + + + +Recast Navigation: DetourProximityGrid.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DetourProximityGrid.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 DETOURPROXIMITYGRID_H
+
20 #define DETOURPROXIMITYGRID_H
+
21 
+ +
23 {
+
24  float m_cellSize;
+
25  float m_invCellSize;
+
26 
+
27  struct Item
+
28  {
+
29  unsigned short id;
+
30  short x,y;
+
31  unsigned short next;
+
32  };
+
33  Item* m_pool;
+
34  int m_poolHead;
+
35  int m_poolSize;
+
36 
+
37  unsigned short* m_buckets;
+
38  int m_bucketsSize;
+
39 
+
40  int m_bounds[4];
+
41 
+
42 public:
+ + +
45 
+
46  bool init(const int poolSize, const float cellSize);
+
47 
+
48  void clear();
+
49 
+
50  void addItem(const unsigned short id,
+
51  const float minx, const float miny,
+
52  const float maxx, const float maxy);
+
53 
+
54  int queryItems(const float minx, const float miny,
+
55  const float maxx, const float maxy,
+
56  unsigned short* ids, const int maxIds) const;
+
57 
+
58  int getItemCountAt(const int x, const int y) const;
+
59 
+
60  inline const int* getBounds() const { return m_bounds; }
+
61  inline float getCellSize() const { return m_cellSize; }
+
62 
+
63 private:
+
64  // Explicitly disabled copy constructor and copy assignment operator.
+ +
66  dtProximityGrid& operator=(const dtProximityGrid&);
+
67 };
+
68 
+ + +
71 
+
72 
+
73 #endif // DETOURPROXIMITYGRID_H
+
74 
+
void dtFreeProximityGrid(dtProximityGrid *ptr)
Definition: DetourProximityGrid.cpp:35
+
dtProximityGrid * dtAllocProximityGrid()
Definition: DetourProximityGrid.cpp:28
+
int next(int i, int n)
Definition: DetourTileCacheBuilder.cpp:1080
+
Definition: DetourProximityGrid.h:23
+
int queryItems(const float minx, const float miny, const float maxx, const float maxy, unsigned short *ids, const int maxIds) const
Definition: DetourProximityGrid.cpp:136
+
~dtProximityGrid()
Definition: DetourProximityGrid.cpp:60
+
const int * getBounds() const
Definition: DetourProximityGrid.h:60
+
void clear()
Definition: DetourProximityGrid.cpp:92
+
int getItemCountAt(const int x, const int y) const
Definition: DetourProximityGrid.cpp:179
+
float getCellSize() const
Definition: DetourProximityGrid.h:61
+
void addItem(const unsigned short id, const float minx, const float miny, const float maxx, const float maxy)
Definition: DetourProximityGrid.cpp:102
+
bool init(const int poolSize, const float cellSize)
Definition: DetourProximityGrid.cpp:66
+
dtProximityGrid()
Definition: DetourProximityGrid.cpp:49
+
+
+ + + + + diff --git a/DetourStatus_8h.html b/DetourStatus_8h.html new file mode 100644 index 00000000..8bc21e6d --- /dev/null +++ b/DetourStatus_8h.html @@ -0,0 +1,549 @@ + + + + + + + +Recast Navigation: DetourStatus.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourStatus.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Typedefs

typedef unsigned int dtStatus
 
+ + + + + + + + + +

+Functions

bool dtStatusSucceed (dtStatus status)
 
bool dtStatusFailed (dtStatus status)
 
bool dtStatusInProgress (dtStatus status)
 
bool dtStatusDetail (dtStatus status, unsigned int detail)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Variables

static const unsigned int DT_FAILURE = 1u << 31
 
static const unsigned int DT_SUCCESS = 1u << 30
 
static const unsigned int DT_IN_PROGRESS = 1u << 29
 
static const unsigned int DT_STATUS_DETAIL_MASK = 0x0ffffff
 
static const unsigned int DT_WRONG_MAGIC = 1 << 0
 
static const unsigned int DT_WRONG_VERSION = 1 << 1
 
static const unsigned int DT_OUT_OF_MEMORY = 1 << 2
 
static const unsigned int DT_INVALID_PARAM = 1 << 3
 
static const unsigned int DT_BUFFER_TOO_SMALL = 1 << 4
 
static const unsigned int DT_OUT_OF_NODES = 1 << 5
 
static const unsigned int DT_PARTIAL_RESULT = 1 << 6
 
static const unsigned int DT_ALREADY_OCCUPIED = 1 << 7
 
+

Typedef Documentation

+ +

◆ dtStatus

+ +
+
+ + + + +
typedef unsigned int dtStatus
+
+ +
+
+

Function Documentation

+ +

◆ dtStatusDetail()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool dtStatusDetail (dtStatus status,
unsigned int detail 
)
+
+inline
+
+ +
+
+ +

◆ dtStatusFailed()

+ +
+
+ + + + + +
+ + + + + + + + +
bool dtStatusFailed (dtStatus status)
+
+inline
+
+ +
+
+ +

◆ dtStatusInProgress()

+ +
+
+ + + + + +
+ + + + + + + + +
bool dtStatusInProgress (dtStatus status)
+
+inline
+
+ +
+
+ +

◆ dtStatusSucceed()

+ +
+
+ + + + + +
+ + + + + + + + +
bool dtStatusSucceed (dtStatus status)
+
+inline
+
+ +
+
+

Variable Documentation

+ +

◆ DT_ALREADY_OCCUPIED

+ +
+
+ + + + + +
+ + + + +
const unsigned int DT_ALREADY_OCCUPIED = 1 << 7
+
+static
+
+ +
+
+ +

◆ DT_BUFFER_TOO_SMALL

+ +
+
+ + + + + +
+ + + + +
const unsigned int DT_BUFFER_TOO_SMALL = 1 << 4
+
+static
+
+ +
+
+ +

◆ DT_FAILURE

+ +
+
+ + + + + +
+ + + + +
const unsigned int DT_FAILURE = 1u << 31
+
+static
+
+ +
+
+ +

◆ DT_IN_PROGRESS

+ +
+
+ + + + + +
+ + + + +
const unsigned int DT_IN_PROGRESS = 1u << 29
+
+static
+
+ +
+
+ +

◆ DT_INVALID_PARAM

+ +
+
+ + + + + +
+ + + + +
const unsigned int DT_INVALID_PARAM = 1 << 3
+
+static
+
+ +
+
+ +

◆ DT_OUT_OF_MEMORY

+ +
+
+ + + + + +
+ + + + +
const unsigned int DT_OUT_OF_MEMORY = 1 << 2
+
+static
+
+ +
+
+ +

◆ DT_OUT_OF_NODES

+ +
+
+ + + + + +
+ + + + +
const unsigned int DT_OUT_OF_NODES = 1 << 5
+
+static
+
+ +
+
+ +

◆ DT_PARTIAL_RESULT

+ +
+
+ + + + + +
+ + + + +
const unsigned int DT_PARTIAL_RESULT = 1 << 6
+
+static
+
+ +
+
+ +

◆ DT_STATUS_DETAIL_MASK

+ +
+
+ + + + + +
+ + + + +
const unsigned int DT_STATUS_DETAIL_MASK = 0x0ffffff
+
+static
+
+ +
+
+ +

◆ DT_SUCCESS

+ +
+
+ + + + + +
+ + + + +
const unsigned int DT_SUCCESS = 1u << 30
+
+static
+
+ +
+
+ +

◆ DT_WRONG_MAGIC

+ +
+
+ + + + + +
+ + + + +
const unsigned int DT_WRONG_MAGIC = 1 << 0
+
+static
+
+ +
+
+ +

◆ DT_WRONG_VERSION

+ +
+
+ + + + + +
+ + + + +
const unsigned int DT_WRONG_VERSION = 1 << 1
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/DetourStatus_8h.js b/DetourStatus_8h.js new file mode 100644 index 00000000..fe59f69e --- /dev/null +++ b/DetourStatus_8h.js @@ -0,0 +1,20 @@ +var DetourStatus_8h = +[ + [ "dtStatus", "DetourStatus_8h.html#a4f23c0dcf28d9e299a4aa06af5b9ada3", null ], + [ "dtStatusDetail", "DetourStatus_8h.html#a2f6509593648b76814a60b412a7be2dd", null ], + [ "dtStatusFailed", "DetourStatus_8h.html#ab98b21afb80f30cc60a1f4e86ebc19d8", null ], + [ "dtStatusInProgress", "DetourStatus_8h.html#a9f7cad6c2320bb7f491eb9a5ff63ab91", null ], + [ "dtStatusSucceed", "DetourStatus_8h.html#aa8caf42fec99929be1a30d6fdb861c8e", null ], + [ "DT_ALREADY_OCCUPIED", "DetourStatus_8h.html#a16c0ed5fc61e267d64b26f73a3b02184", null ], + [ "DT_BUFFER_TOO_SMALL", "DetourStatus_8h.html#a97c8292e3ce2ba0b63bfa4ca57de10af", null ], + [ "DT_FAILURE", "DetourStatus_8h.html#ae3cf4ee7a8ebe23a82381ffe0952fe3f", null ], + [ "DT_IN_PROGRESS", "DetourStatus_8h.html#ab2f47a2593c7138b17c1d8939f19cf06", null ], + [ "DT_INVALID_PARAM", "DetourStatus_8h.html#a6dfcd405e3c12914b8b10af6558667c0", null ], + [ "DT_OUT_OF_MEMORY", "DetourStatus_8h.html#a4c4375ffc9ca7a0425af2b39449eb19e", null ], + [ "DT_OUT_OF_NODES", "DetourStatus_8h.html#a0f707e8e896d9a725f8f93f5779cf02c", null ], + [ "DT_PARTIAL_RESULT", "DetourStatus_8h.html#a673010905b90e4928aeea1480ee58491", null ], + [ "DT_STATUS_DETAIL_MASK", "DetourStatus_8h.html#a9ad48e73cb942b84fe08c5ad18626a54", null ], + [ "DT_SUCCESS", "DetourStatus_8h.html#ace78a9666e74d996b468942e7434989a", null ], + [ "DT_WRONG_MAGIC", "DetourStatus_8h.html#ad21573b8fc2757cddf316c86cebd39e0", null ], + [ "DT_WRONG_VERSION", "DetourStatus_8h.html#a643fa17355a1e298489d50f04b763b5a", null ] +]; \ No newline at end of file diff --git a/DetourStatus_8h_source.html b/DetourStatus_8h_source.html new file mode 100644 index 00000000..f49979a5 --- /dev/null +++ b/DetourStatus_8h_source.html @@ -0,0 +1,186 @@ + + + + + + + +Recast Navigation: DetourStatus.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DetourStatus.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 DETOURSTATUS_H
+
20 #define DETOURSTATUS_H
+
21 
+
22 typedef unsigned int dtStatus;
+
23 
+
24 // High level status.
+
25 static const unsigned int DT_FAILURE = 1u << 31; // Operation failed.
+
26 static const unsigned int DT_SUCCESS = 1u << 30; // Operation succeed.
+
27 static const unsigned int DT_IN_PROGRESS = 1u << 29; // Operation still in progress.
+
28 
+
29 // Detail information for status.
+
30 static const unsigned int DT_STATUS_DETAIL_MASK = 0x0ffffff;
+
31 static const unsigned int DT_WRONG_MAGIC = 1 << 0; // Input data is not recognized.
+
32 static const unsigned int DT_WRONG_VERSION = 1 << 1; // Input data is in wrong version.
+
33 static const unsigned int DT_OUT_OF_MEMORY = 1 << 2; // Operation ran out of memory.
+
34 static const unsigned int DT_INVALID_PARAM = 1 << 3; // An input parameter was invalid.
+
35 static const unsigned int DT_BUFFER_TOO_SMALL = 1 << 4; // Result buffer for the query was too small to store all results.
+
36 static const unsigned int DT_OUT_OF_NODES = 1 << 5; // Query ran out of nodes during search.
+
37 static const unsigned int DT_PARTIAL_RESULT = 1 << 6; // Query did not reach the end location, returning best guess.
+
38 static const unsigned int DT_ALREADY_OCCUPIED = 1 << 7; // A tile has already been assigned to the given x,y coordinate
+
39 
+
40 
+
41 // Returns true of status is success.
+
42 inline bool dtStatusSucceed(dtStatus status)
+
43 {
+
44  return (status & DT_SUCCESS) != 0;
+
45 }
+
46 
+
47 // Returns true of status is failure.
+
48 inline bool dtStatusFailed(dtStatus status)
+
49 {
+
50  return (status & DT_FAILURE) != 0;
+
51 }
+
52 
+
53 // Returns true of status is in progress.
+
54 inline bool dtStatusInProgress(dtStatus status)
+
55 {
+
56  return (status & DT_IN_PROGRESS) != 0;
+
57 }
+
58 
+
59 // Returns true if specific detail is set.
+
60 inline bool dtStatusDetail(dtStatus status, unsigned int detail)
+
61 {
+
62  return (status & detail) != 0;
+
63 }
+
64 
+
65 #endif // DETOURSTATUS_H
+
static const unsigned int DT_OUT_OF_NODES
Definition: DetourStatus.h:36
+
static const unsigned int DT_ALREADY_OCCUPIED
Definition: DetourStatus.h:38
+
bool dtStatusDetail(dtStatus status, unsigned int detail)
Definition: DetourStatus.h:60
+
static const unsigned int DT_OUT_OF_MEMORY
Definition: DetourStatus.h:33
+
unsigned int dtStatus
Definition: DetourStatus.h:22
+
static const unsigned int DT_WRONG_VERSION
Definition: DetourStatus.h:32
+
static const unsigned int DT_PARTIAL_RESULT
Definition: DetourStatus.h:37
+
static const unsigned int DT_INVALID_PARAM
Definition: DetourStatus.h:34
+
static const unsigned int DT_BUFFER_TOO_SMALL
Definition: DetourStatus.h:35
+
static const unsigned int DT_STATUS_DETAIL_MASK
Definition: DetourStatus.h:30
+
bool dtStatusInProgress(dtStatus status)
Definition: DetourStatus.h:54
+
bool dtStatusSucceed(dtStatus status)
Definition: DetourStatus.h:42
+
static const unsigned int DT_IN_PROGRESS
Definition: DetourStatus.h:27
+
bool dtStatusFailed(dtStatus status)
Definition: DetourStatus.h:48
+
static const unsigned int DT_SUCCESS
Definition: DetourStatus.h:26
+
static const unsigned int DT_WRONG_MAGIC
Definition: DetourStatus.h:31
+
static const unsigned int DT_FAILURE
Definition: DetourStatus.h:25
+
+
+ + + + + diff --git a/DetourTileCacheBuilder_8cpp.html b/DetourTileCacheBuilder_8cpp.html new file mode 100644 index 00000000..3b1d3525 --- /dev/null +++ b/DetourTileCacheBuilder_8cpp.html @@ -0,0 +1,2602 @@ + + + + + + + +Recast Navigation: DetourTileCacheBuilder.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourTileCacheBuilder.cpp File Reference
+
+
+
#include "DetourCommon.h"
+#include "DetourMath.h"
+#include "DetourStatus.h"
+#include "DetourAssert.h"
+#include "DetourTileCacheBuilder.h"
+#include <string.h>
+
+ + + + + + + + + + + +

+Classes

class  dtFixedArray< T >
 
struct  dtLayerSweepSpan
 
struct  dtLayerMonotoneRegion
 
struct  dtTempContour
 
struct  rcEdge
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

int getDirOffsetX (int dir)
 
int getDirOffsetY (int dir)
 
dtTileCacheContourSetdtAllocTileCacheContourSet (dtTileCacheAlloc *alloc)
 
void dtFreeTileCacheContourSet (dtTileCacheAlloc *alloc, dtTileCacheContourSet *cset)
 
dtTileCachePolyMeshdtAllocTileCachePolyMesh (dtTileCacheAlloc *alloc)
 
void dtFreeTileCachePolyMesh (dtTileCacheAlloc *alloc, dtTileCachePolyMesh *lmesh)
 
bool overlapRangeExl (const unsigned short amin, const unsigned short amax, const unsigned short bmin, const unsigned short bmax)
 
static void addUniqueLast (unsigned char *a, unsigned char &an, unsigned char v)
 
bool isConnected (const dtTileCacheLayer &layer, const int ia, const int ib, const int walkableClimb)
 
static bool canMerge (unsigned char oldRegId, unsigned char newRegId, const dtLayerMonotoneRegion *regs, const int nregs)
 
dtStatus dtBuildTileCacheRegions (dtTileCacheAlloc *alloc, dtTileCacheLayer &layer, const int walkableClimb)
 
static bool appendVertex (dtTempContour &cont, const int x, const int y, const int z, const int r)
 
static unsigned char getNeighbourReg (dtTileCacheLayer &layer, const int ax, const int ay, const int dir)
 
static bool walkContour (dtTileCacheLayer &layer, int x, int y, dtTempContour &cont)
 
static float distancePtSeg (const int x, const int z, const int px, const int pz, const int qx, const int qz)
 
static void simplifyContour (dtTempContour &cont, const float maxError)
 
static unsigned char getCornerHeight (dtTileCacheLayer &layer, const int x, const int y, const int z, const int walkableClimb, bool &shouldRemove)
 
dtStatus dtBuildTileCacheContours (dtTileCacheAlloc *alloc, dtTileCacheLayer &layer, const int walkableClimb, const float maxError, dtTileCacheContourSet &lcset)
 
int computeVertexHash2 (int x, int y, int z)
 
static unsigned short addVertex (unsigned short x, unsigned short y, unsigned short z, unsigned short *verts, unsigned short *firstVert, unsigned short *nextVert, int &nv)
 
static bool buildMeshAdjacency (dtTileCacheAlloc *alloc, unsigned short *polys, const int npolys, const unsigned short *verts, const int nverts, const dtTileCacheContourSet &lcset)
 
int prev (int i, int n)
 
int next (int i, int n)
 
int area2 (const unsigned char *a, const unsigned char *b, const unsigned char *c)
 
bool xorb (bool x, bool y)
 
bool left (const unsigned char *a, const unsigned char *b, const unsigned char *c)
 
bool leftOn (const unsigned char *a, const unsigned char *b, const unsigned char *c)
 
bool collinear (const unsigned char *a, const unsigned char *b, const unsigned char *c)
 
static bool intersectProp (const unsigned char *a, const unsigned char *b, const unsigned char *c, const unsigned char *d)
 
static bool between (const unsigned char *a, const unsigned char *b, const unsigned char *c)
 
static bool intersect (const unsigned char *a, const unsigned char *b, const unsigned char *c, const unsigned char *d)
 
static bool vequal (const unsigned char *a, const unsigned char *b)
 
static bool diagonalie (int i, int j, int n, const unsigned char *verts, const unsigned short *indices)
 
static bool inCone (int i, int j, int n, const unsigned char *verts, const unsigned short *indices)
 
static bool diagonal (int i, int j, int n, const unsigned char *verts, const unsigned short *indices)
 
static int triangulate (int n, const unsigned char *verts, unsigned short *indices, unsigned short *tris)
 
static int countPolyVerts (const unsigned short *p)
 
bool uleft (const unsigned short *a, const unsigned short *b, const unsigned short *c)
 
static int getPolyMergeValue (unsigned short *pa, unsigned short *pb, const unsigned short *verts, int &ea, int &eb)
 
static void mergePolys (unsigned short *pa, unsigned short *pb, int ea, int eb)
 
static void pushFront (unsigned short v, unsigned short *arr, int &an)
 
static void pushBack (unsigned short v, unsigned short *arr, int &an)
 
static bool canRemoveVertex (dtTileCachePolyMesh &mesh, const unsigned short rem)
 
static dtStatus removeVertex (dtTileCachePolyMesh &mesh, const unsigned short rem, const int maxTris)
 
dtStatus dtBuildTileCachePolyMesh (dtTileCacheAlloc *alloc, dtTileCacheContourSet &lcset, dtTileCachePolyMesh &mesh)
 
dtStatus dtMarkCylinderArea (dtTileCacheLayer &layer, const float *orig, const float cs, const float ch, const float *pos, const float radius, const float height, const unsigned char areaId)
 
dtStatus dtMarkBoxArea (dtTileCacheLayer &layer, const float *orig, const float cs, const float ch, const float *bmin, const float *bmax, const unsigned char areaId)
 
dtStatus dtMarkBoxArea (dtTileCacheLayer &layer, const float *orig, const float cs, const float ch, const float *center, const float *halfExtents, const float *rotAux, const unsigned char areaId)
 
dtStatus dtBuildTileCacheLayer (dtTileCacheCompressor *comp, dtTileCacheLayerHeader *header, const unsigned char *heights, const unsigned char *areas, const unsigned char *cons, unsigned char **outData, int *outDataSize)
 
void dtFreeTileCacheLayer (dtTileCacheAlloc *alloc, dtTileCacheLayer *layer)
 
dtStatus dtDecompressTileCacheLayer (dtTileCacheAlloc *alloc, dtTileCacheCompressor *comp, unsigned char *compressed, const int compressedSize, dtTileCacheLayer **layerOut)
 
bool dtTileCacheHeaderSwapEndian (unsigned char *data, const int dataSize)
 Swaps the endianess of the compressed tile data's header (dtTileCacheLayerHeader). More...
 
+ + + + + + + + + +

+Variables

static const int MAX_VERTS_PER_POLY = 6
 
static const int MAX_REM_EDGES = 48
 
static const int DT_LAYER_MAX_NEIS = 16
 
static const int VERTEX_BUCKET_COUNT2 = (1<<8)
 
+

Function Documentation

+ +

◆ addUniqueLast()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static void addUniqueLast (unsigned char * a,
unsigned char & an,
unsigned char v 
)
+
+static
+
+ +
+
+ +

◆ addVertex()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static unsigned short addVertex (unsigned short x,
unsigned short y,
unsigned short z,
unsigned short * verts,
unsigned short * firstVert,
unsigned short * nextVert,
int & nv 
)
+
+static
+
+ +
+
+ +

◆ appendVertex()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool appendVertex (dtTempContourcont,
const int x,
const int y,
const int z,
const int r 
)
+
+static
+
+ +
+
+ +

◆ area2()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
int area2 (const unsigned char * a,
const unsigned char * b,
const unsigned char * c 
)
+
+inline
+
+ +
+
+ +

◆ between()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static bool between (const unsigned char * a,
const unsigned char * b,
const unsigned char * c 
)
+
+static
+
+ +
+
+ +

◆ buildMeshAdjacency()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool buildMeshAdjacency (dtTileCacheAllocalloc,
unsigned short * polys,
const int npolys,
const unsigned short * verts,
const int nverts,
const dtTileCacheContourSetlcset 
)
+
+static
+
+ +
+
+ +

◆ canMerge()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool canMerge (unsigned char oldRegId,
unsigned char newRegId,
const dtLayerMonotoneRegionregs,
const int nregs 
)
+
+static
+
+ +
+
+ +

◆ canRemoveVertex()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static bool canRemoveVertex (dtTileCachePolyMeshmesh,
const unsigned short rem 
)
+
+static
+
+ +
+
+ +

◆ collinear()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool collinear (const unsigned char * a,
const unsigned char * b,
const unsigned char * c 
)
+
+inline
+
+ +
+
+ +

◆ computeVertexHash2()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
int computeVertexHash2 (int x,
int y,
int z 
)
+
+inline
+
+ +
+
+ +

◆ countPolyVerts()

+ +
+
+ + + + + +
+ + + + + + + + +
static int countPolyVerts (const unsigned short * p)
+
+static
+
+ +
+
+ +

◆ diagonal()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool diagonal (int i,
int j,
int n,
const unsigned char * verts,
const unsigned short * indices 
)
+
+static
+
+ +
+
+ +

◆ diagonalie()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool diagonalie (int i,
int j,
int n,
const unsigned char * verts,
const unsigned short * indices 
)
+
+static
+
+ +
+
+ +

◆ distancePtSeg()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static float distancePtSeg (const int x,
const int z,
const int px,
const int pz,
const int qx,
const int qz 
)
+
+static
+
+ +
+
+ +

◆ dtAllocTileCacheContourSet()

+ +
+
+ + + + + + + + +
dtTileCacheContourSet* dtAllocTileCacheContourSet (dtTileCacheAllocalloc)
+
+ +
+
+ +

◆ dtAllocTileCachePolyMesh()

+ +
+
+ + + + + + + + +
dtTileCachePolyMesh* dtAllocTileCachePolyMesh (dtTileCacheAllocalloc)
+
+ +
+
+ +

◆ dtBuildTileCacheContours()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtBuildTileCacheContours (dtTileCacheAllocalloc,
dtTileCacheLayerlayer,
const int walkableClimb,
const float maxError,
dtTileCacheContourSetlcset 
)
+
+ +
+
+ +

◆ dtBuildTileCacheLayer()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtBuildTileCacheLayer (dtTileCacheCompressorcomp,
dtTileCacheLayerHeaderheader,
const unsigned char * heights,
const unsigned char * areas,
const unsigned char * cons,
unsigned char ** outData,
int * outDataSize 
)
+
+ +
+
+ +

◆ dtBuildTileCachePolyMesh()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtBuildTileCachePolyMesh (dtTileCacheAllocalloc,
dtTileCacheContourSetlcset,
dtTileCachePolyMeshmesh 
)
+
+ +
+
+ +

◆ dtBuildTileCacheRegions()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtBuildTileCacheRegions (dtTileCacheAllocalloc,
dtTileCacheLayerlayer,
const int walkableClimb 
)
+
+ +
+
+ +

◆ dtDecompressTileCacheLayer()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtDecompressTileCacheLayer (dtTileCacheAllocalloc,
dtTileCacheCompressorcomp,
unsigned char * compressed,
const int compressedSize,
dtTileCacheLayer ** layerOut 
)
+
+ +
+
+ +

◆ dtFreeTileCacheContourSet()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void dtFreeTileCacheContourSet (dtTileCacheAllocalloc,
dtTileCacheContourSetcset 
)
+
+ +
+
+ +

◆ dtFreeTileCacheLayer()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void dtFreeTileCacheLayer (dtTileCacheAllocalloc,
dtTileCacheLayerlayer 
)
+
+ +
+
+ +

◆ dtFreeTileCachePolyMesh()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void dtFreeTileCachePolyMesh (dtTileCacheAllocalloc,
dtTileCachePolyMeshlmesh 
)
+
+ +
+
+ +

◆ dtMarkBoxArea() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtMarkBoxArea (dtTileCacheLayerlayer,
const float * orig,
const float cs,
const float ch,
const float * bmin,
const float * bmax,
const unsigned char areaId 
)
+
+ +
+
+ +

◆ dtMarkBoxArea() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtMarkBoxArea (dtTileCacheLayerlayer,
const float * orig,
const float cs,
const float ch,
const float * center,
const float * halfExtents,
const float * rotAux,
const unsigned char areaId 
)
+
+ +
+
+ +

◆ dtMarkCylinderArea()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtMarkCylinderArea (dtTileCacheLayerlayer,
const float * orig,
const float cs,
const float ch,
const float * pos,
const float radius,
const float height,
const unsigned char areaId 
)
+
+ +
+
+ +

◆ dtTileCacheHeaderSwapEndian()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool dtTileCacheHeaderSwapEndian (unsigned char * data,
const int dataSize 
)
+
+ +

Swaps the endianess of the compressed tile data's header (dtTileCacheLayerHeader).

+

Tile layer data does not need endian swapping as it consits only of bytes.

Parameters
+ + + +
[in,out]dataThe tile data array.
[in]dataSizeThe size of the data array.
+
+
+ +
+
+ +

◆ getCornerHeight()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static unsigned char getCornerHeight (dtTileCacheLayerlayer,
const int x,
const int y,
const int z,
const int walkableClimb,
bool & shouldRemove 
)
+
+static
+
+ +
+
+ +

◆ getDirOffsetX()

+ +
+
+ + + + + +
+ + + + + + + + +
int getDirOffsetX (int dir)
+
+inline
+
+ +
+
+ +

◆ getDirOffsetY()

+ +
+
+ + + + + +
+ + + + + + + + +
int getDirOffsetY (int dir)
+
+inline
+
+ +
+
+ +

◆ getNeighbourReg()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static unsigned char getNeighbourReg (dtTileCacheLayerlayer,
const int ax,
const int ay,
const int dir 
)
+
+static
+
+ +
+
+ +

◆ getPolyMergeValue()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static int getPolyMergeValue (unsigned short * pa,
unsigned short * pb,
const unsigned short * verts,
int & ea,
int & eb 
)
+
+static
+
+ +
+
+ +

◆ inCone()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool inCone (int i,
int j,
int n,
const unsigned char * verts,
const unsigned short * indices 
)
+
+static
+
+ +
+
+ +

◆ intersect()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool intersect (const unsigned char * a,
const unsigned char * b,
const unsigned char * c,
const unsigned char * d 
)
+
+static
+
+ +
+
+ +

◆ intersectProp()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool intersectProp (const unsigned char * a,
const unsigned char * b,
const unsigned char * c,
const unsigned char * d 
)
+
+static
+
+ +
+
+ +

◆ isConnected()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool isConnected (const dtTileCacheLayerlayer,
const int ia,
const int ib,
const int walkableClimb 
)
+
+inline
+
+ +
+
+ +

◆ left()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool left (const unsigned char * a,
const unsigned char * b,
const unsigned char * c 
)
+
+inline
+
+ +
+
+ +

◆ leftOn()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool leftOn (const unsigned char * a,
const unsigned char * b,
const unsigned char * c 
)
+
+inline
+
+ +
+
+ +

◆ mergePolys()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void mergePolys (unsigned short * pa,
unsigned short * pb,
int ea,
int eb 
)
+
+static
+
+ +
+
+ +

◆ next()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int next (int i,
int n 
)
+
+inline
+
+ +
+
+ +

◆ overlapRangeExl()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool overlapRangeExl (const unsigned short amin,
const unsigned short amax,
const unsigned short bmin,
const unsigned short bmax 
)
+
+inline
+
+ +
+
+ +

◆ prev()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int prev (int i,
int n 
)
+
+inline
+
+ +
+
+ +

◆ pushBack()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static void pushBack (unsigned short v,
unsigned short * arr,
int & an 
)
+
+static
+
+ +
+
+ +

◆ pushFront()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static void pushFront (unsigned short v,
unsigned short * arr,
int & an 
)
+
+static
+
+ +
+
+ +

◆ removeVertex()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static dtStatus removeVertex (dtTileCachePolyMeshmesh,
const unsigned short rem,
const int maxTris 
)
+
+static
+
+ +
+
+ +

◆ simplifyContour()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void simplifyContour (dtTempContourcont,
const float maxError 
)
+
+static
+
+ +
+
+ +

◆ triangulate()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static int triangulate (int n,
const unsigned char * verts,
unsigned short * indices,
unsigned short * tris 
)
+
+static
+
+ +
+
+ +

◆ uleft()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool uleft (const unsigned short * a,
const unsigned short * b,
const unsigned short * c 
)
+
+inline
+
+ +
+
+ +

◆ vequal()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static bool vequal (const unsigned char * a,
const unsigned char * b 
)
+
+static
+
+ +
+
+ +

◆ walkContour()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool walkContour (dtTileCacheLayerlayer,
int x,
int y,
dtTempContourcont 
)
+
+static
+
+ +
+
+ +

◆ xorb()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool xorb (bool x,
bool y 
)
+
+inline
+
+ +
+
+

Variable Documentation

+ +

◆ DT_LAYER_MAX_NEIS

+ +
+
+ + + + + +
+ + + + +
const int DT_LAYER_MAX_NEIS = 16
+
+static
+
+ +
+
+ +

◆ MAX_REM_EDGES

+ +
+
+ + + + + +
+ + + + +
const int MAX_REM_EDGES = 48
+
+static
+
+ +
+
+ +

◆ MAX_VERTS_PER_POLY

+ +
+
+ + + + + +
+ + + + +
const int MAX_VERTS_PER_POLY = 6
+
+static
+
+ +
+
+ +

◆ VERTEX_BUCKET_COUNT2

+ +
+
+ + + + + +
+ + + + +
const int VERTEX_BUCKET_COUNT2 = (1<<8)
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/DetourTileCacheBuilder_8cpp.js b/DetourTileCacheBuilder_8cpp.js new file mode 100644 index 00000000..f0f7c527 --- /dev/null +++ b/DetourTileCacheBuilder_8cpp.js @@ -0,0 +1,64 @@ +var DetourTileCacheBuilder_8cpp = +[ + [ "dtFixedArray", "classdtFixedArray.html", "classdtFixedArray" ], + [ "dtLayerSweepSpan", "structdtLayerSweepSpan.html", "structdtLayerSweepSpan" ], + [ "dtLayerMonotoneRegion", "structdtLayerMonotoneRegion.html", "structdtLayerMonotoneRegion" ], + [ "dtTempContour", "structdtTempContour.html", "structdtTempContour" ], + [ "rcEdge", "structrcEdge.html", "structrcEdge" ], + [ "addUniqueLast", "DetourTileCacheBuilder_8cpp.html#ab94d170b47f0f1d0fa11002939e57bd5", null ], + [ "addVertex", "DetourTileCacheBuilder_8cpp.html#a3a9cbf7fe498e49c6bf63e46c5d8ae8f", null ], + [ "appendVertex", "DetourTileCacheBuilder_8cpp.html#a7b70b108373f83e39073cd995c83342e", null ], + [ "area2", "DetourTileCacheBuilder_8cpp.html#a4026446823c064e1eee76b85985e82cd", null ], + [ "between", "DetourTileCacheBuilder_8cpp.html#a836449fc0a0e562494f018c093fa5e73", null ], + [ "buildMeshAdjacency", "DetourTileCacheBuilder_8cpp.html#a3cb207997a33b83726f260fe5f0715d4", null ], + [ "canMerge", "DetourTileCacheBuilder_8cpp.html#a4ccf7916570765c946d2365b933aade5", null ], + [ "canRemoveVertex", "DetourTileCacheBuilder_8cpp.html#a79d489bfce99f1637549fdf8223a5352", null ], + [ "collinear", "DetourTileCacheBuilder_8cpp.html#abb42cfd869a798f46d97f9b6f8a7a3cd", null ], + [ "computeVertexHash2", "DetourTileCacheBuilder_8cpp.html#a2198ce594280787ad201642656e4f73b", null ], + [ "countPolyVerts", "DetourTileCacheBuilder_8cpp.html#a82b58c9d334362460a2f3b8b95376237", null ], + [ "diagonal", "DetourTileCacheBuilder_8cpp.html#ad1596ed1900fd9c42527f5016c47bcd4", null ], + [ "diagonalie", "DetourTileCacheBuilder_8cpp.html#ad37c515eb8572e663a72d93dba26692f", null ], + [ "distancePtSeg", "DetourTileCacheBuilder_8cpp.html#a95bb2b54ba0f6d1cee48278a1ba4980d", null ], + [ "dtAllocTileCacheContourSet", "DetourTileCacheBuilder_8cpp.html#ac56fd75ce61e6791ab64e1acc013e290", null ], + [ "dtAllocTileCachePolyMesh", "DetourTileCacheBuilder_8cpp.html#ad0aff6c472d0b05eb355467290740ac2", null ], + [ "dtBuildTileCacheContours", "DetourTileCacheBuilder_8cpp.html#a35744562caae9f2aa05e02d3ec242433", null ], + [ "dtBuildTileCacheLayer", "DetourTileCacheBuilder_8cpp.html#ab894d05678218a7c3a1cff480958395d", null ], + [ "dtBuildTileCachePolyMesh", "DetourTileCacheBuilder_8cpp.html#a09f7cfe18183529c3d88726a3a522d38", null ], + [ "dtBuildTileCacheRegions", "DetourTileCacheBuilder_8cpp.html#acfc6b37c6276eaf3a61fec688b2ba0e3", null ], + [ "dtDecompressTileCacheLayer", "DetourTileCacheBuilder_8cpp.html#a688d7e55e37ccfb358962a552b86423c", null ], + [ "dtFreeTileCacheContourSet", "DetourTileCacheBuilder_8cpp.html#abc76def8bcf87c7c15ad4a308126de6f", null ], + [ "dtFreeTileCacheLayer", "DetourTileCacheBuilder_8cpp.html#a5d8bca7845ae4c593726e2c0062ed0a7", null ], + [ "dtFreeTileCachePolyMesh", "DetourTileCacheBuilder_8cpp.html#a6b46fb526524261ff8383bc38d9e1983", null ], + [ "dtMarkBoxArea", "DetourTileCacheBuilder_8cpp.html#a56fa849023117c068a54f84248b4d1c9", null ], + [ "dtMarkBoxArea", "DetourTileCacheBuilder_8cpp.html#ae2f86fd0c1c1184e6d25d9f410c577f0", null ], + [ "dtMarkCylinderArea", "DetourTileCacheBuilder_8cpp.html#a85bd937d84ac57718deca82e3573588d", null ], + [ "dtTileCacheHeaderSwapEndian", "DetourTileCacheBuilder_8cpp.html#af7089fb5010342e6c48ca705a8f49928", null ], + [ "getCornerHeight", "DetourTileCacheBuilder_8cpp.html#af136bc352d829a1715b8a46ffb539aff", null ], + [ "getDirOffsetX", "DetourTileCacheBuilder_8cpp.html#a59fc3411f762def701ca3f15f07cda12", null ], + [ "getDirOffsetY", "DetourTileCacheBuilder_8cpp.html#aca2add941eccb01df6af4cc78f0e8239", null ], + [ "getNeighbourReg", "DetourTileCacheBuilder_8cpp.html#af535796b148f37dcc11d1a3416ee9b53", null ], + [ "getPolyMergeValue", "DetourTileCacheBuilder_8cpp.html#a30135fcd690b0ae1c9ebd9bd00e7349b", null ], + [ "inCone", "DetourTileCacheBuilder_8cpp.html#ac46427b24fb9b3673c12b62f79e97096", null ], + [ "intersect", "DetourTileCacheBuilder_8cpp.html#a070e599134e47f74c6ac1981c5b004c2", null ], + [ "intersectProp", "DetourTileCacheBuilder_8cpp.html#ac83ebd03e0ea6de9e9e8af3447e8d226", null ], + [ "isConnected", "DetourTileCacheBuilder_8cpp.html#a39d8ed8a2d3aa08df559ec2b3713dd0d", null ], + [ "left", "DetourTileCacheBuilder_8cpp.html#af12ea326178bde8a2bf7b46aa54330aa", null ], + [ "leftOn", "DetourTileCacheBuilder_8cpp.html#afc4b3861caec01ab07bba6a51af3327a", null ], + [ "mergePolys", "DetourTileCacheBuilder_8cpp.html#acec62cadc066beebd0bcf5623c79f0e0", null ], + [ "next", "DetourTileCacheBuilder_8cpp.html#af019d68006e1f2d7b24c8f09051424cc", null ], + [ "overlapRangeExl", "DetourTileCacheBuilder_8cpp.html#a6e9bacbb0b63ae2d5f516d75670e15c6", null ], + [ "prev", "DetourTileCacheBuilder_8cpp.html#a6f1109916123abdff2b46675c13307e3", null ], + [ "pushBack", "DetourTileCacheBuilder_8cpp.html#a6da2f8c2b0bea0922a50e844a7579b73", null ], + [ "pushFront", "DetourTileCacheBuilder_8cpp.html#a6798e70992affb7d5ba3152641398a1c", null ], + [ "removeVertex", "DetourTileCacheBuilder_8cpp.html#a5bdb6e945a71779feecea1da449ee446", null ], + [ "simplifyContour", "DetourTileCacheBuilder_8cpp.html#aa2cb5549f579c46432cb5af9e0f3c9bb", null ], + [ "triangulate", "DetourTileCacheBuilder_8cpp.html#a152104956c5f847255758c0ef53945ef", null ], + [ "uleft", "DetourTileCacheBuilder_8cpp.html#a7779e8ce95da76bac3631db6b39436db", null ], + [ "vequal", "DetourTileCacheBuilder_8cpp.html#aa4f62c267a38a721dda8c1b1f6c76a9d", null ], + [ "walkContour", "DetourTileCacheBuilder_8cpp.html#a45f592986513acd34a53381dc61c8340", null ], + [ "xorb", "DetourTileCacheBuilder_8cpp.html#a82c11ae489473adcaa21b9944f3553fd", null ], + [ "DT_LAYER_MAX_NEIS", "DetourTileCacheBuilder_8cpp.html#ae4329c19c9328b4a0d083e8182359621", null ], + [ "MAX_REM_EDGES", "DetourTileCacheBuilder_8cpp.html#a5131aaaa744669c5e9418ecffa6e64f5", null ], + [ "MAX_VERTS_PER_POLY", "DetourTileCacheBuilder_8cpp.html#a765f17c1f40a919b5a17a9701a0c9f52", null ], + [ "VERTEX_BUCKET_COUNT2", "DetourTileCacheBuilder_8cpp.html#a4d8910a63cb8f59faec2f3686b365ddb", null ] +]; \ No newline at end of file diff --git a/DetourTileCacheBuilder_8h.html b/DetourTileCacheBuilder_8h.html new file mode 100644 index 00000000..96bf3478 --- /dev/null +++ b/DetourTileCacheBuilder_8h.html @@ -0,0 +1,851 @@ + + + + + + + +Recast Navigation: DetourTileCacheBuilder.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourTileCacheBuilder.h File Reference
+
+
+
#include "DetourAlloc.h"
+#include "DetourStatus.h"
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + +

+Classes

struct  dtTileCacheLayerHeader
 
struct  dtTileCacheLayer
 
struct  dtTileCacheContour
 
struct  dtTileCacheContourSet
 
struct  dtTileCachePolyMesh
 
struct  dtTileCacheAlloc
 
struct  dtTileCacheCompressor
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

dtStatus dtBuildTileCacheLayer (dtTileCacheCompressor *comp, dtTileCacheLayerHeader *header, const unsigned char *heights, const unsigned char *areas, const unsigned char *cons, unsigned char **outData, int *outDataSize)
 
void dtFreeTileCacheLayer (dtTileCacheAlloc *alloc, dtTileCacheLayer *layer)
 
dtStatus dtDecompressTileCacheLayer (dtTileCacheAlloc *alloc, dtTileCacheCompressor *comp, unsigned char *compressed, const int compressedSize, dtTileCacheLayer **layerOut)
 
dtTileCacheContourSetdtAllocTileCacheContourSet (dtTileCacheAlloc *alloc)
 
void dtFreeTileCacheContourSet (dtTileCacheAlloc *alloc, dtTileCacheContourSet *cset)
 
dtTileCachePolyMeshdtAllocTileCachePolyMesh (dtTileCacheAlloc *alloc)
 
void dtFreeTileCachePolyMesh (dtTileCacheAlloc *alloc, dtTileCachePolyMesh *lmesh)
 
dtStatus dtMarkCylinderArea (dtTileCacheLayer &layer, const float *orig, const float cs, const float ch, const float *pos, const float radius, const float height, const unsigned char areaId)
 
dtStatus dtMarkBoxArea (dtTileCacheLayer &layer, const float *orig, const float cs, const float ch, const float *bmin, const float *bmax, const unsigned char areaId)
 
dtStatus dtMarkBoxArea (dtTileCacheLayer &layer, const float *orig, const float cs, const float ch, const float *center, const float *halfExtents, const float *rotAux, const unsigned char areaId)
 
dtStatus dtBuildTileCacheRegions (dtTileCacheAlloc *alloc, dtTileCacheLayer &layer, const int walkableClimb)
 
dtStatus dtBuildTileCacheContours (dtTileCacheAlloc *alloc, dtTileCacheLayer &layer, const int walkableClimb, const float maxError, dtTileCacheContourSet &lcset)
 
dtStatus dtBuildTileCachePolyMesh (dtTileCacheAlloc *alloc, dtTileCacheContourSet &lcset, dtTileCachePolyMesh &mesh)
 
bool dtTileCacheHeaderSwapEndian (unsigned char *data, const int dataSize)
 Swaps the endianess of the compressed tile data's header (dtTileCacheLayerHeader). More...
 
+ + + + + + + + + + + + +

+Variables

static const int DT_TILECACHE_MAGIC = 'D'<<24 | 'T'<<16 | 'L'<<8 | 'R'
 'DTLR'; More...
 
static const int DT_TILECACHE_VERSION = 1
 
static const unsigned char DT_TILECACHE_NULL_AREA = 0
 
static const unsigned char DT_TILECACHE_WALKABLE_AREA = 63
 
static const unsigned short DT_TILECACHE_NULL_IDX = 0xffff
 
+

Function Documentation

+ +

◆ dtAllocTileCacheContourSet()

+ +
+
+ + + + + + + + +
dtTileCacheContourSet* dtAllocTileCacheContourSet (dtTileCacheAllocalloc)
+
+ +
+
+ +

◆ dtAllocTileCachePolyMesh()

+ +
+
+ + + + + + + + +
dtTileCachePolyMesh* dtAllocTileCachePolyMesh (dtTileCacheAllocalloc)
+
+ +
+
+ +

◆ dtBuildTileCacheContours()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtBuildTileCacheContours (dtTileCacheAllocalloc,
dtTileCacheLayerlayer,
const int walkableClimb,
const float maxError,
dtTileCacheContourSetlcset 
)
+
+ +
+
+ +

◆ dtBuildTileCacheLayer()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtBuildTileCacheLayer (dtTileCacheCompressorcomp,
dtTileCacheLayerHeaderheader,
const unsigned char * heights,
const unsigned char * areas,
const unsigned char * cons,
unsigned char ** outData,
int * outDataSize 
)
+
+ +
+
+ +

◆ dtBuildTileCachePolyMesh()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtBuildTileCachePolyMesh (dtTileCacheAllocalloc,
dtTileCacheContourSetlcset,
dtTileCachePolyMeshmesh 
)
+
+ +
+
+ +

◆ dtBuildTileCacheRegions()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtBuildTileCacheRegions (dtTileCacheAllocalloc,
dtTileCacheLayerlayer,
const int walkableClimb 
)
+
+ +
+
+ +

◆ dtDecompressTileCacheLayer()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtDecompressTileCacheLayer (dtTileCacheAllocalloc,
dtTileCacheCompressorcomp,
unsigned char * compressed,
const int compressedSize,
dtTileCacheLayer ** layerOut 
)
+
+ +
+
+ +

◆ dtFreeTileCacheContourSet()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void dtFreeTileCacheContourSet (dtTileCacheAllocalloc,
dtTileCacheContourSetcset 
)
+
+ +
+
+ +

◆ dtFreeTileCacheLayer()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void dtFreeTileCacheLayer (dtTileCacheAllocalloc,
dtTileCacheLayerlayer 
)
+
+ +
+
+ +

◆ dtFreeTileCachePolyMesh()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void dtFreeTileCachePolyMesh (dtTileCacheAllocalloc,
dtTileCachePolyMeshlmesh 
)
+
+ +
+
+ +

◆ dtMarkBoxArea() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtMarkBoxArea (dtTileCacheLayerlayer,
const float * orig,
const float cs,
const float ch,
const float * bmin,
const float * bmax,
const unsigned char areaId 
)
+
+ +
+
+ +

◆ dtMarkBoxArea() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtMarkBoxArea (dtTileCacheLayerlayer,
const float * orig,
const float cs,
const float ch,
const float * center,
const float * halfExtents,
const float * rotAux,
const unsigned char areaId 
)
+
+ +
+
+ +

◆ dtMarkCylinderArea()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtMarkCylinderArea (dtTileCacheLayerlayer,
const float * orig,
const float cs,
const float ch,
const float * pos,
const float radius,
const float height,
const unsigned char areaId 
)
+
+ +
+
+ +

◆ dtTileCacheHeaderSwapEndian()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool dtTileCacheHeaderSwapEndian (unsigned char * data,
const int dataSize 
)
+
+ +

Swaps the endianess of the compressed tile data's header (dtTileCacheLayerHeader).

+

Tile layer data does not need endian swapping as it consits only of bytes.

Parameters
+ + + +
[in,out]dataThe tile data array.
[in]dataSizeThe size of the data array.
+
+
+ +
+
+

Variable Documentation

+ +

◆ DT_TILECACHE_MAGIC

+ +
+
+ + + + + +
+ + + + +
const int DT_TILECACHE_MAGIC = 'D'<<24 | 'T'<<16 | 'L'<<8 | 'R'
+
+static
+
+ +

'DTLR';

+ +
+
+ +

◆ DT_TILECACHE_NULL_AREA

+ +
+
+ + + + + +
+ + + + +
const unsigned char DT_TILECACHE_NULL_AREA = 0
+
+static
+
+ +
+
+ +

◆ DT_TILECACHE_NULL_IDX

+ +
+
+ + + + + +
+ + + + +
const unsigned short DT_TILECACHE_NULL_IDX = 0xffff
+
+static
+
+ +
+
+ +

◆ DT_TILECACHE_VERSION

+ +
+
+ + + + + +
+ + + + +
const int DT_TILECACHE_VERSION = 1
+
+static
+
+ +
+
+ +

◆ DT_TILECACHE_WALKABLE_AREA

+ +
+
+ + + + + +
+ + + + +
const unsigned char DT_TILECACHE_WALKABLE_AREA = 63
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/DetourTileCacheBuilder_8h.js b/DetourTileCacheBuilder_8h.js new file mode 100644 index 00000000..db21fd17 --- /dev/null +++ b/DetourTileCacheBuilder_8h.js @@ -0,0 +1,29 @@ +var DetourTileCacheBuilder_8h = +[ + [ "dtTileCacheLayerHeader", "structdtTileCacheLayerHeader.html", "structdtTileCacheLayerHeader" ], + [ "dtTileCacheLayer", "structdtTileCacheLayer.html", "structdtTileCacheLayer" ], + [ "dtTileCacheContour", "structdtTileCacheContour.html", "structdtTileCacheContour" ], + [ "dtTileCacheContourSet", "structdtTileCacheContourSet.html", "structdtTileCacheContourSet" ], + [ "dtTileCachePolyMesh", "structdtTileCachePolyMesh.html", "structdtTileCachePolyMesh" ], + [ "dtTileCacheAlloc", "structdtTileCacheAlloc.html", "structdtTileCacheAlloc" ], + [ "dtTileCacheCompressor", "structdtTileCacheCompressor.html", "structdtTileCacheCompressor" ], + [ "dtAllocTileCacheContourSet", "DetourTileCacheBuilder_8h.html#ac56fd75ce61e6791ab64e1acc013e290", null ], + [ "dtAllocTileCachePolyMesh", "DetourTileCacheBuilder_8h.html#ad0aff6c472d0b05eb355467290740ac2", null ], + [ "dtBuildTileCacheContours", "DetourTileCacheBuilder_8h.html#a35744562caae9f2aa05e02d3ec242433", null ], + [ "dtBuildTileCacheLayer", "DetourTileCacheBuilder_8h.html#ab894d05678218a7c3a1cff480958395d", null ], + [ "dtBuildTileCachePolyMesh", "DetourTileCacheBuilder_8h.html#a09f7cfe18183529c3d88726a3a522d38", null ], + [ "dtBuildTileCacheRegions", "DetourTileCacheBuilder_8h.html#acfc6b37c6276eaf3a61fec688b2ba0e3", null ], + [ "dtDecompressTileCacheLayer", "DetourTileCacheBuilder_8h.html#a688d7e55e37ccfb358962a552b86423c", null ], + [ "dtFreeTileCacheContourSet", "DetourTileCacheBuilder_8h.html#abc76def8bcf87c7c15ad4a308126de6f", null ], + [ "dtFreeTileCacheLayer", "DetourTileCacheBuilder_8h.html#a5d8bca7845ae4c593726e2c0062ed0a7", null ], + [ "dtFreeTileCachePolyMesh", "DetourTileCacheBuilder_8h.html#a6b46fb526524261ff8383bc38d9e1983", null ], + [ "dtMarkBoxArea", "DetourTileCacheBuilder_8h.html#a56fa849023117c068a54f84248b4d1c9", null ], + [ "dtMarkBoxArea", "DetourTileCacheBuilder_8h.html#ae2f86fd0c1c1184e6d25d9f410c577f0", null ], + [ "dtMarkCylinderArea", "DetourTileCacheBuilder_8h.html#a85bd937d84ac57718deca82e3573588d", null ], + [ "dtTileCacheHeaderSwapEndian", "DetourTileCacheBuilder_8h.html#af7089fb5010342e6c48ca705a8f49928", null ], + [ "DT_TILECACHE_MAGIC", "DetourTileCacheBuilder_8h.html#a005319504c97da44fbdacdd8edade995", null ], + [ "DT_TILECACHE_NULL_AREA", "DetourTileCacheBuilder_8h.html#aba60a9bc7c6cb8c034ad6aa3b19b746d", null ], + [ "DT_TILECACHE_NULL_IDX", "DetourTileCacheBuilder_8h.html#ae8c0176360abedb2fdefe8902cfd0765", null ], + [ "DT_TILECACHE_VERSION", "DetourTileCacheBuilder_8h.html#a7a2c6e5ff42add3cd3f9b72452137ebc", null ], + [ "DT_TILECACHE_WALKABLE_AREA", "DetourTileCacheBuilder_8h.html#ac6d5504d72ce0d704071b631095b26c4", null ] +]; \ No newline at end of file diff --git a/DetourTileCacheBuilder_8h_source.html b/DetourTileCacheBuilder_8h_source.html new file mode 100644 index 00000000..e490e867 --- /dev/null +++ b/DetourTileCacheBuilder_8h_source.html @@ -0,0 +1,329 @@ + + + + + + + +Recast Navigation: DetourTileCacheBuilder.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DetourTileCacheBuilder.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 DETOURTILECACHEBUILDER_H
+
20 #define DETOURTILECACHEBUILDER_H
+
21 
+
22 #include "DetourAlloc.h"
+
23 #include "DetourStatus.h"
+
24 
+
25 static const int DT_TILECACHE_MAGIC = 'D'<<24 | 'T'<<16 | 'L'<<8 | 'R';
+
26 static const int DT_TILECACHE_VERSION = 1;
+
27 
+
28 static const unsigned char DT_TILECACHE_NULL_AREA = 0;
+
29 static const unsigned char DT_TILECACHE_WALKABLE_AREA = 63;
+
30 static const unsigned short DT_TILECACHE_NULL_IDX = 0xffff;
+
31 
+ +
33 {
+
34  int magic;
+
35  int version;
+
36  int tx,ty,tlayer;
+
37  float bmin[3], bmax[3];
+
38  unsigned short hmin, hmax;
+
39  unsigned char width, height;
+
40  unsigned char minx, maxx, miny, maxy;
+
41 };
+
42 
+ +
44 {
+ +
46  unsigned char regCount;
+
47  unsigned char* heights;
+
48  unsigned char* areas;
+
49  unsigned char* cons;
+
50  unsigned char* regs;
+
51 };
+
52 
+ +
54 {
+
55  int nverts;
+
56  unsigned char* verts;
+
57  unsigned char reg;
+
58  unsigned char area;
+
59 };
+
60 
+ +
62 {
+
63  int nconts;
+ +
65 };
+
66 
+ +
68 {
+
69  int nvp;
+
70  int nverts;
+
71  int npolys;
+
72  unsigned short* verts;
+
73  unsigned short* polys;
+
74  unsigned short* flags;
+
75  unsigned char* areas;
+
76 };
+
77 
+
78 
+ +
80 {
+
81  virtual ~dtTileCacheAlloc();
+
82 
+
83  virtual void reset() {}
+
84 
+
85  virtual void* alloc(const size_t size)
+
86  {
+
87  return dtAlloc(size, DT_ALLOC_TEMP);
+
88  }
+
89 
+
90  virtual void free(void* ptr)
+
91  {
+
92  dtFree(ptr);
+
93  }
+
94 };
+
95 
+ +
97 {
+
98  virtual ~dtTileCacheCompressor();
+
99 
+
100  virtual int maxCompressedSize(const int bufferSize) = 0;
+
101  virtual dtStatus compress(const unsigned char* buffer, const int bufferSize,
+
102  unsigned char* compressed, const int maxCompressedSize, int* compressedSize) = 0;
+
103  virtual dtStatus decompress(const unsigned char* compressed, const int compressedSize,
+
104  unsigned char* buffer, const int maxBufferSize, int* bufferSize) = 0;
+
105 };
+
106 
+
107 
+ +
109  dtTileCacheLayerHeader* header,
+
110  const unsigned char* heights,
+
111  const unsigned char* areas,
+
112  const unsigned char* cons,
+
113  unsigned char** outData, int* outDataSize);
+
114 
+ +
116 
+ +
118  unsigned char* compressed, const int compressedSize,
+
119  dtTileCacheLayer** layerOut);
+
120 
+ + +
123 
+ + +
126 
+
127 dtStatus dtMarkCylinderArea(dtTileCacheLayer& layer, const float* orig, const float cs, const float ch,
+
128  const float* pos, const float radius, const float height, const unsigned char areaId);
+
129 
+
130 dtStatus dtMarkBoxArea(dtTileCacheLayer& layer, const float* orig, const float cs, const float ch,
+
131  const float* bmin, const float* bmax, const unsigned char areaId);
+
132 
+
133 dtStatus dtMarkBoxArea(dtTileCacheLayer& layer, const float* orig, const float cs, const float ch,
+
134  const float* center, const float* halfExtents, const float* rotAux, const unsigned char areaId);
+
135 
+ +
137  dtTileCacheLayer& layer,
+
138  const int walkableClimb);
+
139 
+ +
141  dtTileCacheLayer& layer,
+
142  const int walkableClimb, const float maxError,
+
143  dtTileCacheContourSet& lcset);
+
144 
+ +
146  dtTileCacheContourSet& lcset,
+
147  dtTileCachePolyMesh& mesh);
+
148 
+
153 bool dtTileCacheHeaderSwapEndian(unsigned char* data, const int dataSize);
+
154 
+
155 
+
156 #endif // DETOURTILECACHEBUILDER_H
+ +
@ DT_ALLOC_TEMP
Memory used temporarily within a function.
Definition: DetourAlloc.h:29
+
void * dtAlloc(size_t size, dtAllocHint hint)
Allocates a memory block.
Definition: DetourAlloc.cpp:41
+
void dtFree(void *ptr)
Deallocates a memory block.
Definition: DetourAlloc.cpp:46
+ +
unsigned int dtStatus
Definition: DetourStatus.h:22
+
static const int DT_TILECACHE_MAGIC
'DTLR';
Definition: DetourTileCacheBuilder.h:25
+
dtStatus dtBuildTileCachePolyMesh(dtTileCacheAlloc *alloc, dtTileCacheContourSet &lcset, dtTileCachePolyMesh &mesh)
Definition: DetourTileCacheBuilder.cpp:1748
+
dtStatus dtBuildTileCacheContours(dtTileCacheAlloc *alloc, dtTileCacheLayer &layer, const int walkableClimb, const float maxError, dtTileCacheContourSet &lcset)
Definition: DetourTileCacheBuilder.cpp:748
+
dtStatus dtMarkBoxArea(dtTileCacheLayer &layer, const float *orig, const float cs, const float ch, const float *bmin, const float *bmax, const unsigned char areaId)
Definition: DetourTileCacheBuilder.cpp:2012
+
void dtFreeTileCacheLayer(dtTileCacheAlloc *alloc, dtTileCacheLayer *layer)
Definition: DetourTileCacheBuilder.cpp:2156
+
dtStatus dtDecompressTileCacheLayer(dtTileCacheAlloc *alloc, dtTileCacheCompressor *comp, unsigned char *compressed, const int compressedSize, dtTileCacheLayer **layerOut)
Definition: DetourTileCacheBuilder.cpp:2163
+
void dtFreeTileCachePolyMesh(dtTileCacheAlloc *alloc, dtTileCachePolyMesh *lmesh)
Definition: DetourTileCacheBuilder.cpp:95
+
static const int DT_TILECACHE_VERSION
Definition: DetourTileCacheBuilder.h:26
+
dtStatus dtMarkCylinderArea(dtTileCacheLayer &layer, const float *orig, const float cs, const float ch, const float *pos, const float radius, const float height, const unsigned char areaId)
Definition: DetourTileCacheBuilder.cpp:1957
+
dtStatus dtBuildTileCacheLayer(dtTileCacheCompressor *comp, dtTileCacheLayerHeader *header, const unsigned char *heights, const unsigned char *areas, const unsigned char *cons, unsigned char **outData, int *outDataSize)
Definition: DetourTileCacheBuilder.cpp:2105
+
static const unsigned char DT_TILECACHE_NULL_AREA
Definition: DetourTileCacheBuilder.h:28
+
void dtFreeTileCacheContourSet(dtTileCacheAlloc *alloc, dtTileCacheContourSet *cset)
Definition: DetourTileCacheBuilder.cpp:75
+
dtTileCacheContourSet * dtAllocTileCacheContourSet(dtTileCacheAlloc *alloc)
Definition: DetourTileCacheBuilder.cpp:66
+
static const unsigned char DT_TILECACHE_WALKABLE_AREA
Definition: DetourTileCacheBuilder.h:29
+
dtStatus dtBuildTileCacheRegions(dtTileCacheAlloc *alloc, dtTileCacheLayer &layer, const int walkableClimb)
Definition: DetourTileCacheBuilder.cpp:186
+
dtTileCachePolyMesh * dtAllocTileCachePolyMesh(dtTileCacheAlloc *alloc)
Definition: DetourTileCacheBuilder.cpp:86
+
static const unsigned short DT_TILECACHE_NULL_IDX
Definition: DetourTileCacheBuilder.h:30
+
bool dtTileCacheHeaderSwapEndian(unsigned char *data, const int dataSize)
Swaps the endianess of the compressed tile data's header (dtTileCacheLayerHeader).
Definition: DetourTileCacheBuilder.cpp:2223
+
Definition: DetourTileCacheBuilder.h:80
+
virtual void reset()
Definition: DetourTileCacheBuilder.h:83
+
virtual void * alloc(const size_t size)
Definition: DetourTileCacheBuilder.h:85
+
virtual ~dtTileCacheAlloc()
Definition: DetourTileCacheBuilder.cpp:26
+
virtual void free(void *ptr)
Definition: DetourTileCacheBuilder.h:90
+
Definition: DetourTileCacheBuilder.h:97
+
virtual dtStatus decompress(const unsigned char *compressed, const int compressedSize, unsigned char *buffer, const int maxBufferSize, int *bufferSize)=0
+
virtual ~dtTileCacheCompressor()
Definition: DetourTileCacheBuilder.cpp:31
+
virtual int maxCompressedSize(const int bufferSize)=0
+
virtual dtStatus compress(const unsigned char *buffer, const int bufferSize, unsigned char *compressed, const int maxCompressedSize, int *compressedSize)=0
+
Definition: DetourTileCacheBuilder.h:62
+
dtTileCacheContour * conts
Definition: DetourTileCacheBuilder.h:64
+
int nconts
Definition: DetourTileCacheBuilder.h:63
+
Definition: DetourTileCacheBuilder.h:54
+
int nverts
Definition: DetourTileCacheBuilder.h:55
+
unsigned char area
Definition: DetourTileCacheBuilder.h:58
+
unsigned char * verts
Definition: DetourTileCacheBuilder.h:56
+
unsigned char reg
Definition: DetourTileCacheBuilder.h:57
+
Definition: DetourTileCacheBuilder.h:33
+
int ty
Definition: DetourTileCacheBuilder.h:36
+
unsigned short hmax
Height min/max range.
Definition: DetourTileCacheBuilder.h:38
+
int tx
Definition: DetourTileCacheBuilder.h:36
+
unsigned char height
Dimension of the layer.
Definition: DetourTileCacheBuilder.h:39
+
unsigned char miny
Definition: DetourTileCacheBuilder.h:40
+
int tlayer
Definition: DetourTileCacheBuilder.h:36
+
float bmin[3]
Definition: DetourTileCacheBuilder.h:37
+
int magic
Data magic.
Definition: DetourTileCacheBuilder.h:34
+
unsigned char width
Definition: DetourTileCacheBuilder.h:39
+
unsigned char maxx
Definition: DetourTileCacheBuilder.h:40
+
float bmax[3]
Definition: DetourTileCacheBuilder.h:37
+
unsigned char minx
Definition: DetourTileCacheBuilder.h:40
+
int version
Data version.
Definition: DetourTileCacheBuilder.h:35
+
unsigned short hmin
Definition: DetourTileCacheBuilder.h:38
+
unsigned char maxy
Usable sub-region.
Definition: DetourTileCacheBuilder.h:40
+
Definition: DetourTileCacheBuilder.h:44
+
unsigned char * regs
Definition: DetourTileCacheBuilder.h:50
+
unsigned char * cons
Definition: DetourTileCacheBuilder.h:49
+
unsigned char regCount
Region count.
Definition: DetourTileCacheBuilder.h:46
+
unsigned char * heights
Definition: DetourTileCacheBuilder.h:47
+
dtTileCacheLayerHeader * header
Definition: DetourTileCacheBuilder.h:45
+
unsigned char * areas
Definition: DetourTileCacheBuilder.h:48
+
Definition: DetourTileCacheBuilder.h:68
+
int npolys
Number of polygons.
Definition: DetourTileCacheBuilder.h:71
+
unsigned short * polys
Polygons of the mesh, nvp*2 elements per polygon.
Definition: DetourTileCacheBuilder.h:73
+
int nverts
Number of vertices.
Definition: DetourTileCacheBuilder.h:70
+
unsigned char * areas
Area ID of polygons.
Definition: DetourTileCacheBuilder.h:75
+
unsigned short * flags
Per polygon flags.
Definition: DetourTileCacheBuilder.h:74
+
int nvp
Definition: DetourTileCacheBuilder.h:69
+
unsigned short * verts
Vertices of the mesh, 3 elements per vertex.
Definition: DetourTileCacheBuilder.h:72
+
+
+ + + + + diff --git a/DetourTileCache_8cpp.html b/DetourTileCache_8cpp.html new file mode 100644 index 00000000..5832b56b --- /dev/null +++ b/DetourTileCache_8cpp.html @@ -0,0 +1,254 @@ + + + + + + + +Recast Navigation: DetourTileCache.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourTileCache.cpp File Reference
+
+
+
#include "DetourTileCache.h"
+#include "DetourTileCacheBuilder.h"
+#include "DetourNavMeshBuilder.h"
+#include "DetourNavMesh.h"
+#include "DetourCommon.h"
+#include "DetourMath.h"
+#include "DetourAlloc.h"
+#include "DetourAssert.h"
+#include <string.h>
+#include <new>
+
+ + + +

+Classes

struct  NavMeshTileBuildContext
 
+ + + + + + + + + +

+Functions

dtTileCachedtAllocTileCache ()
 
void dtFreeTileCache (dtTileCache *tc)
 
static bool contains (const dtCompressedTileRef *a, const int n, const dtCompressedTileRef v)
 
int computeTileHash (int x, int y, const int mask)
 
+

Function Documentation

+ +

◆ computeTileHash()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
int computeTileHash (int x,
int y,
const int mask 
)
+
+inline
+
+ +
+
+ +

◆ contains()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static bool contains (const dtCompressedTileRefa,
const int n,
const dtCompressedTileRef v 
)
+
+static
+
+ +
+
+ +

◆ dtAllocTileCache()

+ +
+
+ + + + + + + +
dtTileCache* dtAllocTileCache ()
+
+ +
+
+ +

◆ dtFreeTileCache()

+ +
+
+ + + + + + + + +
void dtFreeTileCache (dtTileCachetc)
+
+ +
+
+
+
+ + + + + diff --git a/DetourTileCache_8cpp.js b/DetourTileCache_8cpp.js new file mode 100644 index 00000000..40ab9177 --- /dev/null +++ b/DetourTileCache_8cpp.js @@ -0,0 +1,8 @@ +var DetourTileCache_8cpp = +[ + [ "NavMeshTileBuildContext", "structNavMeshTileBuildContext.html", "structNavMeshTileBuildContext" ], + [ "computeTileHash", "DetourTileCache_8cpp.html#ab22aa4a9219f2568cb77b35fbc2d0f9b", null ], + [ "contains", "DetourTileCache_8cpp.html#a4cb5c73a94227600c0ab6904dd2e7dbd", null ], + [ "dtAllocTileCache", "DetourTileCache_8cpp.html#abbf86fa9f52a802f0a1005b9dfd31b53", null ], + [ "dtFreeTileCache", "DetourTileCache_8cpp.html#ac7924ac4ce94c94affdfbe6a07cea976", null ] +]; \ No newline at end of file diff --git a/DetourTileCache_8h.html b/DetourTileCache_8h.html new file mode 100644 index 00000000..2d538a5c --- /dev/null +++ b/DetourTileCache_8h.html @@ -0,0 +1,318 @@ + + + + + + + +Recast Navigation: DetourTileCache.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DetourTileCache.h File Reference
+
+
+
#include "DetourStatus.h"
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + +

+Classes

struct  dtCompressedTile
 
struct  dtObstacleCylinder
 
struct  dtObstacleBox
 
struct  dtObstacleOrientedBox
 
struct  dtTileCacheObstacle
 
struct  dtTileCacheParams
 
struct  dtTileCacheMeshProcess
 
class  dtTileCache
 
+ + + + + +

+Typedefs

typedef unsigned int dtObstacleRef
 
typedef unsigned int dtCompressedTileRef
 
+ + + + + + + + +

+Enumerations

enum  dtCompressedTileFlags { DT_COMPRESSEDTILE_FREE_DATA = 0x01 + }
 Flags for addTile. More...
 
enum  ObstacleState { DT_OBSTACLE_EMPTY +, DT_OBSTACLE_PROCESSING +, DT_OBSTACLE_PROCESSED +, DT_OBSTACLE_REMOVING + }
 
enum  ObstacleType { DT_OBSTACLE_CYLINDER +, DT_OBSTACLE_BOX +, DT_OBSTACLE_ORIENTED_BOX + }
 
+ + + + + +

+Functions

dtTileCachedtAllocTileCache ()
 
void dtFreeTileCache (dtTileCache *tc)
 
+ + + +

+Variables

static const int DT_MAX_TOUCHED_TILES = 8
 
+

Typedef Documentation

+ +

◆ dtCompressedTileRef

+ +
+
+ + + + +
typedef unsigned int dtCompressedTileRef
+
+ +
+
+ +

◆ dtObstacleRef

+ +
+
+ + + + +
typedef unsigned int dtObstacleRef
+
+ +
+
+

Enumeration Type Documentation

+ +

◆ dtCompressedTileFlags

+ +
+
+ + + + +
enum dtCompressedTileFlags
+
+ +

Flags for addTile.

+ + +
Enumerator
DT_COMPRESSEDTILE_FREE_DATA 

Navmesh owns the tile memory and should free it.

+
+ +
+
+ +

◆ ObstacleState

+ +
+
+ + + + +
enum ObstacleState
+
+ + + + + +
Enumerator
DT_OBSTACLE_EMPTY 
DT_OBSTACLE_PROCESSING 
DT_OBSTACLE_PROCESSED 
DT_OBSTACLE_REMOVING 
+ +
+
+ +

◆ ObstacleType

+ +
+
+ + + + +
enum ObstacleType
+
+ + + + +
Enumerator
DT_OBSTACLE_CYLINDER 
DT_OBSTACLE_BOX 
DT_OBSTACLE_ORIENTED_BOX 
+ +
+
+

Function Documentation

+ +

◆ dtAllocTileCache()

+ +
+
+ + + + + + + +
dtTileCache* dtAllocTileCache ()
+
+ +
+
+ +

◆ dtFreeTileCache()

+ +
+
+ + + + + + + + +
void dtFreeTileCache (dtTileCachetc)
+
+ +
+
+

Variable Documentation

+ +

◆ DT_MAX_TOUCHED_TILES

+ +
+
+ + + + + +
+ + + + +
const int DT_MAX_TOUCHED_TILES = 8
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/DetourTileCache_8h.js b/DetourTileCache_8h.js new file mode 100644 index 00000000..a671fb0d --- /dev/null +++ b/DetourTileCache_8h.js @@ -0,0 +1,30 @@ +var DetourTileCache_8h = +[ + [ "dtCompressedTile", "structdtCompressedTile.html", "structdtCompressedTile" ], + [ "dtObstacleCylinder", "structdtObstacleCylinder.html", "structdtObstacleCylinder" ], + [ "dtObstacleBox", "structdtObstacleBox.html", "structdtObstacleBox" ], + [ "dtObstacleOrientedBox", "structdtObstacleOrientedBox.html", "structdtObstacleOrientedBox" ], + [ "dtTileCacheObstacle", "structdtTileCacheObstacle.html", "structdtTileCacheObstacle" ], + [ "dtTileCacheParams", "structdtTileCacheParams.html", "structdtTileCacheParams" ], + [ "dtTileCacheMeshProcess", "structdtTileCacheMeshProcess.html", "structdtTileCacheMeshProcess" ], + [ "dtTileCache", "classdtTileCache.html", "classdtTileCache" ], + [ "dtCompressedTileRef", "DetourTileCache_8h.html#ae3892eb9546be426b84e906846ada2f6", null ], + [ "dtObstacleRef", "DetourTileCache_8h.html#a98ea3fd044afb85907f03e6de505fa75", null ], + [ "dtCompressedTileFlags", "DetourTileCache_8h.html#ae7bbfdb463ce9748076a000e6a4f95e7", [ + [ "DT_COMPRESSEDTILE_FREE_DATA", "DetourTileCache_8h.html#ae7bbfdb463ce9748076a000e6a4f95e7ae39535ace91c26741052d77c5a2dcb8d", null ] + ] ], + [ "ObstacleState", "DetourTileCache_8h.html#aa7ed646a7dd7b710737b2f9519ba6be0", [ + [ "DT_OBSTACLE_EMPTY", "DetourTileCache_8h.html#aa7ed646a7dd7b710737b2f9519ba6be0a094b269c342db86c17d4e378a5b40e91", null ], + [ "DT_OBSTACLE_PROCESSING", "DetourTileCache_8h.html#aa7ed646a7dd7b710737b2f9519ba6be0addaffc9e5b62b3804b907d00dd29cc16", null ], + [ "DT_OBSTACLE_PROCESSED", "DetourTileCache_8h.html#aa7ed646a7dd7b710737b2f9519ba6be0a4498b976355b555e4f3f44f83a1c00f4", null ], + [ "DT_OBSTACLE_REMOVING", "DetourTileCache_8h.html#aa7ed646a7dd7b710737b2f9519ba6be0a994e7077e1e02ba53b4b00d5cf0430fb", null ] + ] ], + [ "ObstacleType", "DetourTileCache_8h.html#a9852a22595ceae4debd70f078e037971", [ + [ "DT_OBSTACLE_CYLINDER", "DetourTileCache_8h.html#a9852a22595ceae4debd70f078e037971a766d09d1314b46ef10e4841c3bee531f", null ], + [ "DT_OBSTACLE_BOX", "DetourTileCache_8h.html#a9852a22595ceae4debd70f078e037971ab654da18354a922d963354e55469a66b", null ], + [ "DT_OBSTACLE_ORIENTED_BOX", "DetourTileCache_8h.html#a9852a22595ceae4debd70f078e037971ab58715685be1dff92c88c3e008f16b04", null ] + ] ], + [ "dtAllocTileCache", "DetourTileCache_8h.html#abbf86fa9f52a802f0a1005b9dfd31b53", null ], + [ "dtFreeTileCache", "DetourTileCache_8h.html#ac7924ac4ce94c94affdfbe6a07cea976", null ], + [ "DT_MAX_TOUCHED_TILES", "DetourTileCache_8h.html#a3d05fd569d4f9cb51f3c99cbbdf97e22", null ] +]; \ No newline at end of file diff --git a/DetourTileCache_8h_source.html b/DetourTileCache_8h_source.html new file mode 100644 index 00000000..5fdb57ce --- /dev/null +++ b/DetourTileCache_8h_source.html @@ -0,0 +1,451 @@ + + + + + + + +Recast Navigation: DetourTileCache.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DetourTileCache.h
+
+
+Go to the documentation of this file.
1 #ifndef DETOURTILECACHE_H
+
2 #define DETOURTILECACHE_H
+
3 
+
4 #include "DetourStatus.h"
+
5 
+
6 typedef unsigned int dtObstacleRef;
+
7 typedef unsigned int dtCompressedTileRef;
+
8 
+ +
11 {
+ +
13 };
+
14 
+ +
16 {
+
17  unsigned int salt;
+ +
19  unsigned char* compressed;
+ +
21  unsigned char* data;
+
22  int dataSize;
+
23  unsigned int flags;
+ +
25 };
+
26 
+ +
28 {
+ + + + +
33 };
+
34 
+ +
36 {
+ +
38  DT_OBSTACLE_BOX, // AABB
+ +
40 };
+
41 
+ +
43 {
+
44  float pos[ 3 ];
+
45  float radius;
+
46  float height;
+
47 };
+
48 
+ +
50 {
+
51  float bmin[ 3 ];
+
52  float bmax[ 3 ];
+
53 };
+
54 
+ +
56 {
+
57  float center[ 3 ];
+
58  float halfExtents[ 3 ];
+
59  float rotAux[ 2 ]; //{ cos(0.5f*angle)*sin(-0.5f*angle); cos(0.5f*angle)*cos(0.5f*angle) - 0.5 }
+
60 };
+
61 
+
62 static const int DT_MAX_TOUCHED_TILES = 8;
+ +
64 {
+
65  union
+
66  {
+ + + +
70  };
+
71 
+ + +
74  unsigned short salt;
+
75  unsigned char type;
+
76  unsigned char state;
+
77  unsigned char ntouched;
+
78  unsigned char npending;
+ +
80 };
+
81 
+ +
83 {
+
84  float orig[3];
+
85  float cs, ch;
+
86  int width, height;
+ + + + +
91  int maxTiles;
+ +
93 };
+
94 
+ +
96 {
+
97  virtual ~dtTileCacheMeshProcess();
+
98  virtual void process(struct dtNavMeshCreateParams* params, unsigned char* polyAreas, unsigned short* polyFlags) = 0;
+
99 };
+
100 
+ +
102 {
+
103 public:
+
104  dtTileCache();
+
105  ~dtTileCache();
+
106 
+
107  struct dtTileCacheAlloc* getAlloc() { return m_talloc; }
+
108  struct dtTileCacheCompressor* getCompressor() { return m_tcomp; }
+
109  const dtTileCacheParams* getParams() const { return &m_params; }
+
110 
+
111  inline int getTileCount() const { return m_params.maxTiles; }
+
112  inline const dtCompressedTile* getTile(const int i) const { return &m_tiles[i]; }
+
113 
+
114  inline int getObstacleCount() const { return m_params.maxObstacles; }
+
115  inline const dtTileCacheObstacle* getObstacle(const int i) const { return &m_obstacles[i]; }
+
116 
+ +
118 
+ +
120 
+
121  dtStatus init(const dtTileCacheParams* params,
+
122  struct dtTileCacheAlloc* talloc,
+
123  struct dtTileCacheCompressor* tcomp,
+
124  struct dtTileCacheMeshProcess* tmproc);
+
125 
+
126  int getTilesAt(const int tx, const int ty, dtCompressedTileRef* tiles, const int maxTiles) const ;
+
127 
+
128  dtCompressedTile* getTileAt(const int tx, const int ty, const int tlayer);
+ + +
131 
+
132  dtStatus addTile(unsigned char* data, const int dataSize, unsigned char flags, dtCompressedTileRef* result);
+
133 
+
134  dtStatus removeTile(dtCompressedTileRef ref, unsigned char** data, int* dataSize);
+
135 
+
136  // Cylinder obstacle.
+
137  dtStatus addObstacle(const float* pos, const float radius, const float height, dtObstacleRef* result);
+
138 
+
139  // Aabb obstacle.
+
140  dtStatus addBoxObstacle(const float* bmin, const float* bmax, dtObstacleRef* result);
+
141 
+
142  // Box obstacle: can be rotated in Y.
+
143  dtStatus addBoxObstacle(const float* center, const float* halfExtents, const float yRadians, dtObstacleRef* result);
+
144 
+ +
146 
+
147  dtStatus queryTiles(const float* bmin, const float* bmax,
+
148  dtCompressedTileRef* results, int* resultCount, const int maxResults) const;
+
149 
+
156  dtStatus update(const float dt, class dtNavMesh* navmesh, bool* upToDate = 0);
+
157 
+
158  dtStatus buildNavMeshTilesAt(const int tx, const int ty, class dtNavMesh* navmesh);
+
159 
+
160  dtStatus buildNavMeshTile(const dtCompressedTileRef ref, class dtNavMesh* navmesh);
+
161 
+
162  void calcTightTileBounds(const struct dtTileCacheLayerHeader* header, float* bmin, float* bmax) const;
+
163 
+
164  void getObstacleBounds(const struct dtTileCacheObstacle* ob, float* bmin, float* bmax) const;
+
165 
+
166 
+
168  inline dtCompressedTileRef encodeTileId(unsigned int salt, unsigned int it) const
+
169  {
+
170  return ((dtCompressedTileRef)salt << m_tileBits) | (dtCompressedTileRef)it;
+
171  }
+
172 
+
174  inline unsigned int decodeTileIdSalt(dtCompressedTileRef ref) const
+
175  {
+
176  const dtCompressedTileRef saltMask = ((dtCompressedTileRef)1<<m_saltBits)-1;
+
177  return (unsigned int)((ref >> m_tileBits) & saltMask);
+
178  }
+
179 
+
181  inline unsigned int decodeTileIdTile(dtCompressedTileRef ref) const
+
182  {
+
183  const dtCompressedTileRef tileMask = ((dtCompressedTileRef)1<<m_tileBits)-1;
+
184  return (unsigned int)(ref & tileMask);
+
185  }
+
186 
+
188  inline dtObstacleRef encodeObstacleId(unsigned int salt, unsigned int it) const
+
189  {
+
190  return ((dtObstacleRef)salt << 16) | (dtObstacleRef)it;
+
191  }
+
192 
+
194  inline unsigned int decodeObstacleIdSalt(dtObstacleRef ref) const
+
195  {
+
196  const dtObstacleRef saltMask = ((dtObstacleRef)1<<16)-1;
+
197  return (unsigned int)((ref >> 16) & saltMask);
+
198  }
+
199 
+
201  inline unsigned int decodeObstacleIdObstacle(dtObstacleRef ref) const
+
202  {
+
203  const dtObstacleRef tileMask = ((dtObstacleRef)1<<16)-1;
+
204  return (unsigned int)(ref & tileMask);
+
205  }
+
206 
+
207 
+
208 private:
+
209  // Explicitly disabled copy constructor and copy assignment operator.
+
210  dtTileCache(const dtTileCache&);
+
211  dtTileCache& operator=(const dtTileCache&);
+
212 
+
213  enum ObstacleRequestAction
+
214  {
+
215  REQUEST_ADD,
+
216  REQUEST_REMOVE
+
217  };
+
218 
+
219  struct ObstacleRequest
+
220  {
+
221  int action;
+
222  dtObstacleRef ref;
+
223  };
+
224 
+
225  int m_tileLutSize;
+
226  int m_tileLutMask;
+
227 
+
228  dtCompressedTile** m_posLookup;
+
229  dtCompressedTile* m_nextFreeTile;
+
230  dtCompressedTile* m_tiles;
+
231 
+
232  unsigned int m_saltBits;
+
233  unsigned int m_tileBits;
+
234 
+
235  dtTileCacheParams m_params;
+
236 
+
237  dtTileCacheAlloc* m_talloc;
+
238  dtTileCacheCompressor* m_tcomp;
+
239  dtTileCacheMeshProcess* m_tmproc;
+
240 
+
241  dtTileCacheObstacle* m_obstacles;
+
242  dtTileCacheObstacle* m_nextFreeObstacle;
+
243 
+
244  static const int MAX_REQUESTS = 64;
+
245  ObstacleRequest m_reqs[MAX_REQUESTS];
+
246  int m_nreqs;
+
247 
+
248  static const int MAX_UPDATE = 64;
+
249  dtCompressedTileRef m_update[MAX_UPDATE];
+
250  int m_nupdate;
+
251 };
+
252 
+ +
254 void dtFreeTileCache(dtTileCache* tc);
+
255 
+
256 #endif
+ +
unsigned int dtStatus
Definition: DetourStatus.h:22
+
static const int DT_MAX_TOUCHED_TILES
Definition: DetourTileCache.h:62
+
ObstacleType
Definition: DetourTileCache.h:36
+
@ DT_OBSTACLE_CYLINDER
Definition: DetourTileCache.h:37
+
@ DT_OBSTACLE_ORIENTED_BOX
Definition: DetourTileCache.h:39
+
@ DT_OBSTACLE_BOX
Definition: DetourTileCache.h:38
+
unsigned int dtObstacleRef
Definition: DetourTileCache.h:6
+
ObstacleState
Definition: DetourTileCache.h:28
+
@ DT_OBSTACLE_EMPTY
Definition: DetourTileCache.h:29
+
@ DT_OBSTACLE_PROCESSED
Definition: DetourTileCache.h:31
+
@ DT_OBSTACLE_REMOVING
Definition: DetourTileCache.h:32
+
@ DT_OBSTACLE_PROCESSING
Definition: DetourTileCache.h:30
+
dtTileCache * dtAllocTileCache()
Definition: DetourTileCache.cpp:12
+
void dtFreeTileCache(dtTileCache *tc)
Definition: DetourTileCache.cpp:19
+
unsigned int dtCompressedTileRef
Definition: DetourTileCache.h:7
+
dtCompressedTileFlags
Flags for addTile.
Definition: DetourTileCache.h:11
+
@ DT_COMPRESSEDTILE_FREE_DATA
Navmesh owns the tile memory and should free it.
Definition: DetourTileCache.h:12
+
A navigation mesh based on tiles of convex polygons.
Definition: DetourNavMesh.h:339
+
Definition: DetourTileCache.h:102
+
dtObstacleRef encodeObstacleId(unsigned int salt, unsigned int it) const
Encodes an obstacle id.
Definition: DetourTileCache.h:188
+
struct dtTileCacheCompressor * getCompressor()
Definition: DetourTileCache.h:108
+
unsigned int decodeTileIdSalt(dtCompressedTileRef ref) const
Decodes a tile salt.
Definition: DetourTileCache.h:174
+
dtCompressedTileRef getTileRef(const dtCompressedTile *tile) const
Definition: DetourTileCache.cpp:214
+
unsigned int decodeObstacleIdObstacle(dtObstacleRef ref) const
Decodes an obstacle id.
Definition: DetourTileCache.h:201
+
int getTilesAt(const int tx, const int ty, dtCompressedTileRef *tiles, const int maxTiles) const
Definition: DetourTileCache.cpp:173
+
dtStatus addObstacle(const float *pos, const float radius, const float height, dtObstacleRef *result)
Definition: DetourTileCache.cpp:359
+
dtStatus buildNavMeshTile(const dtCompressedTileRef ref, class dtNavMesh *navmesh)
Definition: DetourTileCache.cpp:657
+
const dtTileCacheObstacle * getObstacle(const int i) const
Definition: DetourTileCache.h:115
+
const dtTileCacheObstacle * getObstacleByRef(dtObstacleRef ref)
Definition: DetourTileCache.cpp:228
+
const dtCompressedTile * getTileByRef(dtCompressedTileRef ref) const
Definition: DetourTileCache.cpp:103
+
void getObstacleBounds(const struct dtTileCacheObstacle *ob, float *bmin, float *bmax) const
Definition: DetourTileCache.cpp:795
+
dtStatus addBoxObstacle(const float *bmin, const float *bmax, dtObstacleRef *result)
Definition: DetourTileCache.cpp:394
+
int getObstacleCount() const
Definition: DetourTileCache.h:114
+
dtCompressedTileRef encodeTileId(unsigned int salt, unsigned int it) const
Encodes a tile id.
Definition: DetourTileCache.h:168
+
dtStatus removeTile(dtCompressedTileRef ref, unsigned char **data, int *dataSize)
Definition: DetourTileCache.cpp:293
+
dtStatus update(const float dt, class dtNavMesh *navmesh, bool *upToDate=0)
Updates the tile cache by rebuilding tiles touched by unfinished obstacle requests.
Definition: DetourTileCache.cpp:523
+
unsigned int decodeTileIdTile(dtCompressedTileRef ref) const
Decodes a tile id.
Definition: DetourTileCache.h:181
+
dtStatus init(const dtTileCacheParams *params, struct dtTileCacheAlloc *talloc, struct dtTileCacheCompressor *tcomp, struct dtTileCacheMeshProcess *tmproc)
Definition: DetourTileCache.cpp:118
+
dtObstacleRef getObstacleRef(const dtTileCacheObstacle *obmin) const
Definition: DetourTileCache.cpp:221
+
~dtTileCache()
Definition: DetourTileCache.cpp:83
+
const dtCompressedTile * getTile(const int i) const
Definition: DetourTileCache.h:112
+
void calcTightTileBounds(const struct dtTileCacheLayerHeader *header, float *bmin, float *bmax) const
Definition: DetourTileCache.cpp:784
+
dtStatus addTile(unsigned char *data, const int dataSize, unsigned char flags, dtCompressedTileRef *result)
Definition: DetourTileCache.cpp:247
+
unsigned int decodeObstacleIdSalt(dtObstacleRef ref) const
Decodes an obstacle salt.
Definition: DetourTileCache.h:194
+
struct dtTileCacheAlloc * getAlloc()
Definition: DetourTileCache.h:107
+
const dtTileCacheParams * getParams() const
Definition: DetourTileCache.h:109
+
dtTileCache()
Definition: DetourTileCache.cpp:63
+
dtCompressedTile * getTileAt(const int tx, const int ty, const int tlayer)
Definition: DetourTileCache.cpp:195
+
dtStatus buildNavMeshTilesAt(const int tx, const int ty, class dtNavMesh *navmesh)
Definition: DetourTileCache.cpp:641
+
int getTileCount() const
Definition: DetourTileCache.h:111
+
dtStatus queryTiles(const float *bmin, const float *bmax, dtCompressedTileRef *results, int *resultCount, const int maxResults) const
Definition: DetourTileCache.cpp:482
+
dtStatus removeObstacle(const dtObstacleRef ref)
Definition: DetourTileCache.cpp:467
+
Definition: DetourTileCache.h:16
+
unsigned char * data
Definition: DetourTileCache.h:21
+
dtCompressedTile * next
Definition: DetourTileCache.h:24
+
unsigned int flags
Definition: DetourTileCache.h:23
+
unsigned char * compressed
Definition: DetourTileCache.h:19
+
int compressedSize
Definition: DetourTileCache.h:20
+
struct dtTileCacheLayerHeader * header
Definition: DetourTileCache.h:18
+
int dataSize
Definition: DetourTileCache.h:22
+
unsigned int salt
Counter describing modifications to the tile.
Definition: DetourTileCache.h:17
+
Represents the source data used to build an navigation mesh tile.
Definition: DetourNavMeshBuilder.h:27
+
Definition: DetourTileCache.h:50
+
float bmax[3]
Definition: DetourTileCache.h:52
+
float bmin[3]
Definition: DetourTileCache.h:51
+
Definition: DetourTileCache.h:43
+
float pos[3]
Definition: DetourTileCache.h:44
+
float height
Definition: DetourTileCache.h:46
+
float radius
Definition: DetourTileCache.h:45
+
Definition: DetourTileCache.h:56
+
float rotAux[2]
Definition: DetourTileCache.h:59
+
float center[3]
Definition: DetourTileCache.h:57
+
float halfExtents[3]
Definition: DetourTileCache.h:58
+
Definition: DetourTileCacheBuilder.h:80
+
Definition: DetourTileCacheBuilder.h:97
+
Definition: DetourTileCacheBuilder.h:33
+
Definition: DetourTileCache.h:96
+
virtual void process(struct dtNavMeshCreateParams *params, unsigned char *polyAreas, unsigned short *polyFlags)=0
+
virtual ~dtTileCacheMeshProcess()
Definition: DetourTileCache.cpp:242
+
Definition: DetourTileCache.h:64
+
dtObstacleBox box
Definition: DetourTileCache.h:68
+
unsigned char ntouched
Definition: DetourTileCache.h:77
+
dtCompressedTileRef touched[DT_MAX_TOUCHED_TILES]
Definition: DetourTileCache.h:72
+
unsigned char state
Definition: DetourTileCache.h:76
+
unsigned char npending
Definition: DetourTileCache.h:78
+
dtObstacleCylinder cylinder
Definition: DetourTileCache.h:67
+
dtTileCacheObstacle * next
Definition: DetourTileCache.h:79
+
unsigned short salt
Definition: DetourTileCache.h:74
+
dtObstacleOrientedBox orientedBox
Definition: DetourTileCache.h:69
+
unsigned char type
Definition: DetourTileCache.h:75
+
dtCompressedTileRef pending[DT_MAX_TOUCHED_TILES]
Definition: DetourTileCache.h:73
+
Definition: DetourTileCache.h:83
+
int width
Definition: DetourTileCache.h:86
+
int height
Definition: DetourTileCache.h:86
+
int maxTiles
Definition: DetourTileCache.h:91
+
int maxObstacles
Definition: DetourTileCache.h:92
+
float ch
Definition: DetourTileCache.h:85
+
float maxSimplificationError
Definition: DetourTileCache.h:90
+
float walkableClimb
Definition: DetourTileCache.h:89
+
float cs
Definition: DetourTileCache.h:85
+
float walkableHeight
Definition: DetourTileCache.h:87
+
float walkableRadius
Definition: DetourTileCache.h:88
+
float orig[3]
Definition: DetourTileCache.h:84
+
+
+ + + + + diff --git a/Filelist_8cpp.html b/Filelist_8cpp.html new file mode 100644 index 00000000..d75a1c6b --- /dev/null +++ b/Filelist_8cpp.html @@ -0,0 +1,187 @@ + + + + + + + +Recast Navigation: Filelist.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Filelist.cpp File Reference
+
+
+
#include "Filelist.h"
+#include <algorithm>
+#include <dirent.h>
+#include <cstring>
+
+ + + + + +

+Functions

void scanDirectoryAppend (const string &path, const string &ext, vector< string > &filelist)
 
void scanDirectory (const string &path, const string &ext, vector< string > &filelist)
 
+

Function Documentation

+ +

◆ scanDirectory()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void scanDirectory (const string & path,
const string & ext,
vector< string > & filelist 
)
+
+ +
+
+ +

◆ scanDirectoryAppend()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void scanDirectoryAppend (const string & path,
const string & ext,
vector< string > & filelist 
)
+
+ +
+
+
+
+ + + + + diff --git a/Filelist_8cpp.js b/Filelist_8cpp.js new file mode 100644 index 00000000..a7e14f98 --- /dev/null +++ b/Filelist_8cpp.js @@ -0,0 +1,5 @@ +var Filelist_8cpp = +[ + [ "scanDirectory", "Filelist_8cpp.html#a2baf53e840e4fefc5e6933fb3d53569e", null ], + [ "scanDirectoryAppend", "Filelist_8cpp.html#ab77bcf8d92348f01734b4aeafec8c4d6", null ] +]; \ No newline at end of file diff --git a/Filelist_8h.html b/Filelist_8h.html new file mode 100644 index 00000000..9ac676b8 --- /dev/null +++ b/Filelist_8h.html @@ -0,0 +1,187 @@ + + + + + + + +Recast Navigation: Filelist.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Filelist.h File Reference
+
+
+
#include <vector>
+#include <string>
+
+

Go to the source code of this file.

+ + + + + + +

+Functions

void scanDirectoryAppend (const std::string &path, const std::string &ext, std::vector< std::string > &fileList)
 
void scanDirectory (const std::string &path, const std::string &ext, std::vector< std::string > &fileList)
 
+

Function Documentation

+ +

◆ scanDirectory()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void scanDirectory (const std::string & path,
const std::string & ext,
std::vector< std::string > & fileList 
)
+
+ +
+
+ +

◆ scanDirectoryAppend()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void scanDirectoryAppend (const std::string & path,
const std::string & ext,
std::vector< std::string > & fileList 
)
+
+ +
+
+
+
+ + + + + diff --git a/Filelist_8h.js b/Filelist_8h.js new file mode 100644 index 00000000..db7ba488 --- /dev/null +++ b/Filelist_8h.js @@ -0,0 +1,5 @@ +var Filelist_8h = +[ + [ "scanDirectory", "Filelist_8h.html#a45c5368afb38260fa0c524b2b084efee", null ], + [ "scanDirectoryAppend", "Filelist_8h.html#ae20514067f3272c41e207bed25e530d8", null ] +]; \ No newline at end of file diff --git a/Filelist_8h_source.html b/Filelist_8h_source.html new file mode 100644 index 00000000..89e1bd86 --- /dev/null +++ b/Filelist_8h_source.html @@ -0,0 +1,134 @@ + + + + + + + +Recast Navigation: Filelist.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Filelist.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 FILELIST_H
+
20 #define FILELIST_H
+
21 
+
22 #include <vector>
+
23 #include <string>
+
24 
+
25 void scanDirectoryAppend(const std::string& path, const std::string& ext, std::vector<std::string>& fileList);
+
26 void scanDirectory(const std::string& path, const std::string& ext, std::vector<std::string>& fileList);
+
27 
+
28 #endif // FILELIST_H
+
void scanDirectory(const std::string &path, const std::string &ext, std::vector< std::string > &fileList)
+
void scanDirectoryAppend(const std::string &path, const std::string &ext, std::vector< std::string > &fileList)
+
+
+ + + + + diff --git a/InputGeom_8cpp.html b/InputGeom_8cpp.html new file mode 100644 index 00000000..df456569 --- /dev/null +++ b/InputGeom_8cpp.html @@ -0,0 +1,298 @@ + + + + + + + +Recast Navigation: InputGeom.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
InputGeom.cpp File Reference
+
+
+
#include <math.h>
+#include <stdio.h>
+#include <ctype.h>
+#include <string.h>
+#include <algorithm>
+#include "Recast.h"
+#include "InputGeom.h"
+#include "ChunkyTriMesh.h"
+#include "MeshLoaderObj.h"
+#include "DebugDraw.h"
+#include "RecastDebugDraw.h"
+#include "DetourNavMesh.h"
+#include "Sample.h"
+
+ + + + + + + +

+Functions

static bool intersectSegmentTriangle (const float *sp, const float *sq, const float *a, const float *b, const float *c, float &t)
 
static char * parseRow (char *buf, char *bufEnd, char *row, int len)
 
static bool isectSegAABB (const float *sp, const float *sq, const float *amin, const float *amax, float &tmin, float &tmax)
 
+

Function Documentation

+ +

◆ intersectSegmentTriangle()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool intersectSegmentTriangle (const float * sp,
const float * sq,
const float * a,
const float * b,
const float * c,
float & t 
)
+
+static
+
+ +
+
+ +

◆ isectSegAABB()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool isectSegAABB (const float * sp,
const float * sq,
const float * amin,
const float * amax,
float & tmin,
float & tmax 
)
+
+static
+
+ +
+
+ +

◆ parseRow()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static char* parseRow (char * buf,
char * bufEnd,
char * row,
int len 
)
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/InputGeom_8cpp.js b/InputGeom_8cpp.js new file mode 100644 index 00000000..e11c505c --- /dev/null +++ b/InputGeom_8cpp.js @@ -0,0 +1,6 @@ +var InputGeom_8cpp = +[ + [ "intersectSegmentTriangle", "InputGeom_8cpp.html#a89e05e1cf91226eb8b11ce816ec90a4e", null ], + [ "isectSegAABB", "InputGeom_8cpp.html#a6e7db3dabeb68c2e9c627812ee42c47e", null ], + [ "parseRow", "InputGeom_8cpp.html#a0cb6eddb96ab199afcf6b4d75350741e", null ] +]; \ No newline at end of file diff --git a/InputGeom_8h.html b/InputGeom_8h.html new file mode 100644 index 00000000..95dbe023 --- /dev/null +++ b/InputGeom_8h.html @@ -0,0 +1,149 @@ + + + + + + + +Recast Navigation: InputGeom.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
InputGeom.h File Reference
+
+
+
#include "ChunkyTriMesh.h"
+#include "MeshLoaderObj.h"
+
+

Go to the source code of this file.

+ + + + + + + + +

+Classes

struct  ConvexVolume
 
struct  BuildSettings
 
class  InputGeom
 
+ + + +

+Variables

static const int MAX_CONVEXVOL_PTS = 12
 
+

Variable Documentation

+ +

◆ MAX_CONVEXVOL_PTS

+ +
+
+ + + + + +
+ + + + +
const int MAX_CONVEXVOL_PTS = 12
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/InputGeom_8h.js b/InputGeom_8h.js new file mode 100644 index 00000000..791ec683 --- /dev/null +++ b/InputGeom_8h.js @@ -0,0 +1,7 @@ +var InputGeom_8h = +[ + [ "ConvexVolume", "structConvexVolume.html", "structConvexVolume" ], + [ "BuildSettings", "structBuildSettings.html", "structBuildSettings" ], + [ "InputGeom", "classInputGeom.html", "classInputGeom" ], + [ "MAX_CONVEXVOL_PTS", "InputGeom_8h.html#ab051ae2a0b2e4b23f39190bc9127098a", null ] +]; \ No newline at end of file diff --git a/InputGeom_8h_source.html b/InputGeom_8h_source.html new file mode 100644 index 00000000..0db32a0f --- /dev/null +++ b/InputGeom_8h_source.html @@ -0,0 +1,300 @@ + + + + + + + +Recast Navigation: InputGeom.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
InputGeom.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 INPUTGEOM_H
+
20 #define INPUTGEOM_H
+
21 
+
22 #include "ChunkyTriMesh.h"
+
23 #include "MeshLoaderObj.h"
+
24 
+
25 static const int MAX_CONVEXVOL_PTS = 12;
+ +
27 {
+ +
29  float hmin, hmax;
+
30  int nverts;
+
31  int area;
+
32 };
+
33 
+ +
35 {
+
36  // Cell size in world units
+
37  float cellSize;
+
38  // Cell height in world units
+
39  float cellHeight;
+
40  // Agent height in world units
+
41  float agentHeight;
+
42  // Agent radius in world units
+
43  float agentRadius;
+
44  // Agent max climb in world units
+ +
46  // Agent max slope in degrees
+ +
48  // Region minimum size in voxels.
+
49  // regionMinSize = sqrt(regionMinArea)
+ +
51  // Region merge size in voxels.
+
52  // regionMergeSize = sqrt(regionMergeArea)
+ +
54  // Edge max length in world units
+
55  float edgeMaxLen;
+
56  // Edge max error in voxels
+
57  float edgeMaxError;
+
58  float vertsPerPoly;
+
59  // Detail sample distance in voxels
+ +
61  // Detail sample max error in voxel heights.
+ +
63  // Partition type, see SamplePartitionType
+ +
65  // Bounds of the area to mesh
+
66  float navMeshBMin[3];
+
67  float navMeshBMax[3];
+
68  // Size of the tiles in voxels
+
69  float tileSize;
+
70 };
+
71 
+
72 class InputGeom
+
73 {
+
74  rcChunkyTriMesh* m_chunkyMesh;
+
75  rcMeshLoaderObj* m_mesh;
+
76  float m_meshBMin[3], m_meshBMax[3];
+
77  BuildSettings m_buildSettings;
+
78  bool m_hasBuildSettings;
+
79 
+
82  static const int MAX_OFFMESH_CONNECTIONS = 256;
+
83  float m_offMeshConVerts[MAX_OFFMESH_CONNECTIONS*3*2];
+
84  float m_offMeshConRads[MAX_OFFMESH_CONNECTIONS];
+
85  unsigned char m_offMeshConDirs[MAX_OFFMESH_CONNECTIONS];
+
86  unsigned char m_offMeshConAreas[MAX_OFFMESH_CONNECTIONS];
+
87  unsigned short m_offMeshConFlags[MAX_OFFMESH_CONNECTIONS];
+
88  unsigned int m_offMeshConId[MAX_OFFMESH_CONNECTIONS];
+
89  int m_offMeshConCount;
+
91 
+
94  static const int MAX_VOLUMES = 256;
+
95  ConvexVolume m_volumes[MAX_VOLUMES];
+
96  int m_volumeCount;
+
98 
+
99  bool loadMesh(class rcContext* ctx, const std::string& filepath);
+
100  bool loadGeomSet(class rcContext* ctx, const std::string& filepath);
+
101 public:
+
102  InputGeom();
+
103  ~InputGeom();
+
104 
+
105 
+
106  bool load(class rcContext* ctx, const std::string& filepath);
+
107  bool saveGeomSet(const BuildSettings* settings);
+
108 
+
110  const rcMeshLoaderObj* getMesh() const { return m_mesh; }
+
111  const float* getMeshBoundsMin() const { return m_meshBMin; }
+
112  const float* getMeshBoundsMax() const { return m_meshBMax; }
+
113  const float* getNavMeshBoundsMin() const { return m_hasBuildSettings ? m_buildSettings.navMeshBMin : m_meshBMin; }
+
114  const float* getNavMeshBoundsMax() const { return m_hasBuildSettings ? m_buildSettings.navMeshBMax : m_meshBMax; }
+
115  const rcChunkyTriMesh* getChunkyMesh() const { return m_chunkyMesh; }
+
116  const BuildSettings* getBuildSettings() const { return m_hasBuildSettings ? &m_buildSettings : 0; }
+
117  bool raycastMesh(float* src, float* dst, float& tmin);
+
118 
+
121  int getOffMeshConnectionCount() const { return m_offMeshConCount; }
+
122  const float* getOffMeshConnectionVerts() const { return m_offMeshConVerts; }
+
123  const float* getOffMeshConnectionRads() const { return m_offMeshConRads; }
+
124  const unsigned char* getOffMeshConnectionDirs() const { return m_offMeshConDirs; }
+
125  const unsigned char* getOffMeshConnectionAreas() const { return m_offMeshConAreas; }
+
126  const unsigned short* getOffMeshConnectionFlags() const { return m_offMeshConFlags; }
+
127  const unsigned int* getOffMeshConnectionId() const { return m_offMeshConId; }
+
128  void addOffMeshConnection(const float* spos, const float* epos, const float rad,
+
129  unsigned char bidir, unsigned char area, unsigned short flags);
+
130  void deleteOffMeshConnection(int i);
+
131  void drawOffMeshConnections(struct duDebugDraw* dd, bool hilight = false);
+
133 
+
136  int getConvexVolumeCount() const { return m_volumeCount; }
+
137  const ConvexVolume* getConvexVolumes() const { return m_volumes; }
+
138  void addConvexVolume(const float* verts, const int nverts,
+
139  const float minh, const float maxh, unsigned char area);
+
140  void deleteConvexVolume(int i);
+
141  void drawConvexVolumes(struct duDebugDraw* dd, bool hilight = false);
+
143 
+
144 private:
+
145  // Explicitly disabled copy constructor and copy assignment operator.
+
146  InputGeom(const InputGeom&);
+
147  InputGeom& operator=(const InputGeom&);
+
148 };
+
149 
+
150 #endif // INPUTGEOM_H
+ +
static const int MAX_CONVEXVOL_PTS
Definition: InputGeom.h:25
+ +
Definition: InputGeom.h:73
+
bool load(class rcContext *ctx, const std::string &filepath)
Definition: InputGeom.cpp:299
+
void deleteConvexVolume(int i)
Definition: InputGeom.cpp:541
+
int getConvexVolumeCount() const
Definition: InputGeom.h:136
+
const rcChunkyTriMesh * getChunkyMesh() const
Definition: InputGeom.h:115
+
const BuildSettings * getBuildSettings() const
Definition: InputGeom.h:116
+
const float * getOffMeshConnectionRads() const
Definition: InputGeom.h:123
+
void addConvexVolume(const float *verts, const int nverts, const float minh, const float maxh, unsigned char area)
Definition: InputGeom.cpp:528
+
const ConvexVolume * getConvexVolumes() const
Definition: InputGeom.h:137
+
const rcMeshLoaderObj * getMesh() const
Method to return static mesh data.
Definition: InputGeom.h:110
+
const unsigned char * getOffMeshConnectionAreas() const
Definition: InputGeom.h:125
+
const unsigned int * getOffMeshConnectionId() const
Definition: InputGeom.h:127
+
const unsigned short * getOffMeshConnectionFlags() const
Definition: InputGeom.h:126
+
void addOffMeshConnection(const float *spos, const float *epos, const float rad, unsigned char bidir, unsigned char area, unsigned short flags)
Definition: InputGeom.cpp:469
+
const float * getMeshBoundsMax() const
Definition: InputGeom.h:112
+
bool saveGeomSet(const BuildSettings *settings)
Definition: InputGeom.cpp:316
+
bool raycastMesh(float *src, float *dst, float &tmin)
Definition: InputGeom.cpp:424
+
const unsigned char * getOffMeshConnectionDirs() const
Definition: InputGeom.h:124
+
void deleteOffMeshConnection(int i)
Definition: InputGeom.cpp:484
+
int getOffMeshConnectionCount() const
Definition: InputGeom.h:121
+
~InputGeom()
Definition: InputGeom.cpp:118
+
const float * getOffMeshConnectionVerts() const
Definition: InputGeom.h:122
+
void drawOffMeshConnections(struct duDebugDraw *dd, bool hilight=false)
Definition: InputGeom.cpp:497
+
const float * getNavMeshBoundsMax() const
Definition: InputGeom.h:114
+
void drawConvexVolumes(struct duDebugDraw *dd, bool hilight=false)
Definition: InputGeom.cpp:547
+
InputGeom()
Definition: InputGeom.cpp:109
+
const float * getNavMeshBoundsMin() const
Definition: InputGeom.h:113
+
const float * getMeshBoundsMin() const
Definition: InputGeom.h:111
+
Provides an interface for optional logging and performance tracking of the Recast build process.
Definition: Recast.h:115
+
Definition: MeshLoaderObj.h:25
+
Definition: InputGeom.h:35
+
float agentHeight
Definition: InputGeom.h:41
+
float navMeshBMin[3]
Definition: InputGeom.h:66
+
int partitionType
Definition: InputGeom.h:64
+
float regionMinSize
Definition: InputGeom.h:50
+
float agentMaxSlope
Definition: InputGeom.h:47
+
float detailSampleMaxError
Definition: InputGeom.h:62
+
float agentMaxClimb
Definition: InputGeom.h:45
+
float vertsPerPoly
Definition: InputGeom.h:58
+
float edgeMaxError
Definition: InputGeom.h:57
+
float agentRadius
Definition: InputGeom.h:43
+
float cellSize
Definition: InputGeom.h:37
+
float navMeshBMax[3]
Definition: InputGeom.h:67
+
float tileSize
Definition: InputGeom.h:69
+
float detailSampleDist
Definition: InputGeom.h:60
+
float cellHeight
Definition: InputGeom.h:39
+
float edgeMaxLen
Definition: InputGeom.h:55
+
float regionMergeSize
Definition: InputGeom.h:53
+
Definition: InputGeom.h:27
+
float hmax
Definition: InputGeom.h:29
+
float hmin
Definition: InputGeom.h:29
+
float verts[MAX_CONVEXVOL_PTS *3]
Definition: InputGeom.h:28
+
int nverts
Definition: InputGeom.h:30
+
int area
Definition: InputGeom.h:31
+
Abstract debug draw interface.
Definition: DebugDraw.h:35
+
Definition: ChunkyTriMesh.h:31
+
+
+ + + + + diff --git a/License.txt b/License.txt new file mode 100644 index 00000000..c259ddf6 --- /dev/null +++ b/License.txt @@ -0,0 +1,18 @@ +Copyright (c) 2009 Mikko Mononen memon@inside.org + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not +claim that you wrote the original software. If you use this software +in a product, an acknowledgment in the product documentation would be +appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be +misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + diff --git a/MeshLoaderObj_8cpp.html b/MeshLoaderObj_8cpp.html new file mode 100644 index 00000000..cea7e872 --- /dev/null +++ b/MeshLoaderObj_8cpp.html @@ -0,0 +1,216 @@ + + + + + + + +Recast Navigation: MeshLoaderObj.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
MeshLoaderObj.cpp File Reference
+
+
+
#include "MeshLoaderObj.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <cstring>
+#include <math.h>
+
+ + + + + +

+Functions

static char * parseRow (char *buf, char *bufEnd, char *row, int len)
 
static int parseFace (char *row, int *data, int n, int vcnt)
 
+

Function Documentation

+ +

◆ parseFace()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static int parseFace (char * row,
int * data,
int n,
int vcnt 
)
+
+static
+
+ +
+
+ +

◆ parseRow()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static char* parseRow (char * buf,
char * bufEnd,
char * row,
int len 
)
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/MeshLoaderObj_8cpp.js b/MeshLoaderObj_8cpp.js new file mode 100644 index 00000000..18d22e8d --- /dev/null +++ b/MeshLoaderObj_8cpp.js @@ -0,0 +1,5 @@ +var MeshLoaderObj_8cpp = +[ + [ "parseFace", "MeshLoaderObj_8cpp.html#a2c2c592a29fbae9b5bded3d2cf1bede7", null ], + [ "parseRow", "MeshLoaderObj_8cpp.html#a0cb6eddb96ab199afcf6b4d75350741e", null ] +]; \ No newline at end of file diff --git a/MeshLoaderObj_8h.html b/MeshLoaderObj_8h.html new file mode 100644 index 00000000..ba6f79d2 --- /dev/null +++ b/MeshLoaderObj_8h.html @@ -0,0 +1,115 @@ + + + + + + + +Recast Navigation: MeshLoaderObj.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
MeshLoaderObj.h File Reference
+
+
+
#include <string>
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  rcMeshLoaderObj
 
+
+
+ + + + + diff --git a/MeshLoaderObj_8h_source.html b/MeshLoaderObj_8h_source.html new file mode 100644 index 00000000..0aaf1f06 --- /dev/null +++ b/MeshLoaderObj_8h_source.html @@ -0,0 +1,170 @@ + + + + + + + +Recast Navigation: MeshLoaderObj.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
MeshLoaderObj.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 MESHLOADER_OBJ
+
20 #define MESHLOADER_OBJ
+
21 
+
22 #include <string>
+
23 
+ +
25 {
+
26 public:
+ + +
29 
+
30  bool load(const std::string& fileName);
+
31 
+
32  const float* getVerts() const { return m_verts; }
+
33  const float* getNormals() const { return m_normals; }
+
34  const int* getTris() const { return m_tris; }
+
35  int getVertCount() const { return m_vertCount; }
+
36  int getTriCount() const { return m_triCount; }
+
37  const std::string& getFileName() const { return m_filename; }
+
38 
+
39 private:
+
40  // Explicitly disabled copy constructor and copy assignment operator.
+ +
42  rcMeshLoaderObj& operator=(const rcMeshLoaderObj&);
+
43 
+
44  void addVertex(float x, float y, float z, int& cap);
+
45  void addTriangle(int a, int b, int c, int& cap);
+
46 
+
47  std::string m_filename;
+
48  float m_scale;
+
49  float* m_verts;
+
50  int* m_tris;
+
51  float* m_normals;
+
52  int m_vertCount;
+
53  int m_triCount;
+
54 };
+
55 
+
56 #endif // MESHLOADER_OBJ
+
Definition: MeshLoaderObj.h:25
+
int getVertCount() const
Definition: MeshLoaderObj.h:35
+
int getTriCount() const
Definition: MeshLoaderObj.h:36
+
const int * getTris() const
Definition: MeshLoaderObj.h:34
+
const std::string & getFileName() const
Definition: MeshLoaderObj.h:37
+
~rcMeshLoaderObj()
Definition: MeshLoaderObj.cpp:35
+
bool load(const std::string &fileName)
Definition: MeshLoaderObj.cpp:138
+
const float * getNormals() const
Definition: MeshLoaderObj.h:33
+
const float * getVerts() const
Definition: MeshLoaderObj.h:32
+
rcMeshLoaderObj()
Definition: MeshLoaderObj.cpp:25
+
+
+ + + + + diff --git a/NavMeshPruneTool_8cpp.html b/NavMeshPruneTool_8cpp.html new file mode 100644 index 00000000..99fbca7e --- /dev/null +++ b/NavMeshPruneTool_8cpp.html @@ -0,0 +1,220 @@ + + + + + + + +Recast Navigation: NavMeshPruneTool.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
NavMeshPruneTool.cpp File Reference
+
+
+
#include <math.h>
+#include <stdio.h>
+#include <string.h>
+#include <float.h>
+#include <vector>
+#include "SDL.h"
+#include "SDL_opengl.h"
+#include "imgui.h"
+#include "NavMeshPruneTool.h"
+#include "InputGeom.h"
+#include "Sample.h"
+#include "DetourNavMesh.h"
+#include "DetourCommon.h"
+#include "DetourAssert.h"
+#include "DetourDebugDraw.h"
+
+ + + +

+Classes

class  NavmeshFlags
 
+ + + + + +

+Functions

static void floodNavmesh (dtNavMesh *nav, NavmeshFlags *flags, dtPolyRef start, unsigned char flag)
 
static void disableUnvisitedPolys (dtNavMesh *nav, NavmeshFlags *flags)
 
+

Function Documentation

+ +

◆ disableUnvisitedPolys()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void disableUnvisitedPolys (dtNavMeshnav,
NavmeshFlagsflags 
)
+
+static
+
+ +
+
+ +

◆ floodNavmesh()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void floodNavmesh (dtNavMeshnav,
NavmeshFlagsflags,
dtPolyRef start,
unsigned char flag 
)
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/NavMeshPruneTool_8cpp.js b/NavMeshPruneTool_8cpp.js new file mode 100644 index 00000000..15273173 --- /dev/null +++ b/NavMeshPruneTool_8cpp.js @@ -0,0 +1,6 @@ +var NavMeshPruneTool_8cpp = +[ + [ "NavmeshFlags", "classNavmeshFlags.html", "classNavmeshFlags" ], + [ "disableUnvisitedPolys", "NavMeshPruneTool_8cpp.html#a99526da170fe64ed5ca767aba6bac662", null ], + [ "floodNavmesh", "NavMeshPruneTool_8cpp.html#aabe57f3100ff784616cd66607f181017", null ] +]; \ No newline at end of file diff --git a/NavMeshPruneTool_8h.html b/NavMeshPruneTool_8h.html new file mode 100644 index 00000000..7f58d164 --- /dev/null +++ b/NavMeshPruneTool_8h.html @@ -0,0 +1,115 @@ + + + + + + + +Recast Navigation: NavMeshPruneTool.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
NavMeshPruneTool.h File Reference
+
+
+
#include "Sample.h"
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  NavMeshPruneTool
 
+
+
+ + + + + diff --git a/NavMeshPruneTool_8h_source.html b/NavMeshPruneTool_8h_source.html new file mode 100644 index 00000000..8340bf83 --- /dev/null +++ b/NavMeshPruneTool_8h_source.html @@ -0,0 +1,178 @@ + + + + + + + +Recast Navigation: NavMeshPruneTool.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
NavMeshPruneTool.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 NAVMESHPRUNETOOL_H
+
20 #define NAVMESHPRUNETOOL_H
+
21 
+
22 #include "Sample.h"
+
23 
+
24 // Prune navmesh to accessible locations from a point.
+
25 
+ +
27 {
+
28  Sample* m_sample;
+
29 
+
30  class NavmeshFlags* m_flags;
+
31 
+
32  float m_hitPos[3];
+
33  bool m_hitPosSet;
+
34 
+
35 public:
+ +
37  virtual ~NavMeshPruneTool();
+
38 
+
39  virtual int type() { return TOOL_NAVMESH_PRUNE; }
+
40  virtual void init(Sample* sample);
+
41  virtual void reset();
+
42  virtual void handleMenu();
+
43  virtual void handleClick(const float* s, const float* p, bool shift);
+
44  virtual void handleToggle();
+
45  virtual void handleStep();
+
46  virtual void handleUpdate(const float dt);
+
47  virtual void handleRender();
+
48  virtual void handleRenderOverlay(double* proj, double* model, int* view);
+
49 
+
50 private:
+
51  // Explicitly disabled copy constructor and copy assignment operator.
+ +
53  NavMeshPruneTool& operator=(const NavMeshPruneTool&);
+
54 };
+
55 
+
56 #endif // NAVMESHPRUNETOOL_H
+ +
@ TOOL_NAVMESH_PRUNE
Definition: Sample.h:34
+
Definition: NavMeshPruneTool.h:27
+
virtual void handleStep()
Definition: NavMeshPruneTool.cpp:266
+
NavMeshPruneTool()
Definition: NavMeshPruneTool.cpp:189
+
virtual ~NavMeshPruneTool()
Definition: NavMeshPruneTool.cpp:196
+
virtual int type()
Definition: NavMeshPruneTool.h:39
+
virtual void handleUpdate(const float dt)
Definition: NavMeshPruneTool.cpp:270
+
virtual void handleRender()
Definition: NavMeshPruneTool.cpp:274
+
virtual void reset()
Definition: NavMeshPruneTool.cpp:206
+
virtual void handleClick(const float *s, const float *p, bool shift)
Definition: NavMeshPruneTool.cpp:232
+
virtual void handleToggle()
Definition: NavMeshPruneTool.cpp:262
+
virtual void handleMenu()
Definition: NavMeshPruneTool.cpp:213
+
virtual void handleRenderOverlay(double *proj, double *model, int *view)
Definition: NavMeshPruneTool.cpp:313
+
virtual void init(Sample *sample)
Definition: NavMeshPruneTool.cpp:201
+
Definition: NavMeshPruneTool.cpp:40
+
Definition: Sample.h:100
+
Definition: Sample.h:76
+
+
+ + + + + diff --git a/NavMeshTesterTool_8cpp.html b/NavMeshTesterTool_8cpp.html new file mode 100644 index 00000000..e8ff0909 --- /dev/null +++ b/NavMeshTesterTool_8cpp.html @@ -0,0 +1,461 @@ + + + + + + + +Recast Navigation: NavMeshTesterTool.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
NavMeshTesterTool.cpp File Reference
+
+
+
#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "SDL.h"
+#include "SDL_opengl.h"
+#include <GL/glu.h>
+#include "imgui.h"
+#include "NavMeshTesterTool.h"
+#include "Sample.h"
+#include "Recast.h"
+#include "RecastDebugDraw.h"
+#include "DetourNavMesh.h"
+#include "DetourNavMeshBuilder.h"
+#include "DetourDebugDraw.h"
+#include "DetourCommon.h"
+
+ + + +

+Macros

#define DUMP_REQS
 
+ + + + + + + + + + + + + +

+Functions

static float frand ()
 
bool inRange (const float *v1, const float *v2, const float r, const float h)
 
static int fixupCorridor (dtPolyRef *path, const int npath, const int maxPath, const dtPolyRef *visited, const int nvisited)
 
static int fixupShortcuts (dtPolyRef *path, int npath, dtNavMeshQuery *navQuery)
 
static bool getSteerTarget (dtNavMeshQuery *navQuery, const float *startPos, const float *endPos, const float minTargetDist, const dtPolyRef *path, const int pathSize, float *steerPos, unsigned char &steerPosFlag, dtPolyRef &steerPosRef, float *outPoints=0, int *outPointCount=0)
 
static void getPolyCenter (dtNavMesh *navMesh, dtPolyRef ref, float *center)
 
+

Macro Definition Documentation

+ +

◆ DUMP_REQS

+ +
+
+ + + + +
#define DUMP_REQS
+
+ +
+
+

Function Documentation

+ +

◆ fixupCorridor()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static int fixupCorridor (dtPolyRefpath,
const int npath,
const int maxPath,
const dtPolyRefvisited,
const int nvisited 
)
+
+static
+
+ +
+
+ +

◆ fixupShortcuts()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static int fixupShortcuts (dtPolyRefpath,
int npath,
dtNavMeshQuerynavQuery 
)
+
+static
+
+ +
+
+ +

◆ frand()

+ +
+
+ + + + + +
+ + + + + + + +
static float frand ()
+
+static
+
+ +
+
+ +

◆ getPolyCenter()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static void getPolyCenter (dtNavMeshnavMesh,
dtPolyRef ref,
float * center 
)
+
+static
+
+ +
+
+ +

◆ getSteerTarget()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool getSteerTarget (dtNavMeshQuerynavQuery,
const float * startPos,
const float * endPos,
const float minTargetDist,
const dtPolyRefpath,
const int pathSize,
float * steerPos,
unsigned char & steerPosFlag,
dtPolyRefsteerPosRef,
float * outPoints = 0,
int * outPointCount = 0 
)
+
+static
+
+ +
+
+ +

◆ inRange()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool inRange (const float * v1,
const float * v2,
const float r,
const float h 
)
+
+inline
+
+ +
+
+
+
+ + + + + diff --git a/NavMeshTesterTool_8cpp.js b/NavMeshTesterTool_8cpp.js new file mode 100644 index 00000000..47e6cf85 --- /dev/null +++ b/NavMeshTesterTool_8cpp.js @@ -0,0 +1,10 @@ +var NavMeshTesterTool_8cpp = +[ + [ "DUMP_REQS", "NavMeshTesterTool_8cpp.html#a59ed5f3f1c7bd16332ada259b66afe3f", null ], + [ "fixupCorridor", "NavMeshTesterTool_8cpp.html#aa0a7c979eb3968d46f3ccffcd664b71d", null ], + [ "fixupShortcuts", "NavMeshTesterTool_8cpp.html#afdd1fc4764fb0feadc7f2ae478064b69", null ], + [ "frand", "NavMeshTesterTool_8cpp.html#ac8e3cc6c626394b36e557edb46eb23c5", null ], + [ "getPolyCenter", "NavMeshTesterTool_8cpp.html#a813b28088279288c343afbad843ada3a", null ], + [ "getSteerTarget", "NavMeshTesterTool_8cpp.html#ab556b9cab58165a7bb55dc0eefe89fb9", null ], + [ "inRange", "NavMeshTesterTool_8cpp.html#a5b7b330e2de37289d8ae69f304d334a9", null ] +]; \ No newline at end of file diff --git a/NavMeshTesterTool_8h.html b/NavMeshTesterTool_8h.html new file mode 100644 index 00000000..6567840f --- /dev/null +++ b/NavMeshTesterTool_8h.html @@ -0,0 +1,117 @@ + + + + + + + +Recast Navigation: NavMeshTesterTool.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
NavMeshTesterTool.h File Reference
+
+
+
#include "Sample.h"
+#include "DetourNavMesh.h"
+#include "DetourNavMeshQuery.h"
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  NavMeshTesterTool
 
+
+
+ + + + + diff --git a/NavMeshTesterTool_8h_source.html b/NavMeshTesterTool_8h_source.html new file mode 100644 index 00000000..aac5f6c2 --- /dev/null +++ b/NavMeshTesterTool_8h_source.html @@ -0,0 +1,243 @@ + + + + + + + +Recast Navigation: NavMeshTesterTool.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
NavMeshTesterTool.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 NAVMESHTESTERTOOL_H
+
20 #define NAVMESHTESTERTOOL_H
+
21 
+
22 #include "Sample.h"
+
23 #include "DetourNavMesh.h"
+
24 #include "DetourNavMeshQuery.h"
+
25 
+ +
27 {
+
28  Sample* m_sample;
+
29 
+
30  dtNavMesh* m_navMesh;
+
31  dtNavMeshQuery* m_navQuery;
+
32 
+
33  dtQueryFilter m_filter;
+
34 
+
35  dtStatus m_pathFindStatus;
+
36 
+
37  enum ToolMode
+
38  {
+
39  TOOLMODE_PATHFIND_FOLLOW,
+
40  TOOLMODE_PATHFIND_STRAIGHT,
+
41  TOOLMODE_PATHFIND_SLICED,
+
42  TOOLMODE_RAYCAST,
+
43  TOOLMODE_DISTANCE_TO_WALL,
+
44  TOOLMODE_FIND_POLYS_IN_CIRCLE,
+
45  TOOLMODE_FIND_POLYS_IN_SHAPE,
+
46  TOOLMODE_FIND_LOCAL_NEIGHBOURHOOD
+
47  };
+
48 
+
49  ToolMode m_toolMode;
+
50 
+
51  int m_straightPathOptions;
+
52 
+
53  static const int MAX_POLYS = 256;
+
54  static const int MAX_SMOOTH = 2048;
+
55 
+
56  dtPolyRef m_startRef;
+
57  dtPolyRef m_endRef;
+
58  dtPolyRef m_polys[MAX_POLYS];
+
59  dtPolyRef m_parent[MAX_POLYS];
+
60  int m_npolys;
+
61  float m_straightPath[MAX_POLYS*3];
+
62  unsigned char m_straightPathFlags[MAX_POLYS];
+
63  dtPolyRef m_straightPathPolys[MAX_POLYS];
+
64  int m_nstraightPath;
+
65  float m_polyPickExt[3];
+
66  float m_smoothPath[MAX_SMOOTH*3];
+
67  int m_nsmoothPath;
+
68  float m_queryPoly[4*3];
+
69 
+
70  static const int MAX_RAND_POINTS = 64;
+
71  float m_randPoints[MAX_RAND_POINTS*3];
+
72  int m_nrandPoints;
+
73  bool m_randPointsInCircle;
+
74 
+
75  float m_spos[3];
+
76  float m_epos[3];
+
77  float m_hitPos[3];
+
78  float m_hitNormal[3];
+
79  bool m_hitResult;
+
80  float m_distanceToWall;
+
81  float m_neighbourhoodRadius;
+
82  float m_randomRadius;
+
83  bool m_sposSet;
+
84  bool m_eposSet;
+
85 
+
86  int m_pathIterNum;
+
87  dtPolyRef m_pathIterPolys[MAX_POLYS];
+
88  int m_pathIterPolyCount;
+
89  float m_prevIterPos[3], m_iterPos[3], m_steerPos[3], m_targetPos[3];
+
90 
+
91  static const int MAX_STEER_POINTS = 10;
+
92  float m_steerPoints[MAX_STEER_POINTS*3];
+
93  int m_steerPointCount;
+
94 
+
95 public:
+ +
97 
+
98  virtual int type() { return TOOL_NAVMESH_TESTER; }
+
99  virtual void init(Sample* sample);
+
100  virtual void reset();
+
101  virtual void handleMenu();
+
102  virtual void handleClick(const float* s, const float* p, bool shift);
+
103  virtual void handleToggle();
+
104  virtual void handleStep();
+
105  virtual void handleUpdate(const float dt);
+
106  virtual void handleRender();
+
107  virtual void handleRenderOverlay(double* proj, double* model, int* view);
+
108 
+
109  void recalc();
+
110  void drawAgent(const float* pos, float r, float h, float c, const unsigned int col);
+
111 };
+
112 
+
113 #endif // NAVMESHTESTERTOOL_H
+
114 
+ + +
unsigned int dtStatus
Definition: DetourStatus.h:22
+ +
@ TOOL_NAVMESH_TESTER
Definition: Sample.h:33
+
Definition: NavMeshTesterTool.h:27
+
virtual void reset()
Definition: NavMeshTesterTool.cpp:666
+
virtual void handleUpdate(const float dt)
Definition: NavMeshTesterTool.cpp:636
+
virtual int type()
Definition: NavMeshTesterTool.h:98
+
virtual void handleToggle()
Definition: NavMeshTesterTool.cpp:486
+
virtual void handleStep()
Definition: NavMeshTesterTool.cpp:482
+
virtual void handleMenu()
Definition: NavMeshTesterTool.cpp:271
+
virtual void init(Sample *sample)
Definition: NavMeshTesterTool.cpp:249
+
void drawAgent(const float *pos, float r, float h, float c, const unsigned int col)
Definition: NavMeshTesterTool.cpp:1397
+
virtual void handleRenderOverlay(double *proj, double *model, int *view)
Definition: NavMeshTesterTool.cpp:1376
+
void recalc()
Definition: NavMeshTesterTool.cpp:679
+
virtual void handleClick(const float *s, const float *p, bool shift)
Definition: NavMeshTesterTool.cpp:467
+
virtual void handleRender()
Definition: NavMeshTesterTool.cpp:1040
+
NavMeshTesterTool()
Definition: NavMeshTesterTool.cpp:216
+
Definition: Sample.h:100
+
Provides the ability to perform pathfinding related queries against a navigation mesh.
Definition: DetourNavMeshQuery.h:166
+
A navigation mesh based on tiles of convex polygons.
Definition: DetourNavMesh.h:339
+
Defines polygon filtering and traversal costs for navigation mesh query operations.
Definition: DetourNavMeshQuery.h:36
+
unsigned int dtPolyRef
A handle to a polygon within a navigation mesh tile.
Definition: DetourNavMesh.h:48
+
Definition: Sample.h:76
+
+
+ + + + + diff --git a/OffMeshConnectionTool_8cpp.html b/OffMeshConnectionTool_8cpp.html new file mode 100644 index 00000000..29aa4b23 --- /dev/null +++ b/OffMeshConnectionTool_8cpp.html @@ -0,0 +1,118 @@ + + + + + + + +Recast Navigation: OffMeshConnectionTool.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
OffMeshConnectionTool.cpp File Reference
+
+
+
#include <math.h>
+#include <stdio.h>
+#include <string.h>
+#include <float.h>
+#include "SDL.h"
+#include "SDL_opengl.h"
+#include <GL/glu.h>
+#include "imgui.h"
+#include "OffMeshConnectionTool.h"
+#include "InputGeom.h"
+#include "Sample.h"
+#include "Recast.h"
+#include "RecastDebugDraw.h"
+#include "DetourDebugDraw.h"
+
+
+ + + + + diff --git a/OffMeshConnectionTool_8h.html b/OffMeshConnectionTool_8h.html new file mode 100644 index 00000000..c49e9bf6 --- /dev/null +++ b/OffMeshConnectionTool_8h.html @@ -0,0 +1,115 @@ + + + + + + + +Recast Navigation: OffMeshConnectionTool.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
OffMeshConnectionTool.h File Reference
+
+
+
#include "Sample.h"
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  OffMeshConnectionTool
 
+
+
+ + + + + diff --git a/OffMeshConnectionTool_8h_source.html b/OffMeshConnectionTool_8h_source.html new file mode 100644 index 00000000..f11166ec --- /dev/null +++ b/OffMeshConnectionTool_8h_source.html @@ -0,0 +1,171 @@ + + + + + + + +Recast Navigation: OffMeshConnectionTool.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
OffMeshConnectionTool.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 OFFMESHCONNECTIONTOOL_H
+
20 #define OFFMESHCONNECTIONTOOL_H
+
21 
+
22 #include "Sample.h"
+
23 
+
24 // Tool to create off-mesh connection for InputGeom
+
25 
+ +
27 {
+
28  Sample* m_sample;
+
29  float m_hitPos[3];
+
30  bool m_hitPosSet;
+
31  bool m_bidir;
+
32  unsigned char m_oldFlags;
+
33 
+
34 public:
+ + +
37 
+
38  virtual int type() { return TOOL_OFFMESH_CONNECTION; }
+
39  virtual void init(Sample* sample);
+
40  virtual void reset();
+
41  virtual void handleMenu();
+
42  virtual void handleClick(const float* s, const float* p, bool shift);
+
43  virtual void handleToggle();
+
44  virtual void handleStep();
+
45  virtual void handleUpdate(const float dt);
+
46  virtual void handleRender();
+
47  virtual void handleRenderOverlay(double* proj, double* model, int* view);
+
48 };
+
49 
+
50 #endif // OFFMESHCONNECTIONTOOL_H
+ +
@ TOOL_OFFMESH_CONNECTION
Definition: Sample.h:35
+
Definition: OffMeshConnectionTool.h:27
+
virtual void handleStep()
Definition: OffMeshConnectionTool.cpp:134
+
virtual void handleRender()
Definition: OffMeshConnectionTool.cpp:142
+
virtual void init(Sample *sample)
Definition: OffMeshConnectionTool.cpp:58
+
virtual void handleUpdate(const float dt)
Definition: OffMeshConnectionTool.cpp:138
+
virtual int type()
Definition: OffMeshConnectionTool.h:38
+
virtual void handleMenu()
Definition: OffMeshConnectionTool.cpp:73
+
virtual void reset()
Definition: OffMeshConnectionTool.cpp:68
+
virtual void handleToggle()
Definition: OffMeshConnectionTool.cpp:130
+
~OffMeshConnectionTool()
Definition: OffMeshConnectionTool.cpp:50
+
virtual void handleRenderOverlay(double *proj, double *model, int *view)
Definition: OffMeshConnectionTool.cpp:155
+
OffMeshConnectionTool()
Definition: OffMeshConnectionTool.cpp:42
+
virtual void handleClick(const float *s, const float *p, bool shift)
Definition: OffMeshConnectionTool.cpp:81
+
Definition: Sample.h:100
+
Definition: Sample.h:76
+
+
+ + + + + diff --git a/PerfTimer_8cpp.html b/PerfTimer_8cpp.html new file mode 100644 index 00000000..54de6c76 --- /dev/null +++ b/PerfTimer_8cpp.html @@ -0,0 +1,152 @@ + + + + + + + +Recast Navigation: PerfTimer.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
PerfTimer.cpp File Reference
+
+
+
#include "PerfTimer.h"
+#include <sys/time.h>
+
+ + + + + +

+Functions

TimeVal getPerfTime ()
 
int getPerfTimeUsec (const TimeVal duration)
 
+

Function Documentation

+ +

◆ getPerfTime()

+ +
+
+ + + + + + + +
TimeVal getPerfTime ()
+
+ +
+
+ +

◆ getPerfTimeUsec()

+ +
+
+ + + + + + + + +
int getPerfTimeUsec (const TimeVal duration)
+
+ +
+
+
+
+ + + + + diff --git a/PerfTimer_8cpp.js b/PerfTimer_8cpp.js new file mode 100644 index 00000000..7e6a0998 --- /dev/null +++ b/PerfTimer_8cpp.js @@ -0,0 +1,5 @@ +var PerfTimer_8cpp = +[ + [ "getPerfTime", "PerfTimer_8cpp.html#a4d18b93b9130c4ec1c2f5ffe91457b48", null ], + [ "getPerfTimeUsec", "PerfTimer_8cpp.html#aee1c2f57e875e53264038a845598267f", null ] +]; \ No newline at end of file diff --git a/PerfTimer_8h.html b/PerfTimer_8h.html new file mode 100644 index 00000000..f4e5982e --- /dev/null +++ b/PerfTimer_8h.html @@ -0,0 +1,173 @@ + + + + + + + +Recast Navigation: PerfTimer.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
PerfTimer.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Typedefs

typedef __int64 TimeVal
 
+ + + + + +

+Functions

TimeVal getPerfTime ()
 
int getPerfTimeUsec (const TimeVal duration)
 
+

Typedef Documentation

+ +

◆ TimeVal

+ +
+
+ + + + +
typedef __int64 TimeVal
+
+ +
+
+

Function Documentation

+ +

◆ getPerfTime()

+ +
+
+ + + + + + + +
TimeVal getPerfTime ()
+
+ +
+
+ +

◆ getPerfTimeUsec()

+ +
+
+ + + + + + + + +
int getPerfTimeUsec (const TimeVal duration)
+
+ +
+
+
+
+ + + + + diff --git a/PerfTimer_8h.js b/PerfTimer_8h.js new file mode 100644 index 00000000..aad788ae --- /dev/null +++ b/PerfTimer_8h.js @@ -0,0 +1,6 @@ +var PerfTimer_8h = +[ + [ "TimeVal", "PerfTimer_8h.html#a2036838e11aa9bd864a72295e6017d52", null ], + [ "getPerfTime", "PerfTimer_8h.html#a4d18b93b9130c4ec1c2f5ffe91457b48", null ], + [ "getPerfTimeUsec", "PerfTimer_8h.html#aee1c2f57e875e53264038a845598267f", null ] +]; \ No newline at end of file diff --git a/PerfTimer_8h_source.html b/PerfTimer_8h_source.html new file mode 100644 index 00000000..34cd40bf --- /dev/null +++ b/PerfTimer_8h_source.html @@ -0,0 +1,140 @@ + + + + + + + +Recast Navigation: PerfTimer.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
PerfTimer.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 PERFTIMER_H
+
20 #define PERFTIMER_H
+
21 
+
22 #ifdef __GNUC__
+
23 #include <stdint.h>
+
24 typedef int64_t TimeVal;
+
25 #else
+
26 typedef __int64 TimeVal;
+
27 #endif
+
28 
+ +
30 int getPerfTimeUsec(const TimeVal duration);
+
31 
+
32 #endif // PERFTIMER_H
+
33 
+
__int64 TimeVal
Definition: PerfTimer.h:26
+
TimeVal getPerfTime()
Definition: PerfTimer.cpp:47
+
int getPerfTimeUsec(const TimeVal duration)
Definition: PerfTimer.cpp:54
+
+
+ + + + + diff --git a/README.md b/README.md deleted file mode 100644 index c91096cc..00000000 --- a/README.md +++ /dev/null @@ -1 +0,0 @@ -This is the gh-pages branch of Recast Navigation. It displays the generated doxygen documentation pages and is auto-updated by a github action whenever a push is made to the main branch. \ No newline at end of file diff --git a/README_8md.html b/README_8md.html new file mode 100644 index 00000000..087c0ae3 --- /dev/null +++ b/README_8md.html @@ -0,0 +1,104 @@ + + + + + + + +Recast Navigation: README.md File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
README.md File Reference
+
+
+
+
+ + + + + diff --git a/RecastAlloc_8cpp.html b/RecastAlloc_8cpp.html new file mode 100644 index 00000000..45858801 --- /dev/null +++ b/RecastAlloc_8cpp.html @@ -0,0 +1,346 @@ + + + + + + + +Recast Navigation: RecastAlloc.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
RecastAlloc.cpp File Reference
+
+
+
#include "RecastAlloc.h"
+
+ + + + + + + + + + + + + + +

+Functions

static void * rcAllocDefault (size_t size, rcAllocHint)
 
static void rcFreeDefault (void *ptr)
 
void rcAllocSetCustom (rcAllocFunc *allocFunc, rcFreeFunc *freeFunc)
 Sets the base custom allocation functions to be used by Recast. More...
 
void * rcAlloc (size_t size, rcAllocHint hint)
 Allocates a memory block. More...
 
void rcFree (void *ptr)
 Deallocates a memory block. More...
 
+ + + + + +

+Variables

static rcAllocFuncsRecastAllocFunc = rcAllocDefault
 
static rcFreeFuncsRecastFreeFunc = rcFreeDefault
 
+

Function Documentation

+ +

◆ rcAlloc()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void* rcAlloc (size_t size,
rcAllocHint hint 
)
+
+ +

Allocates a memory block.

+
Parameters
+ + + +
[in]sizeThe size, in bytes of memory, to allocate.
[in]hintA hint to the allocator on how long the memory is expected to be in use.
+
+
+
Returns
A pointer to the beginning of the allocated memory block, or null if the allocation failed.
+
See also
rcFree, rcAllocSetCustom
+ +
+
+ +

◆ rcAllocDefault()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void* rcAllocDefault (size_t size,
rcAllocHint  
)
+
+static
+
+ +
+
+ +

◆ rcAllocSetCustom()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void rcAllocSetCustom (rcAllocFuncallocFunc,
rcFreeFuncfreeFunc 
)
+
+ +

Sets the base custom allocation functions to be used by Recast.

+
Parameters
+ + + +
[in]allocFuncThe memory allocation function to be used by rcAlloc
[in]freeFuncThe memory de-allocation function to be used by rcFree
+
+
+
See also
rcAlloc, rcFree
+ +
+
+ +

◆ rcFree()

+ +
+
+ + + + + + + + +
void rcFree (void * ptr)
+
+ +

Deallocates a memory block.

+

If ptr is NULL, this does nothing.

+
Warning
This function leaves the value of ptr unchanged. So it still points to the same (now invalid) location, and not to null.
+
Parameters
+ + +
[in]ptrA pointer to a memory block previously allocated using rcAlloc.
+
+
+
See also
rcAlloc, rcAllocSetCustom
+ +
+
+ +

◆ rcFreeDefault()

+ +
+
+ + + + + +
+ + + + + + + + +
static void rcFreeDefault (void * ptr)
+
+static
+
+ +
+
+

Variable Documentation

+ +

◆ sRecastAllocFunc

+ +
+
+ + + + + +
+ + + + +
rcAllocFunc* sRecastAllocFunc = rcAllocDefault
+
+static
+
+ +
+
+ +

◆ sRecastFreeFunc

+ +
+
+ + + + + +
+ + + + +
rcFreeFunc* sRecastFreeFunc = rcFreeDefault
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/RecastAlloc_8cpp.js b/RecastAlloc_8cpp.js new file mode 100644 index 00000000..9a8c4b7b --- /dev/null +++ b/RecastAlloc_8cpp.js @@ -0,0 +1,10 @@ +var RecastAlloc_8cpp = +[ + [ "rcAlloc", "RecastAlloc_8cpp.html#aaccb154539da523c5d4e6effb34dd69e", null ], + [ "rcAllocDefault", "RecastAlloc_8cpp.html#aba573a0899585714d5e4b3c109fa3ba4", null ], + [ "rcAllocSetCustom", "RecastAlloc_8cpp.html#ae3f9da3566ad0877b9e4c9e92f8e1a15", null ], + [ "rcFree", "RecastAlloc_8cpp.html#a6fc4cfee655e24f94bad226f915ac397", null ], + [ "rcFreeDefault", "RecastAlloc_8cpp.html#a0145e00a43b3248ba49fda410573128f", null ], + [ "sRecastAllocFunc", "RecastAlloc_8cpp.html#af1b06b448acf4005967583e7dc905a66", null ], + [ "sRecastFreeFunc", "RecastAlloc_8cpp.html#a64d9d48dc6a273593cf8034ab2e303de", null ] +]; \ No newline at end of file diff --git a/RecastAlloc_8h.html b/RecastAlloc_8h.html new file mode 100644 index 00000000..da62bcda --- /dev/null +++ b/RecastAlloc_8h.html @@ -0,0 +1,507 @@ + + + + + + + +Recast Navigation: RecastAlloc.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
RecastAlloc.h File Reference
+
+
+
#include "RecastAssert.h"
+#include <stdlib.h>
+#include <stdint.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + +

+Classes

struct  rcNewTag
 An implementation of operator new usable for placement new. More...
 
class  rcVectorBase< T, H >
 Variable-sized storage type. More...
 
class  rcTempVector< T >
 
class  rcPermVector< T >
 
class  rcIntArray
 Legacy class. Prefer rcVector<int>. More...
 
class  rcScopedDelete< T >
 A simple helper class used to delete an array when it goes out of scope. More...
 
+ + + + + + + + +

+Macros

#define RC_SIZE_MAX   INTPTR_MAX
 
#define rcLikely(x)   (x)
 Macros to hint to the compiler about the likeliest branch. More...
 
#define rcUnlikely(x)   (x)
 
+ + + + + + + + + + +

+Typedefs

typedef void *() rcAllocFunc(size_t size, rcAllocHint hint)
 A memory allocation function. More...
 
typedef void() rcFreeFunc(void *ptr)
 A memory deallocation function. More...
 
typedef intptr_t rcSizeType
 Signed to avoid warnnings when comparing to int loop indexes, and common error with comparing to zero. More...
 
+ + + + +

+Enumerations

enum  rcAllocHint { RC_ALLOC_PERM +, RC_ALLOC_TEMP + }
 Provides hint values to the memory allocator on how long the memory is expected to be used. More...
 
+ + + + + + + + + + + + + + +

+Functions

void rcAllocSetCustom (rcAllocFunc *allocFunc, rcFreeFunc *freeFunc)
 Sets the base custom allocation functions to be used by Recast. More...
 
void * rcAlloc (size_t size, rcAllocHint hint)
 Allocates a memory block. More...
 
void rcFree (void *ptr)
 Deallocates a memory block. More...
 
void * operator new (size_t, const rcNewTag &, void *p)
 
void operator delete (void *, const rcNewTag &, void *)
 
+

Macro Definition Documentation

+ +

◆ RC_SIZE_MAX

+ +
+
+ + + + +
#define RC_SIZE_MAX   INTPTR_MAX
+
+ +
+
+ +

◆ rcLikely

+ +
+
+ + + + + + + + +
#define rcLikely( x)   (x)
+
+ +

Macros to hint to the compiler about the likeliest branch.

+

Please add a benchmark that demonstrates a performance improvement before introducing use cases.

+ +
+
+ +

◆ rcUnlikely

+ +
+
+ + + + + + + + +
#define rcUnlikely( x)   (x)
+
+ +
+
+

Typedef Documentation

+ +

◆ rcAllocFunc

+ +
+
+ + + + +
typedef void*() rcAllocFunc(size_t size, rcAllocHint hint)
+
+ +

A memory allocation function.

+
See also
rcAllocSetCustom
+ +
+
+ +

◆ rcFreeFunc

+ +
+
+ + + + +
typedef void() rcFreeFunc(void *ptr)
+
+ +

A memory deallocation function.

+
Parameters
+ + +
[in]ptrA pointer to a memory block previously allocated using rcAllocFunc.
+
+
+
See also
rcAllocSetCustom
+ +
+
+ +

◆ rcSizeType

+ +
+
+ + + + +
typedef intptr_t rcSizeType
+
+ +

Signed to avoid warnnings when comparing to int loop indexes, and common error with comparing to zero.

+

MSVC2010 has a bug where ssize_t is unsigned (!!!).

+ +
+
+

Enumeration Type Documentation

+ +

◆ rcAllocHint

+ +
+
+ + + + +
enum rcAllocHint
+
+ +

Provides hint values to the memory allocator on how long the memory is expected to be used.

+ + + +
Enumerator
RC_ALLOC_PERM 

Memory will persist after a function call.

+
RC_ALLOC_TEMP 

Memory used temporarily within a function.

+
+ +
+
+

Function Documentation

+ +

◆ operator delete()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void operator delete (void * ,
const rcNewTag,
void *  
)
+
+inline
+
+ +
+
+ +

◆ operator new()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void* operator new (size_t ,
const rcNewTag,
void * p 
)
+
+inline
+
+ +
+
+ +

◆ rcAlloc()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void* rcAlloc (size_t size,
rcAllocHint hint 
)
+
+ +

Allocates a memory block.

+
Parameters
+ + + +
[in]sizeThe size, in bytes of memory, to allocate.
[in]hintA hint to the allocator on how long the memory is expected to be in use.
+
+
+
Returns
A pointer to the beginning of the allocated memory block, or null if the allocation failed.
+
See also
rcFree, rcAllocSetCustom
+ +
+
+ +

◆ rcAllocSetCustom()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void rcAllocSetCustom (rcAllocFuncallocFunc,
rcFreeFuncfreeFunc 
)
+
+ +

Sets the base custom allocation functions to be used by Recast.

+
Parameters
+ + + +
[in]allocFuncThe memory allocation function to be used by rcAlloc
[in]freeFuncThe memory de-allocation function to be used by rcFree
+
+
+
See also
rcAlloc, rcFree
+ +
+
+ +

◆ rcFree()

+ +
+
+ + + + + + + + +
void rcFree (void * ptr)
+
+ +

Deallocates a memory block.

+

If ptr is NULL, this does nothing.

+
Warning
This function leaves the value of ptr unchanged. So it still points to the same (now invalid) location, and not to null.
+
Parameters
+ + +
[in]ptrA pointer to a memory block previously allocated using rcAlloc.
+
+
+
See also
rcAlloc, rcAllocSetCustom
+ +
+
+
+
+ + + + + diff --git a/RecastAlloc_8h.js b/RecastAlloc_8h.js new file mode 100644 index 00000000..2bd340d4 --- /dev/null +++ b/RecastAlloc_8h.js @@ -0,0 +1,24 @@ +var RecastAlloc_8h = +[ + [ "rcNewTag", "structrcNewTag.html", null ], + [ "rcVectorBase", "classrcVectorBase.html", "classrcVectorBase" ], + [ "rcTempVector", "classrcTempVector.html", "classrcTempVector" ], + [ "rcPermVector", "classrcPermVector.html", "classrcPermVector" ], + [ "rcIntArray", "classrcIntArray.html", "classrcIntArray" ], + [ "rcScopedDelete", "classrcScopedDelete.html", "classrcScopedDelete" ], + [ "RC_SIZE_MAX", "RecastAlloc_8h.html#a76aa1cda643d12fb282dffdd127c1bac", null ], + [ "rcLikely", "RecastAlloc_8h.html#ae2660587d43aff9382684c2410bf2dc5", null ], + [ "rcUnlikely", "RecastAlloc_8h.html#a97095ea2bb90ee745014fe8dc36ca483", null ], + [ "rcAllocFunc", "RecastAlloc_8h.html#a4f8483e0c7c0a3e42ca98cd75a5cec39", null ], + [ "rcFreeFunc", "RecastAlloc_8h.html#a4b9eeb5aeec74bff1afc64fdf8e72764", null ], + [ "rcSizeType", "RecastAlloc_8h.html#a44d212414873bc2fc522d9e6493a4c36", null ], + [ "rcAllocHint", "RecastAlloc_8h.html#a1e8b4a818c5bf25bceae59a0b1857e60", [ + [ "RC_ALLOC_PERM", "RecastAlloc_8h.html#a1e8b4a818c5bf25bceae59a0b1857e60ac5753fe6be6e82f85794f719149356a5", null ], + [ "RC_ALLOC_TEMP", "RecastAlloc_8h.html#a1e8b4a818c5bf25bceae59a0b1857e60a5e5b510fb1d2422e28f5262d4bd058ee", null ] + ] ], + [ "operator delete", "RecastAlloc_8h.html#a269d86e8a81c47659dfad4ab2a1e94ab", null ], + [ "operator new", "RecastAlloc_8h.html#a7c17881830a1d6f4bac23a489972e2db", null ], + [ "rcAlloc", "RecastAlloc_8h.html#aaccb154539da523c5d4e6effb34dd69e", null ], + [ "rcAllocSetCustom", "RecastAlloc_8h.html#ae3f9da3566ad0877b9e4c9e92f8e1a15", null ], + [ "rcFree", "RecastAlloc_8h.html#a6fc4cfee655e24f94bad226f915ac397", null ] +]; \ No newline at end of file diff --git a/RecastAlloc_8h_source.html b/RecastAlloc_8h_source.html new file mode 100644 index 00000000..7ffd56aa --- /dev/null +++ b/RecastAlloc_8h_source.html @@ -0,0 +1,501 @@ + + + + + + + +Recast Navigation: RecastAlloc.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RecastAlloc.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 RECASTALLOC_H
+
20 #define RECASTALLOC_H
+
21 
+
22 #include "RecastAssert.h"
+
23 
+
24 #include <stdlib.h>
+
25 #include <stdint.h>
+
26 
+ +
30 {
+ + +
33 };
+
34 
+
36 // @param[in] size The size, in bytes of memory, to allocate.
+
37 // @param[in] rcAllocHint A hint to the allocator on how long the memory is expected to be in use.
+
38 // @return A pointer to the beginning of the allocated memory block, or null if the allocation failed.
+
40 typedef void* (rcAllocFunc)(size_t size, rcAllocHint hint);
+
41 
+
45 typedef void (rcFreeFunc)(void* ptr);
+
46 
+
52 void rcAllocSetCustom(rcAllocFunc *allocFunc, rcFreeFunc *freeFunc);
+
53 
+
61 void* rcAlloc(size_t size, rcAllocHint hint);
+
62 
+
71 void rcFree(void* ptr);
+
72 
+
76 struct rcNewTag {};
+
77 inline void* operator new(size_t, const rcNewTag&, void* p) { return p; }
+
78 inline void operator delete(void*, const rcNewTag&, void*) {}
+
79 
+
82 typedef intptr_t rcSizeType;
+
83 #define RC_SIZE_MAX INTPTR_MAX
+
84 
+
87 #if defined(__GNUC__) || defined(__clang__)
+
88 #define rcLikely(x) __builtin_expect((x), true)
+
89 #define rcUnlikely(x) __builtin_expect((x), false)
+
90 #else
+
91 #define rcLikely(x) (x)
+
92 #define rcUnlikely(x) (x)
+
93 #endif
+
94 
+
103 template <typename T, rcAllocHint H>
+ +
105  rcSizeType m_size;
+
106  rcSizeType m_cap;
+
107  T* m_data;
+
108  // Constructs a T at the give address with either the copy constructor or the default.
+
109  static void construct(T* p, const T& v) { ::new(rcNewTag(), (void*)p) T(v); }
+
110  static void construct(T* p) { ::new(rcNewTag(), (void*)p) T; }
+
111  static void construct_range(T* begin, T* end);
+
112  static void construct_range(T* begin, T* end, const T& value);
+
113  static void copy_range(T* dst, const T* begin, const T* end);
+
114  void destroy_range(rcSizeType begin, rcSizeType end);
+
115  // Creates an array of the given size, copies all of this vector's data into it, and returns it.
+
116  T* allocate_and_copy(rcSizeType size);
+
117  void resize_impl(rcSizeType size, const T* value);
+
118  // Requires: min_capacity > m_cap.
+
119  rcSizeType get_new_capacity(rcSizeType min_capacity);
+
120  public:
+ +
122  typedef T value_type;
+
123 
+
124  rcVectorBase() : m_size(0), m_cap(0), m_data(0) {}
+
125  rcVectorBase(const rcVectorBase<T, H>& other) : m_size(0), m_cap(0), m_data(0) { assign(other.begin(), other.end()); }
+
126  explicit rcVectorBase(rcSizeType count) : m_size(0), m_cap(0), m_data(0) { resize(count); }
+
127  rcVectorBase(rcSizeType count, const T& value) : m_size(0), m_cap(0), m_data(0) { resize(count, value); }
+
128  rcVectorBase(const T* begin, const T* end) : m_size(0), m_cap(0), m_data(0) { assign(begin, end); }
+
129  ~rcVectorBase() { destroy_range(0, m_size); rcFree(m_data); }
+
130 
+
131  // Unlike in std::vector, we return a bool to indicate whether the alloc was successful.
+ +
133 
+
134  void assign(rcSizeType count, const T& value) { clear(); resize(count, value); }
+
135  void assign(const T* begin, const T* end);
+
136 
+
137  void resize(rcSizeType size) { resize_impl(size, NULL); }
+
138  void resize(rcSizeType size, const T& value) { resize_impl(size, &value); }
+
139  // Not implemented as resize(0) because resize requires T to be default-constructible.
+
140  void clear() { destroy_range(0, m_size); m_size = 0; }
+
141 
+
142  void push_back(const T& value);
+
143  void pop_back() { rcAssert(m_size > 0); back().~T(); m_size--; }
+
144 
+
145  rcSizeType size() const { return m_size; }
+
146  rcSizeType capacity() const { return m_cap; }
+
147  bool empty() const { return size() == 0; }
+
148 
+
149  const T& operator[](rcSizeType i) const { rcAssert(i >= 0 && i < m_size); return m_data[i]; }
+
150  T& operator[](rcSizeType i) { rcAssert(i >= 0 && i < m_size); return m_data[i]; }
+
151 
+
152  const T& front() const { rcAssert(m_size); return m_data[0]; }
+
153  T& front() { rcAssert(m_size); return m_data[0]; }
+
154  const T& back() const { rcAssert(m_size); return m_data[m_size - 1]; }
+
155  T& back() { rcAssert(m_size); return m_data[m_size - 1]; }
+
156  const T* data() const { return m_data; }
+
157  T* data() { return m_data; }
+
158 
+
159  T* begin() { return m_data; }
+
160  T* end() { return m_data + m_size; }
+
161  const T* begin() const { return m_data; }
+
162  const T* end() const { return m_data + m_size; }
+
163 
+
164  void swap(rcVectorBase<T, H>& other);
+
165 
+
166  // Explicitly deleted.
+ +
168 };
+
169 
+
170 template<typename T, rcAllocHint H>
+ +
172  if (count <= m_cap) {
+
173  return true;
+
174  }
+
175  T* new_data = allocate_and_copy(count);
+
176  if (!new_data) {
+
177  return false;
+
178  }
+
179  destroy_range(0, m_size);
+
180  rcFree(m_data);
+
181  m_data = new_data;
+
182  m_cap = count;
+
183  return true;
+
184 }
+
185 template <typename T, rcAllocHint H>
+ +
187  rcAssert(RC_SIZE_MAX / static_cast<rcSizeType>(sizeof(T)) >= size);
+
188  T* new_data = static_cast<T*>(rcAlloc(sizeof(T) * size, H));
+
189  if (new_data) {
+
190  copy_range(new_data, m_data, m_data + m_size);
+
191  }
+
192  return new_data;
+
193 }
+
194 template <typename T, rcAllocHint H>
+
195 void rcVectorBase<T, H>::assign(const T* begin, const T* end) {
+
196  clear();
+
197  reserve(end - begin);
+
198  m_size = end - begin;
+
199  copy_range(m_data, begin, end);
+
200 }
+
201 template <typename T, rcAllocHint H>
+
202 void rcVectorBase<T, H>::push_back(const T& value) {
+
203  // rcLikely increases performance by ~50% on BM_rcVector_PushPreallocated,
+
204  // and by ~2-5% on BM_rcVector_Push.
+
205  if (rcLikely(m_size < m_cap)) {
+
206  construct(m_data + m_size++, value);
+
207  return;
+
208  }
+
209 
+
210  const rcSizeType new_cap = get_new_capacity(m_cap + 1);
+
211  T* data = allocate_and_copy(new_cap);
+
212  // construct between allocate and destroy+free in case value is
+
213  // in this vector.
+
214  construct(data + m_size, value);
+
215  destroy_range(0, m_size);
+
216  m_size++;
+
217  m_cap = new_cap;
+
218  rcFree(m_data);
+
219  m_data = data;
+
220 }
+
221 
+
222 template <typename T, rcAllocHint H>
+ +
224  rcAssert(min_capacity <= RC_SIZE_MAX);
+
225  if (rcUnlikely(m_cap >= RC_SIZE_MAX / 2))
+
226  return RC_SIZE_MAX;
+
227  return 2 * m_cap > min_capacity ? 2 * m_cap : min_capacity;
+
228 }
+
229 
+
230 template <typename T, rcAllocHint H>
+
231 void rcVectorBase<T, H>::resize_impl(rcSizeType size, const T* value) {
+
232  if (size < m_size) {
+
233  destroy_range(size, m_size);
+
234  m_size = size;
+
235  } else if (size > m_size) {
+
236  if (size <= m_cap) {
+
237  if (value) {
+
238  construct_range(m_data + m_size, m_data + size, *value);
+
239  } else {
+
240  construct_range(m_data + m_size, m_data + size);
+
241  }
+
242  m_size = size;
+
243  } else {
+
244  const rcSizeType new_cap = get_new_capacity(size);
+
245  T* new_data = allocate_and_copy(new_cap);
+
246  // We defer deconstructing/freeing old data until after constructing
+
247  // new elements in case "value" is there.
+
248  if (value) {
+
249  construct_range(new_data + m_size, new_data + size, *value);
+
250  } else {
+
251  construct_range(new_data + m_size, new_data + size);
+
252  }
+
253  destroy_range(0, m_size);
+
254  rcFree(m_data);
+
255  m_data = new_data;
+
256  m_cap = new_cap;
+
257  m_size = size;
+
258  }
+
259  }
+
260 }
+
261 template <typename T, rcAllocHint H>
+ +
263  // TODO: Reorganize headers so we can use rcSwap here.
+
264  rcSizeType tmp_cap = other.m_cap;
+
265  rcSizeType tmp_size = other.m_size;
+
266  T* tmp_data = other.m_data;
+
267 
+
268  other.m_cap = m_cap;
+
269  other.m_size = m_size;
+
270  other.m_data = m_data;
+
271 
+
272  m_cap = tmp_cap;
+
273  m_size = tmp_size;
+
274  m_data = tmp_data;
+
275 }
+
276 // static
+
277 template <typename T, rcAllocHint H>
+
278 void rcVectorBase<T, H>::construct_range(T* begin, T* end) {
+
279  for (T* p = begin; p < end; p++) {
+
280  construct(p);
+
281  }
+
282 }
+
283 // static
+
284 template <typename T, rcAllocHint H>
+
285 void rcVectorBase<T, H>::construct_range(T* begin, T* end, const T& value) {
+
286  for (T* p = begin; p < end; p++) {
+
287  construct(p, value);
+
288  }
+
289 }
+
290 // static
+
291 template <typename T, rcAllocHint H>
+
292 void rcVectorBase<T, H>::copy_range(T* dst, const T* begin, const T* end) {
+
293  for (rcSizeType i = 0 ; i < end - begin; i++) {
+
294  construct(dst + i, begin[i]);
+
295  }
+
296 }
+
297 template <typename T, rcAllocHint H>
+ +
299  for (rcSizeType i = begin; i < end; i++) {
+
300  m_data[i].~T();
+
301  }
+
302 }
+
303 
+
304 template <typename T>
+
305 class rcTempVector : public rcVectorBase<T, RC_ALLOC_TEMP> {
+ +
307 public:
+ + +
310  rcTempVector(rcSizeType size, const T& value) : Base(size, value) {}
+
311  rcTempVector(const rcTempVector<T>& other) : Base(other) {}
+
312  rcTempVector(const T* begin, const T* end) : Base(begin, end) {}
+
313 };
+
314 template <typename T>
+
315 class rcPermVector : public rcVectorBase<T, RC_ALLOC_PERM> {
+ +
317 public:
+ + +
320  rcPermVector(rcSizeType size, const T& value) : Base(size, value) {}
+
321  rcPermVector(const rcPermVector<T>& other) : Base(other) {}
+
322  rcPermVector(const T* begin, const T* end) : Base(begin, end) {}
+
323 };
+
324 
+
325 
+ +
328 {
+
329  rcTempVector<int> m_impl;
+
330 public:
+ +
332  rcIntArray(int n) : m_impl(n, 0) {}
+
333  void push(int item) { m_impl.push_back(item); }
+
334  void resize(int size) { m_impl.resize(size); }
+
335  void clear() { m_impl.clear(); }
+
336  int pop()
+
337  {
+
338  int v = m_impl.back();
+
339  m_impl.pop_back();
+
340  return v;
+
341  }
+
342  int size() const { return static_cast<int>(m_impl.size()); }
+
343  int& operator[](int index) { return m_impl[index]; }
+
344  int operator[](int index) const { return m_impl[index]; }
+
345 };
+
346 
+
349 template<class T> class rcScopedDelete
+
350 {
+
351  T* ptr;
+
352 public:
+
353 
+
355  inline rcScopedDelete() : ptr(0) {}
+
356 
+
359  inline rcScopedDelete(T* p) : ptr(p) {}
+
360  inline ~rcScopedDelete() { rcFree(ptr); }
+
361 
+
364  inline operator T*() { return ptr; }
+
365 
+
366 private:
+
367  // Explicitly disabled copy constructor and copy assignment operator.
+ +
369  rcScopedDelete& operator=(const rcScopedDelete&);
+
370 };
+
371 
+
372 #endif
+
rcAllocHint
Provides hint values to the memory allocator on how long the memory is expected to be used.
Definition: RecastAlloc.h:30
+
@ RC_ALLOC_TEMP
Memory used temporarily within a function.
Definition: RecastAlloc.h:32
+
@ RC_ALLOC_PERM
Memory will persist after a function call.
Definition: RecastAlloc.h:31
+
intptr_t rcSizeType
Signed to avoid warnnings when comparing to int loop indexes, and common error with comparing to zero...
Definition: RecastAlloc.h:82
+
void() rcFreeFunc(void *ptr)
A memory deallocation function.
Definition: RecastAlloc.h:45
+
void *() rcAllocFunc(size_t size, rcAllocHint hint)
A memory allocation function.
Definition: RecastAlloc.h:40
+
void rcFree(void *ptr)
Deallocates a memory block.
Definition: RecastAlloc.cpp:45
+
#define RC_SIZE_MAX
Definition: RecastAlloc.h:83
+
#define rcUnlikely(x)
Definition: RecastAlloc.h:92
+
void * rcAlloc(size_t size, rcAllocHint hint)
Allocates a memory block.
Definition: RecastAlloc.cpp:40
+
#define rcLikely(x)
Macros to hint to the compiler about the likeliest branch.
Definition: RecastAlloc.h:91
+
void rcAllocSetCustom(rcAllocFunc *allocFunc, rcFreeFunc *freeFunc)
Sets the base custom allocation functions to be used by Recast.
Definition: RecastAlloc.cpp:34
+ +
#define rcAssert(expression)
Definition: RecastAssert.h:44
+
Legacy class. Prefer rcVector<int>.
Definition: RecastAlloc.h:328
+
void clear()
Definition: RecastAlloc.h:335
+
int pop()
Definition: RecastAlloc.h:336
+
int & operator[](int index)
Definition: RecastAlloc.h:343
+
void resize(int size)
Definition: RecastAlloc.h:334
+
rcIntArray()
Definition: RecastAlloc.h:331
+
int operator[](int index) const
Definition: RecastAlloc.h:344
+
rcIntArray(int n)
Definition: RecastAlloc.h:332
+
void push(int item)
Definition: RecastAlloc.h:333
+
int size() const
Definition: RecastAlloc.h:342
+
Definition: RecastAlloc.h:315
+
rcPermVector()
Definition: RecastAlloc.h:318
+
rcPermVector(const rcPermVector< T > &other)
Definition: RecastAlloc.h:321
+
rcPermVector(rcSizeType size, const T &value)
Definition: RecastAlloc.h:320
+
rcPermVector(const T *begin, const T *end)
Definition: RecastAlloc.h:322
+
rcPermVector(rcSizeType size)
Definition: RecastAlloc.h:319
+
A simple helper class used to delete an array when it goes out of scope.
Definition: RecastAlloc.h:350
+
rcScopedDelete()
Constructs an instance with a null pointer.
Definition: RecastAlloc.h:355
+
rcScopedDelete(T *p)
Constructs an instance with the specified pointer.
Definition: RecastAlloc.h:359
+
~rcScopedDelete()
Definition: RecastAlloc.h:360
+
Definition: RecastAlloc.h:305
+
rcTempVector(rcSizeType size)
Definition: RecastAlloc.h:309
+
rcTempVector(const rcTempVector< T > &other)
Definition: RecastAlloc.h:311
+
rcTempVector(const T *begin, const T *end)
Definition: RecastAlloc.h:312
+
rcTempVector(rcSizeType size, const T &value)
Definition: RecastAlloc.h:310
+
rcTempVector()
Definition: RecastAlloc.h:308
+
Variable-sized storage type.
Definition: RecastAlloc.h:104
+
bool reserve(rcSizeType size)
Definition: RecastAlloc.h:171
+
void resize(rcSizeType size, const T &value)
Definition: RecastAlloc.h:138
+
T * end()
Definition: RecastAlloc.h:160
+
const T * data() const
Definition: RecastAlloc.h:156
+
rcSizeType capacity() const
Definition: RecastAlloc.h:146
+
void assign(const T *begin, const T *end)
Definition: RecastAlloc.h:195
+
rcSizeType size_type
Definition: RecastAlloc.h:121
+
rcVectorBase(rcSizeType count)
Definition: RecastAlloc.h:126
+
T & operator[](rcSizeType i)
Definition: RecastAlloc.h:150
+
void pop_back()
Definition: RecastAlloc.h:143
+
void resize(rcSizeType size)
Definition: RecastAlloc.h:137
+
rcVectorBase()
Definition: RecastAlloc.h:124
+
const T & back() const
Definition: RecastAlloc.h:154
+
rcVectorBase(const rcVectorBase< T, H > &other)
Definition: RecastAlloc.h:125
+
~rcVectorBase()
Definition: RecastAlloc.h:129
+
T value_type
Definition: RecastAlloc.h:122
+
T * data()
Definition: RecastAlloc.h:157
+
void push_back(const T &value)
Definition: RecastAlloc.h:202
+
const T & operator[](rcSizeType i) const
Definition: RecastAlloc.h:149
+
rcVectorBase(const T *begin, const T *end)
Definition: RecastAlloc.h:128
+
T * begin()
Definition: RecastAlloc.h:159
+
const T & front() const
Definition: RecastAlloc.h:152
+
const T * begin() const
Definition: RecastAlloc.h:161
+
rcVectorBase(rcSizeType count, const T &value)
Definition: RecastAlloc.h:127
+
bool empty() const
Definition: RecastAlloc.h:147
+
void clear()
Definition: RecastAlloc.h:140
+
rcSizeType size() const
Definition: RecastAlloc.h:145
+
const T * end() const
Definition: RecastAlloc.h:162
+
T & front()
Definition: RecastAlloc.h:153
+
void swap(rcVectorBase< T, H > &other)
Definition: RecastAlloc.h:262
+
T & back()
Definition: RecastAlloc.h:155
+
void assign(rcSizeType count, const T &value)
Definition: RecastAlloc.h:134
+
rcVectorBase & operator=(const rcVectorBase< T, H > &other)
+
An implementation of operator new usable for placement new.
Definition: RecastAlloc.h:76
+
+
+ + + + + diff --git a/RecastArea_8cpp.html b/RecastArea_8cpp.html new file mode 100644 index 00000000..e7abfea7 --- /dev/null +++ b/RecastArea_8cpp.html @@ -0,0 +1,219 @@ + + + + + + + +Recast Navigation: RecastArea.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
RecastArea.cpp File Reference
+
+
+
#include <float.h>
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include "Recast.h"
+#include "RecastAlloc.h"
+#include "RecastAssert.h"
+
+ + + + + + + + + + + + + + + + + + + + + + + +

+Functions

bool rcErodeWalkableArea (rcContext *ctx, int radius, rcCompactHeightfield &chf)
 Erodes the walkable area within the heightfield by the specified radius. More...
 
static void insertSort (unsigned char *a, const int n)
 
bool rcMedianFilterWalkableArea (rcContext *ctx, rcCompactHeightfield &chf)
 Applies a median filter to walkable area types (based on area id), removing noise. More...
 
void rcMarkBoxArea (rcContext *ctx, const float *bmin, const float *bmax, unsigned char areaId, rcCompactHeightfield &chf)
 Applies an area id to all spans within the specified bounding box. More...
 
static int pointInPoly (int nvert, const float *verts, const float *p)
 
void rcMarkConvexPolyArea (rcContext *ctx, const float *verts, const int nverts, const float hmin, const float hmax, unsigned char areaId, rcCompactHeightfield &chf)
 Applies the area id to the all spans within the specified convex polygon. More...
 
int rcOffsetPoly (const float *verts, const int nverts, const float offset, float *outVerts, const int maxOutVerts)
 Helper function to offset voncex polygons for rcMarkConvexPolyArea. More...
 
void rcMarkCylinderArea (rcContext *ctx, const float *pos, const float r, const float h, unsigned char areaId, rcCompactHeightfield &chf)
 Applies the area id to all spans within the specified cylinder. More...
 
+

Function Documentation

+ +

◆ insertSort()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void insertSort (unsigned char * a,
const int n 
)
+
+static
+
+ +
+
+ +

◆ pointInPoly()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static int pointInPoly (int nvert,
const float * verts,
const float * p 
)
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/RecastArea_8cpp.js b/RecastArea_8cpp.js new file mode 100644 index 00000000..407eb63a --- /dev/null +++ b/RecastArea_8cpp.js @@ -0,0 +1,11 @@ +var RecastArea_8cpp = +[ + [ "insertSort", "RecastArea_8cpp.html#a1071db3bfc13a7c581093d1f448f5e40", null ], + [ "pointInPoly", "RecastArea_8cpp.html#aec57aa531152be79fa4a68bd4b2782f0", null ], + [ "rcErodeWalkableArea", "group__recast.html#ga466672bb756c401fbf6dd1e99c920ebb", null ], + [ "rcMarkBoxArea", "group__recast.html#ga527b4c24537e47bcc472f28965c7b7bf", null ], + [ "rcMarkConvexPolyArea", "group__recast.html#ga1e8f3c9c2cb664fb2874d01448a1f223", null ], + [ "rcMarkCylinderArea", "group__recast.html#gac2de1bc06b5804dd4304a90f39829948", null ], + [ "rcMedianFilterWalkableArea", "group__recast.html#ga793672ade7833e916dd3c0e7a5bd6cc5", null ], + [ "rcOffsetPoly", "group__recast.html#gad71d03bb37c1a16700d57c5f7dff4057", null ] +]; \ No newline at end of file diff --git a/RecastAssert_8cpp.html b/RecastAssert_8cpp.html new file mode 100644 index 00000000..9521df23 --- /dev/null +++ b/RecastAssert_8cpp.html @@ -0,0 +1,192 @@ + + + + + + + +Recast Navigation: RecastAssert.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
RecastAssert.cpp File Reference
+
+
+
#include "RecastAssert.h"
+
+ + + + + + + +

+Functions

void rcAssertFailSetCustom (rcAssertFailFunc *assertFailFunc)
 Sets the base custom assertion failure function to be used by Recast. More...
 
rcAssertFailFuncrcAssertFailGetCustom ()
 Gets the base custom assertion failure function to be used by Recast. More...
 
+ + + +

+Variables

static rcAssertFailFuncsRecastAssertFailFunc = 0
 
+

Function Documentation

+ +

◆ rcAssertFailGetCustom()

+ +
+
+ + + + + + + +
rcAssertFailFunc* rcAssertFailGetCustom ()
+
+ +

Gets the base custom assertion failure function to be used by Recast.

+ +
+
+ +

◆ rcAssertFailSetCustom()

+ +
+
+ + + + + + + + +
void rcAssertFailSetCustom (rcAssertFailFuncassertFailFunc)
+
+ +

Sets the base custom assertion failure function to be used by Recast.

+
Parameters
+ + +
[in]assertFailFuncThe function to be used in case of failure of dtAssert
+
+
+ +
+
+

Variable Documentation

+ +

◆ sRecastAssertFailFunc

+ +
+
+ + + + + +
+ + + + +
rcAssertFailFunc* sRecastAssertFailFunc = 0
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/RecastAssert_8cpp.js b/RecastAssert_8cpp.js new file mode 100644 index 00000000..680988e7 --- /dev/null +++ b/RecastAssert_8cpp.js @@ -0,0 +1,6 @@ +var RecastAssert_8cpp = +[ + [ "rcAssertFailGetCustom", "RecastAssert_8cpp.html#acab09ab2c9fb75e87ca1bbce4717a41d", null ], + [ "rcAssertFailSetCustom", "RecastAssert_8cpp.html#a9fba2f1f45778f706f4478a73ba69e91", null ], + [ "sRecastAssertFailFunc", "RecastAssert_8cpp.html#a2040287091fff4c9733a932d37f978b7", null ] +]; \ No newline at end of file diff --git a/RecastAssert_8h.html b/RecastAssert_8h.html new file mode 100644 index 00000000..0e630d23 --- /dev/null +++ b/RecastAssert_8h.html @@ -0,0 +1,221 @@ + + + + + + + +Recast Navigation: RecastAssert.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
RecastAssert.h File Reference
+
+
+
#include <assert.h>
+
+

Go to the source code of this file.

+ + + + +

+Macros

#define rcAssert(expression)
 
+ + + + +

+Typedefs

typedef void() rcAssertFailFunc(const char *expression, const char *file, int line)
 An assertion failure function. More...
 
+ + + + + + + +

+Functions

void rcAssertFailSetCustom (rcAssertFailFunc *assertFailFunc)
 Sets the base custom assertion failure function to be used by Recast. More...
 
rcAssertFailFuncrcAssertFailGetCustom ()
 Gets the base custom assertion failure function to be used by Recast. More...
 
+

Macro Definition Documentation

+ +

◆ rcAssert

+ +
+
+ + + + + + + + +
#define rcAssert( expression)
+
+Value:
{ \
+
rcAssertFailFunc* failFunc = rcAssertFailGetCustom(); \
+
if (failFunc == NULL) { assert(expression); } \
+
else if (!(expression)) { (*failFunc)(#expression, __FILE__, __LINE__); } \
+
}
+
rcAssertFailFunc * rcAssertFailGetCustom()
Gets the base custom assertion failure function to be used by Recast.
Definition: RecastAssert.cpp:30
+
+
+
+

Typedef Documentation

+ +

◆ rcAssertFailFunc

+ +
+
+ + + + +
typedef void() rcAssertFailFunc(const char *expression, const char *file, int line)
+
+ +

An assertion failure function.

+
See also
rcAssertFailSetCustom
+ +
+
+

Function Documentation

+ +

◆ rcAssertFailGetCustom()

+ +
+
+ + + + + + + +
rcAssertFailFunc* rcAssertFailGetCustom ()
+
+ +

Gets the base custom assertion failure function to be used by Recast.

+ +
+
+ +

◆ rcAssertFailSetCustom()

+ +
+
+ + + + + + + + +
void rcAssertFailSetCustom (rcAssertFailFuncassertFailFunc)
+
+ +

Sets the base custom assertion failure function to be used by Recast.

+
Parameters
+ + +
[in]assertFailFuncThe function to be used in case of failure of dtAssert
+
+
+ +
+
+
+
+ + + + + diff --git a/RecastAssert_8h.js b/RecastAssert_8h.js new file mode 100644 index 00000000..06bc9b79 --- /dev/null +++ b/RecastAssert_8h.js @@ -0,0 +1,7 @@ +var RecastAssert_8h = +[ + [ "rcAssert", "RecastAssert_8h.html#a857ec26f725d5a8d341fedca5a32f649", null ], + [ "rcAssertFailFunc", "RecastAssert_8h.html#a56d4bc754448f291c6bf5f444c3c11e3", null ], + [ "rcAssertFailGetCustom", "RecastAssert_8h.html#acab09ab2c9fb75e87ca1bbce4717a41d", null ], + [ "rcAssertFailSetCustom", "RecastAssert_8h.html#a9fba2f1f45778f706f4478a73ba69e91", null ] +]; \ No newline at end of file diff --git a/RecastAssert_8h_source.html b/RecastAssert_8h_source.html new file mode 100644 index 00000000..820fcce4 --- /dev/null +++ b/RecastAssert_8h_source.html @@ -0,0 +1,155 @@ + + + + + + + +Recast Navigation: RecastAssert.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RecastAssert.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 RECASTASSERT_H
+
20 #define RECASTASSERT_H
+
21 
+
22 #ifdef NDEBUG
+
23 
+
24 // From http://cnicholson.net/2009/02/stupid-c-tricks-adventures-in-assert/
+
25 # define rcAssert(x) do { (void)sizeof(x); } while ((void)(__LINE__==-1), false)
+
26 
+
27 #else
+
28 
+
30 // @param[in] expression asserted expression.
+
31 // @param[in] file Filename of the failed assertion.
+
32 // @param[in] line Line number of the failed assertion.
+
34 typedef void (rcAssertFailFunc)(const char* expression, const char* file, int line);
+
35 
+
38 void rcAssertFailSetCustom(rcAssertFailFunc* assertFailFunc);
+
39 
+ +
42 
+
43 # include <assert.h>
+
44 # define rcAssert(expression) \
+
45  { \
+
46  rcAssertFailFunc* failFunc = rcAssertFailGetCustom(); \
+
47  if (failFunc == NULL) { assert(expression); } \
+
48  else if (!(expression)) { (*failFunc)(#expression, __FILE__, __LINE__); } \
+
49  }
+
50 
+
51 #endif
+
52 
+
53 #endif // RECASTASSERT_H
+
void() rcAssertFailFunc(const char *expression, const char *file, int line)
An assertion failure function.
Definition: RecastAssert.h:34
+
void rcAssertFailSetCustom(rcAssertFailFunc *assertFailFunc)
Sets the base custom assertion failure function to be used by Recast.
Definition: RecastAssert.cpp:25
+
rcAssertFailFunc * rcAssertFailGetCustom()
Gets the base custom assertion failure function to be used by Recast.
Definition: RecastAssert.cpp:30
+
+
+ + + + + diff --git a/RecastContour_8cpp.html b/RecastContour_8cpp.html new file mode 100644 index 00000000..3a204d1c --- /dev/null +++ b/RecastContour_8cpp.html @@ -0,0 +1,1231 @@ + + + + + + + +Recast Navigation: RecastContour.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
RecastContour.cpp File Reference
+
+
+
#include <math.h>
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include "Recast.h"
+#include "RecastAlloc.h"
+#include "RecastAssert.h"
+
+ + + + + + + +

+Classes

struct  rcContourHole
 
struct  rcContourRegion
 
struct  rcPotentialDiagonal
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

static int getCornerHeight (int x, int y, int i, int dir, const rcCompactHeightfield &chf, bool &isBorderVertex)
 
static void walkContour (int x, int y, int i, rcCompactHeightfield &chf, unsigned char *flags, rcIntArray &points)
 
static float distancePtSeg (const int x, const int z, const int px, const int pz, const int qx, const int qz)
 
static void simplifyContour (rcIntArray &points, rcIntArray &simplified, const float maxError, const int maxEdgeLen, const int buildFlags)
 
static int calcAreaOfPolygon2D (const int *verts, const int nverts)
 
int prev (int i, int n)
 
int next (int i, int n)
 
int area2 (const int *a, const int *b, const int *c)
 
bool xorb (bool x, bool y)
 
bool left (const int *a, const int *b, const int *c)
 
bool leftOn (const int *a, const int *b, const int *c)
 
bool collinear (const int *a, const int *b, const int *c)
 
static bool intersectProp (const int *a, const int *b, const int *c, const int *d)
 
static bool between (const int *a, const int *b, const int *c)
 
static bool intersect (const int *a, const int *b, const int *c, const int *d)
 
static bool vequal (const int *a, const int *b)
 
static bool intersectSegCountour (const int *d0, const int *d1, int i, int n, const int *verts)
 
static bool inCone (int i, int n, const int *verts, const int *pj)
 
static void removeDegenerateSegments (rcIntArray &simplified)
 
static bool mergeContours (rcContour &ca, rcContour &cb, int ia, int ib)
 
static void findLeftMostVertex (rcContour *contour, int *minx, int *minz, int *leftmost)
 
static int compareHoles (const void *va, const void *vb)
 
static int compareDiagDist (const void *va, const void *vb)
 
static void mergeRegionHoles (rcContext *ctx, rcContourRegion &region)
 
bool rcBuildContours (rcContext *ctx, rcCompactHeightfield &chf, const float maxError, const int maxEdgeLen, rcContourSet &cset, const int buildFlags)
 Builds a contour set from the region outlines in the provided compact heightfield. More...
 
+

Function Documentation

+ +

◆ area2()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
int area2 (const int * a,
const int * b,
const int * c 
)
+
+inline
+
+ +
+
+ +

◆ between()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static bool between (const int * a,
const int * b,
const int * c 
)
+
+static
+
+ +
+
+ +

◆ calcAreaOfPolygon2D()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static int calcAreaOfPolygon2D (const int * verts,
const int nverts 
)
+
+static
+
+ +
+
+ +

◆ collinear()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool collinear (const int * a,
const int * b,
const int * c 
)
+
+inline
+
+ +
+
+ +

◆ compareDiagDist()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static int compareDiagDist (const void * va,
const void * vb 
)
+
+static
+
+ +
+
+ +

◆ compareHoles()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static int compareHoles (const void * va,
const void * vb 
)
+
+static
+
+ +
+
+ +

◆ distancePtSeg()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static float distancePtSeg (const int x,
const int z,
const int px,
const int pz,
const int qx,
const int qz 
)
+
+static
+
+ +
+
+ +

◆ findLeftMostVertex()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void findLeftMostVertex (rcContourcontour,
int * minx,
int * minz,
int * leftmost 
)
+
+static
+
+ +
+
+ +

◆ getCornerHeight()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static int getCornerHeight (int x,
int y,
int i,
int dir,
const rcCompactHeightfieldchf,
bool & isBorderVertex 
)
+
+static
+
+ +
+
+ +

◆ inCone()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool inCone (int i,
int n,
const int * verts,
const int * pj 
)
+
+static
+
+ +
+
+ +

◆ intersect()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool intersect (const int * a,
const int * b,
const int * c,
const int * d 
)
+
+static
+
+ +
+
+ +

◆ intersectProp()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool intersectProp (const int * a,
const int * b,
const int * c,
const int * d 
)
+
+static
+
+ +
+
+ +

◆ intersectSegCountour()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool intersectSegCountour (const int * d0,
const int * d1,
int i,
int n,
const int * verts 
)
+
+static
+
+ +
+
+ +

◆ left()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool left (const int * a,
const int * b,
const int * c 
)
+
+inline
+
+ +
+
+ +

◆ leftOn()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool leftOn (const int * a,
const int * b,
const int * c 
)
+
+inline
+
+ +
+
+ +

◆ mergeContours()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool mergeContours (rcContourca,
rcContourcb,
int ia,
int ib 
)
+
+static
+
+ +
+
+ +

◆ mergeRegionHoles()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void mergeRegionHoles (rcContextctx,
rcContourRegionregion 
)
+
+static
+
+ +
+
+ +

◆ next()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int next (int i,
int n 
)
+
+inline
+
+ +
+
+ +

◆ prev()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int prev (int i,
int n 
)
+
+inline
+
+ +
+
+ +

◆ removeDegenerateSegments()

+ +
+
+ + + + + +
+ + + + + + + + +
static void removeDegenerateSegments (rcIntArraysimplified)
+
+static
+
+ +
+
+ +

◆ simplifyContour()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void simplifyContour (rcIntArraypoints,
rcIntArraysimplified,
const float maxError,
const int maxEdgeLen,
const int buildFlags 
)
+
+static
+
+ +
+
+ +

◆ vequal()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static bool vequal (const int * a,
const int * b 
)
+
+static
+
+ +
+
+ +

◆ walkContour()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void walkContour (int x,
int y,
int i,
rcCompactHeightfieldchf,
unsigned char * flags,
rcIntArraypoints 
)
+
+static
+
+ +
+
+ +

◆ xorb()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool xorb (bool x,
bool y 
)
+
+inline
+
+ +
+
+
+
+ + + + + diff --git a/RecastContour_8cpp.js b/RecastContour_8cpp.js new file mode 100644 index 00000000..f1ba13ad --- /dev/null +++ b/RecastContour_8cpp.js @@ -0,0 +1,31 @@ +var RecastContour_8cpp = +[ + [ "rcContourHole", "structrcContourHole.html", "structrcContourHole" ], + [ "rcContourRegion", "structrcContourRegion.html", "structrcContourRegion" ], + [ "rcPotentialDiagonal", "structrcPotentialDiagonal.html", "structrcPotentialDiagonal" ], + [ "area2", "RecastContour_8cpp.html#a09ae1f04327bcd46a12ace0769a8f266", null ], + [ "between", "RecastContour_8cpp.html#a32119d50d88bb48bcab862a57ef86425", null ], + [ "calcAreaOfPolygon2D", "RecastContour_8cpp.html#a538aea06d768e3c175b9b8e47f254b52", null ], + [ "collinear", "RecastContour_8cpp.html#adbc7fb647489ff66ceda06839a1c4487", null ], + [ "compareDiagDist", "RecastContour_8cpp.html#a68e26a981b0c0fbf9154b0bfd60316ff", null ], + [ "compareHoles", "RecastContour_8cpp.html#a3be71e84d68809762298558ccdd37028", null ], + [ "distancePtSeg", "RecastContour_8cpp.html#a95bb2b54ba0f6d1cee48278a1ba4980d", null ], + [ "findLeftMostVertex", "RecastContour_8cpp.html#adc1ece72b40b8cca1718d9c32ab9abe6", null ], + [ "getCornerHeight", "RecastContour_8cpp.html#a10f7bbb90e6028365b2637249b6bb29a", null ], + [ "inCone", "RecastContour_8cpp.html#ab93a3b7adad67c6fe99536760f60da7b", null ], + [ "intersect", "RecastContour_8cpp.html#a8c40590db2ebb79a634dfadada974679", null ], + [ "intersectProp", "RecastContour_8cpp.html#a5ebff194647dfe8f10ceab06390c68df", null ], + [ "intersectSegCountour", "RecastContour_8cpp.html#a44670adae86ff8db233723677fff6d90", null ], + [ "left", "RecastContour_8cpp.html#a0ba03d6a44337bfbcef8f0c9dad4289f", null ], + [ "leftOn", "RecastContour_8cpp.html#a4cc687ea6596949ed340d5082d75daed", null ], + [ "mergeContours", "RecastContour_8cpp.html#a1b37a039e4a04535bcddcb219ca7945b", null ], + [ "mergeRegionHoles", "RecastContour_8cpp.html#a7321f3f5954d621c5255819fe4f73004", null ], + [ "next", "RecastContour_8cpp.html#af019d68006e1f2d7b24c8f09051424cc", null ], + [ "prev", "RecastContour_8cpp.html#a6f1109916123abdff2b46675c13307e3", null ], + [ "rcBuildContours", "group__recast.html#ga9ce76e55cf94a30c017fe3b039e1cbb2", null ], + [ "removeDegenerateSegments", "RecastContour_8cpp.html#a4e79138985b8e7443e813250a17d3f71", null ], + [ "simplifyContour", "RecastContour_8cpp.html#aa7cef37578da730d57670d60132da73f", null ], + [ "vequal", "RecastContour_8cpp.html#ac36ef53201f5b44be2f321d65ae01987", null ], + [ "walkContour", "RecastContour_8cpp.html#a5f3ae9ba0be2db4fd93a7a6e01326c05", null ], + [ "xorb", "RecastContour_8cpp.html#a82c11ae489473adcaa21b9944f3553fd", null ] +]; \ No newline at end of file diff --git a/RecastDebugDraw_8cpp.html b/RecastDebugDraw_8cpp.html new file mode 100644 index 00000000..78f881c1 --- /dev/null +++ b/RecastDebugDraw_8cpp.html @@ -0,0 +1,763 @@ + + + + + + + +Recast Navigation: RecastDebugDraw.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
RecastDebugDraw.cpp File Reference
+
+
+
#include <math.h>
+#include "DebugDraw.h"
+#include "RecastDebugDraw.h"
+#include "Recast.h"
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void duDebugDrawTriMesh (duDebugDraw *dd, const float *verts, int, const int *tris, const float *normals, int ntris, const unsigned char *flags, const float texScale)
 
void duDebugDrawTriMeshSlope (duDebugDraw *dd, const float *verts, int, const int *tris, const float *normals, int ntris, const float walkableSlopeAngle, const float texScale)
 
void duDebugDrawHeightfieldSolid (duDebugDraw *dd, const rcHeightfield &hf)
 
void duDebugDrawHeightfieldWalkable (duDebugDraw *dd, const rcHeightfield &hf)
 
void duDebugDrawCompactHeightfieldSolid (duDebugDraw *dd, const rcCompactHeightfield &chf)
 
void duDebugDrawCompactHeightfieldRegions (duDebugDraw *dd, const rcCompactHeightfield &chf)
 
void duDebugDrawCompactHeightfieldDistance (duDebugDraw *dd, const rcCompactHeightfield &chf)
 
static void drawLayerPortals (duDebugDraw *dd, const rcHeightfieldLayer *layer)
 
void duDebugDrawHeightfieldLayer (duDebugDraw *dd, const struct rcHeightfieldLayer &layer, const int idx)
 
void duDebugDrawHeightfieldLayers (duDebugDraw *dd, const struct rcHeightfieldLayerSet &lset)
 
static void getContourCenter (const rcContour *cont, const float *orig, float cs, float ch, float *center)
 
static const rcContourfindContourFromSet (const rcContourSet &cset, unsigned short reg)
 
void duDebugDrawRegionConnections (duDebugDraw *dd, const rcContourSet &cset, const float alpha)
 
void duDebugDrawRawContours (duDebugDraw *dd, const rcContourSet &cset, const float alpha)
 
void duDebugDrawContours (duDebugDraw *dd, const rcContourSet &cset, const float alpha)
 
void duDebugDrawPolyMesh (duDebugDraw *dd, const struct rcPolyMesh &mesh)
 
void duDebugDrawPolyMeshDetail (duDebugDraw *dd, const struct rcPolyMeshDetail &dmesh)
 
+

Function Documentation

+ +

◆ drawLayerPortals()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void drawLayerPortals (duDebugDrawdd,
const rcHeightfieldLayerlayer 
)
+
+static
+
+ +
+
+ +

◆ duDebugDrawCompactHeightfieldDistance()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duDebugDrawCompactHeightfieldDistance (duDebugDrawdd,
const rcCompactHeightfieldchf 
)
+
+ +
+
+ +

◆ duDebugDrawCompactHeightfieldRegions()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duDebugDrawCompactHeightfieldRegions (duDebugDrawdd,
const rcCompactHeightfieldchf 
)
+
+ +
+
+ +

◆ duDebugDrawCompactHeightfieldSolid()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duDebugDrawCompactHeightfieldSolid (duDebugDrawdd,
const rcCompactHeightfieldchf 
)
+
+ +
+
+ +

◆ duDebugDrawContours()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawContours (duDebugDrawdd,
const rcContourSetcset,
const float alpha 
)
+
+ +
+
+ +

◆ duDebugDrawHeightfieldLayer()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawHeightfieldLayer (duDebugDrawdd,
const struct rcHeightfieldLayerlayer,
const int idx 
)
+
+ +
+
+ +

◆ duDebugDrawHeightfieldLayers()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duDebugDrawHeightfieldLayers (duDebugDrawdd,
const struct rcHeightfieldLayerSetlset 
)
+
+ +
+
+ +

◆ duDebugDrawHeightfieldSolid()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duDebugDrawHeightfieldSolid (duDebugDrawdd,
const rcHeightfieldhf 
)
+
+ +
+
+ +

◆ duDebugDrawHeightfieldWalkable()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duDebugDrawHeightfieldWalkable (duDebugDrawdd,
const rcHeightfieldhf 
)
+
+ +
+
+ +

◆ duDebugDrawPolyMesh()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duDebugDrawPolyMesh (duDebugDrawdd,
const struct rcPolyMeshmesh 
)
+
+ +
+
+ +

◆ duDebugDrawPolyMeshDetail()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duDebugDrawPolyMeshDetail (duDebugDrawdd,
const struct rcPolyMeshDetaildmesh 
)
+
+ +
+
+ +

◆ duDebugDrawRawContours()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawRawContours (duDebugDrawdd,
const rcContourSetcset,
const float alpha 
)
+
+ +
+
+ +

◆ duDebugDrawRegionConnections()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawRegionConnections (duDebugDrawdd,
const rcContourSetcset,
const float alpha 
)
+
+ +
+
+ +

◆ duDebugDrawTriMesh()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawTriMesh (duDebugDrawdd,
const float * verts,
int nverts,
const int * tris,
const float * normals,
int ntris,
const unsigned char * flags,
const float texScale 
)
+
+ +
+
+ +

◆ duDebugDrawTriMeshSlope()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawTriMeshSlope (duDebugDrawdd,
const float * verts,
int nverts,
const int * tris,
const float * normals,
int ntris,
const float walkableSlopeAngle,
const float texScale 
)
+
+ +
+
+ +

◆ findContourFromSet()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static const rcContour* findContourFromSet (const rcContourSetcset,
unsigned short reg 
)
+
+static
+
+ +
+
+ +

◆ getContourCenter()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void getContourCenter (const rcContourcont,
const float * orig,
float cs,
float ch,
float * center 
)
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/RecastDebugDraw_8cpp.js b/RecastDebugDraw_8cpp.js new file mode 100644 index 00000000..24213771 --- /dev/null +++ b/RecastDebugDraw_8cpp.js @@ -0,0 +1,20 @@ +var RecastDebugDraw_8cpp = +[ + [ "drawLayerPortals", "RecastDebugDraw_8cpp.html#a9de1a6c0b9054dd8131c0575bac319b9", null ], + [ "duDebugDrawCompactHeightfieldDistance", "RecastDebugDraw_8cpp.html#a235d4984c3af57709f747318682fc28c", null ], + [ "duDebugDrawCompactHeightfieldRegions", "RecastDebugDraw_8cpp.html#a4000bfb06774ee55ec1233fc8a7b355f", null ], + [ "duDebugDrawCompactHeightfieldSolid", "RecastDebugDraw_8cpp.html#af63209223e103a854da9e8991c662693", null ], + [ "duDebugDrawContours", "RecastDebugDraw_8cpp.html#ae8374807e50186e8dbdcb9d9d628d7c1", null ], + [ "duDebugDrawHeightfieldLayer", "RecastDebugDraw_8cpp.html#a993feadf9b8305559fef2b46309b7b72", null ], + [ "duDebugDrawHeightfieldLayers", "RecastDebugDraw_8cpp.html#adaac7d02f53973fdeca92cf7c8e9b14b", null ], + [ "duDebugDrawHeightfieldSolid", "RecastDebugDraw_8cpp.html#a528f5b6c42bf277945ab02d34337b4dc", null ], + [ "duDebugDrawHeightfieldWalkable", "RecastDebugDraw_8cpp.html#abea389cf7769de66629aa525def924d8", null ], + [ "duDebugDrawPolyMesh", "RecastDebugDraw_8cpp.html#a5262792ab9c0374fb32869e6ee146a10", null ], + [ "duDebugDrawPolyMeshDetail", "RecastDebugDraw_8cpp.html#a534917922155f1d5a1bc8c2099b0b28e", null ], + [ "duDebugDrawRawContours", "RecastDebugDraw_8cpp.html#a64daf33453c16f1f032a7cd270ba4cb0", null ], + [ "duDebugDrawRegionConnections", "RecastDebugDraw_8cpp.html#a5ad1b6b9a7906e15a003c1a6ce88c8fb", null ], + [ "duDebugDrawTriMesh", "RecastDebugDraw_8cpp.html#a949d0745bd2b4d6970d824b4c840513c", null ], + [ "duDebugDrawTriMeshSlope", "RecastDebugDraw_8cpp.html#af311eef9340f1e71adea608d35bdbbd9", null ], + [ "findContourFromSet", "RecastDebugDraw_8cpp.html#a37989abb1222e6e68c099a399db289b3", null ], + [ "getContourCenter", "RecastDebugDraw_8cpp.html#a3486bd0130a48ea79695f01e2cc88b05", null ] +]; \ No newline at end of file diff --git a/RecastDebugDraw_8h.html b/RecastDebugDraw_8h.html new file mode 100644 index 00000000..ccc45f85 --- /dev/null +++ b/RecastDebugDraw_8h.html @@ -0,0 +1,659 @@ + + + + + + + +Recast Navigation: RecastDebugDraw.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
RecastDebugDraw.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void duDebugDrawTriMesh (struct duDebugDraw *dd, const float *verts, int nverts, const int *tris, const float *normals, int ntris, const unsigned char *flags, const float texScale)
 
void duDebugDrawTriMeshSlope (struct duDebugDraw *dd, const float *verts, int nverts, const int *tris, const float *normals, int ntris, const float walkableSlopeAngle, const float texScale)
 
void duDebugDrawHeightfieldSolid (struct duDebugDraw *dd, const struct rcHeightfield &hf)
 
void duDebugDrawHeightfieldWalkable (struct duDebugDraw *dd, const struct rcHeightfield &hf)
 
void duDebugDrawCompactHeightfieldSolid (struct duDebugDraw *dd, const struct rcCompactHeightfield &chf)
 
void duDebugDrawCompactHeightfieldRegions (struct duDebugDraw *dd, const struct rcCompactHeightfield &chf)
 
void duDebugDrawCompactHeightfieldDistance (struct duDebugDraw *dd, const struct rcCompactHeightfield &chf)
 
void duDebugDrawHeightfieldLayer (duDebugDraw *dd, const struct rcHeightfieldLayer &layer, const int idx)
 
void duDebugDrawHeightfieldLayers (duDebugDraw *dd, const struct rcHeightfieldLayerSet &lset)
 
void duDebugDrawHeightfieldLayersRegions (duDebugDraw *dd, const struct rcHeightfieldLayerSet &lset)
 
void duDebugDrawRegionConnections (struct duDebugDraw *dd, const struct rcContourSet &cset, const float alpha=1.0f)
 
void duDebugDrawRawContours (struct duDebugDraw *dd, const struct rcContourSet &cset, const float alpha=1.0f)
 
void duDebugDrawContours (struct duDebugDraw *dd, const struct rcContourSet &cset, const float alpha=1.0f)
 
void duDebugDrawPolyMesh (struct duDebugDraw *dd, const struct rcPolyMesh &mesh)
 
void duDebugDrawPolyMeshDetail (struct duDebugDraw *dd, const struct rcPolyMeshDetail &dmesh)
 
+

Function Documentation

+ +

◆ duDebugDrawCompactHeightfieldDistance()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duDebugDrawCompactHeightfieldDistance (struct duDebugDrawdd,
const struct rcCompactHeightfieldchf 
)
+
+ +
+
+ +

◆ duDebugDrawCompactHeightfieldRegions()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duDebugDrawCompactHeightfieldRegions (struct duDebugDrawdd,
const struct rcCompactHeightfieldchf 
)
+
+ +
+
+ +

◆ duDebugDrawCompactHeightfieldSolid()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duDebugDrawCompactHeightfieldSolid (struct duDebugDrawdd,
const struct rcCompactHeightfieldchf 
)
+
+ +
+
+ +

◆ duDebugDrawContours()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawContours (struct duDebugDrawdd,
const struct rcContourSetcset,
const float alpha = 1.0f 
)
+
+ +
+
+ +

◆ duDebugDrawHeightfieldLayer()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawHeightfieldLayer (duDebugDrawdd,
const struct rcHeightfieldLayerlayer,
const int idx 
)
+
+ +
+
+ +

◆ duDebugDrawHeightfieldLayers()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duDebugDrawHeightfieldLayers (duDebugDrawdd,
const struct rcHeightfieldLayerSetlset 
)
+
+ +
+
+ +

◆ duDebugDrawHeightfieldLayersRegions()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duDebugDrawHeightfieldLayersRegions (duDebugDrawdd,
const struct rcHeightfieldLayerSetlset 
)
+
+ +
+
+ +

◆ duDebugDrawHeightfieldSolid()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duDebugDrawHeightfieldSolid (struct duDebugDrawdd,
const struct rcHeightfieldhf 
)
+
+ +
+
+ +

◆ duDebugDrawHeightfieldWalkable()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duDebugDrawHeightfieldWalkable (struct duDebugDrawdd,
const struct rcHeightfieldhf 
)
+
+ +
+
+ +

◆ duDebugDrawPolyMesh()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duDebugDrawPolyMesh (struct duDebugDrawdd,
const struct rcPolyMeshmesh 
)
+
+ +
+
+ +

◆ duDebugDrawPolyMeshDetail()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duDebugDrawPolyMeshDetail (struct duDebugDrawdd,
const struct rcPolyMeshDetaildmesh 
)
+
+ +
+
+ +

◆ duDebugDrawRawContours()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawRawContours (struct duDebugDrawdd,
const struct rcContourSetcset,
const float alpha = 1.0f 
)
+
+ +
+
+ +

◆ duDebugDrawRegionConnections()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawRegionConnections (struct duDebugDrawdd,
const struct rcContourSetcset,
const float alpha = 1.0f 
)
+
+ +
+
+ +

◆ duDebugDrawTriMesh()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawTriMesh (struct duDebugDrawdd,
const float * verts,
int nverts,
const int * tris,
const float * normals,
int ntris,
const unsigned char * flags,
const float texScale 
)
+
+ +
+
+ +

◆ duDebugDrawTriMeshSlope()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDebugDrawTriMeshSlope (struct duDebugDrawdd,
const float * verts,
int nverts,
const int * tris,
const float * normals,
int ntris,
const float walkableSlopeAngle,
const float texScale 
)
+
+ +
+
+
+
+ + + + + diff --git a/RecastDebugDraw_8h.js b/RecastDebugDraw_8h.js new file mode 100644 index 00000000..00e85cc4 --- /dev/null +++ b/RecastDebugDraw_8h.js @@ -0,0 +1,18 @@ +var RecastDebugDraw_8h = +[ + [ "duDebugDrawCompactHeightfieldDistance", "RecastDebugDraw_8h.html#aa0dcb87104fd153b14d82061253f05a3", null ], + [ "duDebugDrawCompactHeightfieldRegions", "RecastDebugDraw_8h.html#a22ee02b05453303381db3765dd1144fc", null ], + [ "duDebugDrawCompactHeightfieldSolid", "RecastDebugDraw_8h.html#a2ac8ef50c91af41f727d85d03881279c", null ], + [ "duDebugDrawContours", "RecastDebugDraw_8h.html#aded380127861ec22ecce3f14567dd922", null ], + [ "duDebugDrawHeightfieldLayer", "RecastDebugDraw_8h.html#a993feadf9b8305559fef2b46309b7b72", null ], + [ "duDebugDrawHeightfieldLayers", "RecastDebugDraw_8h.html#adaac7d02f53973fdeca92cf7c8e9b14b", null ], + [ "duDebugDrawHeightfieldLayersRegions", "RecastDebugDraw_8h.html#a2222614f4dc750b926d364145f950149", null ], + [ "duDebugDrawHeightfieldSolid", "RecastDebugDraw_8h.html#a3c760b859a679f2fac314e024702e710", null ], + [ "duDebugDrawHeightfieldWalkable", "RecastDebugDraw_8h.html#a58116ac621789250210772e7c84ba860", null ], + [ "duDebugDrawPolyMesh", "RecastDebugDraw_8h.html#a8c4b9add262ac0610b058981b54e11ef", null ], + [ "duDebugDrawPolyMeshDetail", "RecastDebugDraw_8h.html#a6354e7ba85ef550882d6b474bd20d402", null ], + [ "duDebugDrawRawContours", "RecastDebugDraw_8h.html#a23f240dc7ca409e589b8fc6ff9c13703", null ], + [ "duDebugDrawRegionConnections", "RecastDebugDraw_8h.html#ab61190774f8a73f704db0a69ebff30da", null ], + [ "duDebugDrawTriMesh", "RecastDebugDraw_8h.html#aa27138eac68bd4fba98a18940998b89c", null ], + [ "duDebugDrawTriMeshSlope", "RecastDebugDraw_8h.html#aad3643ecdf0a8b18414baebc88acb048", null ] +]; \ No newline at end of file diff --git a/RecastDebugDraw_8h_source.html b/RecastDebugDraw_8h_source.html new file mode 100644 index 00000000..79150c50 --- /dev/null +++ b/RecastDebugDraw_8h_source.html @@ -0,0 +1,169 @@ + + + + + + + +Recast Navigation: RecastDebugDraw.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RecastDebugDraw.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 RECAST_DEBUGDRAW_H
+
20 #define RECAST_DEBUGDRAW_H
+
21 
+
22 void duDebugDrawTriMesh(struct duDebugDraw* dd, const float* verts, int nverts, const int* tris, const float* normals, int ntris, const unsigned char* flags, const float texScale);
+
23 void duDebugDrawTriMeshSlope(struct duDebugDraw* dd, const float* verts, int nverts, const int* tris, const float* normals, int ntris, const float walkableSlopeAngle, const float texScale);
+
24 
+
25 void duDebugDrawHeightfieldSolid(struct duDebugDraw* dd, const struct rcHeightfield& hf);
+
26 void duDebugDrawHeightfieldWalkable(struct duDebugDraw* dd, const struct rcHeightfield& hf);
+
27 
+ + + +
31 
+
32 void duDebugDrawHeightfieldLayer(duDebugDraw* dd, const struct rcHeightfieldLayer& layer, const int idx);
+ + +
35 
+
36 void duDebugDrawRegionConnections(struct duDebugDraw* dd, const struct rcContourSet& cset, const float alpha = 1.0f);
+
37 void duDebugDrawRawContours(struct duDebugDraw* dd, const struct rcContourSet& cset, const float alpha = 1.0f);
+
38 void duDebugDrawContours(struct duDebugDraw* dd, const struct rcContourSet& cset, const float alpha = 1.0f);
+
39 void duDebugDrawPolyMesh(struct duDebugDraw* dd, const struct rcPolyMesh& mesh);
+
40 void duDebugDrawPolyMeshDetail(struct duDebugDraw* dd, const struct rcPolyMeshDetail& dmesh);
+
41 
+
42 #endif // RECAST_DEBUGDRAW_H
+
void duDebugDrawHeightfieldLayersRegions(duDebugDraw *dd, const struct rcHeightfieldLayerSet &lset)
+
void duDebugDrawCompactHeightfieldRegions(struct duDebugDraw *dd, const struct rcCompactHeightfield &chf)
+
void duDebugDrawRawContours(struct duDebugDraw *dd, const struct rcContourSet &cset, const float alpha=1.0f)
+
void duDebugDrawCompactHeightfieldSolid(struct duDebugDraw *dd, const struct rcCompactHeightfield &chf)
+
void duDebugDrawHeightfieldSolid(struct duDebugDraw *dd, const struct rcHeightfield &hf)
+
void duDebugDrawHeightfieldWalkable(struct duDebugDraw *dd, const struct rcHeightfield &hf)
+
void duDebugDrawPolyMeshDetail(struct duDebugDraw *dd, const struct rcPolyMeshDetail &dmesh)
Definition: RecastDebugDraw.cpp:964
+
void duDebugDrawPolyMesh(struct duDebugDraw *dd, const struct rcPolyMesh &mesh)
Definition: RecastDebugDraw.cpp:855
+
void duDebugDrawHeightfieldLayer(duDebugDraw *dd, const struct rcHeightfieldLayer &layer, const int idx)
Definition: RecastDebugDraw.cpp:370
+
void duDebugDrawCompactHeightfieldDistance(struct duDebugDraw *dd, const struct rcCompactHeightfield &chf)
+
void duDebugDrawTriMesh(struct duDebugDraw *dd, const float *verts, int nverts, const int *tris, const float *normals, int ntris, const unsigned char *flags, const float texScale)
Definition: RecastDebugDraw.cpp:24
+
void duDebugDrawTriMeshSlope(struct duDebugDraw *dd, const float *verts, int nverts, const int *tris, const float *normals, int ntris, const float walkableSlopeAngle, const float texScale)
Definition: RecastDebugDraw.cpp:79
+
void duDebugDrawRegionConnections(struct duDebugDraw *dd, const struct rcContourSet &cset, const float alpha=1.0f)
+
void duDebugDrawHeightfieldLayers(duDebugDraw *dd, const struct rcHeightfieldLayerSet &lset)
Definition: RecastDebugDraw.cpp:424
+
void duDebugDrawContours(struct duDebugDraw *dd, const struct rcContourSet &cset, const float alpha=1.0f)
+
Abstract debug draw interface.
Definition: DebugDraw.h:35
+
A compact, static heightfield representing unobstructed space.
Definition: Recast.h:352
+
Represents a group of related contours.
Definition: Recast.h:431
+
Represents a set of heightfield layers.
Definition: Recast.h:404
+
Represents a heightfield layer within a layer set.
Definition: Recast.h:382
+
A dynamic heightfield representing obstructed space.
Definition: Recast.h:313
+
Contains triangle meshes that represent detailed height data associated with the polygons in its asso...
Definition: Recast.h:485
+
Represents a polygon mesh suitable for use in building a navigation mesh.
Definition: Recast.h:455
+
+
+ + + + + diff --git a/RecastDump_8cpp.html b/RecastDump_8cpp.html new file mode 100644 index 00000000..d8270aa5 --- /dev/null +++ b/RecastDump_8cpp.html @@ -0,0 +1,523 @@ + + + + + + + +Recast Navigation: RecastDump.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
RecastDump.cpp File Reference
+
+
+
#include <math.h>
+#include <stdio.h>
+#include <stdarg.h>
+#include <string.h>
+#include "Recast.h"
+#include "RecastAlloc.h"
+#include "RecastDump.h"
+
+ + + + + + + + + + + + + + + + + + + +

+Functions

static void ioprintf (duFileIO *io, const char *format,...)
 
bool duDumpPolyMeshToObj (rcPolyMesh &pmesh, duFileIO *io)
 
bool duDumpPolyMeshDetailToObj (rcPolyMeshDetail &dmesh, duFileIO *io)
 
bool duDumpContourSet (struct rcContourSet &cset, duFileIO *io)
 
bool duReadContourSet (struct rcContourSet &cset, duFileIO *io)
 
bool duDumpCompactHeightfield (struct rcCompactHeightfield &chf, duFileIO *io)
 
bool duReadCompactHeightfield (struct rcCompactHeightfield &chf, duFileIO *io)
 
static void logLine (rcContext &ctx, rcTimerLabel label, const char *name, const float pc)
 
void duLogBuildTimes (rcContext &ctx, const int totalTimeUsec)
 
+ + + + + + + + + +

+Variables

static const int CSET_MAGIC = ('c' << 24) | ('s' << 16) | ('e' << 8) | 't'
 
static const int CSET_VERSION = 2
 
static const int CHF_MAGIC = ('r' << 24) | ('c' << 16) | ('h' << 8) | 'f'
 
static const int CHF_VERSION = 3
 
+

Function Documentation

+ +

◆ duDumpCompactHeightfield()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool duDumpCompactHeightfield (struct rcCompactHeightfieldchf,
duFileIOio 
)
+
+ +
+
+ +

◆ duDumpContourSet()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool duDumpContourSet (struct rcContourSetcset,
duFileIOio 
)
+
+ +
+
+ +

◆ duDumpPolyMeshDetailToObj()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool duDumpPolyMeshDetailToObj (rcPolyMeshDetaildmesh,
duFileIOio 
)
+
+ +
+
+ +

◆ duDumpPolyMeshToObj()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool duDumpPolyMeshToObj (rcPolyMeshpmesh,
duFileIOio 
)
+
+ +
+
+ +

◆ duLogBuildTimes()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duLogBuildTimes (rcContextctx,
const int totalTimeUsec 
)
+
+ +
+
+ +

◆ duReadCompactHeightfield()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool duReadCompactHeightfield (struct rcCompactHeightfieldchf,
duFileIOio 
)
+
+ +
+
+ +

◆ duReadContourSet()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool duReadContourSet (struct rcContourSetcset,
duFileIOio 
)
+
+ +
+
+ +

◆ ioprintf()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static void ioprintf (duFileIOio,
const char * format,
 ... 
)
+
+static
+
+ +
+
+ +

◆ logLine()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void logLine (rcContextctx,
rcTimerLabel label,
const char * name,
const float pc 
)
+
+static
+
+ +
+
+

Variable Documentation

+ +

◆ CHF_MAGIC

+ +
+
+ + + + + +
+ + + + +
const int CHF_MAGIC = ('r' << 24) | ('c' << 16) | ('h' << 8) | 'f'
+
+static
+
+ +
+
+ +

◆ CHF_VERSION

+ +
+
+ + + + + +
+ + + + +
const int CHF_VERSION = 3
+
+static
+
+ +
+
+ +

◆ CSET_MAGIC

+ +
+
+ + + + + +
+ + + + +
const int CSET_MAGIC = ('c' << 24) | ('s' << 16) | ('e' << 8) | 't'
+
+static
+
+ +
+
+ +

◆ CSET_VERSION

+ +
+
+ + + + + +
+ + + + +
const int CSET_VERSION = 2
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/RecastDump_8cpp.js b/RecastDump_8cpp.js new file mode 100644 index 00000000..77040c47 --- /dev/null +++ b/RecastDump_8cpp.js @@ -0,0 +1,16 @@ +var RecastDump_8cpp = +[ + [ "duDumpCompactHeightfield", "RecastDump_8cpp.html#adec19cdb843932197e6538ea2e234cc1", null ], + [ "duDumpContourSet", "RecastDump_8cpp.html#a6ae5d539309d07370f7ec5eb53e94743", null ], + [ "duDumpPolyMeshDetailToObj", "RecastDump_8cpp.html#aa0cb505c86286978f1d3e3af54f78816", null ], + [ "duDumpPolyMeshToObj", "RecastDump_8cpp.html#a6dc94dd7f5e9b4a1bf998c45b06dbce8", null ], + [ "duLogBuildTimes", "RecastDump_8cpp.html#a99bee52e313edc310e3bd5b07f77b66c", null ], + [ "duReadCompactHeightfield", "RecastDump_8cpp.html#aa11f7a7470e8e8aeea6f155e39edccf8", null ], + [ "duReadContourSet", "RecastDump_8cpp.html#a9e1f8ba842160742ce414e710c6472fb", null ], + [ "ioprintf", "RecastDump_8cpp.html#af97d6194d18bf5f35fb6e384300e2c6b", null ], + [ "logLine", "RecastDump_8cpp.html#a18f72d041fb59ce861860d2b9c17b659", null ], + [ "CHF_MAGIC", "RecastDump_8cpp.html#af5311bee0fd48670a0f14539c1f8b24c", null ], + [ "CHF_VERSION", "RecastDump_8cpp.html#a8f954aa8135b2c9f2ae8fd2bd8529398", null ], + [ "CSET_MAGIC", "RecastDump_8cpp.html#a715b66346d870827210e9b90b9e5add9", null ], + [ "CSET_VERSION", "RecastDump_8cpp.html#a8888aaa743f054b6efd0e2ac8529df62", null ] +]; \ No newline at end of file diff --git a/RecastDump_8h.html b/RecastDump_8h.html new file mode 100644 index 00000000..b9035a93 --- /dev/null +++ b/RecastDump_8h.html @@ -0,0 +1,329 @@ + + + + + + + +Recast Navigation: RecastDump.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
RecastDump.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Classes

struct  duFileIO
 
+ + + + + + + + + + + + + + + +

+Functions

bool duDumpPolyMeshToObj (struct rcPolyMesh &pmesh, duFileIO *io)
 
bool duDumpPolyMeshDetailToObj (struct rcPolyMeshDetail &dmesh, duFileIO *io)
 
bool duDumpContourSet (struct rcContourSet &cset, duFileIO *io)
 
bool duReadContourSet (struct rcContourSet &cset, duFileIO *io)
 
bool duDumpCompactHeightfield (struct rcCompactHeightfield &chf, duFileIO *io)
 
bool duReadCompactHeightfield (struct rcCompactHeightfield &chf, duFileIO *io)
 
void duLogBuildTimes (rcContext &ctx, const int totalTileUsec)
 
+

Function Documentation

+ +

◆ duDumpCompactHeightfield()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool duDumpCompactHeightfield (struct rcCompactHeightfieldchf,
duFileIOio 
)
+
+ +
+
+ +

◆ duDumpContourSet()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool duDumpContourSet (struct rcContourSetcset,
duFileIOio 
)
+
+ +
+
+ +

◆ duDumpPolyMeshDetailToObj()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool duDumpPolyMeshDetailToObj (struct rcPolyMeshDetaildmesh,
duFileIOio 
)
+
+ +
+
+ +

◆ duDumpPolyMeshToObj()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool duDumpPolyMeshToObj (struct rcPolyMeshpmesh,
duFileIOio 
)
+
+ +
+
+ +

◆ duLogBuildTimes()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void duLogBuildTimes (rcContextctx,
const int totalTileUsec 
)
+
+ +
+
+ +

◆ duReadCompactHeightfield()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool duReadCompactHeightfield (struct rcCompactHeightfieldchf,
duFileIOio 
)
+
+ +
+
+ +

◆ duReadContourSet()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool duReadContourSet (struct rcContourSetcset,
duFileIOio 
)
+
+ +
+
+
+
+ + + + + diff --git a/RecastDump_8h.js b/RecastDump_8h.js new file mode 100644 index 00000000..be40ff98 --- /dev/null +++ b/RecastDump_8h.js @@ -0,0 +1,11 @@ +var RecastDump_8h = +[ + [ "duFileIO", "structduFileIO.html", "structduFileIO" ], + [ "duDumpCompactHeightfield", "RecastDump_8h.html#adec19cdb843932197e6538ea2e234cc1", null ], + [ "duDumpContourSet", "RecastDump_8h.html#a6ae5d539309d07370f7ec5eb53e94743", null ], + [ "duDumpPolyMeshDetailToObj", "RecastDump_8h.html#a129a91fa790aafc645396c31759dfd80", null ], + [ "duDumpPolyMeshToObj", "RecastDump_8h.html#a0a79a720e9e9bbcc7c299260c7e6d327", null ], + [ "duLogBuildTimes", "RecastDump_8h.html#a32dd617dc1eeb615d779834c760131a5", null ], + [ "duReadCompactHeightfield", "RecastDump_8h.html#aa11f7a7470e8e8aeea6f155e39edccf8", null ], + [ "duReadContourSet", "RecastDump_8h.html#a9e1f8ba842160742ce414e710c6472fb", null ] +]; \ No newline at end of file diff --git a/RecastDump_8h_source.html b/RecastDump_8h_source.html new file mode 100644 index 00000000..a6d952c8 --- /dev/null +++ b/RecastDump_8h_source.html @@ -0,0 +1,164 @@ + + + + + + + +Recast Navigation: RecastDump.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RecastDump.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 RECAST_DUMP_H
+
20 #define RECAST_DUMP_H
+
21 
+
22 struct duFileIO
+
23 {
+
24  virtual ~duFileIO();
+
25  virtual bool isWriting() const = 0;
+
26  virtual bool isReading() const = 0;
+
27  virtual bool write(const void* ptr, const size_t size) = 0;
+
28  virtual bool read(void* ptr, const size_t size) = 0;
+
29 };
+
30 
+
31 bool duDumpPolyMeshToObj(struct rcPolyMesh& pmesh, duFileIO* io);
+
32 bool duDumpPolyMeshDetailToObj(struct rcPolyMeshDetail& dmesh, duFileIO* io);
+
33 
+
34 bool duDumpContourSet(struct rcContourSet& cset, duFileIO* io);
+
35 bool duReadContourSet(struct rcContourSet& cset, duFileIO* io);
+
36 
+ + +
39 
+
40 void duLogBuildTimes(rcContext& ctx, const int totalTileUsec);
+
41 
+
42 #endif // RECAST_DUMP_H
+
bool duDumpPolyMeshToObj(struct rcPolyMesh &pmesh, duFileIO *io)
Definition: RecastDump.cpp:43
+
bool duDumpPolyMeshDetailToObj(struct rcPolyMeshDetail &dmesh, duFileIO *io)
Definition: RecastDump.cpp:90
+
void duLogBuildTimes(rcContext &ctx, const int totalTileUsec)
Definition: RecastDump.cpp:417
+
bool duDumpContourSet(struct rcContourSet &cset, duFileIO *io)
Definition: RecastDump.cpp:138
+
bool duReadContourSet(struct rcContourSet &cset, duFileIO *io)
Definition: RecastDump.cpp:180
+
bool duReadCompactHeightfield(struct rcCompactHeightfield &chf, duFileIO *io)
Definition: RecastDump.cpp:315
+
bool duDumpCompactHeightfield(struct rcCompactHeightfield &chf, duFileIO *io)
Definition: RecastDump.cpp:262
+
Provides an interface for optional logging and performance tracking of the Recast build process.
Definition: Recast.h:115
+
Definition: RecastDump.h:23
+
virtual bool isReading() const =0
+
virtual bool isWriting() const =0
+
virtual bool write(const void *ptr, const size_t size)=0
+
virtual bool read(void *ptr, const size_t size)=0
+
virtual ~duFileIO()
Definition: RecastDump.cpp:27
+
A compact, static heightfield representing unobstructed space.
Definition: Recast.h:352
+
Represents a group of related contours.
Definition: Recast.h:431
+
Contains triangle meshes that represent detailed height data associated with the polygons in its asso...
Definition: Recast.h:485
+
Represents a polygon mesh suitable for use in building a navigation mesh.
Definition: Recast.h:455
+
+
+ + + + + diff --git a/RecastFilter_8cpp.html b/RecastFilter_8cpp.html new file mode 100644 index 00000000..295c9c03 --- /dev/null +++ b/RecastFilter_8cpp.html @@ -0,0 +1,122 @@ + + + + + + + +Recast Navigation: RecastFilter.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
RecastFilter.cpp File Reference
+
+
+
#include "Recast.h"
+#include "RecastAssert.h"
+#include <stdlib.h>
+
+ + + + + + + + + + +

+Functions

void rcFilterLowHangingWalkableObstacles (rcContext *context, const int walkableClimb, rcHeightfield &heightfield)
 Marks non-walkable spans as walkable if their maximum is within walkableClimb of a walkable neighbor. More...
 
void rcFilterLedgeSpans (rcContext *context, const int walkableHeight, const int walkableClimb, rcHeightfield &heightfield)
 Marks spans that are ledges as not-walkable. More...
 
void rcFilterWalkableLowHeightSpans (rcContext *context, const int walkableHeight, rcHeightfield &heightfield)
 Marks walkable spans as not walkable if the clearance above the span is less than the specified height. More...
 
+
+
+ + + + + diff --git a/RecastFilter_8cpp.js b/RecastFilter_8cpp.js new file mode 100644 index 00000000..5f831139 --- /dev/null +++ b/RecastFilter_8cpp.js @@ -0,0 +1,6 @@ +var RecastFilter_8cpp = +[ + [ "rcFilterLedgeSpans", "group__recast.html#gad40c996631bc70091d7355dc4c950655", null ], + [ "rcFilterLowHangingWalkableObstacles", "group__recast.html#ga009f5e462077cc2f6d1f5fff57f2e412", null ], + [ "rcFilterWalkableLowHeightSpans", "group__recast.html#ga0dbfbeebd642c1b79323ba7723d91a49", null ] +]; \ No newline at end of file diff --git a/RecastLayers_8cpp.html b/RecastLayers_8cpp.html new file mode 100644 index 00000000..95faf11f --- /dev/null +++ b/RecastLayers_8cpp.html @@ -0,0 +1,327 @@ + + + + + + + +Recast Navigation: RecastLayers.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
RecastLayers.cpp File Reference
+
+
+
#include <float.h>
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include "Recast.h"
+#include "RecastAlloc.h"
+#include "RecastAssert.h"
+
+ + + + + +

+Classes

struct  rcLayerRegion
 
struct  rcLayerSweepSpan
 
+ + + + + + + + + + +

+Functions

static bool contains (const unsigned char *a, const unsigned char an, const unsigned char v)
 
static bool addUnique (unsigned char *a, unsigned char &an, int anMax, unsigned char v)
 
bool overlapRange (const unsigned short amin, const unsigned short amax, const unsigned short bmin, const unsigned short bmax)
 
bool rcBuildHeightfieldLayers (rcContext *ctx, rcCompactHeightfield &chf, const int borderSize, const int walkableHeight, rcHeightfieldLayerSet &lset)
 Builds a layer set from the specified compact heightfield. More...
 
+ + + + + +

+Variables

static const int RC_MAX_LAYERS = 63
 
static const int RC_MAX_NEIS = 16
 
+

Function Documentation

+ +

◆ addUnique()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool addUnique (unsigned char * a,
unsigned char & an,
int anMax,
unsigned char v 
)
+
+static
+
+ +
+
+ +

◆ contains()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static bool contains (const unsigned char * a,
const unsigned char an,
const unsigned char v 
)
+
+static
+
+ +
+
+ +

◆ overlapRange()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool overlapRange (const unsigned short amin,
const unsigned short amax,
const unsigned short bmin,
const unsigned short bmax 
)
+
+inline
+
+ +
+
+

Variable Documentation

+ +

◆ RC_MAX_LAYERS

+ +
+
+ + + + + +
+ + + + +
const int RC_MAX_LAYERS = 63
+
+static
+
+ +
+
+ +

◆ RC_MAX_NEIS

+ +
+
+ + + + + +
+ + + + +
const int RC_MAX_NEIS = 16
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/RecastLayers_8cpp.js b/RecastLayers_8cpp.js new file mode 100644 index 00000000..073bafbc --- /dev/null +++ b/RecastLayers_8cpp.js @@ -0,0 +1,11 @@ +var RecastLayers_8cpp = +[ + [ "rcLayerRegion", "structrcLayerRegion.html", "structrcLayerRegion" ], + [ "rcLayerSweepSpan", "structrcLayerSweepSpan.html", "structrcLayerSweepSpan" ], + [ "addUnique", "RecastLayers_8cpp.html#adc2593ebcf70cf17029ab4a28013c29b", null ], + [ "contains", "RecastLayers_8cpp.html#a4bb3cae5fa2c81629762ccb89c6d136c", null ], + [ "overlapRange", "RecastLayers_8cpp.html#a9df3149dc43b5528b0003e20ccb931e3", null ], + [ "rcBuildHeightfieldLayers", "group__recast.html#ga21dd089dcfc243ed949a28727dc41010", null ], + [ "RC_MAX_LAYERS", "RecastLayers_8cpp.html#a0865bdb05f7816f06bd8666f04535f42", null ], + [ "RC_MAX_NEIS", "RecastLayers_8cpp.html#adc47551fbc117d2c43a91dd14a78df66", null ] +]; \ No newline at end of file diff --git a/RecastMeshDetail_8cpp.html b/RecastMeshDetail_8cpp.html new file mode 100644 index 00000000..5073cb65 --- /dev/null +++ b/RecastMeshDetail_8cpp.html @@ -0,0 +1,1781 @@ + + + + + + + +Recast Navigation: RecastMeshDetail.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
RecastMeshDetail.cpp File Reference
+
+
+
#include <float.h>
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include "Recast.h"
+#include "RecastAlloc.h"
+#include "RecastAssert.h"
+
+ + + +

+Classes

struct  rcHeightPatch
 
+ + + +

+Enumerations

enum  EdgeValues { EV_UNDEF = -1 +, EV_HULL = -2 + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

float vdot2 (const float *a, const float *b)
 
float vdistSq2 (const float *p, const float *q)
 
float vdist2 (const float *p, const float *q)
 
float vcross2 (const float *p1, const float *p2, const float *p3)
 
static bool circumCircle (const float *p1, const float *p2, const float *p3, float *c, float &r)
 
static float distPtTri (const float *p, const float *a, const float *b, const float *c)
 
static float distancePtSeg (const float *pt, const float *p, const float *q)
 
static float distancePtSeg2d (const float *pt, const float *p, const float *q)
 
static float distToTriMesh (const float *p, const float *verts, const int, const int *tris, const int ntris)
 
static float distToPoly (int nvert, const float *verts, const float *p)
 
static unsigned short getHeight (const float fx, const float fy, const float fz, const float, const float ics, const float ch, const int radius, const rcHeightPatch &hp)
 
static int findEdge (const int *edges, int nedges, int s, int t)
 
static int addEdge (rcContext *ctx, int *edges, int &nedges, const int maxEdges, int s, int t, int l, int r)
 
static void updateLeftFace (int *e, int s, int t, int f)
 
static int overlapSegSeg2d (const float *a, const float *b, const float *c, const float *d)
 
static bool overlapEdges (const float *pts, const int *edges, int nedges, int s1, int t1)
 
static void completeFacet (rcContext *ctx, const float *pts, int npts, int *edges, int &nedges, const int maxEdges, int &nfaces, int e)
 
static void delaunayHull (rcContext *ctx, const int npts, const float *pts, const int nhull, const int *hull, rcIntArray &tris, rcIntArray &edges)
 
static float polyMinExtent (const float *verts, const int nverts)
 
int prev (int i, int n)
 
int next (int i, int n)
 
static void triangulateHull (const int, const float *verts, const int nhull, const int *hull, const int nin, rcIntArray &tris)
 
float getJitterX (const int i)
 
float getJitterY (const int i)
 
static bool buildPolyDetail (rcContext *ctx, const float *in, const int nin, const float sampleDist, const float sampleMaxError, const int heightSearchRadius, const rcCompactHeightfield &chf, const rcHeightPatch &hp, float *verts, int &nverts, rcIntArray &tris, rcIntArray &edges, rcIntArray &samples)
 
static void seedArrayWithPolyCenter (rcContext *ctx, const rcCompactHeightfield &chf, const unsigned short *poly, const int npoly, const unsigned short *verts, const int bs, rcHeightPatch &hp, rcIntArray &array)
 
static void push3 (rcIntArray &queue, int v1, int v2, int v3)
 
static void getHeightData (rcContext *ctx, const rcCompactHeightfield &chf, const unsigned short *poly, const int npoly, const unsigned short *verts, const int bs, rcHeightPatch &hp, rcIntArray &queue, int region)
 
static unsigned char getEdgeFlags (const float *va, const float *vb, const float *vpoly, const int npoly)
 
static unsigned char getTriFlags (const float *va, const float *vb, const float *vc, const float *vpoly, const int npoly)
 
bool rcBuildPolyMeshDetail (rcContext *ctx, const rcPolyMesh &mesh, const rcCompactHeightfield &chf, const float sampleDist, const float sampleMaxError, rcPolyMeshDetail &dmesh)
 Builds a detail mesh from the provided polygon mesh. More...
 
bool rcMergePolyMeshDetails (rcContext *ctx, rcPolyMeshDetail **meshes, const int nmeshes, rcPolyMeshDetail &mesh)
 Merges multiple detail meshes into a single detail mesh. More...
 
+ + + +

+Variables

static const unsigned RC_UNSET_HEIGHT = 0xffff
 
+

Enumeration Type Documentation

+ +

◆ EdgeValues

+ +
+
+ + + + +
enum EdgeValues
+
+ + + +
Enumerator
EV_UNDEF 
EV_HULL 
+ +
+
+

Function Documentation

+ +

◆ addEdge()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static int addEdge (rcContextctx,
int * edges,
int & nedges,
const int maxEdges,
int s,
int t,
int l,
int r 
)
+
+static
+
+ +
+
+ +

◆ buildPolyDetail()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool buildPolyDetail (rcContextctx,
const float * in,
const int nin,
const float sampleDist,
const float sampleMaxError,
const int heightSearchRadius,
const rcCompactHeightfieldchf,
const rcHeightPatchhp,
float * verts,
int & nverts,
rcIntArraytris,
rcIntArrayedges,
rcIntArraysamples 
)
+
+static
+
+ +
+
+ +

◆ circumCircle()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool circumCircle (const float * p1,
const float * p2,
const float * p3,
float * c,
float & r 
)
+
+static
+
+ +
+
+ +

◆ completeFacet()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void completeFacet (rcContextctx,
const float * pts,
int npts,
int * edges,
int & nedges,
const int maxEdges,
int & nfaces,
int e 
)
+
+static
+
+ +
+
+ +

◆ delaunayHull()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void delaunayHull (rcContextctx,
const int npts,
const float * pts,
const int nhull,
const int * hull,
rcIntArraytris,
rcIntArrayedges 
)
+
+static
+
+ +
+
+ +

◆ distancePtSeg()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static float distancePtSeg (const float * pt,
const float * p,
const float * q 
)
+
+static
+
+ +
+
+ +

◆ distancePtSeg2d()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static float distancePtSeg2d (const float * pt,
const float * p,
const float * q 
)
+
+static
+
+ +
+
+ +

◆ distPtTri()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static float distPtTri (const float * p,
const float * a,
const float * b,
const float * c 
)
+
+static
+
+ +
+
+ +

◆ distToPoly()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static float distToPoly (int nvert,
const float * verts,
const float * p 
)
+
+static
+
+ +
+
+ +

◆ distToTriMesh()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static float distToTriMesh (const float * p,
const float * verts,
const int ,
const int * tris,
const int ntris 
)
+
+static
+
+ +
+
+ +

◆ findEdge()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static int findEdge (const int * edges,
int nedges,
int s,
int t 
)
+
+static
+
+ +
+
+ +

◆ getEdgeFlags()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static unsigned char getEdgeFlags (const float * va,
const float * vb,
const float * vpoly,
const int npoly 
)
+
+static
+
+ +
+
+ +

◆ getHeight()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static unsigned short getHeight (const float fx,
const float fy,
const float fz,
const float ,
const float ics,
const float ch,
const int radius,
const rcHeightPatchhp 
)
+
+static
+
+ +
+
+ +

◆ getHeightData()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void getHeightData (rcContextctx,
const rcCompactHeightfieldchf,
const unsigned short * poly,
const int npoly,
const unsigned short * verts,
const int bs,
rcHeightPatchhp,
rcIntArrayqueue,
int region 
)
+
+static
+
+ +
+
+ +

◆ getJitterX()

+ +
+
+ + + + + +
+ + + + + + + + +
float getJitterX (const int i)
+
+inline
+
+ +
+
+ +

◆ getJitterY()

+ +
+
+ + + + + +
+ + + + + + + + +
float getJitterY (const int i)
+
+inline
+
+ +
+
+ +

◆ getTriFlags()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static unsigned char getTriFlags (const float * va,
const float * vb,
const float * vc,
const float * vpoly,
const int npoly 
)
+
+static
+
+ +
+
+ +

◆ next()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int next (int i,
int n 
)
+
+inline
+
+ +
+
+ +

◆ overlapEdges()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool overlapEdges (const float * pts,
const int * edges,
int nedges,
int s1,
int t1 
)
+
+static
+
+ +
+
+ +

◆ overlapSegSeg2d()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static int overlapSegSeg2d (const float * a,
const float * b,
const float * c,
const float * d 
)
+
+static
+
+ +
+
+ +

◆ polyMinExtent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static float polyMinExtent (const float * verts,
const int nverts 
)
+
+static
+
+ +
+
+ +

◆ prev()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int prev (int i,
int n 
)
+
+inline
+
+ +
+
+ +

◆ push3()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void push3 (rcIntArrayqueue,
int v1,
int v2,
int v3 
)
+
+static
+
+ +
+
+ +

◆ seedArrayWithPolyCenter()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void seedArrayWithPolyCenter (rcContextctx,
const rcCompactHeightfieldchf,
const unsigned short * poly,
const int npoly,
const unsigned short * verts,
const int bs,
rcHeightPatchhp,
rcIntArrayarray 
)
+
+static
+
+ +
+
+ +

◆ triangulateHull()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void triangulateHull (const int ,
const float * verts,
const int nhull,
const int * hull,
const int nin,
rcIntArraytris 
)
+
+static
+
+ +
+
+ +

◆ updateLeftFace()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void updateLeftFace (int * e,
int s,
int t,
int f 
)
+
+static
+
+ +
+
+ +

◆ vcross2()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
float vcross2 (const float * p1,
const float * p2,
const float * p3 
)
+
+inline
+
+ +
+
+ +

◆ vdist2()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
float vdist2 (const float * p,
const float * q 
)
+
+inline
+
+ +
+
+ +

◆ vdistSq2()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
float vdistSq2 (const float * p,
const float * q 
)
+
+inline
+
+ +
+
+ +

◆ vdot2()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
float vdot2 (const float * a,
const float * b 
)
+
+inline
+
+ +
+
+

Variable Documentation

+ +

◆ RC_UNSET_HEIGHT

+ +
+
+ + + + + +
+ + + + +
const unsigned RC_UNSET_HEIGHT = 0xffff
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/RecastMeshDetail_8cpp.js b/RecastMeshDetail_8cpp.js new file mode 100644 index 00000000..a2d5b47f --- /dev/null +++ b/RecastMeshDetail_8cpp.js @@ -0,0 +1,41 @@ +var RecastMeshDetail_8cpp = +[ + [ "rcHeightPatch", "structrcHeightPatch.html", "structrcHeightPatch" ], + [ "EdgeValues", "RecastMeshDetail_8cpp.html#a2ce1b25dcb60c164cfbe7620244199cc", [ + [ "EV_UNDEF", "RecastMeshDetail_8cpp.html#a2ce1b25dcb60c164cfbe7620244199ccad1171dcfff57cf1425e53bd38d69999d", null ], + [ "EV_HULL", "RecastMeshDetail_8cpp.html#a2ce1b25dcb60c164cfbe7620244199ccabd0388f662d97f6027f36ea1c9a887df", null ] + ] ], + [ "addEdge", "RecastMeshDetail_8cpp.html#aff810577b2aaf1338c7051ad08435ce7", null ], + [ "buildPolyDetail", "RecastMeshDetail_8cpp.html#a71ca10a7c35e12de63aebe7f7cba59b0", null ], + [ "circumCircle", "RecastMeshDetail_8cpp.html#a22704fbc4ce6a6d0aa11821bc4684f22", null ], + [ "completeFacet", "RecastMeshDetail_8cpp.html#a96a6ec05a5889ccef86be9992f5631c2", null ], + [ "delaunayHull", "RecastMeshDetail_8cpp.html#ab13d6c0bcebc425fa41a5ce9aeeecf76", null ], + [ "distancePtSeg", "RecastMeshDetail_8cpp.html#a3324f740169bc2196d871cc72aae6fcc", null ], + [ "distancePtSeg2d", "RecastMeshDetail_8cpp.html#aeea404279f43e22f8a7677f9a737f7af", null ], + [ "distPtTri", "RecastMeshDetail_8cpp.html#ac8f54a9fbd62cf31427bdaa1e88979de", null ], + [ "distToPoly", "RecastMeshDetail_8cpp.html#a185eb97e9f8ab6642bea84844254a56b", null ], + [ "distToTriMesh", "RecastMeshDetail_8cpp.html#a33777bf1bf884f96964beb7b7c7526e6", null ], + [ "findEdge", "RecastMeshDetail_8cpp.html#a16c4ee55e57347991da140a8cd13c313", null ], + [ "getEdgeFlags", "RecastMeshDetail_8cpp.html#a237fe0f624a27a47a9c0885fa1450dcc", null ], + [ "getHeight", "RecastMeshDetail_8cpp.html#a2604c39cdc6af9e468adceb40145d93f", null ], + [ "getHeightData", "RecastMeshDetail_8cpp.html#abb8411f8d3acf15a62f60228d6c4ff21", null ], + [ "getJitterX", "RecastMeshDetail_8cpp.html#ab4cd0a143a512c295ef95569bbfbbeef", null ], + [ "getJitterY", "RecastMeshDetail_8cpp.html#a194240aeeb96887533303bf652a3c201", null ], + [ "getTriFlags", "RecastMeshDetail_8cpp.html#ab92e230a5419da84e12aadb8bbfc1819", null ], + [ "next", "RecastMeshDetail_8cpp.html#af019d68006e1f2d7b24c8f09051424cc", null ], + [ "overlapEdges", "RecastMeshDetail_8cpp.html#a337ede595b48252890c745e99d559373", null ], + [ "overlapSegSeg2d", "RecastMeshDetail_8cpp.html#a127f1eddaf7db32655955561199a064f", null ], + [ "polyMinExtent", "RecastMeshDetail_8cpp.html#a43a5a2bbda38a829d1266337e19c4a6f", null ], + [ "prev", "RecastMeshDetail_8cpp.html#a6f1109916123abdff2b46675c13307e3", null ], + [ "push3", "RecastMeshDetail_8cpp.html#afe63298d01e44c843ffc828d419dc6f4", null ], + [ "rcBuildPolyMeshDetail", "group__recast.html#ga27bbc4ef9f8c09b68ec63ebe908521a2", null ], + [ "rcMergePolyMeshDetails", "group__recast.html#ga6ef022fcf6dabdb0437b979304c0defe", null ], + [ "seedArrayWithPolyCenter", "RecastMeshDetail_8cpp.html#aa27a15fb0a81befd7f9957f63eb45735", null ], + [ "triangulateHull", "RecastMeshDetail_8cpp.html#a82563f9d527bf5df7f89dd1bb60903c4", null ], + [ "updateLeftFace", "RecastMeshDetail_8cpp.html#a0e67f4996b610668123b58620dae5a4f", null ], + [ "vcross2", "RecastMeshDetail_8cpp.html#af3f14f4be46b7208b244f15f2f805e17", null ], + [ "vdist2", "RecastMeshDetail_8cpp.html#a810b0244c7c29dcf5eae04c805318b85", null ], + [ "vdistSq2", "RecastMeshDetail_8cpp.html#a36172d94785e617bbc5f27dad577dadc", null ], + [ "vdot2", "RecastMeshDetail_8cpp.html#a0ad602bda2f516b9a847c3b06c2d97fd", null ], + [ "RC_UNSET_HEIGHT", "RecastMeshDetail_8cpp.html#a17129b9465fbc4a0d5b375870f751ff2", null ] +]; \ No newline at end of file diff --git a/RecastMesh_8cpp.html b/RecastMesh_8cpp.html new file mode 100644 index 00000000..32500a89 --- /dev/null +++ b/RecastMesh_8cpp.html @@ -0,0 +1,1569 @@ + + + + + + + +Recast Navigation: RecastMesh.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
RecastMesh.cpp File Reference
+
+
+
#include <math.h>
+#include <string.h>
+#include <stdio.h>
+#include "Recast.h"
+#include "RecastAlloc.h"
+#include "RecastAssert.h"
+
+ + + +

+Classes

struct  rcEdge
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

static bool buildMeshAdjacency (unsigned short *polys, const int npolys, const int nverts, const int vertsPerPoly)
 
int computeVertexHash (int x, int y, int z)
 
static unsigned short addVertex (unsigned short x, unsigned short y, unsigned short z, unsigned short *verts, int *firstVert, int *nextVert, int &nv)
 
int prev (int i, int n)
 
int next (int i, int n)
 
int area2 (const int *a, const int *b, const int *c)
 
bool xorb (bool x, bool y)
 
bool left (const int *a, const int *b, const int *c)
 
bool leftOn (const int *a, const int *b, const int *c)
 
bool collinear (const int *a, const int *b, const int *c)
 
static bool intersectProp (const int *a, const int *b, const int *c, const int *d)
 
static bool between (const int *a, const int *b, const int *c)
 
static bool intersect (const int *a, const int *b, const int *c, const int *d)
 
static bool vequal (const int *a, const int *b)
 
static bool diagonalie (int i, int j, int n, const int *verts, int *indices)
 
static bool inCone (int i, int j, int n, const int *verts, int *indices)
 
static bool diagonal (int i, int j, int n, const int *verts, int *indices)
 
static bool diagonalieLoose (int i, int j, int n, const int *verts, int *indices)
 
static bool inConeLoose (int i, int j, int n, const int *verts, int *indices)
 
static bool diagonalLoose (int i, int j, int n, const int *verts, int *indices)
 
static int triangulate (int n, const int *verts, int *indices, int *tris)
 
static int countPolyVerts (const unsigned short *p, const int nvp)
 
bool uleft (const unsigned short *a, const unsigned short *b, const unsigned short *c)
 
static int getPolyMergeValue (unsigned short *pa, unsigned short *pb, const unsigned short *verts, int &ea, int &eb, const int nvp)
 
static void mergePolyVerts (unsigned short *pa, unsigned short *pb, int ea, int eb, unsigned short *tmp, const int nvp)
 
static void pushFront (int v, int *arr, int &an)
 
static void pushBack (int v, int *arr, int &an)
 
static bool canRemoveVertex (rcContext *ctx, rcPolyMesh &mesh, const unsigned short rem)
 
static bool removeVertex (rcContext *ctx, rcPolyMesh &mesh, const unsigned short rem, const int maxTris)
 
bool rcBuildPolyMesh (rcContext *ctx, rcContourSet &cset, const int nvp, rcPolyMesh &mesh)
 Builds a polygon mesh from the provided contours. More...
 
bool rcMergePolyMeshes (rcContext *ctx, rcPolyMesh **meshes, const int nmeshes, rcPolyMesh &mesh)
 Merges multiple polygon meshes into a single mesh. More...
 
bool rcCopyPolyMesh (rcContext *ctx, const rcPolyMesh &src, rcPolyMesh &dst)
 Copies the poly mesh data from src to dst. More...
 
+ + + +

+Variables

static const int VERTEX_BUCKET_COUNT = (1<<12)
 
+

Function Documentation

+ +

◆ addVertex()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static unsigned short addVertex (unsigned short x,
unsigned short y,
unsigned short z,
unsigned short * verts,
int * firstVert,
int * nextVert,
int & nv 
)
+
+static
+
+ +
+
+ +

◆ area2()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
int area2 (const int * a,
const int * b,
const int * c 
)
+
+inline
+
+ +
+
+ +

◆ between()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static bool between (const int * a,
const int * b,
const int * c 
)
+
+static
+
+ +
+
+ +

◆ buildMeshAdjacency()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool buildMeshAdjacency (unsigned short * polys,
const int npolys,
const int nverts,
const int vertsPerPoly 
)
+
+static
+
+ +
+
+ +

◆ canRemoveVertex()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static bool canRemoveVertex (rcContextctx,
rcPolyMeshmesh,
const unsigned short rem 
)
+
+static
+
+ +
+
+ +

◆ collinear()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool collinear (const int * a,
const int * b,
const int * c 
)
+
+inline
+
+ +
+
+ +

◆ computeVertexHash()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
int computeVertexHash (int x,
int y,
int z 
)
+
+inline
+
+ +
+
+ +

◆ countPolyVerts()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static int countPolyVerts (const unsigned short * p,
const int nvp 
)
+
+static
+
+ +
+
+ +

◆ diagonal()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool diagonal (int i,
int j,
int n,
const int * verts,
int * indices 
)
+
+static
+
+ +
+
+ +

◆ diagonalie()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool diagonalie (int i,
int j,
int n,
const int * verts,
int * indices 
)
+
+static
+
+ +
+
+ +

◆ diagonalieLoose()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool diagonalieLoose (int i,
int j,
int n,
const int * verts,
int * indices 
)
+
+static
+
+ +
+
+ +

◆ diagonalLoose()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool diagonalLoose (int i,
int j,
int n,
const int * verts,
int * indices 
)
+
+static
+
+ +
+
+ +

◆ getPolyMergeValue()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static int getPolyMergeValue (unsigned short * pa,
unsigned short * pb,
const unsigned short * verts,
int & ea,
int & eb,
const int nvp 
)
+
+static
+
+ +
+
+ +

◆ inCone()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool inCone (int i,
int j,
int n,
const int * verts,
int * indices 
)
+
+static
+
+ +
+
+ +

◆ inConeLoose()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool inConeLoose (int i,
int j,
int n,
const int * verts,
int * indices 
)
+
+static
+
+ +
+
+ +

◆ intersect()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool intersect (const int * a,
const int * b,
const int * c,
const int * d 
)
+
+static
+
+ +
+
+ +

◆ intersectProp()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool intersectProp (const int * a,
const int * b,
const int * c,
const int * d 
)
+
+static
+
+ +
+
+ +

◆ left()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool left (const int * a,
const int * b,
const int * c 
)
+
+inline
+
+ +
+
+ +

◆ leftOn()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool leftOn (const int * a,
const int * b,
const int * c 
)
+
+inline
+
+ +
+
+ +

◆ mergePolyVerts()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void mergePolyVerts (unsigned short * pa,
unsigned short * pb,
int ea,
int eb,
unsigned short * tmp,
const int nvp 
)
+
+static
+
+ +
+
+ +

◆ next()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int next (int i,
int n 
)
+
+inline
+
+ +
+
+ +

◆ prev()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int prev (int i,
int n 
)
+
+inline
+
+ +
+
+ +

◆ pushBack()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static void pushBack (int v,
int * arr,
int & an 
)
+
+static
+
+ +
+
+ +

◆ pushFront()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static void pushFront (int v,
int * arr,
int & an 
)
+
+static
+
+ +
+
+ +

◆ removeVertex()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool removeVertex (rcContextctx,
rcPolyMeshmesh,
const unsigned short rem,
const int maxTris 
)
+
+static
+
+ +
+
+ +

◆ triangulate()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static int triangulate (int n,
const int * verts,
int * indices,
int * tris 
)
+
+static
+
+ +
+
+ +

◆ uleft()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool uleft (const unsigned short * a,
const unsigned short * b,
const unsigned short * c 
)
+
+inline
+
+ +
+
+ +

◆ vequal()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static bool vequal (const int * a,
const int * b 
)
+
+static
+
+ +
+
+ +

◆ xorb()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool xorb (bool x,
bool y 
)
+
+inline
+
+ +
+
+

Variable Documentation

+ +

◆ VERTEX_BUCKET_COUNT

+ +
+
+ + + + + +
+ + + + +
const int VERTEX_BUCKET_COUNT = (1<<12)
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/RecastMesh_8cpp.js b/RecastMesh_8cpp.js new file mode 100644 index 00000000..17d7ea46 --- /dev/null +++ b/RecastMesh_8cpp.js @@ -0,0 +1,37 @@ +var RecastMesh_8cpp = +[ + [ "rcEdge", "structrcEdge.html", "structrcEdge" ], + [ "addVertex", "RecastMesh_8cpp.html#a80775c4842d1c1c9f9acbe1c99e0ccd5", null ], + [ "area2", "RecastMesh_8cpp.html#a09ae1f04327bcd46a12ace0769a8f266", null ], + [ "between", "RecastMesh_8cpp.html#a32119d50d88bb48bcab862a57ef86425", null ], + [ "buildMeshAdjacency", "RecastMesh_8cpp.html#a256e19cca110edc31cb96adf9a52521d", null ], + [ "canRemoveVertex", "RecastMesh_8cpp.html#a837800b7a34e1106d7ad287b8cb7fc33", null ], + [ "collinear", "RecastMesh_8cpp.html#adbc7fb647489ff66ceda06839a1c4487", null ], + [ "computeVertexHash", "RecastMesh_8cpp.html#ada4ba8a9249ac90f3736b65f6de28e34", null ], + [ "countPolyVerts", "RecastMesh_8cpp.html#a5ae2b41c36fdf5c74e434c33d31dab95", null ], + [ "diagonal", "RecastMesh_8cpp.html#a3152b8f34516e03fe3876163cb337bc2", null ], + [ "diagonalie", "RecastMesh_8cpp.html#a77080de091f2816bb77dc4a6ef7805af", null ], + [ "diagonalieLoose", "RecastMesh_8cpp.html#a0c1c07732a67621d27fbe34687294ae9", null ], + [ "diagonalLoose", "RecastMesh_8cpp.html#a3e3391b452db19de34e2242eb35ef4bc", null ], + [ "getPolyMergeValue", "RecastMesh_8cpp.html#aa51188672fa9e4efd3dffdb7012765b5", null ], + [ "inCone", "RecastMesh_8cpp.html#a3626785a54ec9abeb63f0fc43661b8d8", null ], + [ "inConeLoose", "RecastMesh_8cpp.html#aaccc35a1704dcc3625b941a927c97034", null ], + [ "intersect", "RecastMesh_8cpp.html#a8c40590db2ebb79a634dfadada974679", null ], + [ "intersectProp", "RecastMesh_8cpp.html#a5ebff194647dfe8f10ceab06390c68df", null ], + [ "left", "RecastMesh_8cpp.html#a0ba03d6a44337bfbcef8f0c9dad4289f", null ], + [ "leftOn", "RecastMesh_8cpp.html#a4cc687ea6596949ed340d5082d75daed", null ], + [ "mergePolyVerts", "RecastMesh_8cpp.html#ab16a0c6bfd0ae903d4c02eabd16fd5af", null ], + [ "next", "RecastMesh_8cpp.html#af019d68006e1f2d7b24c8f09051424cc", null ], + [ "prev", "RecastMesh_8cpp.html#a6f1109916123abdff2b46675c13307e3", null ], + [ "pushBack", "RecastMesh_8cpp.html#aec063018a8d28a41c26ac51762618208", null ], + [ "pushFront", "RecastMesh_8cpp.html#a589bd4317fc5d856399939218757d09e", null ], + [ "rcBuildPolyMesh", "group__recast.html#ga6ccf68fa67b52296071764bddf19dd9f", null ], + [ "rcCopyPolyMesh", "group__recast.html#gadd16ae360ef930c3ba8c4839e3065d40", null ], + [ "rcMergePolyMeshes", "group__recast.html#gaa28c3eb627ca7d96015c7978ff0eb8f7", null ], + [ "removeVertex", "RecastMesh_8cpp.html#ac8ebd1bb6f534d5a37959dcb3321ce7d", null ], + [ "triangulate", "RecastMesh_8cpp.html#af19401e5d7d90391fe30c6d31de5a533", null ], + [ "uleft", "RecastMesh_8cpp.html#a7779e8ce95da76bac3631db6b39436db", null ], + [ "vequal", "RecastMesh_8cpp.html#ac36ef53201f5b44be2f321d65ae01987", null ], + [ "xorb", "RecastMesh_8cpp.html#a82c11ae489473adcaa21b9944f3553fd", null ], + [ "VERTEX_BUCKET_COUNT", "RecastMesh_8cpp.html#a3a4e01616a89d8ef01154d9dd46e0ccc", null ] +]; \ No newline at end of file diff --git a/RecastRasterization_8cpp.html b/RecastRasterization_8cpp.html new file mode 100644 index 00000000..6ec04bb3 --- /dev/null +++ b/RecastRasterization_8cpp.html @@ -0,0 +1,598 @@ + + + + + + + +Recast Navigation: RecastRasterization.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
RecastRasterization.cpp File Reference
+
+
+
#include <math.h>
+#include <stdio.h>
+#include "Recast.h"
+#include "RecastAlloc.h"
+#include "RecastAssert.h"
+
+ + + +

+Enumerations

enum  rcAxis { RC_AXIS_X = 0 +, RC_AXIS_Y = 1 +, RC_AXIS_Z = 2 + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

static bool overlapBounds (const float *aMin, const float *aMax, const float *bMin, const float *bMax)
 Check whether two bounding boxes overlap. More...
 
static rcSpanallocSpan (rcHeightfield &hf)
 Allocates a new span in the heightfield. More...
 
static void freeSpan (rcHeightfield &hf, rcSpan *span)
 Releases the memory used by the span back to the heightfield, so it can be re-used for new spans. More...
 
static bool addSpan (rcHeightfield &hf, const int x, const int z, const unsigned short min, const unsigned short max, const unsigned char areaID, const int flagMergeThreshold)
 Adds a span to the heightfield. More...
 
bool rcAddSpan (rcContext *context, rcHeightfield &heightfield, const int x, const int z, const unsigned short spanMin, const unsigned short spanMax, const unsigned char areaID, const int flagMergeThreshold)
 Adds a span to the specified heightfield. More...
 
static void dividePoly (const float *inVerts, int inVertsCount, float *outVerts1, int *outVerts1Count, float *outVerts2, int *outVerts2Count, float axisOffset, rcAxis axis)
 Divides a convex polygon of max 12 vertices into two convex polygons across a separating axis. More...
 
static bool rasterizeTri (const float *v0, const float *v1, const float *v2, const unsigned char areaID, rcHeightfield &hf, const float *hfBBMin, const float *hfBBMax, const float cellSize, const float inverseCellSize, const float inverseCellHeight, const int flagMergeThreshold)
 Rasterize a single triangle to the heightfield. More...
 
bool rcRasterizeTriangle (rcContext *context, const float *v0, const float *v1, const float *v2, const unsigned char areaID, rcHeightfield &heightfield, const int flagMergeThreshold)
 Rasterizes a single triangle into the specified heightfield. More...
 
bool rcRasterizeTriangles (rcContext *context, const float *verts, const int, const int *tris, const unsigned char *triAreaIDs, const int numTris, rcHeightfield &heightfield, const int flagMergeThreshold)
 Rasterizes an indexed triangle mesh into the specified heightfield. More...
 
bool rcRasterizeTriangles (rcContext *context, const float *verts, const int, const unsigned short *tris, const unsigned char *triAreaIDs, const int numTris, rcHeightfield &heightfield, const int flagMergeThreshold)
 Rasterizes an indexed triangle mesh into the specified heightfield. More...
 
bool rcRasterizeTriangles (rcContext *context, const float *verts, const unsigned char *triAreaIDs, const int numTris, rcHeightfield &heightfield, const int flagMergeThreshold)
 Rasterizes a triangle list into the specified heightfield. More...
 
+

Enumeration Type Documentation

+ +

◆ rcAxis

+ +
+
+ + + + +
enum rcAxis
+
+ + + + +
Enumerator
RC_AXIS_X 
RC_AXIS_Y 
RC_AXIS_Z 
+ +
+
+

Function Documentation

+ +

◆ addSpan()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool addSpan (rcHeightfieldhf,
const int x,
const int z,
const unsigned short min,
const unsigned short max,
const unsigned char areaID,
const int flagMergeThreshold 
)
+
+static
+
+ +

Adds a span to the heightfield.

+

If the new span overlaps existing spans, it will merge the new span with the existing ones.

+
Parameters
+ + + + + + + + +
[in]hfHeightfield to add spans to
[in]xThe new span's column cell x index
[in]zThe new span's column cell z index
[in]minThe new span's minimum cell index
[in]maxThe new span's maximum cell index
[in]areaIDThe new span's area type ID
[in]flagMergeThresholdHow close two spans maximum extents need to be to merge area type IDs
+
+
+ +
+
+ +

◆ allocSpan()

+ +
+
+ + + + + +
+ + + + + + + + +
static rcSpan* allocSpan (rcHeightfieldhf)
+
+static
+
+ +

Allocates a new span in the heightfield.

+

Use a memory pool and free list to minimize actual allocations.

+
Parameters
+ + +
[in]hfThe heightfield
+
+
+
Returns
A pointer to the allocated or re-used span memory.
+
+ +
+
+ +

◆ dividePoly()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void dividePoly (const float * inVerts,
int inVertsCount,
float * outVerts1,
int * outVerts1Count,
float * outVerts2,
int * outVerts2Count,
float axisOffset,
rcAxis axis 
)
+
+static
+
+ +

Divides a convex polygon of max 12 vertices into two convex polygons across a separating axis.

+
Parameters
+ + + + + + + + + +
[in]inVertsThe input polygon vertices
[in]inVertsCountThe number of input polygon vertices
[out]outVerts1Resulting polygon 1's vertices
[out]outVerts1CountThe number of resulting polygon 1 vertices
[out]outVerts2Resulting polygon 2's vertices
[out]outVerts2CountThe number of resulting polygon 2 vertices
[in]axisOffsetTHe offset along the specified axis
[in]axisThe separating axis
+
+
+ +
+
+ +

◆ freeSpan()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void freeSpan (rcHeightfieldhf,
rcSpanspan 
)
+
+static
+
+ +

Releases the memory used by the span back to the heightfield, so it can be re-used for new spans.

+
Parameters
+ + + +
[in]hfThe heightfield.
[in]spanA pointer to the span to free
+
+
+ +
+
+ +

◆ overlapBounds()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool overlapBounds (const float * aMin,
const float * aMax,
const float * bMin,
const float * bMax 
)
+
+static
+
+ +

Check whether two bounding boxes overlap.

+
Parameters
+ + + + + +
[in]aMinMin axis extents of bounding box A
[in]aMaxMax axis extents of bounding box A
[in]bMinMin axis extents of bounding box B
[in]bMaxMax axis extents of bounding box B
+
+
+
Returns
true if the two bounding boxes overlap. False otherwise.
+ +
+
+ +

◆ rasterizeTri()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool rasterizeTri (const float * v0,
const float * v1,
const float * v2,
const unsigned char areaID,
rcHeightfieldhf,
const float * hfBBMin,
const float * hfBBMax,
const float cellSize,
const float inverseCellSize,
const float inverseCellHeight,
const int flagMergeThreshold 
)
+
+static
+
+ +

Rasterize a single triangle to the heightfield.

+

This code is extremely hot, so much care should be given to maintaining maximum perf here.

+
Parameters
+ + + + + + + + + + + + +
[in]v0Triangle vertex 0
[in]v1Triangle vertex 1
[in]v2Triangle vertex 2
[in]areaIDThe area ID to assign to the rasterized spans
[in]hfHeightfield to rasterize into
[in]hfBBMinThe min extents of the heightfield bounding box
[in]hfBBMaxThe max extents of the heightfield bounding box
[in]cellSizeThe x and z axis size of a voxel in the heightfield
[in]inverseCellSize1 / cellSize
[in]inverseCellHeight1 / cellHeight
[in]flagMergeThresholdThe threshold in which area flags will be merged
+
+
+
Returns
true if the operation completes successfully. false if there was an error adding spans to the heightfield.
+ +
+
+
+
+ + + + + diff --git a/RecastRasterization_8cpp.js b/RecastRasterization_8cpp.js new file mode 100644 index 00000000..fa4637cc --- /dev/null +++ b/RecastRasterization_8cpp.js @@ -0,0 +1,19 @@ +var RecastRasterization_8cpp = +[ + [ "rcAxis", "RecastRasterization_8cpp.html#a62b583caa984b1e6c218932f3218789b", [ + [ "RC_AXIS_X", "RecastRasterization_8cpp.html#a62b583caa984b1e6c218932f3218789ba4f552701c96db6d643c5ae3741030fda", null ], + [ "RC_AXIS_Y", "RecastRasterization_8cpp.html#a62b583caa984b1e6c218932f3218789ba505b172a6e189588ed8d8607e857f432", null ], + [ "RC_AXIS_Z", "RecastRasterization_8cpp.html#a62b583caa984b1e6c218932f3218789ba5b56c442d066db5cc6e612ae9bcadcf4", null ] + ] ], + [ "addSpan", "RecastRasterization_8cpp.html#a99ae97dd732c3528b730ba714afa9098", null ], + [ "allocSpan", "RecastRasterization_8cpp.html#aa11b8335cd3e2dfd39972a4e9046467c", null ], + [ "dividePoly", "RecastRasterization_8cpp.html#af54026b5ecdfeabb867b7147d8730303", null ], + [ "freeSpan", "RecastRasterization_8cpp.html#a37457137923a03210b6e72b0c091225c", null ], + [ "overlapBounds", "RecastRasterization_8cpp.html#ad16e8ad5fc4ebec8d71d58217215ff60", null ], + [ "rasterizeTri", "RecastRasterization_8cpp.html#a48cc2a033f9552494a06236a5d66326b", null ], + [ "rcAddSpan", "group__recast.html#ga86f63cef2e174a1f4cb050767090beeb", null ], + [ "rcRasterizeTriangle", "group__recast.html#ga23a98560fac96a1d2eb9f01c6617e927", null ], + [ "rcRasterizeTriangles", "group__recast.html#gadac24191b69876017ed01d85e0a44645", null ], + [ "rcRasterizeTriangles", "group__recast.html#ga40ce03082b89fd8d890fa65d9b3d64d9", null ], + [ "rcRasterizeTriangles", "group__recast.html#gaebc5f38893ede7ee5d107a9ad2dbd369", null ] +]; \ No newline at end of file diff --git a/RecastRegion_8cpp.html b/RecastRegion_8cpp.html new file mode 100644 index 00000000..81e1f0b5 --- /dev/null +++ b/RecastRegion_8cpp.html @@ -0,0 +1,1092 @@ + + + + + + + +Recast Navigation: RecastRegion.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
RecastRegion.cpp File Reference
+
+
+
#include <float.h>
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include "Recast.h"
+#include "RecastAlloc.h"
+#include "RecastAssert.h"
+
+ + + + + + + +

+Classes

struct  DirtyEntry
 
struct  rcRegion
 
struct  rcSweepSpan
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

static void calculateDistanceField (rcCompactHeightfield &chf, unsigned short *src, unsigned short &maxDist)
 
static unsigned short * boxBlur (rcCompactHeightfield &chf, int thr, unsigned short *src, unsigned short *dst)
 
static bool floodRegion (int x, int y, int i, unsigned short level, unsigned short r, rcCompactHeightfield &chf, unsigned short *srcReg, unsigned short *srcDist, rcTempVector< LevelStackEntry > &stack)
 
static void expandRegions (int maxIter, unsigned short level, rcCompactHeightfield &chf, unsigned short *srcReg, unsigned short *srcDist, rcTempVector< LevelStackEntry > &stack, bool fillStack)
 
static void sortCellsByLevel (unsigned short startLevel, rcCompactHeightfield &chf, const unsigned short *srcReg, unsigned int nbStacks, rcTempVector< LevelStackEntry > *stacks, unsigned short loglevelsPerStack)
 
static void appendStacks (const rcTempVector< LevelStackEntry > &srcStack, rcTempVector< LevelStackEntry > &dstStack, const unsigned short *srcReg)
 
static void removeAdjacentNeighbours (rcRegion &reg)
 
static void replaceNeighbour (rcRegion &reg, unsigned short oldId, unsigned short newId)
 
static bool canMergeWithRegion (const rcRegion &rega, const rcRegion &regb)
 
static void addUniqueFloorRegion (rcRegion &reg, int n)
 
static bool mergeRegions (rcRegion &rega, rcRegion &regb)
 
static bool isRegionConnectedToBorder (const rcRegion &reg)
 
static bool isSolidEdge (rcCompactHeightfield &chf, const unsigned short *srcReg, int x, int y, int i, int dir)
 
static void walkContour (int x, int y, int i, int dir, rcCompactHeightfield &chf, const unsigned short *srcReg, rcIntArray &cont)
 
static bool mergeAndFilterRegions (rcContext *ctx, int minRegionArea, int mergeRegionSize, unsigned short &maxRegionId, rcCompactHeightfield &chf, unsigned short *srcReg, rcIntArray &overlaps)
 
static void addUniqueConnection (rcRegion &reg, int n)
 
static bool mergeAndFilterLayerRegions (rcContext *ctx, int minRegionArea, unsigned short &maxRegionId, rcCompactHeightfield &chf, unsigned short *srcReg)
 
bool rcBuildDistanceField (rcContext *ctx, rcCompactHeightfield &chf)
 Builds the distance field for the specified compact heightfield. More...
 
static void paintRectRegion (int minx, int maxx, int miny, int maxy, unsigned short regId, rcCompactHeightfield &chf, unsigned short *srcReg)
 
bool rcBuildRegionsMonotone (rcContext *ctx, rcCompactHeightfield &chf, const int borderSize, const int minRegionArea, const int mergeRegionArea)
 Builds region data for the heightfield using simple monotone partitioning. More...
 
bool rcBuildRegions (rcContext *ctx, rcCompactHeightfield &chf, const int borderSize, const int minRegionArea, const int mergeRegionArea)
 Builds region data for the heightfield using watershed partitioning. More...
 
bool rcBuildLayerRegions (rcContext *ctx, rcCompactHeightfield &chf, const int borderSize, const int minRegionArea)
 Builds region data for the heightfield by partitioning the heightfield in non-overlapping layers. More...
 
+ + + +

+Variables

static const unsigned short RC_NULL_NEI = 0xffff
 
+

Function Documentation

+ +

◆ addUniqueConnection()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void addUniqueConnection (rcRegionreg,
int n 
)
+
+static
+
+ +
+
+ +

◆ addUniqueFloorRegion()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void addUniqueFloorRegion (rcRegionreg,
int n 
)
+
+static
+
+ +
+
+ +

◆ appendStacks()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static void appendStacks (const rcTempVector< LevelStackEntry > & srcStack,
rcTempVector< LevelStackEntry > & dstStack,
const unsigned short * srcReg 
)
+
+static
+
+ +
+
+ +

◆ boxBlur()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static unsigned short* boxBlur (rcCompactHeightfieldchf,
int thr,
unsigned short * src,
unsigned short * dst 
)
+
+static
+
+ +
+
+ +

◆ calculateDistanceField()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static void calculateDistanceField (rcCompactHeightfieldchf,
unsigned short * src,
unsigned short & maxDist 
)
+
+static
+
+ +
+
+ +

◆ canMergeWithRegion()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static bool canMergeWithRegion (const rcRegionrega,
const rcRegionregb 
)
+
+static
+
+ +
+
+ +

◆ expandRegions()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void expandRegions (int maxIter,
unsigned short level,
rcCompactHeightfieldchf,
unsigned short * srcReg,
unsigned short * srcDist,
rcTempVector< LevelStackEntry > & stack,
bool fillStack 
)
+
+static
+
+ +
+
+ +

◆ floodRegion()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool floodRegion (int x,
int y,
int i,
unsigned short level,
unsigned short r,
rcCompactHeightfieldchf,
unsigned short * srcReg,
unsigned short * srcDist,
rcTempVector< LevelStackEntry > & stack 
)
+
+static
+
+ +
+
+ +

◆ isRegionConnectedToBorder()

+ +
+
+ + + + + +
+ + + + + + + + +
static bool isRegionConnectedToBorder (const rcRegionreg)
+
+static
+
+ +
+
+ +

◆ isSolidEdge()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool isSolidEdge (rcCompactHeightfieldchf,
const unsigned short * srcReg,
int x,
int y,
int i,
int dir 
)
+
+static
+
+ +
+
+ +

◆ mergeAndFilterLayerRegions()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool mergeAndFilterLayerRegions (rcContextctx,
int minRegionArea,
unsigned short & maxRegionId,
rcCompactHeightfieldchf,
unsigned short * srcReg 
)
+
+static
+
+ +
+
+ +

◆ mergeAndFilterRegions()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool mergeAndFilterRegions (rcContextctx,
int minRegionArea,
int mergeRegionSize,
unsigned short & maxRegionId,
rcCompactHeightfieldchf,
unsigned short * srcReg,
rcIntArrayoverlaps 
)
+
+static
+
+ +
+
+ +

◆ mergeRegions()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static bool mergeRegions (rcRegionrega,
rcRegionregb 
)
+
+static
+
+ +
+
+ +

◆ paintRectRegion()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void paintRectRegion (int minx,
int maxx,
int miny,
int maxy,
unsigned short regId,
rcCompactHeightfieldchf,
unsigned short * srcReg 
)
+
+static
+
+ +
+
+ +

◆ removeAdjacentNeighbours()

+ +
+
+ + + + + +
+ + + + + + + + +
static void removeAdjacentNeighbours (rcRegionreg)
+
+static
+
+ +
+
+ +

◆ replaceNeighbour()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static void replaceNeighbour (rcRegionreg,
unsigned short oldId,
unsigned short newId 
)
+
+static
+
+ +
+
+ +

◆ sortCellsByLevel()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void sortCellsByLevel (unsigned short startLevel,
rcCompactHeightfieldchf,
const unsigned short * srcReg,
unsigned int nbStacks,
rcTempVector< LevelStackEntry > * stacks,
unsigned short loglevelsPerStack 
)
+
+static
+
+ +
+
+ +

◆ walkContour()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void walkContour (int x,
int y,
int i,
int dir,
rcCompactHeightfieldchf,
const unsigned short * srcReg,
rcIntArraycont 
)
+
+static
+
+ +
+
+

Variable Documentation

+ +

◆ RC_NULL_NEI

+ +
+
+ + + + + +
+ + + + +
const unsigned short RC_NULL_NEI = 0xffff
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/RecastRegion_8cpp.js b/RecastRegion_8cpp.js new file mode 100644 index 00000000..15a7a06f --- /dev/null +++ b/RecastRegion_8cpp.js @@ -0,0 +1,29 @@ +var RecastRegion_8cpp = +[ + [ "DirtyEntry", "structDirtyEntry.html", "structDirtyEntry" ], + [ "rcRegion", "structrcRegion.html", "structrcRegion" ], + [ "rcSweepSpan", "structrcSweepSpan.html", "structrcSweepSpan" ], + [ "addUniqueConnection", "RecastRegion_8cpp.html#abc58499e6aeb21a4cd58d048c06f2ec0", null ], + [ "addUniqueFloorRegion", "RecastRegion_8cpp.html#a2c802a2c5fc0d5e7e5d95a19539ff9a6", null ], + [ "appendStacks", "RecastRegion_8cpp.html#acae78c0a97b367d4ace3294d6dcb8216", null ], + [ "boxBlur", "RecastRegion_8cpp.html#a68b94f221565ed5b4e80e34272f43ef0", null ], + [ "calculateDistanceField", "RecastRegion_8cpp.html#af63d2a9505ebfbbf63efc02531af5153", null ], + [ "canMergeWithRegion", "RecastRegion_8cpp.html#a9b19ff33ed5153482d1b80b285209e54", null ], + [ "expandRegions", "RecastRegion_8cpp.html#a019a1b335b38abce33594128c4806a04", null ], + [ "floodRegion", "RecastRegion_8cpp.html#ad881e621a7be30bee577ec6a56bf18b3", null ], + [ "isRegionConnectedToBorder", "RecastRegion_8cpp.html#a362976ffc8da436099d6ce5d2a8e8996", null ], + [ "isSolidEdge", "RecastRegion_8cpp.html#a48ba7bc4cd4b13a577c07dadf1361d76", null ], + [ "mergeAndFilterLayerRegions", "RecastRegion_8cpp.html#a25912e8836b3489f54fecd65d850beff", null ], + [ "mergeAndFilterRegions", "RecastRegion_8cpp.html#a5725fdd6c9d2c932db4686ba6d411dac", null ], + [ "mergeRegions", "RecastRegion_8cpp.html#aa6ad7bc5d6c9f39726a4574813bce7ec", null ], + [ "paintRectRegion", "RecastRegion_8cpp.html#abc80f3a23c09dd8f6570fa5b3d30792a", null ], + [ "rcBuildDistanceField", "group__recast.html#ga255c830cc0d30fa0229a05033242e77d", null ], + [ "rcBuildLayerRegions", "group__recast.html#ga44a9272ded073492dd74b1a871d9d1a0", null ], + [ "rcBuildRegions", "group__recast.html#gaf89da5f503884e43f955639343333cea", null ], + [ "rcBuildRegionsMonotone", "group__recast.html#gac750ac6caa254759ef0bccf8afc7f67f", null ], + [ "removeAdjacentNeighbours", "RecastRegion_8cpp.html#acee28f21b593f1ff6a235c444fafc59c", null ], + [ "replaceNeighbour", "RecastRegion_8cpp.html#a5b2ece2d7931891cdb3fe0b7b41de1b4", null ], + [ "sortCellsByLevel", "RecastRegion_8cpp.html#a02ba6d0e792550e0ce791fa42ef865d1", null ], + [ "walkContour", "RecastRegion_8cpp.html#ad83298fca0661c495cf8316ffac5dd3c", null ], + [ "RC_NULL_NEI", "RecastRegion_8cpp.html#ae985981f9a0039f8584d8c165959c817", null ] +]; \ No newline at end of file diff --git a/Recast_8cpp.html b/Recast_8cpp.html new file mode 100644 index 00000000..3b59b86b --- /dev/null +++ b/Recast_8cpp.html @@ -0,0 +1,255 @@ + + + + + + + +Recast Navigation: Recast.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Recast.cpp File Reference
+
+
+
#include "Recast.h"
+#include "RecastAlloc.h"
+#include "RecastAssert.h"
+#include <math.h>
+#include <string.h>
+#include <stdio.h>
+#include <stdarg.h>
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

float rcSqrt (float x)
 Returns the square root of the value. More...
 
rcHeightfieldrcAllocHeightfield ()
 Allocates a heightfield object using the Recast allocator. More...
 
void rcFreeHeightField (rcHeightfield *heightfield)
 Frees the specified heightfield object using the Recast allocator. More...
 
rcCompactHeightfieldrcAllocCompactHeightfield ()
 Allocates a compact heightfield object using the Recast allocator. More...
 
void rcFreeCompactHeightfield (rcCompactHeightfield *compactHeightfield)
 Frees the specified compact heightfield object using the Recast allocator. More...
 
rcHeightfieldLayerSetrcAllocHeightfieldLayerSet ()
 Allocates a heightfield layer set using the Recast allocator. More...
 
void rcFreeHeightfieldLayerSet (rcHeightfieldLayerSet *layerSet)
 Frees the specified heightfield layer set using the Recast allocator. More...
 
rcContourSetrcAllocContourSet ()
 Allocates a contour set object using the Recast allocator. More...
 
void rcFreeContourSet (rcContourSet *contourSet)
 Frees the specified contour set using the Recast allocator. More...
 
rcPolyMeshrcAllocPolyMesh ()
 Allocates a polygon mesh object using the Recast allocator. More...
 
void rcFreePolyMesh (rcPolyMesh *polyMesh)
 Frees the specified polygon mesh using the Recast allocator. More...
 
rcPolyMeshDetailrcAllocPolyMeshDetail ()
 Allocates a detail mesh object using the Recast allocator. More...
 
void rcFreePolyMeshDetail (rcPolyMeshDetail *detailMesh)
 Frees the specified detail mesh using the Recast allocator. More...
 
void rcCalcBounds (const float *verts, int numVerts, float *minBounds, float *maxBounds)
 Calculates the bounding box of an array of vertices. More...
 
void rcCalcGridSize (const float *minBounds, const float *maxBounds, const float cellSize, int *sizeX, int *sizeZ)
 Calculates the grid size based on the bounding box and grid cell size. More...
 
bool rcCreateHeightfield (rcContext *context, rcHeightfield &heightfield, int sizeX, int sizeZ, const float *minBounds, const float *maxBounds, float cellSize, float cellHeight)
 Initializes a new heightfield. More...
 
static void calcTriNormal (const float *v0, const float *v1, const float *v2, float *faceNormal)
 
void rcMarkWalkableTriangles (rcContext *context, const float walkableSlopeAngle, const float *verts, const int numVerts, const int *tris, const int numTris, unsigned char *triAreaIDs)
 Sets the area id of all triangles with a slope below the specified value to RC_WALKABLE_AREA. More...
 
void rcClearUnwalkableTriangles (rcContext *context, const float walkableSlopeAngle, const float *verts, int numVerts, const int *tris, int numTris, unsigned char *triAreaIDs)
 Sets the area id of all triangles with a slope greater than or equal to the specified value to RC_NULL_AREA. More...
 
int rcGetHeightFieldSpanCount (rcContext *context, const rcHeightfield &heightfield)
 Returns the number of spans contained in the specified heightfield. More...
 
bool rcBuildCompactHeightfield (rcContext *context, const int walkableHeight, const int walkableClimb, rcHeightfield &heightfield, rcCompactHeightfield &compactHeightfield)
 Builds a compact heightfield representing open space, from a heightfield representing solid space. More...
 
+

Function Documentation

+ +

◆ calcTriNormal()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void calcTriNormal (const float * v0,
const float * v1,
const float * v2,
float * faceNormal 
)
+
+static
+
+ +
+
+ +

◆ rcSqrt()

+ +
+
+ + + + + + + + +
float rcSqrt (float x)
+
+ +

Returns the square root of the value.

+
Parameters
+ + +
[in]xThe value.
+
+
+
Returns
The square root of the vlaue.
+ +
+
+
+
+ + + + + diff --git a/Recast_8cpp.js b/Recast_8cpp.js new file mode 100644 index 00000000..1a8feeb3 --- /dev/null +++ b/Recast_8cpp.js @@ -0,0 +1,24 @@ +var Recast_8cpp = +[ + [ "calcTriNormal", "Recast_8cpp.html#a60b906db15ec95753e2c46d85ac1f5a7", null ], + [ "rcAllocCompactHeightfield", "group__recast.html#ga63ec2ca68dc897018b8b013507b9714d", null ], + [ "rcAllocContourSet", "group__recast.html#ga2b1a22ec58d51570e352c19cb2cb22a2", null ], + [ "rcAllocHeightfield", "group__recast.html#ga3e717cb2fa2ef5d123f0fa218f0630a9", null ], + [ "rcAllocHeightfieldLayerSet", "group__recast.html#gadc45406abb9ac9d1efddee04054207f5", null ], + [ "rcAllocPolyMesh", "group__recast.html#ga1b6942363f019860984263c0f8f62b9d", null ], + [ "rcAllocPolyMeshDetail", "group__recast.html#ga617834c1759867250e21569c204f1410", null ], + [ "rcBuildCompactHeightfield", "group__recast.html#gae8f77a45a6ca7fef19afcca7420b340d", null ], + [ "rcCalcBounds", "group__recast.html#ga8d3d926002b6df3a5100a1f1e4086026", null ], + [ "rcCalcGridSize", "group__recast.html#ga89dd61f0c62938be9ae41aaf026794c2", null ], + [ "rcClearUnwalkableTriangles", "group__recast.html#gad293e95cc9b22e4305ad2c6fbf946622", null ], + [ "rcCreateHeightfield", "group__recast.html#ga47eca35f60dbd7ddc1cb18fdb2493833", null ], + [ "rcFreeCompactHeightfield", "group__recast.html#ga914ed7cee333a9c29513d917f6bb4716", null ], + [ "rcFreeContourSet", "group__recast.html#gae3a9621529cb8d471a95161bd7d0ca96", null ], + [ "rcFreeHeightField", "group__recast.html#ga63549624426821904ecf1a92ddcccaea", null ], + [ "rcFreeHeightfieldLayerSet", "group__recast.html#ga657ea6ef521e4caadc4467bd61e26016", null ], + [ "rcFreePolyMesh", "group__recast.html#ga34925f90f2e5da1f84c383bfb0ff8e9f", null ], + [ "rcFreePolyMeshDetail", "group__recast.html#ga3efa77f1a8305250471c2ac09672d9ae", null ], + [ "rcGetHeightFieldSpanCount", "group__recast.html#gabade813042a8c79ddb2f4ecf84620cf8", null ], + [ "rcMarkWalkableTriangles", "group__recast.html#ga63e7b847422bfd78acea724088da6561", null ], + [ "rcSqrt", "Recast_8cpp.html#a27c978b5bf2b857ec501ebd86c4e5981", null ] +]; \ No newline at end of file diff --git a/Recast_8h.html b/Recast_8h.html new file mode 100644 index 00000000..aff2f295 --- /dev/null +++ b/Recast_8h.html @@ -0,0 +1,1781 @@ + + + + + + + +Recast Navigation: Recast.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Recast.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Classes

class  rcContext
 Provides an interface for optional logging and performance tracking of the Recast build process. More...
 
class  rcScopedTimer
 A helper to first start a timer and then stop it when this helper goes out of scope. More...
 
struct  rcConfig
 Specifies a configuration to use when performing Recast builds. More...
 
struct  rcSpan
 Represents a span in a heightfield. More...
 
struct  rcSpanPool
 A memory pool used for quick allocation of spans within a heightfield. More...
 
struct  rcHeightfield
 A dynamic heightfield representing obstructed space. More...
 
struct  rcCompactCell
 Provides information on the content of a cell column in a compact heightfield. More...
 
struct  rcCompactSpan
 Represents a span of unobstructed space within a compact heightfield. More...
 
struct  rcCompactHeightfield
 A compact, static heightfield representing unobstructed space. More...
 
struct  rcHeightfieldLayer
 Represents a heightfield layer within a layer set. More...
 
struct  rcHeightfieldLayerSet
 Represents a set of heightfield layers. More...
 
struct  rcContour
 Represents a simple, non-overlapping contour in field space. More...
 
struct  rcContourSet
 Represents a group of related contours. More...
 
struct  rcPolyMesh
 Represents a polygon mesh suitable for use in building a navigation mesh. More...
 
struct  rcPolyMeshDetail
 Contains triangle meshes that represent detailed height data associated with the polygons in its associated polygon mesh object. More...
 
+ + + + + + + + + + +

+Enumerations

enum  rcLogCategory { RC_LOG_PROGRESS = 1 +, RC_LOG_WARNING +, RC_LOG_ERROR + }
 Recast log categories. More...
 
enum  rcTimerLabel {
+  RC_TIMER_TOTAL +, RC_TIMER_TEMP +, RC_TIMER_RASTERIZE_TRIANGLES +, RC_TIMER_BUILD_COMPACTHEIGHTFIELD +,
+  RC_TIMER_BUILD_CONTOURS +, RC_TIMER_BUILD_CONTOURS_TRACE +, RC_TIMER_BUILD_CONTOURS_SIMPLIFY +, RC_TIMER_FILTER_BORDER +,
+  RC_TIMER_FILTER_WALKABLE +, RC_TIMER_MEDIAN_AREA +, RC_TIMER_FILTER_LOW_OBSTACLES +, RC_TIMER_BUILD_POLYMESH +,
+  RC_TIMER_MERGE_POLYMESH +, RC_TIMER_ERODE_AREA +, RC_TIMER_MARK_BOX_AREA +, RC_TIMER_MARK_CYLINDER_AREA +,
+  RC_TIMER_MARK_CONVEXPOLY_AREA +, RC_TIMER_BUILD_DISTANCEFIELD +, RC_TIMER_BUILD_DISTANCEFIELD_DIST +, RC_TIMER_BUILD_DISTANCEFIELD_BLUR +,
+  RC_TIMER_BUILD_REGIONS +, RC_TIMER_BUILD_REGIONS_WATERSHED +, RC_TIMER_BUILD_REGIONS_EXPAND +, RC_TIMER_BUILD_REGIONS_FLOOD +,
+  RC_TIMER_BUILD_REGIONS_FILTER +, RC_TIMER_BUILD_LAYERS +, RC_TIMER_BUILD_POLYMESHDETAIL +, RC_TIMER_MERGE_POLYMESHDETAIL +,
+  RC_MAX_TIMERS +
+ }
 Recast performance timer categories. More...
 
enum  rcBuildContoursFlags { RC_CONTOUR_TESS_WALL_EDGES = 0x01 +, RC_CONTOUR_TESS_AREA_EDGES = 0x02 + }
 Contour build flags. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<class T >
void rcIgnoreUnused (const T &)
 Used to ignore unused function parameters and silence any compiler warnings. More...
 
Allocation Functions

Functions used to allocate and de-allocate Recast objects.

+
See also
rcAllocSetCustom
+
rcHeightfieldrcAllocHeightfield ()
 Allocates a heightfield object using the Recast allocator. More...
 
void rcFreeHeightField (rcHeightfield *heightfield)
 Frees the specified heightfield object using the Recast allocator. More...
 
rcCompactHeightfieldrcAllocCompactHeightfield ()
 Allocates a compact heightfield object using the Recast allocator. More...
 
void rcFreeCompactHeightfield (rcCompactHeightfield *compactHeightfield)
 Frees the specified compact heightfield object using the Recast allocator. More...
 
rcHeightfieldLayerSetrcAllocHeightfieldLayerSet ()
 Allocates a heightfield layer set using the Recast allocator. More...
 
void rcFreeHeightfieldLayerSet (rcHeightfieldLayerSet *layerSet)
 Frees the specified heightfield layer set using the Recast allocator. More...
 
rcContourSetrcAllocContourSet ()
 Allocates a contour set object using the Recast allocator. More...
 
void rcFreeContourSet (rcContourSet *contourSet)
 Frees the specified contour set using the Recast allocator. More...
 
rcPolyMeshrcAllocPolyMesh ()
 Allocates a polygon mesh object using the Recast allocator. More...
 
void rcFreePolyMesh (rcPolyMesh *polyMesh)
 Frees the specified polygon mesh using the Recast allocator. More...
 
rcPolyMeshDetailrcAllocPolyMeshDetail ()
 Allocates a detail mesh object using the Recast allocator. More...
 
void rcFreePolyMeshDetail (rcPolyMeshDetail *detailMesh)
 Frees the specified detail mesh using the Recast allocator. More...
 
General helper functions
template<class T >
void rcSwap (T &a, T &b)
 Swaps the values of the two parameters. More...
 
template<class T >
rcMin (T a, T b)
 Returns the minimum of two values. More...
 
template<class T >
rcMax (T a, T b)
 Returns the maximum of two values. More...
 
template<class T >
rcAbs (T a)
 Returns the absolute value. More...
 
template<class T >
rcSqr (T a)
 Returns the square of the value. More...
 
template<class T >
rcClamp (T value, T minInclusive, T maxInclusive)
 Clamps the value to the specified range. More...
 
float rcSqrt (float x)
 Returns the square root of the value. More...
 
Vector helper functions.
void rcVcross (float *dest, const float *v1, const float *v2)
 Derives the cross product of two vectors. More...
 
float rcVdot (const float *v1, const float *v2)
 Derives the dot product of two vectors. More...
 
void rcVmad (float *dest, const float *v1, const float *v2, const float s)
 Performs a scaled vector addition. More...
 
void rcVadd (float *dest, const float *v1, const float *v2)
 Performs a vector addition. More...
 
void rcVsub (float *dest, const float *v1, const float *v2)
 Performs a vector subtraction. More...
 
void rcVmin (float *mn, const float *v)
 Selects the minimum value of each element from the specified vectors. More...
 
void rcVmax (float *mx, const float *v)
 Selects the maximum value of each element from the specified vectors. More...
 
void rcVcopy (float *dest, const float *v)
 Performs a vector copy. More...
 
float rcVdist (const float *v1, const float *v2)
 Returns the distance between two points. More...
 
float rcVdistSqr (const float *v1, const float *v2)
 Returns the square of the distance between two points. More...
 
void rcVnormalize (float *v)
 Normalizes the vector. More...
 
Heightfield Functions
See also
rcHeightfield
+
void rcCalcBounds (const float *verts, int numVerts, float *minBounds, float *maxBounds)
 Calculates the bounding box of an array of vertices. More...
 
void rcCalcGridSize (const float *minBounds, const float *maxBounds, float cellSize, int *sizeX, int *sizeZ)
 Calculates the grid size based on the bounding box and grid cell size. More...
 
bool rcCreateHeightfield (rcContext *context, rcHeightfield &heightfield, int sizeX, int sizeZ, const float *minBounds, const float *maxBounds, float cellSize, float cellHeight)
 Initializes a new heightfield. More...
 
void rcMarkWalkableTriangles (rcContext *context, float walkableSlopeAngle, const float *verts, int numVerts, const int *tris, int numTris, unsigned char *triAreaIDs)
 Sets the area id of all triangles with a slope below the specified value to RC_WALKABLE_AREA. More...
 
void rcClearUnwalkableTriangles (rcContext *context, float walkableSlopeAngle, const float *verts, int numVerts, const int *tris, int numTris, unsigned char *triAreaIDs)
 Sets the area id of all triangles with a slope greater than or equal to the specified value to RC_NULL_AREA. More...
 
bool rcAddSpan (rcContext *context, rcHeightfield &heightfield, int x, int z, unsigned short spanMin, unsigned short spanMax, unsigned char areaID, int flagMergeThreshold)
 Adds a span to the specified heightfield. More...
 
bool rcRasterizeTriangle (rcContext *context, const float *v0, const float *v1, const float *v2, unsigned char areaID, rcHeightfield &heightfield, int flagMergeThreshold=1)
 Rasterizes a single triangle into the specified heightfield. More...
 
bool rcRasterizeTriangles (rcContext *context, const float *verts, int numVerts, const int *tris, const unsigned char *triAreaIDs, int numTris, rcHeightfield &heightfield, int flagMergeThreshold=1)
 Rasterizes an indexed triangle mesh into the specified heightfield. More...
 
bool rcRasterizeTriangles (rcContext *context, const float *verts, int numVerts, const unsigned short *tris, const unsigned char *triAreaIDs, int numTris, rcHeightfield &heightfield, int flagMergeThreshold=1)
 Rasterizes an indexed triangle mesh into the specified heightfield. More...
 
bool rcRasterizeTriangles (rcContext *context, const float *verts, const unsigned char *triAreaIDs, int numTris, rcHeightfield &heightfield, int flagMergeThreshold=1)
 Rasterizes a triangle list into the specified heightfield. More...
 
void rcFilterLowHangingWalkableObstacles (rcContext *context, int walkableClimb, rcHeightfield &heightfield)
 Marks non-walkable spans as walkable if their maximum is within walkableClimb of a walkable neighbor. More...
 
void rcFilterLedgeSpans (rcContext *context, int walkableHeight, int walkableClimb, rcHeightfield &heightfield)
 Marks spans that are ledges as not-walkable. More...
 
void rcFilterWalkableLowHeightSpans (rcContext *context, int walkableHeight, rcHeightfield &heightfield)
 Marks walkable spans as not walkable if the clearance above the span is less than the specified height. More...
 
int rcGetHeightFieldSpanCount (rcContext *context, const rcHeightfield &heightfield)
 Returns the number of spans contained in the specified heightfield. More...
 
Compact Heightfield Functions
bool rcBuildCompactHeightfield (rcContext *context, int walkableHeight, int walkableClimb, rcHeightfield &heightfield, rcCompactHeightfield &compactHeightfield)
 Builds a compact heightfield representing open space, from a heightfield representing solid space. More...
 
bool rcErodeWalkableArea (rcContext *ctx, int radius, rcCompactHeightfield &chf)
 Erodes the walkable area within the heightfield by the specified radius. More...
 
bool rcMedianFilterWalkableArea (rcContext *ctx, rcCompactHeightfield &chf)
 Applies a median filter to walkable area types (based on area id), removing noise. More...
 
void rcMarkBoxArea (rcContext *ctx, const float *bmin, const float *bmax, unsigned char areaId, rcCompactHeightfield &chf)
 Applies an area id to all spans within the specified bounding box. More...
 
void rcMarkConvexPolyArea (rcContext *ctx, const float *verts, const int nverts, const float hmin, const float hmax, unsigned char areaId, rcCompactHeightfield &chf)
 Applies the area id to the all spans within the specified convex polygon. More...
 
int rcOffsetPoly (const float *verts, const int nverts, const float offset, float *outVerts, const int maxOutVerts)
 Helper function to offset voncex polygons for rcMarkConvexPolyArea. More...
 
void rcMarkCylinderArea (rcContext *ctx, const float *pos, const float r, const float h, unsigned char areaId, rcCompactHeightfield &chf)
 Applies the area id to all spans within the specified cylinder. More...
 
bool rcBuildDistanceField (rcContext *ctx, rcCompactHeightfield &chf)
 Builds the distance field for the specified compact heightfield. More...
 
bool rcBuildRegions (rcContext *ctx, rcCompactHeightfield &chf, int borderSize, int minRegionArea, int mergeRegionArea)
 Builds region data for the heightfield using watershed partitioning. More...
 
bool rcBuildLayerRegions (rcContext *ctx, rcCompactHeightfield &chf, int borderSize, int minRegionArea)
 Builds region data for the heightfield by partitioning the heightfield in non-overlapping layers. More...
 
bool rcBuildRegionsMonotone (rcContext *ctx, rcCompactHeightfield &chf, int borderSize, int minRegionArea, int mergeRegionArea)
 Builds region data for the heightfield using simple monotone partitioning. More...
 
void rcSetCon (rcCompactSpan &span, int direction, int neighborIndex)
 Sets the neighbor connection data for the specified direction. More...
 
int rcGetCon (const rcCompactSpan &span, int direction)
 Gets neighbor connection data for the specified direction. More...
 
int rcGetDirOffsetX (int direction)
 Gets the standard width (x-axis) offset for the specified direction. More...
 
int rcGetDirOffsetY (int direction)
 Gets the standard height (z-axis) offset for the specified direction. More...
 
int rcGetDirForOffset (int offsetX, int offsetZ)
 Gets the direction for the specified offset. More...
 
Layer, Contour, Polymesh, and Detail Mesh Functions
bool rcBuildHeightfieldLayers (rcContext *ctx, rcCompactHeightfield &chf, int borderSize, int walkableHeight, rcHeightfieldLayerSet &lset)
 Builds a layer set from the specified compact heightfield. More...
 
bool rcBuildContours (rcContext *ctx, rcCompactHeightfield &chf, float maxError, int maxEdgeLen, rcContourSet &cset, int buildFlags=RC_CONTOUR_TESS_WALL_EDGES)
 Builds a contour set from the region outlines in the provided compact heightfield. More...
 
bool rcBuildPolyMesh (rcContext *ctx, rcContourSet &cset, const int nvp, rcPolyMesh &mesh)
 Builds a polygon mesh from the provided contours. More...
 
bool rcMergePolyMeshes (rcContext *ctx, rcPolyMesh **meshes, const int nmeshes, rcPolyMesh &mesh)
 Merges multiple polygon meshes into a single mesh. More...
 
bool rcBuildPolyMeshDetail (rcContext *ctx, const rcPolyMesh &mesh, const rcCompactHeightfield &chf, float sampleDist, float sampleMaxError, rcPolyMeshDetail &dmesh)
 Builds a detail mesh from the provided polygon mesh. More...
 
bool rcCopyPolyMesh (rcContext *ctx, const rcPolyMesh &src, rcPolyMesh &dst)
 Copies the poly mesh data from src to dst. More...
 
bool rcMergePolyMeshDetails (rcContext *ctx, rcPolyMeshDetail **meshes, const int nmeshes, rcPolyMeshDetail &mesh)
 Merges multiple detail meshes into a single detail mesh. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Variables

static const float RC_PI = 3.14159265f
 The value of PI used by Recast. More...
 
static const int RC_SPAN_HEIGHT_BITS = 13
 Defines the number of bits allocated to rcSpan::smin and rcSpan::smax. More...
 
static const int RC_SPAN_MAX_HEIGHT = (1 << RC_SPAN_HEIGHT_BITS) - 1
 Defines the maximum value for rcSpan::smin and rcSpan::smax. More...
 
static const int RC_SPANS_PER_POOL = 2048
 The number of spans allocated per span spool. More...
 
static const unsigned short RC_BORDER_REG = 0x8000
 Heightfield border flag. More...
 
static const unsigned short RC_MULTIPLE_REGS = 0
 Polygon touches multiple regions. More...
 
static const int RC_BORDER_VERTEX = 0x10000
 Border vertex flag. More...
 
static const int RC_AREA_BORDER = 0x20000
 Area border flag. More...
 
static const int RC_CONTOUR_REG_MASK = 0xffff
 Applied to the region id field of contour vertices in order to extract the region id. More...
 
static const unsigned short RC_MESH_NULL_IDX = 0xffff
 An value which indicates an invalid index within a mesh. More...
 
static const unsigned char RC_NULL_AREA = 0
 Represents the null area. More...
 
static const unsigned char RC_WALKABLE_AREA = 63
 The default area id used to indicate a walkable polygon. More...
 
static const int RC_NOT_CONNECTED = 0x3f
 The value returned by rcGetCon if the specified direction is not connected to another span. More...
 
+

Enumeration Type Documentation

+ +

◆ rcBuildContoursFlags

+ +
+
+ + + + +
enum rcBuildContoursFlags
+
+ +

Contour build flags.

+
See also
rcBuildContours
+ + + +
Enumerator
RC_CONTOUR_TESS_WALL_EDGES 

Tessellate solid (impassable) edges during contour simplification.

+
RC_CONTOUR_TESS_AREA_EDGES 

Tessellate edges between areas during contour simplification.

+
+ +
+
+ +

◆ rcLogCategory

+ +
+
+ + + + +
enum rcLogCategory
+
+ +

Recast log categories.

+
See also
rcContext
+ + + + +
Enumerator
RC_LOG_PROGRESS 

A progress log entry.

+
RC_LOG_WARNING 

A warning log entry.

+
RC_LOG_ERROR 

An error log entry.

+
+ +
+
+ +

◆ rcTimerLabel

+ +
+
+ + + + +
enum rcTimerLabel
+
+ +

Recast performance timer categories.

+
See also
rcContext
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enumerator
RC_TIMER_TOTAL 

The user defined total time of the build.

+
RC_TIMER_TEMP 

A user defined build time.

+
RC_TIMER_RASTERIZE_TRIANGLES 

The time to rasterize the triangles. (See: rcRasterizeTriangle)

+
RC_TIMER_BUILD_COMPACTHEIGHTFIELD 

The time to build the compact heightfield. (See: rcBuildCompactHeightfield)

+
RC_TIMER_BUILD_CONTOURS 

The total time to build the contours. (See: rcBuildContours)

+
RC_TIMER_BUILD_CONTOURS_TRACE 

The time to trace the boundaries of the contours. (See: rcBuildContours)

+
RC_TIMER_BUILD_CONTOURS_SIMPLIFY 

The time to simplify the contours. (See: rcBuildContours)

+
RC_TIMER_FILTER_BORDER 

The time to filter ledge spans. (See: rcFilterLedgeSpans)

+
RC_TIMER_FILTER_WALKABLE 

The time to filter low height spans. (See: rcFilterWalkableLowHeightSpans)

+
RC_TIMER_MEDIAN_AREA 

The time to apply the median filter. (See: rcMedianFilterWalkableArea)

+
RC_TIMER_FILTER_LOW_OBSTACLES 

The time to filter low obstacles. (See: rcFilterLowHangingWalkableObstacles)

+
RC_TIMER_BUILD_POLYMESH 

The time to build the polygon mesh. (See: rcBuildPolyMesh)

+
RC_TIMER_MERGE_POLYMESH 

The time to merge polygon meshes. (See: rcMergePolyMeshes)

+
RC_TIMER_ERODE_AREA 

The time to erode the walkable area. (See: rcErodeWalkableArea)

+
RC_TIMER_MARK_BOX_AREA 

The time to mark a box area. (See: rcMarkBoxArea)

+
RC_TIMER_MARK_CYLINDER_AREA 

The time to mark a cylinder area. (See: rcMarkCylinderArea)

+
RC_TIMER_MARK_CONVEXPOLY_AREA 

The time to mark a convex polygon area. (See: rcMarkConvexPolyArea)

+
RC_TIMER_BUILD_DISTANCEFIELD 

The total time to build the distance field. (See: rcBuildDistanceField)

+
RC_TIMER_BUILD_DISTANCEFIELD_DIST 

The time to build the distances of the distance field. (See: rcBuildDistanceField)

+
RC_TIMER_BUILD_DISTANCEFIELD_BLUR 

The time to blur the distance field. (See: rcBuildDistanceField)

+
RC_TIMER_BUILD_REGIONS 

The total time to build the regions. (See: rcBuildRegions, rcBuildRegionsMonotone)

+
RC_TIMER_BUILD_REGIONS_WATERSHED 

The total time to apply the watershed algorithm. (See: rcBuildRegions)

+
RC_TIMER_BUILD_REGIONS_EXPAND 

The time to expand regions while applying the watershed algorithm. (See: rcBuildRegions)

+
RC_TIMER_BUILD_REGIONS_FLOOD 

The time to flood regions while applying the watershed algorithm. (See: rcBuildRegions)

+
RC_TIMER_BUILD_REGIONS_FILTER 

The time to filter out small regions. (See: rcBuildRegions, rcBuildRegionsMonotone)

+
RC_TIMER_BUILD_LAYERS 

The time to build heightfield layers. (See: rcBuildHeightfieldLayers)

+
RC_TIMER_BUILD_POLYMESHDETAIL 

The time to build the polygon mesh detail. (See: rcBuildPolyMeshDetail)

+
RC_TIMER_MERGE_POLYMESHDETAIL 

The time to merge polygon mesh details. (See: rcMergePolyMeshDetails)

+
RC_MAX_TIMERS 

The maximum number of timers. (Used for iterating timers.)

+
+ +
+
+

Function Documentation

+ +

◆ rcAbs()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + + +
T rcAbs (a)
+
+inline
+
+ +

Returns the absolute value.

+
Parameters
+ + +
[in]aThe value.
+
+
+
Returns
The absolute value of the specified value.
+ +
+
+ +

◆ rcClamp()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
T rcClamp (value,
minInclusive,
maxInclusive 
)
+
+inline
+
+ +

Clamps the value to the specified range.

+
Parameters
+ + + + +
[in]valueThe value to clamp.
[in]minInclusiveThe minimum permitted return value.
[in]maxInclusiveThe maximum permitted return value.
+
+
+
Returns
The value, clamped to the specified range.
+ +
+
+ +

◆ rcIgnoreUnused()

+ +
+
+
+template<class T >
+ + + + + + + + +
void rcIgnoreUnused (const T & )
+
+ +

Used to ignore unused function parameters and silence any compiler warnings.

+ +
+
+ +

◆ rcMax()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
T rcMax (a,
b 
)
+
+inline
+
+ +

Returns the maximum of two values.

+
Parameters
+ + + +
[in]aValue A
[in]bValue B
+
+
+
Returns
The maximum of the two values.
+ +
+
+ +

◆ rcMin()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
T rcMin (a,
b 
)
+
+inline
+
+ +

Returns the minimum of two values.

+
Parameters
+ + + +
[in]aValue A
[in]bValue B
+
+
+
Returns
The minimum of the two values.
+ +
+
+ +

◆ rcSqr()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + + +
T rcSqr (a)
+
+inline
+
+ +

Returns the square of the value.

+
Parameters
+ + +
[in]aThe value.
+
+
+
Returns
The square of the value.
+ +
+
+ +

◆ rcSqrt()

+ +
+
+ + + + + + + + +
float rcSqrt (float x)
+
+ +

Returns the square root of the value.

+
Parameters
+ + +
[in]xThe value.
+
+
+
Returns
The square root of the vlaue.
+ +
+
+ +

◆ rcSwap()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void rcSwap (T & a,
T & b 
)
+
+inline
+
+ +

Swaps the values of the two parameters.

+
Parameters
+ + + +
[in,out]aValue A
[in,out]bValue B
+
+
+ +
+
+ +

◆ rcVadd()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void rcVadd (float * dest,
const float * v1,
const float * v2 
)
+
+inline
+
+ +

Performs a vector addition.

+

(v1 + v2)

Parameters
+ + + + +
[out]destThe result vector. [(x, y, z)]
[in]v1The base vector. [(x, y, z)]
[in]v2The vector to add to v1. [(x, y, z)]
+
+
+ +
+
+ +

◆ rcVcopy()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void rcVcopy (float * dest,
const float * v 
)
+
+inline
+
+ +

Performs a vector copy.

+
Parameters
+ + + +
[out]destThe result. [(x, y, z)]
[in]vThe vector to copy. [(x, y, z)]
+
+
+ +
+
+ +

◆ rcVcross()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void rcVcross (float * dest,
const float * v1,
const float * v2 
)
+
+inline
+
+ +

Derives the cross product of two vectors.

+

(v1 x v2)

Parameters
+ + + + +
[out]destThe cross product. [(x, y, z)]
[in]v1A Vector [(x, y, z)]
[in]v2A vector [(x, y, z)]
+
+
+ +
+
+ +

◆ rcVdist()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
float rcVdist (const float * v1,
const float * v2 
)
+
+inline
+
+ +

Returns the distance between two points.

+
Parameters
+ + + +
[in]v1A point. [(x, y, z)]
[in]v2A point. [(x, y, z)]
+
+
+
Returns
The distance between the two points.
+ +
+
+ +

◆ rcVdistSqr()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
float rcVdistSqr (const float * v1,
const float * v2 
)
+
+inline
+
+ +

Returns the square of the distance between two points.

+
Parameters
+ + + +
[in]v1A point. [(x, y, z)]
[in]v2A point. [(x, y, z)]
+
+
+
Returns
The square of the distance between the two points.
+ +
+
+ +

◆ rcVdot()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
float rcVdot (const float * v1,
const float * v2 
)
+
+inline
+
+ +

Derives the dot product of two vectors.

+

(v1 . v2)

Parameters
+ + + +
[in]v1A Vector [(x, y, z)]
[in]v2A vector [(x, y, z)]
+
+
+
Returns
The dot product.
+ +
+
+ +

◆ rcVmad()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void rcVmad (float * dest,
const float * v1,
const float * v2,
const float s 
)
+
+inline
+
+ +

Performs a scaled vector addition.

+

(v1 + (v2 * s))

Parameters
+ + + + + +
[out]destThe result vector. [(x, y, z)]
[in]v1The base vector. [(x, y, z)]
[in]v2The vector to scale and add to v1. [(x, y, z)]
[in]sThe amount to scale v2 by before adding to v1.
+
+
+ +
+
+ +

◆ rcVmax()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void rcVmax (float * mx,
const float * v 
)
+
+inline
+
+ +

Selects the maximum value of each element from the specified vectors.

+
Parameters
+ + + +
[in,out]mxA vector. (Will be updated with the result.) [(x, y, z)]
[in]vA vector. [(x, y, z)]
+
+
+ +
+
+ +

◆ rcVmin()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void rcVmin (float * mn,
const float * v 
)
+
+inline
+
+ +

Selects the minimum value of each element from the specified vectors.

+
Parameters
+ + + +
[in,out]mnA vector. (Will be updated with the result.) [(x, y, z)]
[in]vA vector. [(x, y, z)]
+
+
+ +
+
+ +

◆ rcVnormalize()

+ +
+
+ + + + + +
+ + + + + + + + +
void rcVnormalize (float * v)
+
+inline
+
+ +

Normalizes the vector.

+
Parameters
+ + +
[in,out]vThe vector to normalize. [(x, y, z)]
+
+
+ +
+
+ +

◆ rcVsub()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void rcVsub (float * dest,
const float * v1,
const float * v2 
)
+
+inline
+
+ +

Performs a vector subtraction.

+

(v1 - v2)

Parameters
+ + + + +
[out]destThe result vector. [(x, y, z)]
[in]v1The base vector. [(x, y, z)]
[in]v2The vector to subtract from v1. [(x, y, z)]
+
+
+ +
+
+

Variable Documentation

+ +

◆ RC_AREA_BORDER

+ +
+
+ + + + + +
+ + + + +
const int RC_AREA_BORDER = 0x20000
+
+static
+
+ +

Area border flag.

+

If a region ID has this bit set, then the associated element lies on the border of an area. (Used during the region and contour build process.)

See also
rcCompactSpan::reg, rcContour::verts, rcContour::rverts
+ +
+
+ +

◆ RC_BORDER_REG

+ +
+
+ + + + + +
+ + + + +
const unsigned short RC_BORDER_REG = 0x8000
+
+static
+
+ +

Heightfield border flag.

+

If a heightfield region ID has this bit set, then the region is a border region and its spans are considered un-walkable. (Used during the region and contour build process.)

See also
rcCompactSpan::reg
+ +
+
+ +

◆ RC_BORDER_VERTEX

+ +
+
+ + + + + +
+ + + + +
const int RC_BORDER_VERTEX = 0x10000
+
+static
+
+ +

Border vertex flag.

+

If a region ID has this bit set, then the associated element lies on a tile border. If a contour vertex's region ID has this bit set, the vertex will later be removed in order to match the segments and vertices at tile boundaries. (Used during the build process.)

See also
rcCompactSpan::reg, rcContour::verts, rcContour::rverts
+ +
+
+ +

◆ RC_CONTOUR_REG_MASK

+ +
+
+ + + + + +
+ + + + +
const int RC_CONTOUR_REG_MASK = 0xffff
+
+static
+
+ +

Applied to the region id field of contour vertices in order to extract the region id.

+

The region id field of a vertex may have several flags applied to it. So the fields value can't be used directly.

See also
rcContour::verts, rcContour::rverts
+ +
+
+ +

◆ RC_MESH_NULL_IDX

+ +
+
+ + + + + +
+ + + + +
const unsigned short RC_MESH_NULL_IDX = 0xffff
+
+static
+
+ +

An value which indicates an invalid index within a mesh.

+
Note
This does not necessarily indicate an error.
+
See also
rcPolyMesh::polys
+ +
+
+ +

◆ RC_MULTIPLE_REGS

+ +
+
+ + + + + +
+ + + + +
const unsigned short RC_MULTIPLE_REGS = 0
+
+static
+
+ +

Polygon touches multiple regions.

+

If a polygon has this region ID it was merged with or created from polygons of different regions during the polymesh build step that removes redundant border vertices. (Used during the polymesh and detail polymesh build processes)

See also
rcPolyMesh::regs
+ +
+
+ +

◆ RC_NOT_CONNECTED

+ +
+
+ + + + + +
+ + + + +
const int RC_NOT_CONNECTED = 0x3f
+
+static
+
+ +

The value returned by rcGetCon if the specified direction is not connected to another span.

+

(Has no neighbor.)

+ +
+
+ +

◆ RC_NULL_AREA

+ +
+
+ + + + + +
+ + + + +
const unsigned char RC_NULL_AREA = 0
+
+static
+
+ +

Represents the null area.

+

When a data element is given this value it is considered to no longer be assigned to a usable area. (E.g. It is un-walkable.)

+ +
+
+ +

◆ RC_PI

+ +
+
+ + + + + +
+ + + + +
const float RC_PI = 3.14159265f
+
+static
+
+ +

The value of PI used by Recast.

+ +
+
+ +

◆ RC_SPAN_HEIGHT_BITS

+ +
+
+ + + + + +
+ + + + +
const int RC_SPAN_HEIGHT_BITS = 13
+
+static
+
+ +

Defines the number of bits allocated to rcSpan::smin and rcSpan::smax.

+ +
+
+ +

◆ RC_SPAN_MAX_HEIGHT

+ +
+
+ + + + + +
+ + + + +
const int RC_SPAN_MAX_HEIGHT = (1 << RC_SPAN_HEIGHT_BITS) - 1
+
+static
+
+ +

Defines the maximum value for rcSpan::smin and rcSpan::smax.

+ +
+
+ +

◆ RC_SPANS_PER_POOL

+ +
+
+ + + + + +
+ + + + +
const int RC_SPANS_PER_POOL = 2048
+
+static
+
+ +

The number of spans allocated per span spool.

+
See also
rcSpanPool
+ +
+
+ +

◆ RC_WALKABLE_AREA

+ +
+
+ + + + + +
+ + + + +
const unsigned char RC_WALKABLE_AREA = 63
+
+static
+
+ +

The default area id used to indicate a walkable polygon.

+

This is also the maximum allowed area id, and the only non-null area id recognized by some steps in the build process.
+

+ +
+
+
+
+ + + + + diff --git a/Recast_8h.js b/Recast_8h.js new file mode 100644 index 00000000..03aca385 --- /dev/null +++ b/Recast_8h.js @@ -0,0 +1,131 @@ +var Recast_8h = +[ + [ "rcScopedTimer", "classrcScopedTimer.html", "classrcScopedTimer" ], + [ "rcSpan", "structrcSpan.html", "structrcSpan" ], + [ "rcSpanPool", "structrcSpanPool.html", "structrcSpanPool" ], + [ "rcCompactCell", "structrcCompactCell.html", "structrcCompactCell" ], + [ "rcCompactSpan", "structrcCompactSpan.html", "structrcCompactSpan" ], + [ "rcHeightfieldLayer", "structrcHeightfieldLayer.html", "structrcHeightfieldLayer" ], + [ "rcContour", "structrcContour.html", "structrcContour" ], + [ "rcBuildContoursFlags", "Recast_8h.html#a63345b5052e97366027aa92b54c7786f", [ + [ "RC_CONTOUR_TESS_WALL_EDGES", "Recast_8h.html#a63345b5052e97366027aa92b54c7786fa895b8adb44c79179f5e22f8f65abe5ed", null ], + [ "RC_CONTOUR_TESS_AREA_EDGES", "Recast_8h.html#a63345b5052e97366027aa92b54c7786faf433dd3fd4cf358173e454a145233810", null ] + ] ], + [ "rcLogCategory", "Recast_8h.html#a82cf824a1948a8442785a7ea184f410b", [ + [ "RC_LOG_PROGRESS", "Recast_8h.html#a82cf824a1948a8442785a7ea184f410ba4489590461db6062a1d83986297a1bcd", null ], + [ "RC_LOG_WARNING", "Recast_8h.html#a82cf824a1948a8442785a7ea184f410ba05dd323a1feaf0c125be248057cc40a5", null ], + [ "RC_LOG_ERROR", "Recast_8h.html#a82cf824a1948a8442785a7ea184f410ba50cefdab02ef964b5f5ba6093752eea9", null ] + ] ], + [ "rcTimerLabel", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18d", [ + [ "RC_TIMER_TOTAL", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18dade020216459ee686aac7c19d7ee2729a", null ], + [ "RC_TIMER_TEMP", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da92968e4f7d7e891393de01a5554f4b8c", null ], + [ "RC_TIMER_RASTERIZE_TRIANGLES", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da3fa1b3fe84fd4f3624887a1fa38944e6", null ], + [ "RC_TIMER_BUILD_COMPACTHEIGHTFIELD", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da303c06e25bf4609eb21ba3b668f10bba", null ], + [ "RC_TIMER_BUILD_CONTOURS", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da5bfad3b856c9ff5f3d94231adc363437", null ], + [ "RC_TIMER_BUILD_CONTOURS_TRACE", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da7780e2f5b2726d76169f8c0a38cfc12b", null ], + [ "RC_TIMER_BUILD_CONTOURS_SIMPLIFY", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18daac93d9ba18d8dedee3b584ef9131fdba", null ], + [ "RC_TIMER_FILTER_BORDER", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da438af561b3f22c44dd9a4672ab7efa09", null ], + [ "RC_TIMER_FILTER_WALKABLE", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18dae2cf8a1eed8d008417af66448900d120", null ], + [ "RC_TIMER_MEDIAN_AREA", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18daff9bd2eec4ca8457b601f3d8186824bf", null ], + [ "RC_TIMER_FILTER_LOW_OBSTACLES", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18dafd77d72ef738a5bb20b2bfc2753ed3c2", null ], + [ "RC_TIMER_BUILD_POLYMESH", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da2db68b2ee0e88bd48f687d8912be2b87", null ], + [ "RC_TIMER_MERGE_POLYMESH", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da20a8bc8f7341a3ea1af2b7581b67de6c", null ], + [ "RC_TIMER_ERODE_AREA", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18dad109da926d20816d0fd7b16001b6e463", null ], + [ "RC_TIMER_MARK_BOX_AREA", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da3ba77f8aaeff3f0ea1c0703144701789", null ], + [ "RC_TIMER_MARK_CYLINDER_AREA", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18daade33c6e1f1b1037e63546ca863d9690", null ], + [ "RC_TIMER_MARK_CONVEXPOLY_AREA", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18dac76c8eea599c3cf1c7f76a7a90a245b1", null ], + [ "RC_TIMER_BUILD_DISTANCEFIELD", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da2d9eae7de0473e03695f147c3b0ed4fe", null ], + [ "RC_TIMER_BUILD_DISTANCEFIELD_DIST", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da95ae391397574299fa86757572dadf78", null ], + [ "RC_TIMER_BUILD_DISTANCEFIELD_BLUR", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da9452d6a2c2be5c1bb92a20440a42509c", null ], + [ "RC_TIMER_BUILD_REGIONS", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18daeac9f250cd8a04c3d14f8fa548d4b31f", null ], + [ "RC_TIMER_BUILD_REGIONS_WATERSHED", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da7c9d166e9be3c76d444908348fccde9c", null ], + [ "RC_TIMER_BUILD_REGIONS_EXPAND", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da92d9f71f85b57488a09a3d6d0cec04d2", null ], + [ "RC_TIMER_BUILD_REGIONS_FLOOD", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da51802900abb3935de5b7dbc2423e2d62", null ], + [ "RC_TIMER_BUILD_REGIONS_FILTER", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da14403d6ce136beb776b9004e73dde436", null ], + [ "RC_TIMER_BUILD_LAYERS", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18daa13252ec42af278ed8b511ef2573efba", null ], + [ "RC_TIMER_BUILD_POLYMESHDETAIL", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da154109a5c78860b81ce9370a6a8debfd", null ], + [ "RC_TIMER_MERGE_POLYMESHDETAIL", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da24182cce77d41ba2d42db93b65dc7535", null ], + [ "RC_MAX_TIMERS", "Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da3597bcc0a74259286ba7e06ec236b405", null ] + ] ], + [ "rcAbs", "Recast_8h.html#afa1623d0ed253473ef26cd7717f8bf2f", null ], + [ "rcAddSpan", "group__recast.html#ga86f63cef2e174a1f4cb050767090beeb", null ], + [ "rcAllocCompactHeightfield", "group__recast.html#ga63ec2ca68dc897018b8b013507b9714d", null ], + [ "rcAllocContourSet", "group__recast.html#ga2b1a22ec58d51570e352c19cb2cb22a2", null ], + [ "rcAllocHeightfield", "group__recast.html#ga3e717cb2fa2ef5d123f0fa218f0630a9", null ], + [ "rcAllocHeightfieldLayerSet", "group__recast.html#gadc45406abb9ac9d1efddee04054207f5", null ], + [ "rcAllocPolyMesh", "group__recast.html#ga1b6942363f019860984263c0f8f62b9d", null ], + [ "rcAllocPolyMeshDetail", "group__recast.html#ga617834c1759867250e21569c204f1410", null ], + [ "rcBuildCompactHeightfield", "group__recast.html#gae8f77a45a6ca7fef19afcca7420b340d", null ], + [ "rcBuildContours", "group__recast.html#ga9ce76e55cf94a30c017fe3b039e1cbb2", null ], + [ "rcBuildDistanceField", "group__recast.html#ga255c830cc0d30fa0229a05033242e77d", null ], + [ "rcBuildHeightfieldLayers", "group__recast.html#ga21dd089dcfc243ed949a28727dc41010", null ], + [ "rcBuildLayerRegions", "group__recast.html#ga44a9272ded073492dd74b1a871d9d1a0", null ], + [ "rcBuildPolyMesh", "group__recast.html#ga6ccf68fa67b52296071764bddf19dd9f", null ], + [ "rcBuildPolyMeshDetail", "group__recast.html#ga27bbc4ef9f8c09b68ec63ebe908521a2", null ], + [ "rcBuildRegions", "group__recast.html#gaf89da5f503884e43f955639343333cea", null ], + [ "rcBuildRegionsMonotone", "group__recast.html#gac750ac6caa254759ef0bccf8afc7f67f", null ], + [ "rcCalcBounds", "group__recast.html#ga8d3d926002b6df3a5100a1f1e4086026", null ], + [ "rcCalcGridSize", "group__recast.html#ga89dd61f0c62938be9ae41aaf026794c2", null ], + [ "rcClamp", "Recast_8h.html#af96c0566e4d2d6787d4bc205159486d3", null ], + [ "rcClearUnwalkableTriangles", "group__recast.html#gad293e95cc9b22e4305ad2c6fbf946622", null ], + [ "rcCopyPolyMesh", "group__recast.html#gadd16ae360ef930c3ba8c4839e3065d40", null ], + [ "rcCreateHeightfield", "group__recast.html#ga47eca35f60dbd7ddc1cb18fdb2493833", null ], + [ "rcErodeWalkableArea", "group__recast.html#ga466672bb756c401fbf6dd1e99c920ebb", null ], + [ "rcFilterLedgeSpans", "group__recast.html#gad40c996631bc70091d7355dc4c950655", null ], + [ "rcFilterLowHangingWalkableObstacles", "group__recast.html#ga009f5e462077cc2f6d1f5fff57f2e412", null ], + [ "rcFilterWalkableLowHeightSpans", "group__recast.html#ga0dbfbeebd642c1b79323ba7723d91a49", null ], + [ "rcFreeCompactHeightfield", "group__recast.html#ga914ed7cee333a9c29513d917f6bb4716", null ], + [ "rcFreeContourSet", "group__recast.html#gae3a9621529cb8d471a95161bd7d0ca96", null ], + [ "rcFreeHeightField", "group__recast.html#ga63549624426821904ecf1a92ddcccaea", null ], + [ "rcFreeHeightfieldLayerSet", "group__recast.html#ga657ea6ef521e4caadc4467bd61e26016", null ], + [ "rcFreePolyMesh", "group__recast.html#ga34925f90f2e5da1f84c383bfb0ff8e9f", null ], + [ "rcFreePolyMeshDetail", "group__recast.html#ga3efa77f1a8305250471c2ac09672d9ae", null ], + [ "rcGetCon", "group__recast.html#gad3ccc7652b12db58c8e58c976bb34b1b", null ], + [ "rcGetDirForOffset", "group__recast.html#gaf7827d43d6b3e24ab5aba552343bce26", null ], + [ "rcGetDirOffsetX", "group__recast.html#ga7f308c34d7d5beb73eca24fe30033064", null ], + [ "rcGetDirOffsetY", "group__recast.html#ga7d225822d057252755aeeebdc2388cf2", null ], + [ "rcGetHeightFieldSpanCount", "group__recast.html#gabade813042a8c79ddb2f4ecf84620cf8", null ], + [ "rcIgnoreUnused", "Recast_8h.html#a590be6fed00e1ed747939ee51b0b433c", null ], + [ "rcMarkBoxArea", "group__recast.html#ga527b4c24537e47bcc472f28965c7b7bf", null ], + [ "rcMarkConvexPolyArea", "group__recast.html#ga1e8f3c9c2cb664fb2874d01448a1f223", null ], + [ "rcMarkCylinderArea", "group__recast.html#gac2de1bc06b5804dd4304a90f39829948", null ], + [ "rcMarkWalkableTriangles", "group__recast.html#ga63e7b847422bfd78acea724088da6561", null ], + [ "rcMax", "Recast_8h.html#accb921a8353da3a74aa90a491aff74c8", null ], + [ "rcMedianFilterWalkableArea", "group__recast.html#ga793672ade7833e916dd3c0e7a5bd6cc5", null ], + [ "rcMergePolyMeshDetails", "group__recast.html#ga6ef022fcf6dabdb0437b979304c0defe", null ], + [ "rcMergePolyMeshes", "group__recast.html#gaa28c3eb627ca7d96015c7978ff0eb8f7", null ], + [ "rcMin", "Recast_8h.html#aac83e8b749d8fed2164e00e7e0f43687", null ], + [ "rcOffsetPoly", "group__recast.html#gad71d03bb37c1a16700d57c5f7dff4057", null ], + [ "rcRasterizeTriangle", "group__recast.html#ga23a98560fac96a1d2eb9f01c6617e927", null ], + [ "rcRasterizeTriangles", "group__recast.html#gaebc5f38893ede7ee5d107a9ad2dbd369", null ], + [ "rcRasterizeTriangles", "group__recast.html#gadac24191b69876017ed01d85e0a44645", null ], + [ "rcRasterizeTriangles", "group__recast.html#ga40ce03082b89fd8d890fa65d9b3d64d9", null ], + [ "rcSetCon", "group__recast.html#ga8cdbebeeb64de5fc7b4b36281f165fc4", null ], + [ "rcSqr", "Recast_8h.html#a9c26528d4e9f1c67f9a44c37462fd8fd", null ], + [ "rcSqrt", "Recast_8h.html#a27c978b5bf2b857ec501ebd86c4e5981", null ], + [ "rcSwap", "Recast_8h.html#a2b7d8e54f72e8918a8b19c73eedf2d46", null ], + [ "rcVadd", "Recast_8h.html#ac291c13507720ed59b046c7730d1cee7", null ], + [ "rcVcopy", "Recast_8h.html#a9cbb34310e47a6def133a4b533d073ea", null ], + [ "rcVcross", "Recast_8h.html#a374fcf43c2ade76f195d3089b6964833", null ], + [ "rcVdist", "Recast_8h.html#a0d790d74c5ca7363ba1c0cddc9d2d896", null ], + [ "rcVdistSqr", "Recast_8h.html#aa30870674c29a9777390a289bf862163", null ], + [ "rcVdot", "Recast_8h.html#a0c946b3f2523d0dfb776fc393387279f", null ], + [ "rcVmad", "Recast_8h.html#a1a400b0467856a9ab0cbcd8a695484e0", null ], + [ "rcVmax", "Recast_8h.html#a5033980308619575a48cef8f497af3cf", null ], + [ "rcVmin", "Recast_8h.html#ab49a84d90945782df879b0c7e84239db", null ], + [ "rcVnormalize", "Recast_8h.html#adad36d3a913091d1288e386192c3c6ab", null ], + [ "rcVsub", "Recast_8h.html#a5d171a02fc4cda0b829b6ff7a4793376", null ], + [ "RC_AREA_BORDER", "Recast_8h.html#a55bb146cbd1c0ec0e06ca8e90dd5b7bc", null ], + [ "RC_BORDER_REG", "Recast_8h.html#ac47ca685874fce67f50bd580ef1e0497", null ], + [ "RC_BORDER_VERTEX", "Recast_8h.html#a8b57de86c98abbad39cce7df7c0aa1f8", null ], + [ "RC_CONTOUR_REG_MASK", "Recast_8h.html#a86c6c9df2df0402a9d026fb9603fb02b", null ], + [ "RC_MESH_NULL_IDX", "Recast_8h.html#a66e1b0e59a450182b5551eb12e68fcfe", null ], + [ "RC_MULTIPLE_REGS", "Recast_8h.html#abf6ad8971b152bddbd9c1b1e1e256cc3", null ], + [ "RC_NOT_CONNECTED", "Recast_8h.html#a64354aff947c2d8040e39bb4ceaf1a9f", null ], + [ "RC_NULL_AREA", "Recast_8h.html#a5105dbfb2d2bf8aa69122db502d0e39e", null ], + [ "RC_PI", "Recast_8h.html#ac784d579fcb90e51ba0ea98fd529e5ed", null ], + [ "RC_SPAN_HEIGHT_BITS", "Recast_8h.html#a70b5ff22f9acea41e961ee7ea4f7300f", null ], + [ "RC_SPAN_MAX_HEIGHT", "Recast_8h.html#a29fe08410353b3b0dfdf777303750b43", null ], + [ "RC_SPANS_PER_POOL", "Recast_8h.html#a55acc4ef20d0b0507e2c6fee696ecf5e", null ], + [ "RC_WALKABLE_AREA", "Recast_8h.html#a55c878bf81a2811829c8c5e491be41cb", null ] +]; \ No newline at end of file diff --git a/Recast_8h_source.html b/Recast_8h_source.html new file mode 100644 index 00000000..406a8ca5 --- /dev/null +++ b/Recast_8h_source.html @@ -0,0 +1,1012 @@ + + + + + + + +Recast Navigation: Recast.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Recast.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 RECAST_H
+
20 #define RECAST_H
+
21 
+
23 static const float RC_PI = 3.14159265f;
+
24 
+
26 template<class T> void rcIgnoreUnused(const T&) { }
+
27 
+ +
31 {
+ + + +
35 };
+
36 
+ +
40 {
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
99 };
+
100 
+ +
115 {
+
116 public:
+
119  inline rcContext(bool state = true) : m_logEnabled(state), m_timerEnabled(state) {}
+
120  virtual ~rcContext() {}
+
121 
+
124  inline void enableLog(bool state) { m_logEnabled = state; }
+
125 
+
127  inline void resetLog() { if (m_logEnabled) doResetLog(); }
+
128 
+
139  void log(const rcLogCategory category, const char* format, ...);
+
140 
+
143  inline void enableTimer(bool state) { m_timerEnabled = state; }
+
144 
+
146  inline void resetTimers() { if (m_timerEnabled) doResetTimers(); }
+
147 
+
150  inline void startTimer(const rcTimerLabel label) { if (m_timerEnabled) doStartTimer(label); }
+
151 
+
154  inline void stopTimer(const rcTimerLabel label) { if (m_timerEnabled) doStopTimer(label); }
+
155 
+
159  inline int getAccumulatedTime(const rcTimerLabel label) const { return m_timerEnabled ? doGetAccumulatedTime(label) : -1; }
+
160 
+
161 protected:
+
163  virtual void doResetLog();
+
164 
+
169  virtual void doLog(const rcLogCategory category, const char* msg, const int len) { rcIgnoreUnused(category); rcIgnoreUnused(msg); rcIgnoreUnused(len); }
+
170 
+
172  virtual void doResetTimers() {}
+
173 
+
176  virtual void doStartTimer(const rcTimerLabel label) { rcIgnoreUnused(label); }
+
177 
+
180  virtual void doStopTimer(const rcTimerLabel label) { rcIgnoreUnused(label); }
+
181 
+
185  virtual int doGetAccumulatedTime(const rcTimerLabel label) const { rcIgnoreUnused(label); return -1; }
+
186 
+ +
189 
+ +
192 };
+
193 
+ +
197 {
+
198 public:
+
202  inline rcScopedTimer(rcContext* ctx, const rcTimerLabel label) : m_ctx(ctx), m_label(label) { m_ctx->startTimer(m_label); }
+
203  inline ~rcScopedTimer() { m_ctx->stopTimer(m_label); }
+
204 
+
205 private:
+
206  // Explicitly disabled copy constructor and copy assignment operator.
+ +
208  rcScopedTimer& operator=(const rcScopedTimer&);
+
209 
+
210  rcContext* const m_ctx;
+
211  const rcTimerLabel m_label;
+
212 };
+
213 
+
216 struct rcConfig
+
217 {
+
219  int width;
+
220 
+
222  int height;
+
223 
+
225  int tileSize;
+
226 
+ +
229 
+
231  float cs;
+
232 
+
234  float ch;
+
235 
+
237  float bmin[3];
+
238 
+
240  float bmax[3];
+
241 
+ +
244 
+ +
248 
+ +
251 
+ +
255 
+ +
258 
+ +
262 
+ +
265 
+ +
269 
+ +
273 
+ +
277 
+ +
281 };
+
282 
+
284 static const int RC_SPAN_HEIGHT_BITS = 13;
+
286 static const int RC_SPAN_MAX_HEIGHT = (1 << RC_SPAN_HEIGHT_BITS) - 1;
+
287 
+
290 static const int RC_SPANS_PER_POOL = 2048;
+
291 
+
294 struct rcSpan
+
295 {
+
296  unsigned int smin : RC_SPAN_HEIGHT_BITS;
+
297  unsigned int smax : RC_SPAN_HEIGHT_BITS;
+
298  unsigned int area : 6;
+ +
300 };
+
301 
+ +
305 {
+ + +
308 };
+
309 
+ +
313 {
+
314  rcHeightfield();
+
315  ~rcHeightfield();
+
316 
+
317  int width;
+
318  int height;
+
319  float bmin[3];
+
320  float bmax[3];
+
321  float cs;
+
322  float ch;
+ + + +
326 
+
327 private:
+
328  // Explicitly-disabled copy constructor and copy assignment operator.
+ +
330  rcHeightfield& operator=(const rcHeightfield&);
+
331 };
+
332 
+ +
335 {
+
336  unsigned int index : 24;
+
337  unsigned int count : 8;
+
338 };
+
339 
+ +
342 {
+
343  unsigned short y;
+
344  unsigned short reg;
+
345  unsigned int con : 24;
+
346  unsigned int h : 8;
+
347 };
+
348 
+ +
352 {
+ + +
355 
+
356  int width;
+
357  int height;
+
358  int spanCount;
+ + + +
362  unsigned short maxDistance;
+
363  unsigned short maxRegions;
+
364  float bmin[3];
+
365  float bmax[3];
+
366  float cs;
+
367  float ch;
+ + +
370  unsigned short* dist;
+
371  unsigned char* areas;
+
372 
+
373 private:
+
374  // Explicitly-disabled copy constructor and copy assignment operator.
+ +
376  rcCompactHeightfield& operator=(const rcCompactHeightfield&);
+
377 };
+
378 
+ +
382 {
+
383  float bmin[3];
+
384  float bmax[3];
+
385  float cs;
+
386  float ch;
+
387  int width;
+
388  int height;
+
389  int minx;
+
390  int maxx;
+
391  int miny;
+
392  int maxy;
+
393  int hmin;
+
394  int hmax;
+
395  unsigned char* heights;
+
396  unsigned char* areas;
+
397  unsigned char* cons;
+
398 };
+
399 
+ +
404 {
+ + +
407 
+ +
409  int nlayers;
+
410 
+
411 private:
+
412  // Explicitly-disabled copy constructor and copy assignment operator.
+ +
414  rcHeightfieldLayerSet& operator=(const rcHeightfieldLayerSet&);
+
415 };
+
416 
+
418 struct rcContour
+
419 {
+
420  int* verts;
+
421  int nverts;
+
422  int* rverts;
+
423  int nrverts;
+
424  unsigned short reg;
+
425  unsigned char area;
+
426 };
+
427 
+ +
431 {
+
432  rcContourSet();
+
433  ~rcContourSet();
+
434 
+ +
436  int nconts;
+
437  float bmin[3];
+
438  float bmax[3];
+
439  float cs;
+
440  float ch;
+
441  int width;
+
442  int height;
+ +
444  float maxError;
+
445 
+
446 private:
+
447  // Explicitly-disabled copy constructor and copy assignment operator.
+
448  rcContourSet(const rcContourSet&);
+
449  rcContourSet& operator=(const rcContourSet&);
+
450 };
+
451 
+ +
455 {
+
456  rcPolyMesh();
+
457  ~rcPolyMesh();
+
458 
+
459  unsigned short* verts;
+
460  unsigned short* polys;
+
461  unsigned short* regs;
+
462  unsigned short* flags;
+
463  unsigned char* areas;
+
464  int nverts;
+
465  int npolys;
+
466  int maxpolys;
+
467  int nvp;
+
468  float bmin[3];
+
469  float bmax[3];
+
470  float cs;
+
471  float ch;
+ +
473  float maxEdgeError;
+
474 
+
475 private:
+
476  // Explicitly-disabled copy constructor and copy assignment operator.
+
477  rcPolyMesh(const rcPolyMesh&);
+
478  rcPolyMesh& operator=(const rcPolyMesh&);
+
479 };
+
480 
+ +
485 {
+ +
487 
+
488  unsigned int* meshes;
+
489  float* verts;
+
490  unsigned char* tris;
+
491  int nmeshes;
+
492  int nverts;
+
493  int ntris;
+
494 
+
495 private:
+
496  // Explicitly-disabled copy constructor and copy assignment operator.
+ +
498  rcPolyMeshDetail& operator=(const rcPolyMeshDetail&);
+
499 };
+
500 
+
505 
+ +
511 
+
516 void rcFreeHeightField(rcHeightfield* heightfield);
+
517 
+ +
523 
+
528 void rcFreeCompactHeightfield(rcCompactHeightfield* compactHeightfield);
+
529 
+ +
535 
+ +
541 
+ +
547 
+
552 void rcFreeContourSet(rcContourSet* contourSet);
+
553 
+ +
559 
+
564 void rcFreePolyMesh(rcPolyMesh* polyMesh);
+
565 
+ +
571 
+
576 void rcFreePolyMeshDetail(rcPolyMeshDetail* detailMesh);
+
577 
+
579 
+
585 static const unsigned short RC_BORDER_REG = 0x8000;
+
586 
+
593 static const unsigned short RC_MULTIPLE_REGS = 0;
+
594 
+
602 static const int RC_BORDER_VERTEX = 0x10000;
+
603 
+
609 static const int RC_AREA_BORDER = 0x20000;
+
610 
+ +
614 {
+ + +
617 };
+
618 
+
623 static const int RC_CONTOUR_REG_MASK = 0xffff;
+
624 
+
628 static const unsigned short RC_MESH_NULL_IDX = 0xffff;
+
629 
+
633 static const unsigned char RC_NULL_AREA = 0;
+
634 
+
638 static const unsigned char RC_WALKABLE_AREA = 63;
+
639 
+
642 static const int RC_NOT_CONNECTED = 0x3f;
+
643 
+
646 
+
650 template<class T> inline void rcSwap(T& a, T& b) { T t = a; a = b; b = t; }
+
651 
+
656 template<class T> inline T rcMin(T a, T b) { return a < b ? a : b; }
+
657 
+
662 template<class T> inline T rcMax(T a, T b) { return a > b ? a : b; }
+
663 
+
667 template<class T> inline T rcAbs(T a) { return a < 0 ? -a : a; }
+
668 
+
672 template<class T> inline T rcSqr(T a) { return a*a; }
+
673 
+
679 template<class T> inline T rcClamp(T value, T minInclusive, T maxInclusive)
+
680 {
+
681  return value < minInclusive ? minInclusive: (value > maxInclusive ? maxInclusive : value);
+
682 }
+
683 
+
687 float rcSqrt(float x);
+
688 
+
692 
+
697 inline void rcVcross(float* dest, const float* v1, const float* v2)
+
698 {
+
699  dest[0] = v1[1]*v2[2] - v1[2]*v2[1];
+
700  dest[1] = v1[2]*v2[0] - v1[0]*v2[2];
+
701  dest[2] = v1[0]*v2[1] - v1[1]*v2[0];
+
702 }
+
703 
+
708 inline float rcVdot(const float* v1, const float* v2)
+
709 {
+
710  return v1[0]*v2[0] + v1[1]*v2[1] + v1[2]*v2[2];
+
711 }
+
712 
+
718 inline void rcVmad(float* dest, const float* v1, const float* v2, const float s)
+
719 {
+
720  dest[0] = v1[0]+v2[0]*s;
+
721  dest[1] = v1[1]+v2[1]*s;
+
722  dest[2] = v1[2]+v2[2]*s;
+
723 }
+
724 
+
729 inline void rcVadd(float* dest, const float* v1, const float* v2)
+
730 {
+
731  dest[0] = v1[0]+v2[0];
+
732  dest[1] = v1[1]+v2[1];
+
733  dest[2] = v1[2]+v2[2];
+
734 }
+
735 
+
740 inline void rcVsub(float* dest, const float* v1, const float* v2)
+
741 {
+
742  dest[0] = v1[0]-v2[0];
+
743  dest[1] = v1[1]-v2[1];
+
744  dest[2] = v1[2]-v2[2];
+
745 }
+
746 
+
750 inline void rcVmin(float* mn, const float* v)
+
751 {
+
752  mn[0] = rcMin(mn[0], v[0]);
+
753  mn[1] = rcMin(mn[1], v[1]);
+
754  mn[2] = rcMin(mn[2], v[2]);
+
755 }
+
756 
+
760 inline void rcVmax(float* mx, const float* v)
+
761 {
+
762  mx[0] = rcMax(mx[0], v[0]);
+
763  mx[1] = rcMax(mx[1], v[1]);
+
764  mx[2] = rcMax(mx[2], v[2]);
+
765 }
+
766 
+
770 inline void rcVcopy(float* dest, const float* v)
+
771 {
+
772  dest[0] = v[0];
+
773  dest[1] = v[1];
+
774  dest[2] = v[2];
+
775 }
+
776 
+
781 inline float rcVdist(const float* v1, const float* v2)
+
782 {
+
783  float dx = v2[0] - v1[0];
+
784  float dy = v2[1] - v1[1];
+
785  float dz = v2[2] - v1[2];
+
786  return rcSqrt(dx*dx + dy*dy + dz*dz);
+
787 }
+
788 
+
793 inline float rcVdistSqr(const float* v1, const float* v2)
+
794 {
+
795  float dx = v2[0] - v1[0];
+
796  float dy = v2[1] - v1[1];
+
797  float dz = v2[2] - v1[2];
+
798  return dx*dx + dy*dy + dz*dz;
+
799 }
+
800 
+
803 inline void rcVnormalize(float* v)
+
804 {
+
805  float d = 1.0f / rcSqrt(rcSqr(v[0]) + rcSqr(v[1]) + rcSqr(v[2]));
+
806  v[0] *= d;
+
807  v[1] *= d;
+
808  v[2] *= d;
+
809 }
+
810 
+
815 
+
822 void rcCalcBounds(const float* verts, int numVerts, float* minBounds, float* maxBounds);
+
823 
+
831 void rcCalcGridSize(const float* minBounds, const float* maxBounds, float cellSize, int* sizeX, int* sizeZ);
+
832 
+
848 bool rcCreateHeightfield(rcContext* context, rcHeightfield& heightfield, int sizeX, int sizeZ,
+
849  const float* minBounds, const float* maxBounds,
+
850  float cellSize, float cellHeight);
+
851 
+
871 void rcMarkWalkableTriangles(rcContext* context, float walkableSlopeAngle, const float* verts, int numVerts,
+
872  const int* tris, int numTris, unsigned char* triAreaIDs);
+
873 
+
892 void rcClearUnwalkableTriangles(rcContext* context, float walkableSlopeAngle, const float* verts, int numVerts,
+
893  const int* tris, int numTris, unsigned char* triAreaIDs);
+
894 
+
913 bool rcAddSpan(rcContext* context, rcHeightfield& heightfield,
+
914  int x, int z,
+
915  unsigned short spanMin, unsigned short spanMax,
+
916  unsigned char areaID, int flagMergeThreshold);
+
917 
+
935 bool rcRasterizeTriangle(rcContext* context,
+
936  const float* v0, const float* v1, const float* v2,
+
937  unsigned char areaID, rcHeightfield& heightfield, int flagMergeThreshold = 1);
+
938 
+
955 bool rcRasterizeTriangles(rcContext* context,
+
956  const float* verts, int numVerts,
+
957  const int* tris, const unsigned char* triAreaIDs, int numTris,
+
958  rcHeightfield& heightfield, int flagMergeThreshold = 1);
+
959 
+
976 bool rcRasterizeTriangles(rcContext* context,
+
977  const float* verts, int numVerts,
+
978  const unsigned short* tris, const unsigned char* triAreaIDs, int numTris,
+
979  rcHeightfield& heightfield, int flagMergeThreshold = 1);
+
980 
+
997 bool rcRasterizeTriangles(rcContext* context,
+
998  const float* verts, const unsigned char* triAreaIDs, int numTris,
+
999  rcHeightfield& heightfield, int flagMergeThreshold = 1);
+
1000 
+
1018 void rcFilterLowHangingWalkableObstacles(rcContext* context, int walkableClimb, rcHeightfield& heightfield);
+
1019 
+
1038 void rcFilterLedgeSpans(rcContext* context, int walkableHeight, int walkableClimb, rcHeightfield& heightfield);
+
1039 
+
1052 void rcFilterWalkableLowHeightSpans(rcContext* context, int walkableHeight, rcHeightfield& heightfield);
+
1053 
+
1059 int rcGetHeightFieldSpanCount(rcContext* context, const rcHeightfield& heightfield);
+
1060 
+
1065 
+
1085 bool rcBuildCompactHeightfield(rcContext* context, int walkableHeight, int walkableClimb,
+
1086  rcHeightfield& heightfield, rcCompactHeightfield& compactHeightfield);
+
1087 
+
1094 bool rcErodeWalkableArea(rcContext* ctx, int radius, rcCompactHeightfield& chf);
+
1095 
+ +
1102 
+
1110 void rcMarkBoxArea(rcContext* ctx, const float* bmin, const float* bmax, unsigned char areaId,
+
1111  rcCompactHeightfield& chf);
+
1112 
+
1122 void rcMarkConvexPolyArea(rcContext* ctx, const float* verts, const int nverts,
+
1123  const float hmin, const float hmax, unsigned char areaId,
+
1124  rcCompactHeightfield& chf);
+
1125 
+
1134 int rcOffsetPoly(const float* verts, const int nverts, const float offset,
+
1135  float* outVerts, const int maxOutVerts);
+
1136 
+
1145 void rcMarkCylinderArea(rcContext* ctx, const float* pos,
+
1146  const float r, const float h, unsigned char areaId,
+
1147  rcCompactHeightfield& chf);
+
1148 
+ +
1155 
+
1167 bool rcBuildRegions(rcContext* ctx, rcCompactHeightfield& chf, int borderSize, int minRegionArea, int mergeRegionArea);
+
1168 
+
1178 bool rcBuildLayerRegions(rcContext* ctx, rcCompactHeightfield& chf, int borderSize, int minRegionArea);
+
1179 
+ +
1192  int borderSize, int minRegionArea, int mergeRegionArea);
+
1193 
+
1198 inline void rcSetCon(rcCompactSpan& span, int direction, int neighborIndex)
+
1199 {
+
1200  const unsigned int shift = (unsigned int)direction * 6;
+
1201  const unsigned int con = span.con;
+
1202  span.con = (con & ~(0x3f << shift)) | (((unsigned int)neighborIndex & 0x3f) << shift);
+
1203 }
+
1204 
+
1209 inline int rcGetCon(const rcCompactSpan& span, int direction)
+
1210 {
+
1211  const unsigned int shift = (unsigned int)direction * 6;
+
1212  return (span.con >> shift) & 0x3f;
+
1213 }
+
1214 
+
1218 inline int rcGetDirOffsetX(int direction)
+
1219 {
+
1220  static const int offset[4] = { -1, 0, 1, 0, };
+
1221  return offset[direction & 0x03];
+
1222 }
+
1223 
+
1224 // TODO (graham): Rename this to rcGetDirOffsetZ
+
1228 inline int rcGetDirOffsetY(int direction)
+
1229 {
+
1230  static const int offset[4] = { 0, 1, 0, -1 };
+
1231  return offset[direction & 0x03];
+
1232 }
+
1233 
+
1238 inline int rcGetDirForOffset(int offsetX, int offsetZ)
+
1239 {
+
1240  static const int dirs[5] = { 3, 0, -1, 2, 1 };
+
1241  return dirs[((offsetZ + 1) << 1) + offsetX];
+
1242 }
+
1243 
+
1248 
+ +
1260  int borderSize, int walkableHeight,
+
1261  rcHeightfieldLayerSet& lset);
+
1262 
+ +
1275  float maxError, int maxEdgeLen,
+
1276  rcContourSet& cset, int buildFlags = RC_CONTOUR_TESS_WALL_EDGES);
+
1277 
+
1286 bool rcBuildPolyMesh(rcContext* ctx, rcContourSet& cset, const int nvp, rcPolyMesh& mesh);
+
1287 
+
1295 bool rcMergePolyMeshes(rcContext* ctx, rcPolyMesh** meshes, const int nmeshes, rcPolyMesh& mesh);
+
1296 
+
1307 bool rcBuildPolyMeshDetail(rcContext* ctx, const rcPolyMesh& mesh, const rcCompactHeightfield& chf,
+
1308  float sampleDist, float sampleMaxError,
+
1309  rcPolyMeshDetail& dmesh);
+
1310 
+
1317 bool rcCopyPolyMesh(rcContext* ctx, const rcPolyMesh& src, rcPolyMesh& dst);
+
1318 
+
1326 bool rcMergePolyMeshDetails(rcContext* ctx, rcPolyMeshDetail** meshes, const int nmeshes, rcPolyMeshDetail& mesh);
+
1327 
+
1329 
+
1330 #endif // RECAST_H
+
1331 
+
1333 
+
1334 // Due to the large amount of detail documentation for this file,
+
1335 // the content normally located at the end of the header file has been separated
+
1336 // out to a file in /Docs/Extern.
+
float rcVdot(const float *v1, const float *v2)
Derives the dot product of two vectors.
Definition: Recast.h:708
+
rcTimerLabel
Recast performance timer categories.
Definition: Recast.h:40
+
@ RC_TIMER_BUILD_REGIONS_FILTER
The time to filter out small regions. (See: rcBuildRegions, rcBuildRegionsMonotone)
Definition: Recast.h:90
+
@ RC_TIMER_BUILD_POLYMESHDETAIL
The time to build the polygon mesh detail. (See: rcBuildPolyMeshDetail)
Definition: Recast.h:94
+
@ RC_TIMER_MERGE_POLYMESH
The time to merge polygon meshes. (See: rcMergePolyMeshes)
Definition: Recast.h:66
+
@ RC_TIMER_MERGE_POLYMESHDETAIL
The time to merge polygon mesh details. (See: rcMergePolyMeshDetails)
Definition: Recast.h:96
+
@ RC_TIMER_BUILD_DISTANCEFIELD
The total time to build the distance field. (See: rcBuildDistanceField)
Definition: Recast.h:76
+
@ RC_TIMER_BUILD_POLYMESH
The time to build the polygon mesh. (See: rcBuildPolyMesh)
Definition: Recast.h:64
+
@ RC_TIMER_BUILD_COMPACTHEIGHTFIELD
The time to build the compact heightfield. (See: rcBuildCompactHeightfield)
Definition: Recast.h:48
+
@ RC_MAX_TIMERS
The maximum number of timers. (Used for iterating timers.)
Definition: Recast.h:98
+
@ RC_TIMER_MARK_BOX_AREA
The time to mark a box area. (See: rcMarkBoxArea)
Definition: Recast.h:70
+
@ RC_TIMER_RASTERIZE_TRIANGLES
The time to rasterize the triangles. (See: rcRasterizeTriangle)
Definition: Recast.h:46
+
@ RC_TIMER_FILTER_BORDER
The time to filter ledge spans. (See: rcFilterLedgeSpans)
Definition: Recast.h:56
+
@ RC_TIMER_BUILD_REGIONS_FLOOD
The time to flood regions while applying the watershed algorithm. (See: rcBuildRegions)
Definition: Recast.h:88
+
@ RC_TIMER_BUILD_CONTOURS
The total time to build the contours. (See: rcBuildContours)
Definition: Recast.h:50
+
@ RC_TIMER_BUILD_CONTOURS_TRACE
The time to trace the boundaries of the contours. (See: rcBuildContours)
Definition: Recast.h:52
+
@ RC_TIMER_BUILD_REGIONS_WATERSHED
The total time to apply the watershed algorithm. (See: rcBuildRegions)
Definition: Recast.h:84
+
@ RC_TIMER_TEMP
A user defined build time.
Definition: Recast.h:44
+
@ RC_TIMER_BUILD_REGIONS_EXPAND
The time to expand regions while applying the watershed algorithm. (See: rcBuildRegions)
Definition: Recast.h:86
+
@ RC_TIMER_BUILD_DISTANCEFIELD_BLUR
The time to blur the distance field. (See: rcBuildDistanceField)
Definition: Recast.h:80
+
@ RC_TIMER_BUILD_DISTANCEFIELD_DIST
The time to build the distances of the distance field. (See: rcBuildDistanceField)
Definition: Recast.h:78
+
@ RC_TIMER_BUILD_LAYERS
The time to build heightfield layers. (See: rcBuildHeightfieldLayers)
Definition: Recast.h:92
+
@ RC_TIMER_BUILD_CONTOURS_SIMPLIFY
The time to simplify the contours. (See: rcBuildContours)
Definition: Recast.h:54
+
@ RC_TIMER_MARK_CYLINDER_AREA
The time to mark a cylinder area. (See: rcMarkCylinderArea)
Definition: Recast.h:72
+
@ RC_TIMER_MARK_CONVEXPOLY_AREA
The time to mark a convex polygon area. (See: rcMarkConvexPolyArea)
Definition: Recast.h:74
+
@ RC_TIMER_ERODE_AREA
The time to erode the walkable area. (See: rcErodeWalkableArea)
Definition: Recast.h:68
+
@ RC_TIMER_TOTAL
The user defined total time of the build.
Definition: Recast.h:42
+
@ RC_TIMER_FILTER_WALKABLE
The time to filter low height spans. (See: rcFilterWalkableLowHeightSpans)
Definition: Recast.h:58
+
@ RC_TIMER_BUILD_REGIONS
The total time to build the regions. (See: rcBuildRegions, rcBuildRegionsMonotone)
Definition: Recast.h:82
+
@ RC_TIMER_FILTER_LOW_OBSTACLES
The time to filter low obstacles. (See: rcFilterLowHangingWalkableObstacles)
Definition: Recast.h:62
+
@ RC_TIMER_MEDIAN_AREA
The time to apply the median filter. (See: rcMedianFilterWalkableArea)
Definition: Recast.h:60
+
float rcVdist(const float *v1, const float *v2)
Returns the distance between two points.
Definition: Recast.h:781
+
void rcVmad(float *dest, const float *v1, const float *v2, const float s)
Performs a scaled vector addition.
Definition: Recast.h:718
+
float rcSqrt(float x)
Returns the square root of the value.
Definition: Recast.cpp:53
+
static const int RC_SPAN_MAX_HEIGHT
Defines the maximum value for rcSpan::smin and rcSpan::smax.
Definition: Recast.h:286
+
void rcSwap(T &a, T &b)
Swaps the values of the two parameters.
Definition: Recast.h:650
+
void rcVcross(float *dest, const float *v1, const float *v2)
Derives the cross product of two vectors.
Definition: Recast.h:697
+
void rcVmax(float *mx, const float *v)
Selects the maximum value of each element from the specified vectors.
Definition: Recast.h:760
+
static const unsigned char RC_NULL_AREA
Represents the null area.
Definition: Recast.h:633
+
static const int RC_SPANS_PER_POOL
The number of spans allocated per span spool.
Definition: Recast.h:290
+
static const int RC_AREA_BORDER
Area border flag.
Definition: Recast.h:609
+
static const unsigned char RC_WALKABLE_AREA
The default area id used to indicate a walkable polygon.
Definition: Recast.h:638
+
void rcIgnoreUnused(const T &)
Used to ignore unused function parameters and silence any compiler warnings.
Definition: Recast.h:26
+
void rcVsub(float *dest, const float *v1, const float *v2)
Performs a vector subtraction.
Definition: Recast.h:740
+
rcBuildContoursFlags
Contour build flags.
Definition: Recast.h:614
+
@ RC_CONTOUR_TESS_WALL_EDGES
Tessellate solid (impassable) edges during contour simplification.
Definition: Recast.h:615
+
@ RC_CONTOUR_TESS_AREA_EDGES
Tessellate edges between areas during contour simplification.
Definition: Recast.h:616
+
static const int RC_NOT_CONNECTED
The value returned by rcGetCon if the specified direction is not connected to another span.
Definition: Recast.h:642
+
static const unsigned short RC_MESH_NULL_IDX
An value which indicates an invalid index within a mesh.
Definition: Recast.h:628
+
static const int RC_SPAN_HEIGHT_BITS
Defines the number of bits allocated to rcSpan::smin and rcSpan::smax.
Definition: Recast.h:284
+
rcLogCategory
Recast log categories.
Definition: Recast.h:31
+
@ RC_LOG_WARNING
A warning log entry.
Definition: Recast.h:33
+
@ RC_LOG_PROGRESS
A progress log entry.
Definition: Recast.h:32
+
@ RC_LOG_ERROR
An error log entry.
Definition: Recast.h:34
+
static const int RC_CONTOUR_REG_MASK
Applied to the region id field of contour vertices in order to extract the region id.
Definition: Recast.h:623
+
static const int RC_BORDER_VERTEX
Border vertex flag.
Definition: Recast.h:602
+
T rcSqr(T a)
Returns the square of the value.
Definition: Recast.h:672
+
void rcVcopy(float *dest, const float *v)
Performs a vector copy.
Definition: Recast.h:770
+
float rcVdistSqr(const float *v1, const float *v2)
Returns the square of the distance between two points.
Definition: Recast.h:793
+
T rcMin(T a, T b)
Returns the minimum of two values.
Definition: Recast.h:656
+
void rcVmin(float *mn, const float *v)
Selects the minimum value of each element from the specified vectors.
Definition: Recast.h:750
+
static const unsigned short RC_MULTIPLE_REGS
Polygon touches multiple regions.
Definition: Recast.h:593
+
void rcVadd(float *dest, const float *v1, const float *v2)
Performs a vector addition.
Definition: Recast.h:729
+
static const unsigned short RC_BORDER_REG
Heightfield border flag.
Definition: Recast.h:585
+
static const float RC_PI
The value of PI used by Recast.
Definition: Recast.h:23
+
T rcMax(T a, T b)
Returns the maximum of two values.
Definition: Recast.h:662
+
void rcVnormalize(float *v)
Normalizes the vector.
Definition: Recast.h:803
+
T rcClamp(T value, T minInclusive, T maxInclusive)
Clamps the value to the specified range.
Definition: Recast.h:679
+
T rcAbs(T a)
Returns the absolute value.
Definition: Recast.h:667
+
Provides an interface for optional logging and performance tracking of the Recast build process.
Definition: Recast.h:115
+
virtual ~rcContext()
Definition: Recast.h:120
+
void enableLog(bool state)
Enables or disables logging.
Definition: Recast.h:124
+
int getAccumulatedTime(const rcTimerLabel label) const
Returns the total accumulated time of the specified performance timer.
Definition: Recast.h:159
+
void resetTimers()
Clears all performance timers. (Resets all to unused.)
Definition: Recast.h:146
+
virtual void doStopTimer(const rcTimerLabel label)
Stops the specified performance timer.
Definition: Recast.h:180
+
void startTimer(const rcTimerLabel label)
Starts the specified performance timer.
Definition: Recast.h:150
+
void stopTimer(const rcTimerLabel label)
Stops the specified performance timer.
Definition: Recast.h:154
+
virtual void doResetTimers()
Clears all timers. (Resets all to unused.)
Definition: Recast.h:172
+
void resetLog()
Clears all log entries.
Definition: Recast.h:127
+
virtual void doLog(const rcLogCategory category, const char *msg, const int len)
Logs a message.
Definition: Recast.h:169
+
bool m_timerEnabled
True if the performance timers are enabled.
Definition: Recast.h:191
+
void enableTimer(bool state)
Enables or disables the performance timers.
Definition: Recast.h:143
+
virtual int doGetAccumulatedTime(const rcTimerLabel label) const
Returns the total accumulated time of the specified performance timer.
Definition: Recast.h:185
+
virtual void doResetLog()
Clears all log entries.
Definition: Recast.cpp:81
+
void log(const rcLogCategory category, const char *format,...)
Logs a message.
Definition: Recast.cpp:58
+
rcContext(bool state=true)
Constructor.
Definition: Recast.h:119
+
bool m_logEnabled
True if logging is enabled.
Definition: Recast.h:188
+
virtual void doStartTimer(const rcTimerLabel label)
Starts the specified performance timer.
Definition: Recast.h:176
+
A helper to first start a timer and then stop it when this helper goes out of scope.
Definition: Recast.h:197
+
~rcScopedTimer()
Definition: Recast.h:203
+
rcScopedTimer(rcContext *ctx, const rcTimerLabel label)
Constructs an instance and starts the timer.
Definition: Recast.h:202
+
void rcFilterLowHangingWalkableObstacles(rcContext *context, int walkableClimb, rcHeightfield &heightfield)
Marks non-walkable spans as walkable if their maximum is within walkableClimb of a walkable neighbor.
Definition: RecastFilter.cpp:24
+
void rcFilterWalkableLowHeightSpans(rcContext *context, int walkableHeight, rcHeightfield &heightfield)
Marks walkable spans as not walkable if the clearance above the span is less than the specified heigh...
Definition: RecastFilter.cpp:157
+
rcPolyMesh * rcAllocPolyMesh()
Allocates a polygon mesh object using the Recast allocator.
Definition: Recast.cpp:222
+
void rcMarkConvexPolyArea(rcContext *ctx, const float *verts, const int nverts, const float hmin, const float hmax, unsigned char areaId, rcCompactHeightfield &chf)
Applies the area id to the all spans within the specified convex polygon.
Definition: RecastArea.cpp:380
+
bool rcBuildHeightfieldLayers(rcContext *ctx, rcCompactHeightfield &chf, int borderSize, int walkableHeight, rcHeightfieldLayerSet &lset)
Builds a layer set from the specified compact heightfield.
Definition: RecastLayers.cpp:91
+
bool rcRasterizeTriangle(rcContext *context, const float *v0, const float *v1, const float *v2, unsigned char areaID, rcHeightfield &heightfield, int flagMergeThreshold=1)
Rasterizes a single triangle into the specified heightfield.
Definition: RecastRasterization.cpp:458
+
bool rcBuildDistanceField(rcContext *ctx, rcCompactHeightfield &chf)
Builds the distance field for the specified compact heightfield.
Definition: RecastRegion.cpp:1253
+
bool rcBuildPolyMeshDetail(rcContext *ctx, const rcPolyMesh &mesh, const rcCompactHeightfield &chf, float sampleDist, float sampleMaxError, rcPolyMeshDetail &dmesh)
Builds a detail mesh from the provided polygon mesh.
Definition: RecastMeshDetail.cpp:1170
+
rcContourSet * rcAllocContourSet()
Allocates a contour set object using the Recast allocator.
Definition: Recast.cpp:188
+
void rcFreePolyMesh(rcPolyMesh *polyMesh)
Frees the specified polygon mesh using the Recast allocator.
Definition: Recast.cpp:227
+
rcHeightfield * rcAllocHeightfield()
Allocates a heightfield object using the Recast allocator.
Definition: Recast.cpp:86
+
void rcFreePolyMeshDetail(rcPolyMeshDetail *detailMesh)
Frees the specified detail mesh using the Recast allocator.
Definition: Recast.cpp:265
+
bool rcBuildLayerRegions(rcContext *ctx, rcCompactHeightfield &chf, int borderSize, int minRegionArea)
Builds region data for the heightfield by partitioning the heightfield in non-overlapping layers.
Definition: RecastRegion.cpp:1661
+
bool rcErodeWalkableArea(rcContext *ctx, int radius, rcCompactHeightfield &chf)
Erodes the walkable area within the heightfield by the specified radius.
Definition: RecastArea.cpp:36
+
bool rcCreateHeightfield(rcContext *context, rcHeightfield &heightfield, int sizeX, int sizeZ, const float *minBounds, const float *maxBounds, float cellSize, float cellHeight)
Initializes a new heightfield.
Definition: Recast.cpp:306
+
void rcMarkBoxArea(rcContext *ctx, const float *bmin, const float *bmax, unsigned char areaId, rcCompactHeightfield &chf)
Applies an area id to all spans within the specified bounding box.
Definition: RecastArea.cpp:315
+
rcPolyMeshDetail * rcAllocPolyMeshDetail()
Allocates a detail mesh object using the Recast allocator.
Definition: Recast.cpp:260
+
void rcFreeHeightField(rcHeightfield *heightfield)
Frees the specified heightfield object using the Recast allocator.
Definition: Recast.cpp:91
+
void rcMarkWalkableTriangles(rcContext *context, float walkableSlopeAngle, const float *verts, int numVerts, const int *tris, int numTris, unsigned char *triAreaIDs)
Sets the area id of all triangles with a slope below the specified value to RC_WALKABLE_AREA.
Definition: Recast.cpp:336
+
rcCompactHeightfield * rcAllocCompactHeightfield()
Allocates a compact heightfield object using the Recast allocator.
Definition: Recast.cpp:122
+
void rcFreeHeightfieldLayerSet(rcHeightfieldLayerSet *layerSet)
Frees the specified heightfield layer set using the Recast allocator.
Definition: Recast.cpp:165
+
bool rcBuildPolyMesh(rcContext *ctx, rcContourSet &cset, const int nvp, rcPolyMesh &mesh)
Builds a polygon mesh from the provided contours.
Definition: RecastMesh.cpp:989
+
bool rcMergePolyMeshDetails(rcContext *ctx, rcPolyMeshDetail **meshes, const int nmeshes, rcPolyMeshDetail &mesh)
Merges multiple detail meshes into a single detail mesh.
Definition: RecastMeshDetail.cpp:1389
+
bool rcMedianFilterWalkableArea(rcContext *ctx, rcCompactHeightfield &chf)
Applies a median filter to walkable area types (based on area id), removing noise.
Definition: RecastArea.cpp:238
+
int rcGetDirOffsetY(int direction)
Gets the standard height (z-axis) offset for the specified direction.
Definition: Recast.h:1228
+
int rcGetDirOffsetX(int direction)
Gets the standard width (x-axis) offset for the specified direction.
Definition: Recast.h:1218
+
bool rcAddSpan(rcContext *context, rcHeightfield &heightfield, int x, int z, unsigned short spanMin, unsigned short spanMax, unsigned char areaID, int flagMergeThreshold)
Adds a span to the specified heightfield.
Definition: RecastRasterization.cpp:192
+
void rcCalcGridSize(const float *minBounds, const float *maxBounds, float cellSize, int *sizeX, int *sizeZ)
Calculates the grid size based on the bounding box and grid cell size.
Definition: Recast.cpp:300
+
void rcSetCon(rcCompactSpan &span, int direction, int neighborIndex)
Sets the neighbor connection data for the specified direction.
Definition: Recast.h:1198
+
void rcCalcBounds(const float *verts, int numVerts, float *minBounds, float *maxBounds)
Calculates the bounding box of an array of vertices.
Definition: Recast.cpp:287
+
void rcFreeCompactHeightfield(rcCompactHeightfield *compactHeightfield)
Frees the specified compact heightfield object using the Recast allocator.
Definition: Recast.cpp:127
+
bool rcBuildContours(rcContext *ctx, rcCompactHeightfield &chf, float maxError, int maxEdgeLen, rcContourSet &cset, int buildFlags=RC_CONTOUR_TESS_WALL_EDGES)
Builds a contour set from the region outlines in the provided compact heightfield.
Definition: RecastContour.cpp:823
+
bool rcMergePolyMeshes(rcContext *ctx, rcPolyMesh **meshes, const int nmeshes, rcPolyMesh &mesh)
Merges multiple polygon meshes into a single mesh.
Definition: RecastMesh.cpp:1308
+
int rcGetHeightFieldSpanCount(rcContext *context, const rcHeightfield &heightfield)
Returns the number of spans contained in the specified heightfield.
Definition: Recast.cpp:384
+
void rcMarkCylinderArea(rcContext *ctx, const float *pos, const float r, const float h, unsigned char areaId, rcCompactHeightfield &chf)
Applies the area id to all spans within the specified cylinder.
Definition: RecastArea.cpp:528
+
bool rcBuildRegionsMonotone(rcContext *ctx, rcCompactHeightfield &chf, int borderSize, int minRegionArea, int mergeRegionArea)
Builds region data for the heightfield using simple monotone partitioning.
Definition: RecastRegion.cpp:1352
+
void rcClearUnwalkableTriangles(rcContext *context, float walkableSlopeAngle, const float *verts, int numVerts, const int *tris, int numTris, unsigned char *triAreaIDs)
Sets the area id of all triangles with a slope greater than or equal to the specified value to RC_NUL...
Definition: Recast.cpp:360
+
int rcGetCon(const rcCompactSpan &span, int direction)
Gets neighbor connection data for the specified direction.
Definition: Recast.h:1209
+
void rcFilterLedgeSpans(rcContext *context, int walkableHeight, int walkableClimb, rcHeightfield &heightfield)
Marks spans that are ledges as not-walkable.
Definition: RecastFilter.cpp:62
+
int rcOffsetPoly(const float *verts, const int nverts, const float offset, float *outVerts, const int maxOutVerts)
Helper function to offset voncex polygons for rcMarkConvexPolyArea.
Definition: RecastArea.cpp:445
+
bool rcRasterizeTriangles(rcContext *context, const float *verts, int numVerts, const int *tris, const unsigned char *triAreaIDs, int numTris, rcHeightfield &heightfield, int flagMergeThreshold=1)
Rasterizes an indexed triangle mesh into the specified heightfield.
Definition: RecastRasterization.cpp:478
+
rcHeightfieldLayerSet * rcAllocHeightfieldLayerSet()
Allocates a heightfield layer set using the Recast allocator.
Definition: Recast.cpp:160
+
bool rcCopyPolyMesh(rcContext *ctx, const rcPolyMesh &src, rcPolyMesh &dst)
Copies the poly mesh data from src to dst.
Definition: RecastMesh.cpp:1486
+
void rcFreeContourSet(rcContourSet *contourSet)
Frees the specified contour set using the Recast allocator.
Definition: Recast.cpp:193
+
bool rcBuildCompactHeightfield(rcContext *context, int walkableHeight, int walkableClimb, rcHeightfield &heightfield, rcCompactHeightfield &compactHeightfield)
Builds a compact heightfield representing open space, from a heightfield representing solid space.
Definition: Recast.cpp:403
+
int rcGetDirForOffset(int offsetX, int offsetZ)
Gets the direction for the specified offset.
Definition: Recast.h:1238
+
bool rcBuildRegions(rcContext *ctx, rcCompactHeightfield &chf, int borderSize, int minRegionArea, int mergeRegionArea)
Builds region data for the heightfield using watershed partitioning.
Definition: RecastRegion.cpp:1525
+
Provides information on the content of a cell column in a compact heightfield.
Definition: Recast.h:335
+
unsigned int count
Number of spans in the column.
Definition: Recast.h:337
+
unsigned int index
Index to the first span in the column.
Definition: Recast.h:336
+
A compact, static heightfield representing unobstructed space.
Definition: Recast.h:352
+
int walkableHeight
The walkable height used during the build of the field. (See: rcConfig::walkableHeight)
Definition: Recast.h:359
+
rcCompactSpan * spans
Array of spans. [Size: spanCount].
Definition: Recast.h:369
+
int height
The height of the heightfield. (Along the z-axis in cell units.)
Definition: Recast.h:357
+
rcCompactHeightfield()
Definition: Recast.cpp:132
+
unsigned short maxDistance
The maximum distance value of any span within the field.
Definition: Recast.h:362
+
float ch
The height of each cell. (The minimum increment along the y-axis.)
Definition: Recast.h:367
+
float bmax[3]
The maximum bounds in world space. [(x, y, z)].
Definition: Recast.h:365
+
int borderSize
The AABB border size used during the build of the field. (See: rcConfig::borderSize)
Definition: Recast.h:361
+
unsigned short maxRegions
The maximum region id of any span within the field.
Definition: Recast.h:363
+
int spanCount
The number of spans in the heightfield.
Definition: Recast.h:358
+
float cs
The size of each cell. (On the xz-plane.)
Definition: Recast.h:366
+
int width
The width of the heightfield. (Along the x-axis in cell units.)
Definition: Recast.h:356
+
rcCompactCell * cells
Array of cells. [Size: width*height].
Definition: Recast.h:368
+
unsigned char * areas
Array containing area id data. [Size: spanCount].
Definition: Recast.h:371
+
int walkableClimb
The walkable climb used during the build of the field. (See: rcConfig::walkableClimb)
Definition: Recast.h:360
+
float bmin[3]
The minimum bounds in world space. [(x, y, z)].
Definition: Recast.h:364
+
~rcCompactHeightfield()
Definition: Recast.cpp:152
+
unsigned short * dist
Array containing border distance data. [Size: spanCount].
Definition: Recast.h:370
+
Represents a span of unobstructed space within a compact heightfield.
Definition: Recast.h:342
+
unsigned short y
The lower extent of the span. (Measured from the heightfield's base.)
Definition: Recast.h:343
+
unsigned int h
The height of the span. (Measured from y.)
Definition: Recast.h:346
+
unsigned int con
Packed neighbor connection data.
Definition: Recast.h:345
+
unsigned short reg
The id of the region the span belongs to. (Or zero if not in a region.)
Definition: Recast.h:344
+
Specifies a configuration to use when performing Recast builds.
Definition: Recast.h:217
+
int maxVertsPerPoly
The maximum number of vertices allowed for polygons generated during the contour to polygon conversio...
Definition: Recast.h:272
+
int maxEdgeLen
The maximum allowed length for contour edges along the border of the mesh. [Limit: >=0] [Units: vx].
Definition: Recast.h:257
+
int walkableHeight
Minimum floor to 'ceiling' height that will still allow the floor area to be considered walkable.
Definition: Recast.h:247
+
int height
The height of the field along the z-axis. [Limit: >= 0] [Units: vx].
Definition: Recast.h:222
+
float maxSimplificationError
The maximum distance a simplified contour's border edges should deviate the original raw contour.
Definition: Recast.h:261
+
int borderSize
The size of the non-navigable border around the heightfield. [Limit: >=0] [Units: vx].
Definition: Recast.h:228
+
int walkableRadius
The distance to erode/shrink the walkable area of the heightfield away from obstructions.
Definition: Recast.h:254
+
float walkableSlopeAngle
The maximum slope that is considered walkable. [Limits: 0 <= value < 90] [Units: Degrees].
Definition: Recast.h:243
+
int walkableClimb
Maximum ledge height that is considered to still be traversable. [Limit: >=0] [Units: vx].
Definition: Recast.h:250
+
int width
The width of the field along the x-axis. [Limit: >= 0] [Units: vx].
Definition: Recast.h:219
+
float bmax[3]
The maximum bounds of the field's AABB. [(x, y, z)] [Units: wu].
Definition: Recast.h:240
+
float detailSampleDist
Sets the sampling distance to use when generating the detail mesh.
Definition: Recast.h:276
+
int tileSize
The width/height size of tile's on the xz-plane. [Limit: >= 0] [Units: vx].
Definition: Recast.h:225
+
int mergeRegionArea
Any regions with a span count smaller than this value will, if possible, be merged with larger region...
Definition: Recast.h:268
+
float ch
The y-axis cell size to use for fields. [Limit: > 0] [Units: wu].
Definition: Recast.h:234
+
float detailSampleMaxError
The maximum distance the detail mesh surface should deviate from heightfield data.
Definition: Recast.h:280
+
float cs
The xz-plane cell size to use for fields. [Limit: > 0] [Units: wu].
Definition: Recast.h:231
+
int minRegionArea
The minimum number of cells allowed to form isolated island areas. [Limit: >=0] [Units: vx].
Definition: Recast.h:264
+
float bmin[3]
The minimum bounds of the field's AABB. [(x, y, z)] [Units: wu].
Definition: Recast.h:237
+
Represents a group of related contours.
Definition: Recast.h:431
+
rcContourSet()
Definition: Recast.cpp:198
+
int height
The height of the set. (Along the z-axis in cell units.)
Definition: Recast.h:442
+
float cs
The size of each cell. (On the xz-plane.)
Definition: Recast.h:439
+
float bmin[3]
The minimum bounds in world space. [(x, y, z)].
Definition: Recast.h:437
+
int nconts
The number of contours in the set.
Definition: Recast.h:436
+
~rcContourSet()
Definition: Recast.cpp:212
+
rcContour * conts
An array of the contours in the set. [Size: nconts].
Definition: Recast.h:435
+
float ch
The height of each cell. (The minimum increment along the y-axis.)
Definition: Recast.h:440
+
int borderSize
The AABB border size used to generate the source data from which the contours were derived.
Definition: Recast.h:443
+
float bmax[3]
The maximum bounds in world space. [(x, y, z)].
Definition: Recast.h:438
+
int width
The width of the set. (Along the x-axis in cell units.)
Definition: Recast.h:441
+
float maxError
The max edge error that this contour set was simplified with.
Definition: Recast.h:444
+
Represents a simple, non-overlapping contour in field space.
Definition: Recast.h:419
+
int nrverts
The number of vertices in the raw contour.
Definition: Recast.h:423
+
unsigned char area
The area id of the contour.
Definition: Recast.h:425
+
int * rverts
Raw contour vertex and connection data. [Size: 4 * nrverts].
Definition: Recast.h:422
+
int * verts
Simplified contour vertex and connection data. [Size: 4 * nverts].
Definition: Recast.h:420
+
unsigned short reg
The region id of the contour.
Definition: Recast.h:424
+
int nverts
The number of vertices in the simplified contour.
Definition: Recast.h:421
+
Represents a set of heightfield layers.
Definition: Recast.h:404
+
rcHeightfieldLayerSet()
Definition: Recast.cpp:170
+
rcHeightfieldLayer * layers
The layers in the set. [Size: nlayers].
Definition: Recast.h:408
+
~rcHeightfieldLayerSet()
Definition: Recast.cpp:176
+
int nlayers
The number of layers in the set.
Definition: Recast.h:409
+
Represents a heightfield layer within a layer set.
Definition: Recast.h:382
+
float bmax[3]
The maximum bounds in world space. [(x, y, z)].
Definition: Recast.h:384
+
unsigned char * cons
Packed neighbor connection information. [Size: Same as heights].
Definition: Recast.h:397
+
float ch
The height of each cell. (The minimum increment along the y-axis.)
Definition: Recast.h:386
+
int height
The height of the heightfield. (Along the z-axis in cell units.)
Definition: Recast.h:388
+
int width
The width of the heightfield. (Along the x-axis in cell units.)
Definition: Recast.h:387
+
int hmin
The minimum height bounds of usable data. (Along the y-axis.)
Definition: Recast.h:393
+
unsigned char * areas
Area ids. [Size: Same as heights].
Definition: Recast.h:396
+
int hmax
The maximum height bounds of usable data. (Along the y-axis.)
Definition: Recast.h:394
+
float bmin[3]
The minimum bounds in world space. [(x, y, z)].
Definition: Recast.h:383
+
int maxx
The maximum x-bounds of usable data.
Definition: Recast.h:390
+
unsigned char * heights
The heightfield. [Size: width * height].
Definition: Recast.h:395
+
int maxy
The maximum y-bounds of usable data. (Along the z-axis.)
Definition: Recast.h:392
+
int minx
The minimum x-bounds of usable data.
Definition: Recast.h:389
+
float cs
The size of each cell. (On the xz-plane.)
Definition: Recast.h:385
+
int miny
The minimum y-bounds of usable data. (Along the z-axis.)
Definition: Recast.h:391
+
A dynamic heightfield representing obstructed space.
Definition: Recast.h:313
+
float bmin[3]
The minimum bounds in world space. [(x, y, z)].
Definition: Recast.h:319
+
rcSpan * freelist
The next free span.
Definition: Recast.h:325
+
rcSpan ** spans
Heightfield of spans (width*height).
Definition: Recast.h:323
+
float ch
The height of each cell. (The minimum increment along the y-axis.)
Definition: Recast.h:322
+
float cs
The size of each cell. (On the xz-plane.)
Definition: Recast.h:321
+
float bmax[3]
The maximum bounds in world space. [(x, y, z)].
Definition: Recast.h:320
+
int height
The height of the heightfield. (Along the z-axis in cell units.)
Definition: Recast.h:318
+
rcSpanPool * pools
Linked list of span pools.
Definition: Recast.h:324
+
int width
The width of the heightfield. (Along the x-axis in cell units.)
Definition: Recast.h:317
+
~rcHeightfield()
Definition: Recast.cpp:109
+
rcHeightfield()
Definition: Recast.cpp:96
+
Contains triangle meshes that represent detailed height data associated with the polygons in its asso...
Definition: Recast.h:485
+
unsigned char * tris
The mesh triangles. [Size: 4*ntris].
Definition: Recast.h:490
+
float * verts
The mesh vertices. [Size: 3*nverts].
Definition: Recast.h:489
+
unsigned int * meshes
The sub-mesh data. [Size: 4*nmeshes].
Definition: Recast.h:488
+
int nverts
The number of vertices in verts.
Definition: Recast.h:492
+
int ntris
The number of triangles in tris.
Definition: Recast.h:493
+
rcPolyMeshDetail()
Definition: Recast.cpp:277
+
int nmeshes
The number of sub-meshes defined by meshes.
Definition: Recast.h:491
+
Represents a polygon mesh suitable for use in building a navigation mesh.
Definition: Recast.h:455
+
rcPolyMesh()
Definition: Recast.cpp:232
+
~rcPolyMesh()
Definition: Recast.cpp:251
+
float cs
The size of each cell. (On the xz-plane.)
Definition: Recast.h:470
+
float bmin[3]
The minimum bounds in world space. [(x, y, z)].
Definition: Recast.h:468
+
unsigned short * polys
Polygon and neighbor data. [Length: maxpolys * 2 * nvp].
Definition: Recast.h:460
+
unsigned short * regs
The region id assigned to each polygon. [Length: maxpolys].
Definition: Recast.h:461
+
int borderSize
The AABB border size used to generate the source data from which the mesh was derived.
Definition: Recast.h:472
+
unsigned char * areas
The area id assigned to each polygon. [Length: maxpolys].
Definition: Recast.h:463
+
float ch
The height of each cell. (The minimum increment along the y-axis.)
Definition: Recast.h:471
+
float bmax[3]
The maximum bounds in world space. [(x, y, z)].
Definition: Recast.h:469
+
int nvp
The maximum number of vertices per polygon.
Definition: Recast.h:467
+
float maxEdgeError
The max error of the polygon edges in the mesh.
Definition: Recast.h:473
+
unsigned short * flags
The user defined flags for each polygon. [Length: maxpolys].
Definition: Recast.h:462
+
int npolys
The number of polygons.
Definition: Recast.h:465
+
unsigned short * verts
The mesh vertices. [Form: (x, y, z) * nverts].
Definition: Recast.h:459
+
int nverts
The number of vertices.
Definition: Recast.h:464
+
int maxpolys
The number of allocated polygons.
Definition: Recast.h:466
+
A memory pool used for quick allocation of spans within a heightfield.
Definition: Recast.h:305
+
rcSpan items[RC_SPANS_PER_POOL]
Array of spans in the pool.
Definition: Recast.h:307
+
rcSpanPool * next
The next span pool.
Definition: Recast.h:306
+
Represents a span in a heightfield.
Definition: Recast.h:295
+
rcSpan * next
The next span higher up in column.
Definition: Recast.h:299
+
unsigned int smax
The upper limit of the span. [Limit: <= RC_SPAN_MAX_HEIGHT].
Definition: Recast.h:297
+
unsigned int area
The area id assigned to the span.
Definition: Recast.h:298
+
unsigned int smin
The lower limit of the span. [Limit: < smax].
Definition: Recast.h:296
+
+
+ + + + + diff --git a/Recast__api_8txt.html b/Recast__api_8txt.html new file mode 100644 index 00000000..814153a7 --- /dev/null +++ b/Recast__api_8txt.html @@ -0,0 +1,104 @@ + + + + + + + +Recast Navigation: Recast_api.txt File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Recast_api.txt File Reference
+
+
+
+
+ + + + + diff --git a/Roadmap_8md.html b/Roadmap_8md.html new file mode 100644 index 00000000..5c642be5 --- /dev/null +++ b/Roadmap_8md.html @@ -0,0 +1,104 @@ + + + + + + + +Recast Navigation: Roadmap.md File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Roadmap.md File Reference
+
+
+
+
+ + + + + diff --git a/SampleInterfaces_8cpp.html b/SampleInterfaces_8cpp.html new file mode 100644 index 00000000..92e1589a --- /dev/null +++ b/SampleInterfaces_8cpp.html @@ -0,0 +1,151 @@ + + + + + + + +Recast Navigation: SampleInterfaces.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
SampleInterfaces.cpp File Reference
+
+
+
#include <math.h>
+#include <stdio.h>
+#include <stdarg.h>
+#include "SampleInterfaces.h"
+#include "Recast.h"
+#include "RecastDebugDraw.h"
+#include "DetourDebugDraw.h"
+#include "PerfTimer.h"
+#include "SDL.h"
+#include "SDL_opengl.h"
+
+ + + +

+Classes

class  GLCheckerTexture
 
+ + + +

+Variables

static GLCheckerTexture g_tex
 
+

Variable Documentation

+ +

◆ g_tex

+ +
+
+ + + + + +
+ + + + +
GLCheckerTexture g_tex
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/SampleInterfaces_8cpp.js b/SampleInterfaces_8cpp.js new file mode 100644 index 00000000..9d185d2e --- /dev/null +++ b/SampleInterfaces_8cpp.js @@ -0,0 +1,5 @@ +var SampleInterfaces_8cpp = +[ + [ "GLCheckerTexture", "classGLCheckerTexture.html", "classGLCheckerTexture" ], + [ "g_tex", "SampleInterfaces_8cpp.html#ace0d90b13fb8095ce8da79758493054e", null ] +]; \ No newline at end of file diff --git a/SampleInterfaces_8h.html b/SampleInterfaces_8h.html new file mode 100644 index 00000000..fe87f064 --- /dev/null +++ b/SampleInterfaces_8h.html @@ -0,0 +1,125 @@ + + + + + + + +Recast Navigation: SampleInterfaces.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
SampleInterfaces.h File Reference
+
+
+
#include "DebugDraw.h"
+#include "Recast.h"
+#include "RecastDump.h"
+#include "PerfTimer.h"
+
+

Go to the source code of this file.

+ + + + + + + + + + + +

+Classes

class  BuildContext
 Recast build context. More...
 
class  DebugDrawGL
 OpenGL debug draw implementation. More...
 
class  FileIO
 stdio file implementation. More...
 
+
+
+ + + + + diff --git a/SampleInterfaces_8h_source.html b/SampleInterfaces_8h_source.html new file mode 100644 index 00000000..f9484a4d --- /dev/null +++ b/SampleInterfaces_8h_source.html @@ -0,0 +1,232 @@ + + + + + + + +Recast Navigation: SampleInterfaces.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SampleInterfaces.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 SAMPLEINTERFACES_H
+
20 #define SAMPLEINTERFACES_H
+
21 
+
22 #include "DebugDraw.h"
+
23 #include "Recast.h"
+
24 #include "RecastDump.h"
+
25 #include "PerfTimer.h"
+
26 
+
27 // These are example implementations of various interfaces used in Recast and Detour.
+
28 
+
30 class BuildContext : public rcContext
+
31 {
+
32  TimeVal m_startTime[RC_MAX_TIMERS];
+
33  TimeVal m_accTime[RC_MAX_TIMERS];
+
34 
+
35  static const int MAX_MESSAGES = 1000;
+
36  const char* m_messages[MAX_MESSAGES];
+
37  int m_messageCount;
+
38  static const int TEXT_POOL_SIZE = 8000;
+
39  char m_textPool[TEXT_POOL_SIZE];
+
40  int m_textPoolSize;
+
41 
+
42 public:
+
43  BuildContext();
+
44 
+
46  void dumpLog(const char* format, ...);
+
48  int getLogCount() const;
+
50  const char* getLogText(const int i) const;
+
51 
+
52 protected:
+
55  virtual void doResetLog();
+
56  virtual void doLog(const rcLogCategory category, const char* msg, const int len);
+
57  virtual void doResetTimers();
+
58  virtual void doStartTimer(const rcTimerLabel label);
+
59  virtual void doStopTimer(const rcTimerLabel label);
+
60  virtual int doGetAccumulatedTime(const rcTimerLabel label) const;
+
62 };
+
63 
+
65 class DebugDrawGL : public duDebugDraw
+
66 {
+
67 public:
+
68  virtual void depthMask(bool state);
+
69  virtual void texture(bool state);
+
70  virtual void begin(duDebugDrawPrimitives prim, float size = 1.0f);
+
71  virtual void vertex(const float* pos, unsigned int color);
+
72  virtual void vertex(const float x, const float y, const float z, unsigned int color);
+
73  virtual void vertex(const float* pos, unsigned int color, const float* uv);
+
74  virtual void vertex(const float x, const float y, const float z, unsigned int color, const float u, const float v);
+
75  virtual void end();
+
76 };
+
77 
+
79 class FileIO : public duFileIO
+
80 {
+
81  FILE* m_fp;
+
82  int m_mode;
+
83 public:
+
84  FileIO();
+
85  virtual ~FileIO();
+
86  bool openForWrite(const char* path);
+
87  bool openForRead(const char* path);
+
88  virtual bool isWriting() const;
+
89  virtual bool isReading() const;
+
90  virtual bool write(const void* ptr, const size_t size);
+
91  virtual bool read(void* ptr, const size_t size);
+
92 private:
+
93  // Explicitly disabled copy constructor and copy assignment operator.
+
94  FileIO(const FileIO&);
+
95  FileIO& operator=(const FileIO&);
+
96 };
+
97 
+
98 #endif // SAMPLEINTERFACES_H
+
99 
+ +
duDebugDrawPrimitives
Definition: DebugDraw.h:26
+ +
__int64 TimeVal
Definition: PerfTimer.h:26
+ + +
rcTimerLabel
Recast performance timer categories.
Definition: Recast.h:40
+
@ RC_MAX_TIMERS
The maximum number of timers. (Used for iterating timers.)
Definition: Recast.h:98
+
rcLogCategory
Recast log categories.
Definition: Recast.h:31
+
Recast build context.
Definition: SampleInterfaces.h:31
+
BuildContext()
Definition: SampleInterfaces.cpp:18
+
virtual void doStopTimer(const rcTimerLabel label)
Stops the specified performance timer.
Definition: SampleInterfaces.cpp:67
+
virtual void doResetLog()
Virtual functions for custom implementations.
Definition: SampleInterfaces.cpp:28
+
virtual void doResetTimers()
Clears all timers. (Resets all to unused.)
Definition: SampleInterfaces.cpp:56
+
int getLogCount() const
Returns number of log messages.
Definition: SampleInterfaces.cpp:127
+
virtual void doLog(const rcLogCategory category, const char *msg, const int len)
Logs a message.
Definition: SampleInterfaces.cpp:34
+
virtual void doStartTimer(const rcTimerLabel label)
Starts the specified performance timer.
Definition: SampleInterfaces.cpp:62
+
void dumpLog(const char *format,...)
Dumps the log to stdout.
Definition: SampleInterfaces.cpp:82
+
const char * getLogText(const int i) const
Returns log message text.
Definition: SampleInterfaces.cpp:132
+
virtual int doGetAccumulatedTime(const rcTimerLabel label) const
Returns the total accumulated time of the specified performance timer.
Definition: SampleInterfaces.cpp:77
+
OpenGL debug draw implementation.
Definition: SampleInterfaces.h:66
+
virtual void end()
End drawing primitives.
Definition: SampleInterfaces.cpp:254
+
virtual void vertex(const float *pos, unsigned int color)
Submit a vertex.
Definition: SampleInterfaces.cpp:228
+
virtual void texture(bool state)
Definition: SampleInterfaces.cpp:194
+
virtual void begin(duDebugDrawPrimitives prim, float size=1.0f)
Begin drawing primitives.
Definition: SampleInterfaces.cpp:207
+
virtual void depthMask(bool state)
Definition: SampleInterfaces.cpp:189
+
stdio file implementation.
Definition: SampleInterfaces.h:80
+
virtual bool isWriting() const
Definition: SampleInterfaces.cpp:292
+
virtual bool read(void *ptr, const size_t size)
Definition: SampleInterfaces.cpp:309
+
bool openForRead(const char *path)
Definition: SampleInterfaces.cpp:283
+
FileIO()
Definition: SampleInterfaces.cpp:263
+
virtual bool write(const void *ptr, const size_t size)
Definition: SampleInterfaces.cpp:302
+
virtual bool isReading() const
Definition: SampleInterfaces.cpp:297
+
virtual ~FileIO()
Definition: SampleInterfaces.cpp:269
+
bool openForWrite(const char *path)
Definition: SampleInterfaces.cpp:274
+
Provides an interface for optional logging and performance tracking of the Recast build process.
Definition: Recast.h:115
+
Abstract debug draw interface.
Definition: DebugDraw.h:35
+
Definition: RecastDump.h:23
+
+
+ + + + + diff --git a/Sample_8cpp.html b/Sample_8cpp.html new file mode 100644 index 00000000..1592a8d6 --- /dev/null +++ b/Sample_8cpp.html @@ -0,0 +1,180 @@ + + + + + + + +Recast Navigation: Sample.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Sample.cpp File Reference
+
+
+
#include <math.h>
+#include <stdio.h>
+#include "Sample.h"
+#include "InputGeom.h"
+#include "Recast.h"
+#include "RecastDebugDraw.h"
+#include "DetourDebugDraw.h"
+#include "DetourNavMesh.h"
+#include "DetourNavMeshQuery.h"
+#include "DetourCrowd.h"
+#include "imgui.h"
+#include "SDL.h"
+#include "SDL_opengl.h"
+
+ + + + + +

+Classes

struct  NavMeshSetHeader
 
struct  NavMeshTileHeader
 
+ + + + + +

+Variables

static const int NAVMESHSET_MAGIC = 'M'<<24 | 'S'<<16 | 'E'<<8 | 'T'
 
static const int NAVMESHSET_VERSION = 1
 
+

Variable Documentation

+ +

◆ NAVMESHSET_MAGIC

+ +
+
+ + + + + +
+ + + + +
const int NAVMESHSET_MAGIC = 'M'<<24 | 'S'<<16 | 'E'<<8 | 'T'
+
+static
+
+ +
+
+ +

◆ NAVMESHSET_VERSION

+ +
+
+ + + + + +
+ + + + +
const int NAVMESHSET_VERSION = 1
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/Sample_8cpp.js b/Sample_8cpp.js new file mode 100644 index 00000000..186d8952 --- /dev/null +++ b/Sample_8cpp.js @@ -0,0 +1,7 @@ +var Sample_8cpp = +[ + [ "NavMeshSetHeader", "structNavMeshSetHeader.html", "structNavMeshSetHeader" ], + [ "NavMeshTileHeader", "structNavMeshTileHeader.html", "structNavMeshTileHeader" ], + [ "NAVMESHSET_MAGIC", "Sample_8cpp.html#a4df6b7baccb2e22c35e50eec65a51a76", null ], + [ "NAVMESHSET_VERSION", "Sample_8cpp.html#a4f9236737e82de35f8d48f6bc55c704a", null ] +]; \ No newline at end of file diff --git a/Sample_8h.html b/Sample_8h.html new file mode 100644 index 00000000..6f853fe1 --- /dev/null +++ b/Sample_8h.html @@ -0,0 +1,266 @@ + + + + + + + +Recast Navigation: Sample.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Sample.h File Reference
+
+
+
#include "Recast.h"
+#include "SampleInterfaces.h"
+
+

Go to the source code of this file.

+ + + + + + + + + + +

+Classes

class  SampleDebugDraw
 
struct  SampleTool
 
struct  SampleToolState
 
class  Sample
 
+ + + + + + + + + + + +

+Enumerations

enum  SampleToolType {
+  TOOL_NONE = 0 +, TOOL_TILE_EDIT +, TOOL_TILE_HIGHLIGHT +, TOOL_TEMP_OBSTACLE +,
+  TOOL_NAVMESH_TESTER +, TOOL_NAVMESH_PRUNE +, TOOL_OFFMESH_CONNECTION +, TOOL_CONVEX_VOLUME +,
+  TOOL_CROWD +, MAX_TOOLS +
+ }
 Tool types. More...
 
enum  SamplePolyAreas {
+  SAMPLE_POLYAREA_GROUND +, SAMPLE_POLYAREA_WATER +, SAMPLE_POLYAREA_ROAD +, SAMPLE_POLYAREA_DOOR +,
+  SAMPLE_POLYAREA_GRASS +, SAMPLE_POLYAREA_JUMP +
+ }
 These are just sample areas to use consistent values across the samples. More...
 
enum  SamplePolyFlags {
+  SAMPLE_POLYFLAGS_WALK = 0x01 +, SAMPLE_POLYFLAGS_SWIM = 0x02 +, SAMPLE_POLYFLAGS_DOOR = 0x04 +, SAMPLE_POLYFLAGS_JUMP = 0x08 +,
+  SAMPLE_POLYFLAGS_DISABLED = 0x10 +, SAMPLE_POLYFLAGS_ALL = 0xffff +
+ }
 
enum  SamplePartitionType { SAMPLE_PARTITION_WATERSHED +, SAMPLE_PARTITION_MONOTONE +, SAMPLE_PARTITION_LAYERS + }
 
+

Enumeration Type Documentation

+ +

◆ SamplePartitionType

+ +
+
+ + + + +
enum SamplePartitionType
+
+ + + + +
Enumerator
SAMPLE_PARTITION_WATERSHED 
SAMPLE_PARTITION_MONOTONE 
SAMPLE_PARTITION_LAYERS 
+ +
+
+ +

◆ SamplePolyAreas

+ +
+
+ + + + +
enum SamplePolyAreas
+
+ +

These are just sample areas to use consistent values across the samples.

+

The use should specify these base on his needs.

+ + + + + + + +
Enumerator
SAMPLE_POLYAREA_GROUND 
SAMPLE_POLYAREA_WATER 
SAMPLE_POLYAREA_ROAD 
SAMPLE_POLYAREA_DOOR 
SAMPLE_POLYAREA_GRASS 
SAMPLE_POLYAREA_JUMP 
+ +
+
+ +

◆ SamplePolyFlags

+ +
+
+ + + + +
enum SamplePolyFlags
+
+ + + + + + + +
Enumerator
SAMPLE_POLYFLAGS_WALK 
SAMPLE_POLYFLAGS_SWIM 
SAMPLE_POLYFLAGS_DOOR 
SAMPLE_POLYFLAGS_JUMP 
SAMPLE_POLYFLAGS_DISABLED 
SAMPLE_POLYFLAGS_ALL 
+ +
+
+ +

◆ SampleToolType

+ +
+
+ + + + +
enum SampleToolType
+
+ +

Tool types.

+ + + + + + + + + + + +
Enumerator
TOOL_NONE 
TOOL_TILE_EDIT 
TOOL_TILE_HIGHLIGHT 
TOOL_TEMP_OBSTACLE 
TOOL_NAVMESH_TESTER 
TOOL_NAVMESH_PRUNE 
TOOL_OFFMESH_CONNECTION 
TOOL_CONVEX_VOLUME 
TOOL_CROWD 
MAX_TOOLS 
+ +
+
+
+
+ + + + + diff --git a/Sample_8h.js b/Sample_8h.js new file mode 100644 index 00000000..d83f5148 --- /dev/null +++ b/Sample_8h.js @@ -0,0 +1,40 @@ +var Sample_8h = +[ + [ "SampleDebugDraw", "classSampleDebugDraw.html", "classSampleDebugDraw" ], + [ "SampleTool", "structSampleTool.html", "structSampleTool" ], + [ "SampleToolState", "structSampleToolState.html", "structSampleToolState" ], + [ "Sample", "classSample.html", "classSample" ], + [ "SamplePartitionType", "Sample_8h.html#a73f95e7eb01a7e948ecfa34b9cebcdc1", [ + [ "SAMPLE_PARTITION_WATERSHED", "Sample_8h.html#a73f95e7eb01a7e948ecfa34b9cebcdc1a4fe0d0ba0791fe2280ff3821177766a9", null ], + [ "SAMPLE_PARTITION_MONOTONE", "Sample_8h.html#a73f95e7eb01a7e948ecfa34b9cebcdc1aa44dc0eb2004b683d4297b7d46cfe979", null ], + [ "SAMPLE_PARTITION_LAYERS", "Sample_8h.html#a73f95e7eb01a7e948ecfa34b9cebcdc1a1fae7df00c1a8f165833e48c67692627", null ] + ] ], + [ "SamplePolyAreas", "Sample_8h.html#a588cb37d59e832fa4f2606474769b6da", [ + [ "SAMPLE_POLYAREA_GROUND", "Sample_8h.html#a588cb37d59e832fa4f2606474769b6daade496ba823714eb3b6d31fa9c1297388", null ], + [ "SAMPLE_POLYAREA_WATER", "Sample_8h.html#a588cb37d59e832fa4f2606474769b6daa08ea8d5a36716a7e74a6c73a25bcadbe", null ], + [ "SAMPLE_POLYAREA_ROAD", "Sample_8h.html#a588cb37d59e832fa4f2606474769b6daacb78d7e68ad58b5bc62c2313cf3b0e38", null ], + [ "SAMPLE_POLYAREA_DOOR", "Sample_8h.html#a588cb37d59e832fa4f2606474769b6daa8dde3ccaff5b35fee2ce73d5744cae9e", null ], + [ "SAMPLE_POLYAREA_GRASS", "Sample_8h.html#a588cb37d59e832fa4f2606474769b6daaa740ac4d510c2a3abe962fbfb793f1dc", null ], + [ "SAMPLE_POLYAREA_JUMP", "Sample_8h.html#a588cb37d59e832fa4f2606474769b6daac03a57a3286b6b9f4a5dcc403e269b2e", null ] + ] ], + [ "SamplePolyFlags", "Sample_8h.html#a7f96856c3ec53bcd8dab2396ae743f8d", [ + [ "SAMPLE_POLYFLAGS_WALK", "Sample_8h.html#a7f96856c3ec53bcd8dab2396ae743f8da56be2036bea60e03345da8f4897a4682", null ], + [ "SAMPLE_POLYFLAGS_SWIM", "Sample_8h.html#a7f96856c3ec53bcd8dab2396ae743f8da01b0f8a3c0e3f5e7c4c9fa79c13981ea", null ], + [ "SAMPLE_POLYFLAGS_DOOR", "Sample_8h.html#a7f96856c3ec53bcd8dab2396ae743f8da7d04a970d5e5fa624733a4be27470f3c", null ], + [ "SAMPLE_POLYFLAGS_JUMP", "Sample_8h.html#a7f96856c3ec53bcd8dab2396ae743f8da15efc6d182fbdd962d5b28f77d3c9e8f", null ], + [ "SAMPLE_POLYFLAGS_DISABLED", "Sample_8h.html#a7f96856c3ec53bcd8dab2396ae743f8da2646db68ba40d4004ffb88a37717c4d1", null ], + [ "SAMPLE_POLYFLAGS_ALL", "Sample_8h.html#a7f96856c3ec53bcd8dab2396ae743f8daa00f1707b9fb5af90130ee64d133e68f", null ] + ] ], + [ "SampleToolType", "Sample_8h.html#ae448bf9be534170ca5b5f8c97256125b", [ + [ "TOOL_NONE", "Sample_8h.html#ae448bf9be534170ca5b5f8c97256125baea1b4490f1a21f7bd637324c9a46474e", null ], + [ "TOOL_TILE_EDIT", "Sample_8h.html#ae448bf9be534170ca5b5f8c97256125ba3cf3ab9c4ec7c40ff509f7eaab437d1b", null ], + [ "TOOL_TILE_HIGHLIGHT", "Sample_8h.html#ae448bf9be534170ca5b5f8c97256125ba9657bb5c075ec7d34b297a657ce25d74", null ], + [ "TOOL_TEMP_OBSTACLE", "Sample_8h.html#ae448bf9be534170ca5b5f8c97256125ba5b84b6b324182b6d84255bf90ba84468", null ], + [ "TOOL_NAVMESH_TESTER", "Sample_8h.html#ae448bf9be534170ca5b5f8c97256125ba0b913f987aa3e318b76065cfa4985815", null ], + [ "TOOL_NAVMESH_PRUNE", "Sample_8h.html#ae448bf9be534170ca5b5f8c97256125ba23046ac29087338ff7e8b24cc1778fef", null ], + [ "TOOL_OFFMESH_CONNECTION", "Sample_8h.html#ae448bf9be534170ca5b5f8c97256125ba0c30e9d3ebdeca5bddecc218dc342b98", null ], + [ "TOOL_CONVEX_VOLUME", "Sample_8h.html#ae448bf9be534170ca5b5f8c97256125ba0a31d2fb717946c688d04888a81c2063", null ], + [ "TOOL_CROWD", "Sample_8h.html#ae448bf9be534170ca5b5f8c97256125ba2c02ab36128a429e63f30ac3beea2a12", null ], + [ "MAX_TOOLS", "Sample_8h.html#ae448bf9be534170ca5b5f8c97256125baf21d3b3c7a6296454122cffd465fcb25", null ] + ] ] +]; \ No newline at end of file diff --git a/Sample_8h_source.html b/Sample_8h_source.html new file mode 100644 index 00000000..6d43f048 --- /dev/null +++ b/Sample_8h_source.html @@ -0,0 +1,414 @@ + + + + + + + +Recast Navigation: Sample.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Sample.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 RECASTSAMPLE_H
+
20 #define RECASTSAMPLE_H
+
21 
+
22 #include "Recast.h"
+
23 #include "SampleInterfaces.h"
+
24 
+
25 
+ +
28 {
+
29  TOOL_NONE = 0,
+ + + + + + + + +
38  MAX_TOOLS
+
39 };
+
40 
+ +
44 {
+ + + + + + +
51 };
+ +
53 {
+
54  SAMPLE_POLYFLAGS_WALK = 0x01, // Ability to walk (ground, grass, road)
+
55  SAMPLE_POLYFLAGS_SWIM = 0x02, // Ability to swim (water).
+
56  SAMPLE_POLYFLAGS_DOOR = 0x04, // Ability to move through doors.
+
57  SAMPLE_POLYFLAGS_JUMP = 0x08, // Ability to jump.
+
58  SAMPLE_POLYFLAGS_DISABLED = 0x10, // Disabled polygon
+
59  SAMPLE_POLYFLAGS_ALL = 0xffff // All abilities.
+
60 };
+
61 
+ +
63 {
+
64 public:
+
65  virtual unsigned int areaToCol(unsigned int area);
+
66 };
+
67 
+ +
69 {
+ + + +
73 };
+
74 
+
75 struct SampleTool
+
76 {
+
77  virtual ~SampleTool();
+
78  virtual int type() = 0;
+
79  virtual void init(class Sample* sample) = 0;
+
80  virtual void reset() = 0;
+
81  virtual void handleMenu() = 0;
+
82  virtual void handleClick(const float* s, const float* p, bool shift) = 0;
+
83  virtual void handleRender() = 0;
+
84  virtual void handleRenderOverlay(double* proj, double* model, int* view) = 0;
+
85  virtual void handleToggle() = 0;
+
86  virtual void handleStep() = 0;
+
87  virtual void handleUpdate(const float dt) = 0;
+
88 };
+
89 
+ +
91  virtual ~SampleToolState();
+
92  virtual void init(class Sample* sample) = 0;
+
93  virtual void reset() = 0;
+
94  virtual void handleRender() = 0;
+
95  virtual void handleRenderOverlay(double* proj, double* model, int* view) = 0;
+
96  virtual void handleUpdate(const float dt) = 0;
+
97 };
+
98 
+
99 class Sample
+
100 {
+
101 protected:
+ + + +
105  class dtCrowd* m_crowd;
+
106 
+
107  unsigned char m_navMeshDrawFlags;
+
108 
+
109  float m_cellSize;
+ + + + + + + + + + + + + +
123 
+ + + +
127 
+ + +
130 
+ +
132 
+ +
134 
+
135  dtNavMesh* loadAll(const char* path);
+
136  void saveAll(const char* path, const dtNavMesh* mesh);
+
137 
+
138 public:
+
139  Sample();
+
140  virtual ~Sample();
+
141 
+
142  void setContext(BuildContext* ctx) { m_ctx = ctx; }
+
143 
+
144  void setTool(SampleTool* tool);
+
145  SampleToolState* getToolState(int type) { return m_toolStates[type]; }
+
146  void setToolState(int type, SampleToolState* s) { m_toolStates[type] = s; }
+
147 
+ +
149 
+
150  virtual void handleSettings();
+
151  virtual void handleTools();
+
152  virtual void handleDebugMode();
+
153  virtual void handleClick(const float* s, const float* p, bool shift);
+
154  virtual void handleToggle();
+
155  virtual void handleStep();
+
156  virtual void handleRender();
+
157  virtual void handleRenderOverlay(double* proj, double* model, int* view);
+
158  virtual void handleMeshChanged(class InputGeom* geom);
+
159  virtual bool handleBuild();
+
160  virtual void handleUpdate(const float dt);
+
161  virtual void collectSettings(struct BuildSettings& settings);
+
162 
+
163  virtual class InputGeom* getInputGeom() { return m_geom; }
+
164  virtual class dtNavMesh* getNavMesh() { return m_navMesh; }
+
165  virtual class dtNavMeshQuery* getNavMeshQuery() { return m_navQuery; }
+
166  virtual class dtCrowd* getCrowd() { return m_crowd; }
+
167  virtual float getAgentRadius() { return m_agentRadius; }
+
168  virtual float getAgentHeight() { return m_agentHeight; }
+
169  virtual float getAgentClimb() { return m_agentMaxClimb; }
+
170 
+
171  unsigned char getNavMeshDrawFlags() const { return m_navMeshDrawFlags; }
+
172  void setNavMeshDrawFlags(unsigned char flags) { m_navMeshDrawFlags = flags; }
+
173 
+
174  void updateToolStates(const float dt);
+
175  void initToolStates(Sample* sample);
+
176  void resetToolStates();
+
177  void renderToolStates();
+
178  void renderOverlayToolStates(double* proj, double* model, int* view);
+
179 
+
180  void resetCommonSettings();
+
181  void handleCommonSettings();
+
182 
+
183 private:
+
184  // Explicitly disabled copy constructor and copy assignment operator.
+
185  Sample(const Sample&);
+
186  Sample& operator=(const Sample&);
+
187 };
+
188 
+
189 
+
190 #endif // RECASTSAMPLE_H
+ + +
SamplePolyAreas
These are just sample areas to use consistent values across the samples.
Definition: Sample.h:44
+
@ SAMPLE_POLYAREA_WATER
Definition: Sample.h:46
+
@ SAMPLE_POLYAREA_DOOR
Definition: Sample.h:48
+
@ SAMPLE_POLYAREA_GRASS
Definition: Sample.h:49
+
@ SAMPLE_POLYAREA_JUMP
Definition: Sample.h:50
+
@ SAMPLE_POLYAREA_ROAD
Definition: Sample.h:47
+
@ SAMPLE_POLYAREA_GROUND
Definition: Sample.h:45
+
SamplePartitionType
Definition: Sample.h:69
+
@ SAMPLE_PARTITION_LAYERS
Definition: Sample.h:72
+
@ SAMPLE_PARTITION_WATERSHED
Definition: Sample.h:70
+
@ SAMPLE_PARTITION_MONOTONE
Definition: Sample.h:71
+
SamplePolyFlags
Definition: Sample.h:53
+
@ SAMPLE_POLYFLAGS_SWIM
Definition: Sample.h:55
+
@ SAMPLE_POLYFLAGS_JUMP
Definition: Sample.h:57
+
@ SAMPLE_POLYFLAGS_DISABLED
Definition: Sample.h:58
+
@ SAMPLE_POLYFLAGS_WALK
Definition: Sample.h:54
+
@ SAMPLE_POLYFLAGS_DOOR
Definition: Sample.h:56
+
@ SAMPLE_POLYFLAGS_ALL
Definition: Sample.h:59
+
SampleToolType
Tool types.
Definition: Sample.h:28
+
@ TOOL_CONVEX_VOLUME
Definition: Sample.h:36
+
@ TOOL_NAVMESH_TESTER
Definition: Sample.h:33
+
@ TOOL_OFFMESH_CONNECTION
Definition: Sample.h:35
+
@ TOOL_NAVMESH_PRUNE
Definition: Sample.h:34
+
@ TOOL_CROWD
Definition: Sample.h:37
+
@ TOOL_TILE_EDIT
Definition: Sample.h:30
+
@ TOOL_TEMP_OBSTACLE
Definition: Sample.h:32
+
@ TOOL_TILE_HIGHLIGHT
Definition: Sample.h:31
+
@ TOOL_NONE
Definition: Sample.h:29
+
@ MAX_TOOLS
Definition: Sample.h:38
+
Recast build context.
Definition: SampleInterfaces.h:31
+
OpenGL debug draw implementation.
Definition: SampleInterfaces.h:66
+
Definition: InputGeom.h:73
+
Definition: Sample.h:63
+
virtual unsigned int areaToCol(unsigned int area)
Compute a color for given area.
Definition: Sample.cpp:47
+
Definition: Sample.h:100
+
virtual void handleDebugMode()
Definition: Sample.cpp:114
+
virtual void handleClick(const float *s, const float *p, bool shift)
Definition: Sample.cpp:258
+
void setTool(SampleTool *tool)
Definition: Sample.cpp:98
+
virtual void handleSettings()
Definition: Sample.cpp:106
+
float m_cellSize
Definition: Sample.h:109
+
void setNavMeshDrawFlags(unsigned char flags)
Definition: Sample.h:172
+
unsigned char m_navMeshDrawFlags
Definition: Sample.h:107
+
virtual class dtNavMeshQuery * getNavMeshQuery()
Definition: Sample.h:165
+
float m_regionMergeSize
Definition: Sample.h:116
+
unsigned char getNavMeshDrawFlags() const
Definition: Sample.h:171
+
class dtNavMeshQuery * m_navQuery
Definition: Sample.h:104
+
BuildContext * m_ctx
Definition: Sample.h:131
+
SampleTool * m_tool
Definition: Sample.h:128
+
void resetCommonSettings()
Definition: Sample.cpp:179
+
void initToolStates(Sample *sample)
Definition: Sample.cpp:298
+
void setToolState(int type, SampleToolState *s)
Definition: Sample.h:146
+
virtual float getAgentRadius()
Definition: Sample.h:167
+
void renderOverlayToolStates(double *proj, double *model, int *view)
Definition: Sample.cpp:325
+
dtNavMesh * loadAll(const char *path)
Definition: Sample.cpp:351
+
virtual void handleMeshChanged(class InputGeom *geom)
Definition: Sample.cpp:136
+
Sample()
Definition: Sample.cpp:68
+
virtual void handleTools()
Definition: Sample.cpp:110
+
class InputGeom * m_geom
Definition: Sample.h:102
+
void saveAll(const char *path, const dtNavMesh *mesh)
Definition: Sample.cpp:421
+
bool m_filterLedgeSpans
Definition: Sample.h:125
+
bool m_filterLowHangingObstacles
Definition: Sample.h:124
+
float m_regionMinSize
Definition: Sample.h:115
+
float m_edgeMaxLen
Definition: Sample.h:117
+
void updateToolStates(const float dt)
Definition: Sample.cpp:289
+
virtual void handleStep()
Definition: Sample.cpp:270
+
SampleToolState * getToolState(int type)
Definition: Sample.h:145
+
virtual float getAgentHeight()
Definition: Sample.h:168
+
SampleDebugDraw & getDebugDraw()
Definition: Sample.h:148
+
SampleToolState * m_toolStates[MAX_TOOLS]
Definition: Sample.h:129
+
class dtNavMesh * m_navMesh
Definition: Sample.h:103
+
void setContext(BuildContext *ctx)
Definition: Sample.h:142
+
float m_agentMaxSlope
Definition: Sample.h:114
+
int m_partitionType
Definition: Sample.h:122
+
float m_detailSampleDist
Definition: Sample.h:120
+
float m_detailSampleMaxError
Definition: Sample.h:121
+
virtual void handleToggle()
Definition: Sample.cpp:264
+
float m_edgeMaxError
Definition: Sample.h:118
+
float m_cellHeight
Definition: Sample.h:110
+
virtual void handleRenderOverlay(double *proj, double *model, int *view)
Definition: Sample.cpp:132
+
virtual void collectSettings(struct BuildSettings &settings)
Definition: Sample.cpp:160
+
virtual class InputGeom * getInputGeom()
Definition: Sample.h:163
+
SampleDebugDraw m_dd
Definition: Sample.h:133
+
virtual class dtNavMesh * getNavMesh()
Definition: Sample.h:164
+
class dtCrowd * m_crowd
Definition: Sample.h:105
+
void resetToolStates()
Definition: Sample.cpp:307
+
void handleCommonSettings()
Definition: Sample.cpp:197
+
virtual void handleRender()
Definition: Sample.cpp:118
+
bool m_filterWalkableLowHeightSpans
Definition: Sample.h:126
+
float m_agentMaxClimb
Definition: Sample.h:113
+
virtual void handleUpdate(const float dt)
Definition: Sample.cpp:281
+
void renderToolStates()
Definition: Sample.cpp:316
+
float m_agentRadius
Definition: Sample.h:112
+
virtual float getAgentClimb()
Definition: Sample.h:169
+
virtual ~Sample()
Definition: Sample.cpp:88
+
virtual bool handleBuild()
Definition: Sample.cpp:276
+
virtual class dtCrowd * getCrowd()
Definition: Sample.h:166
+
float m_vertsPerPoly
Definition: Sample.h:119
+
float m_agentHeight
Definition: Sample.h:111
+
Provides local steering behaviors for a group of agents.
Definition: DetourCrowd.h:204
+
Provides the ability to perform pathfinding related queries against a navigation mesh.
Definition: DetourNavMeshQuery.h:166
+
A navigation mesh based on tiles of convex polygons.
Definition: DetourNavMesh.h:339
+
Definition: InputGeom.h:35
+
Definition: Sample.h:90
+
virtual ~SampleToolState()
Definition: Sample.cpp:42
+
virtual void handleUpdate(const float dt)=0
+
virtual void reset()=0
+
virtual void handleRenderOverlay(double *proj, double *model, int *view)=0
+
virtual void init(class Sample *sample)=0
+
virtual void handleRender()=0
+
Definition: Sample.h:76
+
virtual void handleStep()=0
+
virtual void handleRenderOverlay(double *proj, double *model, int *view)=0
+
virtual void handleMenu()=0
+
virtual int type()=0
+
virtual ~SampleTool()
Definition: Sample.cpp:37
+
virtual void init(class Sample *sample)=0
+
virtual void handleToggle()=0
+
virtual void reset()=0
+
virtual void handleClick(const float *s, const float *p, bool shift)=0
+
virtual void handleUpdate(const float dt)=0
+
virtual void handleRender()=0
+
+
+ + + + + diff --git a/Sample__Debug_8cpp.html b/Sample__Debug_8cpp.html new file mode 100644 index 00000000..35276523 --- /dev/null +++ b/Sample__Debug_8cpp.html @@ -0,0 +1,116 @@ + + + + + + + +Recast Navigation: Sample_Debug.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Sample_Debug.cpp File Reference
+
+
+
#include <math.h>
+#include <stdio.h>
+#include "Sample_Debug.h"
+#include "InputGeom.h"
+#include "Recast.h"
+#include "DetourNavMesh.h"
+#include "RecastDebugDraw.h"
+#include "DetourDebugDraw.h"
+#include "RecastDump.h"
+#include "imgui.h"
+#include "SDL.h"
+#include "SDL_opengl.h"
+
+
+ + + + + diff --git a/Sample__Debug_8h.html b/Sample__Debug_8h.html new file mode 100644 index 00000000..d3199b26 --- /dev/null +++ b/Sample__Debug_8h.html @@ -0,0 +1,118 @@ + + + + + + + +Recast Navigation: Sample_Debug.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Sample_Debug.h File Reference
+
+
+
#include "Sample.h"
+#include "DetourNavMesh.h"
+#include "Recast.h"
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  Sample_Debug
 Sample used for random debugging. More...
 
+
+
+ + + + + diff --git a/Sample__Debug_8h_source.html b/Sample__Debug_8h_source.html new file mode 100644 index 00000000..eeccb429 --- /dev/null +++ b/Sample__Debug_8h_source.html @@ -0,0 +1,197 @@ + + + + + + + +Recast Navigation: Sample_Debug.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Sample_Debug.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 RECASTSAMPLEDEBUG_H
+
20 #define RECASTSAMPLEDEBUG_H
+
21 
+
22 #include "Sample.h"
+
23 #include "DetourNavMesh.h"
+
24 #include "Recast.h"
+
25 
+
27 class Sample_Debug : public Sample
+
28 {
+
29 protected:
+ + + +
33 
+
34  float m_halfExtents[3];
+
35  float m_center[3];
+
36  float m_bmin[3], m_bmax[3];
+ +
38 
+
39 public:
+
40  Sample_Debug();
+
41  virtual ~Sample_Debug();
+
42 
+
43  virtual void handleSettings();
+
44  virtual void handleTools();
+
45  virtual void handleDebugMode();
+
46  virtual void handleClick(const float* s, const float* p, bool shift);
+
47  virtual void handleToggle();
+
48  virtual void handleRender();
+
49  virtual void handleRenderOverlay(double* proj, double* model, int* view);
+
50  virtual void handleMeshChanged(class InputGeom* geom);
+
51  virtual bool handleBuild();
+
52 
+
53  virtual const float* getBoundsMin();
+
54  virtual const float* getBoundsMax();
+
55 
+
56 private:
+
57  // Explicitly disabled copy constructor and copy assignment operator.
+
58  Sample_Debug(const Sample_Debug&);
+
59  Sample_Debug& operator=(const Sample_Debug&);
+
60 };
+
61 
+
62 
+
63 #endif // RECASTSAMPLE_H
+ + + +
Definition: InputGeom.h:73
+
Sample used for random debugging.
Definition: Sample_Debug.h:28
+
float m_halfExtents[3]
Definition: Sample_Debug.h:34
+
virtual void handleClick(const float *s, const float *p, bool shift)
Definition: Sample_Debug.cpp:351
+
virtual ~Sample_Debug()
Definition: Sample_Debug.cpp:172
+
virtual void handleRenderOverlay(double *proj, double *model, int *view)
Definition: Sample_Debug.cpp:320
+
virtual void handleDebugMode()
Definition: Sample_Debug.cpp:187
+
virtual void handleRender()
Definition: Sample_Debug.cpp:191
+
dtPolyRef m_ref
Definition: Sample_Debug.h:37
+
virtual bool handleBuild()
Definition: Sample_Debug.cpp:363
+
rcCompactHeightfield * m_chf
Definition: Sample_Debug.h:30
+
float m_bmin[3]
Definition: Sample_Debug.h:36
+
virtual const float * getBoundsMin()
Definition: Sample_Debug.cpp:329
+
rcContourSet * m_cset
Definition: Sample_Debug.h:31
+
virtual const float * getBoundsMax()
Definition: Sample_Debug.cpp:340
+
float m_center[3]
Definition: Sample_Debug.h:35
+
virtual void handleTools()
Definition: Sample_Debug.cpp:183
+
virtual void handleMeshChanged(class InputGeom *geom)
Definition: Sample_Debug.cpp:324
+
float m_bmax[3]
Definition: Sample_Debug.h:36
+
rcPolyMesh * m_pmesh
Definition: Sample_Debug.h:32
+
virtual void handleToggle()
Definition: Sample_Debug.cpp:357
+
virtual void handleSettings()
Definition: Sample_Debug.cpp:179
+
Sample_Debug()
Definition: Sample_Debug.cpp:51
+
Definition: Sample.h:100
+
unsigned int dtPolyRef
A handle to a polygon within a navigation mesh tile.
Definition: DetourNavMesh.h:48
+
A compact, static heightfield representing unobstructed space.
Definition: Recast.h:352
+
Represents a group of related contours.
Definition: Recast.h:431
+
Represents a polygon mesh suitable for use in building a navigation mesh.
Definition: Recast.h:455
+
+
+ + + + + diff --git a/Sample__SoloMesh_8cpp.html b/Sample__SoloMesh_8cpp.html new file mode 100644 index 00000000..8541648f --- /dev/null +++ b/Sample__SoloMesh_8cpp.html @@ -0,0 +1,124 @@ + + + + + + + +Recast Navigation: Sample_SoloMesh.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Sample_SoloMesh.cpp File Reference
+
+
+
#include <math.h>
+#include <stdio.h>
+#include <string.h>
+#include "SDL.h"
+#include "SDL_opengl.h"
+#include "imgui.h"
+#include "InputGeom.h"
+#include "Sample.h"
+#include "Sample_SoloMesh.h"
+#include "Recast.h"
+#include "RecastDebugDraw.h"
+#include "RecastDump.h"
+#include "DetourNavMesh.h"
+#include "DetourNavMeshBuilder.h"
+#include "DetourDebugDraw.h"
+#include "NavMeshTesterTool.h"
+#include "NavMeshPruneTool.h"
+#include "OffMeshConnectionTool.h"
+#include "ConvexVolumeTool.h"
+#include "CrowdTool.h"
+
+
+ + + + + diff --git a/Sample__SoloMesh_8h.html b/Sample__SoloMesh_8h.html new file mode 100644 index 00000000..01cdb713 --- /dev/null +++ b/Sample__SoloMesh_8h.html @@ -0,0 +1,117 @@ + + + + + + + +Recast Navigation: Sample_SoloMesh.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Sample_SoloMesh.h File Reference
+
+
+
#include "Sample.h"
+#include "DetourNavMesh.h"
+#include "Recast.h"
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  Sample_SoloMesh
 
+
+
+ + + + + diff --git a/Sample__SoloMesh_8h_source.html b/Sample__SoloMesh_8h_source.html new file mode 100644 index 00000000..044653de --- /dev/null +++ b/Sample__SoloMesh_8h_source.html @@ -0,0 +1,241 @@ + + + + + + + +Recast Navigation: Sample_SoloMesh.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Sample_SoloMesh.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 RECASTSAMPLESOLOMESH_H
+
20 #define RECASTSAMPLESOLOMESH_H
+
21 
+
22 #include "Sample.h"
+
23 #include "DetourNavMesh.h"
+
24 #include "Recast.h"
+
25 
+
26 class Sample_SoloMesh : public Sample
+
27 {
+
28 protected:
+ + +
31 
+
32  unsigned char* m_triareas;
+ + + + + + +
39 
+
40  enum DrawMode
+
41  {
+ + + + + + + + + + + + + + + + + + +
60  };
+
61 
+ +
63 
+
64  void cleanup();
+
65 
+
66 public:
+ +
68  virtual ~Sample_SoloMesh();
+
69 
+
70  virtual void handleSettings();
+
71  virtual void handleTools();
+
72  virtual void handleDebugMode();
+
73 
+
74  virtual void handleRender();
+
75  virtual void handleRenderOverlay(double* proj, double* model, int* view);
+
76  virtual void handleMeshChanged(class InputGeom* geom);
+
77  virtual bool handleBuild();
+
78 
+
79 private:
+
80  // Explicitly disabled copy constructor and copy assignment operator.
+ +
82  Sample_SoloMesh& operator=(const Sample_SoloMesh&);
+
83 };
+
84 
+
85 
+
86 #endif // RECASTSAMPLESOLOMESHSIMPLE_H
+ + + +
Definition: InputGeom.h:73
+
Definition: Sample_SoloMesh.h:27
+
virtual void handleRender()
Definition: Sample_SoloMesh.cpp:230
+
DrawMode
Definition: Sample_SoloMesh.h:41
+
@ DRAWMODE_VOXELS_WALKABLE
Definition: Sample_SoloMesh.h:49
+
@ DRAWMODE_REGION_CONNECTIONS
Definition: Sample_SoloMesh.h:53
+
@ DRAWMODE_POLYMESH_DETAIL
Definition: Sample_SoloMesh.h:58
+
@ DRAWMODE_COMPACT_REGIONS
Definition: Sample_SoloMesh.h:52
+
@ DRAWMODE_VOXELS
Definition: Sample_SoloMesh.h:48
+
@ DRAWMODE_MESH
Definition: Sample_SoloMesh.h:47
+
@ DRAWMODE_COMPACT
Definition: Sample_SoloMesh.h:50
+
@ DRAWMODE_BOTH_CONTOURS
Definition: Sample_SoloMesh.h:55
+
@ DRAWMODE_NAVMESH_INVIS
Definition: Sample_SoloMesh.h:46
+
@ DRAWMODE_NAVMESH_TRANS
Definition: Sample_SoloMesh.h:43
+
@ DRAWMODE_COMPACT_DISTANCE
Definition: Sample_SoloMesh.h:51
+
@ DRAWMODE_POLYMESH
Definition: Sample_SoloMesh.h:57
+
@ DRAWMODE_RAW_CONTOURS
Definition: Sample_SoloMesh.h:54
+
@ MAX_DRAWMODE
Definition: Sample_SoloMesh.h:59
+
@ DRAWMODE_NAVMESH_BVTREE
Definition: Sample_SoloMesh.h:44
+
@ DRAWMODE_NAVMESH
Definition: Sample_SoloMesh.h:42
+
@ DRAWMODE_NAVMESH_NODES
Definition: Sample_SoloMesh.h:45
+
@ DRAWMODE_CONTOURS
Definition: Sample_SoloMesh.h:56
+
rcPolyMesh * m_pmesh
Definition: Sample_SoloMesh.h:36
+
virtual void handleDebugMode()
Definition: Sample_SoloMesh.cpp:152
+
DrawMode m_drawMode
Definition: Sample_SoloMesh.h:62
+
rcConfig m_cfg
Definition: Sample_SoloMesh.h:37
+
unsigned char * m_triareas
Definition: Sample_SoloMesh.h:32
+
rcPolyMeshDetail * m_dmesh
Definition: Sample_SoloMesh.h:38
+
bool m_keepInterResults
Definition: Sample_SoloMesh.h:29
+
virtual void handleSettings()
Definition: Sample_SoloMesh.cpp:82
+
Sample_SoloMesh()
Definition: Sample_SoloMesh.cpp:45
+
virtual ~Sample_SoloMesh()
Definition: Sample_SoloMesh.cpp:59
+
rcCompactHeightfield * m_chf
Definition: Sample_SoloMesh.h:34
+
virtual void handleRenderOverlay(double *proj, double *model, int *view)
Definition: Sample_SoloMesh.cpp:346
+
virtual bool handleBuild()
Definition: Sample_SoloMesh.cpp:370
+
rcContourSet * m_cset
Definition: Sample_SoloMesh.h:35
+
float m_totalBuildTimeMs
Definition: Sample_SoloMesh.h:30
+
virtual void handleTools()
Definition: Sample_SoloMesh.cpp:116
+
rcHeightfield * m_solid
Definition: Sample_SoloMesh.h:33
+
virtual void handleMeshChanged(class InputGeom *geom)
Definition: Sample_SoloMesh.cpp:353
+
void cleanup()
Definition: Sample_SoloMesh.cpp:64
+
Definition: Sample.h:100
+
A compact, static heightfield representing unobstructed space.
Definition: Recast.h:352
+
Specifies a configuration to use when performing Recast builds.
Definition: Recast.h:217
+
Represents a group of related contours.
Definition: Recast.h:431
+
A dynamic heightfield representing obstructed space.
Definition: Recast.h:313
+
Contains triangle meshes that represent detailed height data associated with the polygons in its asso...
Definition: Recast.h:485
+
Represents a polygon mesh suitable for use in building a navigation mesh.
Definition: Recast.h:455
+
+
+ + + + + diff --git a/Sample__TempObstacles_8cpp.html b/Sample__TempObstacles_8cpp.html new file mode 100644 index 00000000..fdf4734d --- /dev/null +++ b/Sample__TempObstacles_8cpp.html @@ -0,0 +1,590 @@ + + + + + + + +Recast Navigation: Sample_TempObstacles.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Sample_TempObstacles.cpp File Reference
+
+
+
#include <math.h>
+#include <stdio.h>
+#include <string.h>
+#include <float.h>
+#include <new>
+#include "SDL.h"
+#include "SDL_opengl.h"
+#include <GL/glu.h>
+#include "imgui.h"
+#include "InputGeom.h"
+#include "Sample.h"
+#include "Sample_TempObstacles.h"
+#include "Recast.h"
+#include "RecastDebugDraw.h"
+#include "DetourAssert.h"
+#include "DetourNavMesh.h"
+#include "DetourNavMeshBuilder.h"
+#include "DetourDebugDraw.h"
+#include "DetourCommon.h"
+#include "DetourTileCache.h"
+#include "NavMeshTesterTool.h"
+#include "OffMeshConnectionTool.h"
+#include "ConvexVolumeTool.h"
+#include "CrowdTool.h"
+#include "RecastAlloc.h"
+#include "RecastAssert.h"
+#include "fastlz.h"
+
+ + + + + + + + + + + + + + + + + + + +

+Classes

struct  FastLZCompressor
 
struct  LinearAllocator
 
struct  MeshProcess
 
struct  TileCacheData
 
struct  RasterizationContext
 
class  TempObstacleHilightTool
 
class  TempObstacleCreateTool
 
struct  TileCacheSetHeader
 
struct  TileCacheTileHeader
 
+ + + +

+Enumerations

enum  DrawDetailType { DRAWDETAIL_AREAS +, DRAWDETAIL_REGIONS +, DRAWDETAIL_CONTOURS +, DRAWDETAIL_MESH + }
 
+ + + + + + + + + + + + + + + +

+Functions

static bool isectSegAABB (const float *sp, const float *sq, const float *amin, const float *amax, float &tmin, float &tmax)
 
static int calcLayerBufferSize (const int gridWidth, const int gridHeight)
 
void drawTiles (duDebugDraw *dd, dtTileCache *tc)
 
void drawDetail (duDebugDraw *dd, dtTileCache *tc, const int tx, const int ty, int type)
 
void drawDetailOverlay (const dtTileCache *tc, const int tx, const int ty, double *proj, double *model, int *view)
 
dtObstacleRef hitTestObstacle (const dtTileCache *tc, const float *sp, const float *sq)
 
void drawObstacles (duDebugDraw *dd, const dtTileCache *tc)
 
+ + + + + + + + + +

+Variables

static const int EXPECTED_LAYERS_PER_TILE = 4
 
static const int MAX_LAYERS = 32
 
static const int TILECACHESET_MAGIC = 'T'<<24 | 'S'<<16 | 'E'<<8 | 'T'
 
static const int TILECACHESET_VERSION = 1
 
+

Enumeration Type Documentation

+ +

◆ DrawDetailType

+ +
+
+ + + + +
enum DrawDetailType
+
+ + + + + +
Enumerator
DRAWDETAIL_AREAS 
DRAWDETAIL_REGIONS 
DRAWDETAIL_CONTOURS 
DRAWDETAIL_MESH 
+ +
+
+

Function Documentation

+ +

◆ calcLayerBufferSize()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static int calcLayerBufferSize (const int gridWidth,
const int gridHeight 
)
+
+static
+
+ +
+
+ +

◆ drawDetail()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void drawDetail (duDebugDrawdd,
dtTileCachetc,
const int tx,
const int ty,
int type 
)
+
+ +
+
+ +

◆ drawDetailOverlay()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void drawDetailOverlay (const dtTileCachetc,
const int tx,
const int ty,
double * proj,
double * model,
int * view 
)
+
+ +
+
+ +

◆ drawObstacles()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void drawObstacles (duDebugDrawdd,
const dtTileCachetc 
)
+
+ +
+
+ +

◆ drawTiles()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void drawTiles (duDebugDrawdd,
dtTileCachetc 
)
+
+ +
+
+ +

◆ hitTestObstacle()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
dtObstacleRef hitTestObstacle (const dtTileCachetc,
const float * sp,
const float * sq 
)
+
+ +
+
+ +

◆ isectSegAABB()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool isectSegAABB (const float * sp,
const float * sq,
const float * amin,
const float * amax,
float & tmin,
float & tmax 
)
+
+static
+
+ +
+
+

Variable Documentation

+ +

◆ EXPECTED_LAYERS_PER_TILE

+ +
+
+ + + + + +
+ + + + +
const int EXPECTED_LAYERS_PER_TILE = 4
+
+static
+
+ +
+
+ +

◆ MAX_LAYERS

+ +
+
+ + + + + +
+ + + + +
const int MAX_LAYERS = 32
+
+static
+
+ +
+
+ +

◆ TILECACHESET_MAGIC

+ +
+
+ + + + + +
+ + + + +
const int TILECACHESET_MAGIC = 'T'<<24 | 'S'<<16 | 'E'<<8 | 'T'
+
+static
+
+ +
+
+ +

◆ TILECACHESET_VERSION

+ +
+
+ + + + + +
+ + + + +
const int TILECACHESET_VERSION = 1
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/Sample__TempObstacles_8cpp.js b/Sample__TempObstacles_8cpp.js new file mode 100644 index 00000000..4af225bc --- /dev/null +++ b/Sample__TempObstacles_8cpp.js @@ -0,0 +1,29 @@ +var Sample__TempObstacles_8cpp = +[ + [ "FastLZCompressor", "structFastLZCompressor.html", "structFastLZCompressor" ], + [ "LinearAllocator", "structLinearAllocator.html", "structLinearAllocator" ], + [ "MeshProcess", "structMeshProcess.html", "structMeshProcess" ], + [ "TileCacheData", "structTileCacheData.html", "structTileCacheData" ], + [ "RasterizationContext", "structRasterizationContext.html", "structRasterizationContext" ], + [ "TempObstacleHilightTool", "classTempObstacleHilightTool.html", "classTempObstacleHilightTool" ], + [ "TempObstacleCreateTool", "classTempObstacleCreateTool.html", "classTempObstacleCreateTool" ], + [ "TileCacheSetHeader", "structTileCacheSetHeader.html", "structTileCacheSetHeader" ], + [ "TileCacheTileHeader", "structTileCacheTileHeader.html", "structTileCacheTileHeader" ], + [ "DrawDetailType", "Sample__TempObstacles_8cpp.html#a07b411d5626ca18669a36dbce259699a", [ + [ "DRAWDETAIL_AREAS", "Sample__TempObstacles_8cpp.html#a07b411d5626ca18669a36dbce259699aa2b3e973aac1d955e6f393405f46a975f", null ], + [ "DRAWDETAIL_REGIONS", "Sample__TempObstacles_8cpp.html#a07b411d5626ca18669a36dbce259699aa9298e963d230a3f0d094748821ecc09c", null ], + [ "DRAWDETAIL_CONTOURS", "Sample__TempObstacles_8cpp.html#a07b411d5626ca18669a36dbce259699aa2f2ebb162afcf9d8049d46c65724a304", null ], + [ "DRAWDETAIL_MESH", "Sample__TempObstacles_8cpp.html#a07b411d5626ca18669a36dbce259699aa2583848fa9a65a13d8d705a41b45ac81", null ] + ] ], + [ "calcLayerBufferSize", "Sample__TempObstacles_8cpp.html#a4298a24291a2d5201ff7a2b1cbfcf56d", null ], + [ "drawDetail", "Sample__TempObstacles_8cpp.html#a9ecfb35d2460e0a349a7ad6e26a7484b", null ], + [ "drawDetailOverlay", "Sample__TempObstacles_8cpp.html#a8cdaa89bf12f5b9ed7fb37f156873f16", null ], + [ "drawObstacles", "Sample__TempObstacles_8cpp.html#af5c7622ddbc075ed3b5b02fdd4c7ca04", null ], + [ "drawTiles", "Sample__TempObstacles_8cpp.html#a86c92574bc37c2279e1cd899ba2dd8c7", null ], + [ "hitTestObstacle", "Sample__TempObstacles_8cpp.html#ad121bf7e4e054c2e9fc910193eff7439", null ], + [ "isectSegAABB", "Sample__TempObstacles_8cpp.html#a6e7db3dabeb68c2e9c627812ee42c47e", null ], + [ "EXPECTED_LAYERS_PER_TILE", "Sample__TempObstacles_8cpp.html#a0c7f06a51de07a0953540cb0a5f089fb", null ], + [ "MAX_LAYERS", "Sample__TempObstacles_8cpp.html#a79bfaaec8df17228648fc51c7c302f72", null ], + [ "TILECACHESET_MAGIC", "Sample__TempObstacles_8cpp.html#a877a1485eecb109f3d6431356bf30e94", null ], + [ "TILECACHESET_VERSION", "Sample__TempObstacles_8cpp.html#a95caba88445c1ffa1faa5c9b931aba69", null ] +]; \ No newline at end of file diff --git a/Sample__TempObstacles_8h.html b/Sample__TempObstacles_8h.html new file mode 100644 index 00000000..9f576c74 --- /dev/null +++ b/Sample__TempObstacles_8h.html @@ -0,0 +1,118 @@ + + + + + + + +Recast Navigation: Sample_TempObstacles.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Sample_TempObstacles.h File Reference
+
+
+
#include "Sample.h"
+#include "DetourNavMesh.h"
+#include "Recast.h"
+#include "ChunkyTriMesh.h"
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  Sample_TempObstacles
 
+
+
+ + + + + diff --git a/Sample__TempObstacles_8h_source.html b/Sample__TempObstacles_8h_source.html new file mode 100644 index 00000000..7b444727 --- /dev/null +++ b/Sample__TempObstacles_8h_source.html @@ -0,0 +1,257 @@ + + + + + + + +Recast Navigation: Sample_TempObstacles.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Sample_TempObstacles.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 RECASTSAMPLETEMPOBSTACLE_H
+
20 #define RECASTSAMPLETEMPOBSTACLE_H
+
21 
+
22 #include "Sample.h"
+
23 #include "DetourNavMesh.h"
+
24 #include "Recast.h"
+
25 #include "ChunkyTriMesh.h"
+
26 
+
27 
+ +
29 {
+
30 protected:
+ +
32 
+ + + +
36 
+ +
38 
+ + + + +
43  unsigned int m_cacheBuildMemUsage;
+
44 
+
45  enum DrawMode
+
46  {
+ + + + + + + + + +
56  };
+
57 
+ +
59 
+ + +
62  float m_tileSize;
+
63 
+
64 public:
+ +
66  virtual ~Sample_TempObstacles();
+
67 
+
68  virtual void handleSettings();
+
69  virtual void handleTools();
+
70  virtual void handleDebugMode();
+
71  virtual void handleRender();
+
72  virtual void handleRenderOverlay(double* proj, double* model, int* view);
+
73  virtual void handleMeshChanged(class InputGeom* geom);
+
74  virtual bool handleBuild();
+
75  virtual void handleUpdate(const float dt);
+
76 
+
77  void getTilePos(const float* pos, int& tx, int& ty);
+
78 
+
79  void renderCachedTile(const int tx, const int ty, const int type);
+
80  void renderCachedTileOverlay(const int tx, const int ty, double* proj, double* model, int* view);
+
81 
+
82  void addTempObstacle(const float* pos);
+
83  void removeTempObstacle(const float* sp, const float* sq);
+
84  void clearAllTempObstacles();
+
85 
+
86  void saveAll(const char* path);
+
87  void loadAll(const char* path);
+
88 
+
89 private:
+
90  // Explicitly disabled copy constructor and copy assignment operator.
+ +
92  Sample_TempObstacles& operator=(const Sample_TempObstacles&);
+
93 
+
94  int rasterizeTileLayers(const int tx, const int ty, const rcConfig& cfg, struct TileCacheData* tiles, const int maxTiles);
+
95 };
+
96 
+
97 
+
98 #endif // RECASTSAMPLETEMPOBSTACLE_H
+ + + + +
Definition: InputGeom.h:73
+
Definition: Sample_TempObstacles.h:29
+
void getTilePos(const float *pos, int &tx, int &ty)
Definition: Sample_TempObstacles.cpp:1386
+
virtual void handleTools()
Definition: Sample_TempObstacles.cpp:952
+
int m_maxPolysPerTile
Definition: Sample_TempObstacles.h:61
+
virtual ~Sample_TempObstacles()
Definition: Sample_TempObstacles.cpp:859
+
float m_tileSize
Definition: Sample_TempObstacles.h:62
+
virtual void handleRender()
Definition: Sample_TempObstacles.cpp:1043
+
DrawMode m_drawMode
Definition: Sample_TempObstacles.h:58
+
struct MeshProcess * m_tmproc
Definition: Sample_TempObstacles.h:35
+
virtual void handleRenderOverlay(double *proj, double *model, int *view)
Definition: Sample_TempObstacles.cpp:1125
+
float m_cacheBuildTimeMs
Definition: Sample_TempObstacles.h:39
+
virtual void handleUpdate(const float dt)
Definition: Sample_TempObstacles.cpp:1374
+
void loadAll(const char *path)
Definition: Sample_TempObstacles.cpp:1455
+
DrawMode
Definition: Sample_TempObstacles.h:46
+
@ DRAWMODE_MESH
Definition: Sample_TempObstacles.h:53
+
@ DRAWMODE_NAVMESH_PORTALS
Definition: Sample_TempObstacles.h:51
+
@ DRAWMODE_NAVMESH_NODES
Definition: Sample_TempObstacles.h:50
+
@ DRAWMODE_NAVMESH_BVTREE
Definition: Sample_TempObstacles.h:49
+
@ DRAWMODE_NAVMESH_TRANS
Definition: Sample_TempObstacles.h:48
+
@ MAX_DRAWMODE
Definition: Sample_TempObstacles.h:55
+
@ DRAWMODE_CACHE_BOUNDS
Definition: Sample_TempObstacles.h:54
+
@ DRAWMODE_NAVMESH_INVIS
Definition: Sample_TempObstacles.h:52
+
@ DRAWMODE_NAVMESH
Definition: Sample_TempObstacles.h:47
+
void renderCachedTile(const int tx, const int ty, const int type)
Definition: Sample_TempObstacles.cpp:1113
+
struct FastLZCompressor * m_tcomp
Definition: Sample_TempObstacles.h:34
+
Sample_TempObstacles()
Definition: Sample_TempObstacles.cpp:837
+
bool m_keepInterResults
Definition: Sample_TempObstacles.h:31
+
void clearAllTempObstacles()
Definition: Sample_TempObstacles.cpp:1193
+
int m_cacheRawSize
Definition: Sample_TempObstacles.h:41
+
void removeTempObstacle(const float *sp, const float *sq)
Definition: Sample_TempObstacles.cpp:1185
+
void addTempObstacle(const float *pos)
Definition: Sample_TempObstacles.cpp:1175
+
virtual void handleSettings()
Definition: Sample_TempObstacles.cpp:866
+
virtual bool handleBuild()
Definition: Sample_TempObstacles.cpp:1205
+
unsigned int m_cacheBuildMemUsage
Definition: Sample_TempObstacles.h:43
+
struct LinearAllocator * m_talloc
Definition: Sample_TempObstacles.h:33
+
void saveAll(const char *path)
Definition: Sample_TempObstacles.cpp:1415
+
void renderCachedTileOverlay(const int tx, const int ty, double *proj, double *model, int *view)
Definition: Sample_TempObstacles.cpp:1119
+
int m_cacheCompressedSize
Definition: Sample_TempObstacles.h:40
+
virtual void handleDebugMode()
Definition: Sample_TempObstacles.cpp:991
+
class dtTileCache * m_tileCache
Definition: Sample_TempObstacles.h:37
+
int m_maxTiles
Definition: Sample_TempObstacles.h:60
+
int m_cacheLayerCount
Definition: Sample_TempObstacles.h:42
+
virtual void handleMeshChanged(class InputGeom *geom)
Definition: Sample_TempObstacles.cpp:1155
+
Definition: Sample.h:100
+
Definition: DetourTileCache.h:102
+
Definition: Sample_TempObstacles.cpp:110
+
Definition: Sample_TempObstacles.cpp:139
+
Definition: Sample_TempObstacles.cpp:189
+
Definition: Sample_TempObstacles.cpp:250
+
Specifies a configuration to use when performing Recast builds.
Definition: Recast.h:217
+
+
+ + + + + diff --git a/Sample__TileMesh_8cpp.html b/Sample__TileMesh_8cpp.html new file mode 100644 index 00000000..3147f007 --- /dev/null +++ b/Sample__TileMesh_8cpp.html @@ -0,0 +1,193 @@ + + + + + + + +Recast Navigation: Sample_TileMesh.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Sample_TileMesh.cpp File Reference
+
+
+
#include <math.h>
+#include <stdio.h>
+#include <string.h>
+#include "SDL.h"
+#include "SDL_opengl.h"
+#include <GL/glu.h>
+#include "imgui.h"
+#include "InputGeom.h"
+#include "Sample.h"
+#include "Sample_TileMesh.h"
+#include "Recast.h"
+#include "RecastDebugDraw.h"
+#include "DetourNavMesh.h"
+#include "DetourNavMeshBuilder.h"
+#include "DetourDebugDraw.h"
+#include "NavMeshTesterTool.h"
+#include "NavMeshPruneTool.h"
+#include "OffMeshConnectionTool.h"
+#include "ConvexVolumeTool.h"
+#include "CrowdTool.h"
+
+ + + +

+Classes

class  NavMeshTileTool
 
+ + + + + +

+Functions

unsigned int nextPow2 (unsigned int v)
 
unsigned int ilog2 (unsigned int v)
 
+

Function Documentation

+ +

◆ ilog2()

+ +
+
+ + + + + +
+ + + + + + + + +
unsigned int ilog2 (unsigned int v)
+
+inline
+
+ +
+
+ +

◆ nextPow2()

+ +
+
+ + + + + +
+ + + + + + + + +
unsigned int nextPow2 (unsigned int v)
+
+inline
+
+ +
+
+
+
+ + + + + diff --git a/Sample__TileMesh_8cpp.js b/Sample__TileMesh_8cpp.js new file mode 100644 index 00000000..87ded864 --- /dev/null +++ b/Sample__TileMesh_8cpp.js @@ -0,0 +1,6 @@ +var Sample__TileMesh_8cpp = +[ + [ "NavMeshTileTool", "classNavMeshTileTool.html", "classNavMeshTileTool" ], + [ "ilog2", "Sample__TileMesh_8cpp.html#ae9adac380db2fcc0a78bee0bcf9ac86a", null ], + [ "nextPow2", "Sample__TileMesh_8cpp.html#a34ed4a57db9ff4dce4be2b8282c5f51a", null ] +]; \ No newline at end of file diff --git a/Sample__TileMesh_8h.html b/Sample__TileMesh_8h.html new file mode 100644 index 00000000..695a472d --- /dev/null +++ b/Sample__TileMesh_8h.html @@ -0,0 +1,118 @@ + + + + + + + +Recast Navigation: Sample_TileMesh.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Sample_TileMesh.h File Reference
+
+
+
#include "Sample.h"
+#include "DetourNavMesh.h"
+#include "Recast.h"
+#include "ChunkyTriMesh.h"
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  Sample_TileMesh
 
+
+
+ + + + + diff --git a/Sample__TileMesh_8h_source.html b/Sample__TileMesh_8h_source.html new file mode 100644 index 00000000..78963e53 --- /dev/null +++ b/Sample__TileMesh_8h_source.html @@ -0,0 +1,290 @@ + + + + + + + +Recast Navigation: Sample_TileMesh.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Sample_TileMesh.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 RECASTSAMPLETILEMESH_H
+
20 #define RECASTSAMPLETILEMESH_H
+
21 
+
22 #include "Sample.h"
+
23 #include "DetourNavMesh.h"
+
24 #include "Recast.h"
+
25 #include "ChunkyTriMesh.h"
+
26 
+
27 class Sample_TileMesh : public Sample
+
28 {
+
29 protected:
+ +
31  bool m_buildAll;
+ +
33 
+
34  unsigned char* m_triareas;
+ + + + + + +
41 
+
42  enum DrawMode
+
43  {
+ + + + + + + + + + + + + + + + + + + +
63  };
+
64 
+ +
66 
+ + +
69  float m_tileSize;
+
70 
+
71  unsigned int m_tileCol;
+ + + + + +
77 
+
78  unsigned char* buildTileMesh(const int tx, const int ty, const float* bmin, const float* bmax, int& dataSize);
+
79 
+
80  void cleanup();
+
81 
+
82  void saveAll(const char* path, const dtNavMesh* mesh);
+
83  dtNavMesh* loadAll(const char* path);
+
84 
+
85 public:
+ +
87  virtual ~Sample_TileMesh();
+
88 
+
89  virtual void handleSettings();
+
90  virtual void handleTools();
+
91  virtual void handleDebugMode();
+
92  virtual void handleRender();
+
93  virtual void handleRenderOverlay(double* proj, double* model, int* view);
+
94  virtual void handleMeshChanged(class InputGeom* geom);
+
95  virtual bool handleBuild();
+
96  virtual void collectSettings(struct BuildSettings& settings);
+
97 
+
98  void getTilePos(const float* pos, int& tx, int& ty);
+
99 
+
100  void buildTile(const float* pos);
+
101  void removeTile(const float* pos);
+
102  void buildAllTiles();
+
103  void removeAllTiles();
+
104 
+
105 private:
+
106  // Explicitly disabled copy constructor and copy assignment operator.
+ +
108  Sample_TileMesh& operator=(const Sample_TileMesh&);
+
109 };
+
110 
+
111 
+
112 #endif // RECASTSAMPLETILEMESH_H
+ + + + +
Definition: InputGeom.h:73
+
Definition: Sample_TileMesh.h:28
+
float m_lastBuiltTileBmin[3]
Definition: Sample_TileMesh.h:72
+
float m_totalBuildTimeMs
Definition: Sample_TileMesh.h:32
+
float m_tileMemUsage
Definition: Sample_TileMesh.h:75
+
virtual void handleRenderOverlay(double *proj, double *model, int *view)
Definition: Sample_TileMesh.cpp:549
+
rcHeightfield * m_solid
Definition: Sample_TileMesh.h:35
+
virtual bool handleBuild()
Definition: Sample_TileMesh.cpp:589
+
DrawMode
Definition: Sample_TileMesh.h:43
+
@ DRAWMODE_REGION_CONNECTIONS
Definition: Sample_TileMesh.h:56
+
@ DRAWMODE_NAVMESH_PORTALS
Definition: Sample_TileMesh.h:48
+
@ DRAWMODE_NAVMESH_BVTREE
Definition: Sample_TileMesh.h:46
+
@ DRAWMODE_NAVMESH_TRANS
Definition: Sample_TileMesh.h:45
+
@ DRAWMODE_CONTOURS
Definition: Sample_TileMesh.h:59
+
@ DRAWMODE_MESH
Definition: Sample_TileMesh.h:50
+
@ DRAWMODE_NAVMESH_NODES
Definition: Sample_TileMesh.h:47
+
@ DRAWMODE_COMPACT_DISTANCE
Definition: Sample_TileMesh.h:54
+
@ DRAWMODE_RAW_CONTOURS
Definition: Sample_TileMesh.h:57
+
@ DRAWMODE_VOXELS
Definition: Sample_TileMesh.h:51
+
@ DRAWMODE_NAVMESH
Definition: Sample_TileMesh.h:44
+
@ DRAWMODE_NAVMESH_INVIS
Definition: Sample_TileMesh.h:49
+
@ MAX_DRAWMODE
Definition: Sample_TileMesh.h:62
+
@ DRAWMODE_BOTH_CONTOURS
Definition: Sample_TileMesh.h:58
+
@ DRAWMODE_POLYMESH
Definition: Sample_TileMesh.h:60
+
@ DRAWMODE_COMPACT
Definition: Sample_TileMesh.h:53
+
@ DRAWMODE_POLYMESH_DETAIL
Definition: Sample_TileMesh.h:61
+
@ DRAWMODE_COMPACT_REGIONS
Definition: Sample_TileMesh.h:55
+
@ DRAWMODE_VOXELS_WALKABLE
Definition: Sample_TileMesh.h:52
+
virtual void handleTools()
Definition: Sample_TileMesh.cpp:300
+
void getTilePos(const float *pos, int &tx, int &ty)
Definition: Sample_TileMesh.cpp:688
+
Sample_TileMesh()
Definition: Sample_TileMesh.cpp:177
+
unsigned char * m_triareas
Definition: Sample_TileMesh.h:34
+
rcPolyMesh * m_pmesh
Definition: Sample_TileMesh.h:38
+
int m_maxPolysPerTile
Definition: Sample_TileMesh.h:68
+
virtual void handleSettings()
Definition: Sample_TileMesh.cpp:226
+
rcPolyMeshDetail * m_dmesh
Definition: Sample_TileMesh.h:39
+
rcCompactHeightfield * m_chf
Definition: Sample_TileMesh.h:36
+
virtual void handleRender()
Definition: Sample_TileMesh.cpp:421
+
void removeAllTiles()
Definition: Sample_TileMesh.cpp:775
+
void saveAll(const char *path, const dtNavMesh *mesh)
+
bool m_keepInterResults
Definition: Sample_TileMesh.h:30
+
virtual void handleMeshChanged(class InputGeom *geom)
Definition: Sample_TileMesh.cpp:567
+
virtual void collectSettings(struct BuildSettings &settings)
Definition: Sample_TileMesh.cpp:639
+
virtual ~Sample_TileMesh()
Definition: Sample_TileMesh.cpp:203
+
rcContourSet * m_cset
Definition: Sample_TileMesh.h:37
+
rcConfig m_cfg
Definition: Sample_TileMesh.h:40
+
void buildTile(const float *pos)
Definition: Sample_TileMesh.cpp:646
+
unsigned int m_tileCol
Definition: Sample_TileMesh.h:71
+
void cleanup()
Definition: Sample_TileMesh.cpp:210
+
dtNavMesh * loadAll(const char *path)
+
bool m_buildAll
Definition: Sample_TileMesh.h:31
+
float m_tileBuildTime
Definition: Sample_TileMesh.h:74
+
void removeTile(const float *pos)
Definition: Sample_TileMesh.cpp:699
+
int m_tileTriCount
Definition: Sample_TileMesh.h:76
+
DrawMode m_drawMode
Definition: Sample_TileMesh.h:65
+
int m_maxTiles
Definition: Sample_TileMesh.h:67
+
virtual void handleDebugMode()
Definition: Sample_TileMesh.cpp:339
+
float m_lastBuiltTileBmax[3]
Definition: Sample_TileMesh.h:73
+
void buildAllTiles()
Definition: Sample_TileMesh.cpp:724
+
unsigned char * buildTileMesh(const int tx, const int ty, const float *bmin, const float *bmax, int &dataSize)
Definition: Sample_TileMesh.cpp:794
+
float m_tileSize
Definition: Sample_TileMesh.h:69
+
Definition: Sample.h:100
+
A navigation mesh based on tiles of convex polygons.
Definition: DetourNavMesh.h:339
+
Definition: InputGeom.h:35
+
A compact, static heightfield representing unobstructed space.
Definition: Recast.h:352
+
Specifies a configuration to use when performing Recast builds.
Definition: Recast.h:217
+
Represents a group of related contours.
Definition: Recast.h:431
+
A dynamic heightfield representing obstructed space.
Definition: Recast.h:313
+
Contains triangle meshes that represent detailed height data associated with the polygons in its asso...
Definition: Recast.h:485
+
Represents a polygon mesh suitable for use in building a navigation mesh.
Definition: Recast.h:455
+
+
+ + + + + diff --git a/TestCase_8cpp.html b/TestCase_8cpp.html new file mode 100644 index 00000000..bf7292a7 --- /dev/null +++ b/TestCase_8cpp.html @@ -0,0 +1,212 @@ + + + + + + + +Recast Navigation: TestCase.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
TestCase.cpp File Reference
+
+
+
#include <stdio.h>
+#include <ctype.h>
+#include <string.h>
+#include <math.h>
+#include "TestCase.h"
+#include "DetourNavMesh.h"
+#include "DetourNavMeshQuery.h"
+#include "DetourCommon.h"
+#include "SDL.h"
+#include "SDL_opengl.h"
+#include <GL/glu.h>
+#include "imgui.h"
+#include "PerfTimer.h"
+
+ + + + + +

+Functions

static char * parseRow (char *buf, char *bufEnd, char *row, int len)
 
static void copyName (std::string &dst, const char *src)
 
+

Function Documentation

+ +

◆ copyName()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void copyName (std::string & dst,
const char * src 
)
+
+static
+
+ +
+
+ +

◆ parseRow()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static char* parseRow (char * buf,
char * bufEnd,
char * row,
int len 
)
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/TestCase_8cpp.js b/TestCase_8cpp.js new file mode 100644 index 00000000..369ca74d --- /dev/null +++ b/TestCase_8cpp.js @@ -0,0 +1,5 @@ +var TestCase_8cpp = +[ + [ "copyName", "TestCase_8cpp.html#aa7f9a7a9c338992807552d44ffce013a", null ], + [ "parseRow", "TestCase_8cpp.html#a0cb6eddb96ab199afcf6b4d75350741e", null ] +]; \ No newline at end of file diff --git a/TestCase_8h.html b/TestCase_8h.html new file mode 100644 index 00000000..6ed6cad0 --- /dev/null +++ b/TestCase_8h.html @@ -0,0 +1,116 @@ + + + + + + + +Recast Navigation: TestCase.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
TestCase.h File Reference
+
+
+
#include <string>
+#include "DetourNavMesh.h"
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  TestCase
 
+
+
+ + + + + diff --git a/TestCase_8h_source.html b/TestCase_8h_source.html new file mode 100644 index 00000000..23cced55 --- /dev/null +++ b/TestCase_8h_source.html @@ -0,0 +1,232 @@ + + + + + + + +Recast Navigation: TestCase.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
TestCase.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 TESTCASE_H
+
20 #define TESTCASE_H
+
21 
+
22 #include <string>
+
23 #include "DetourNavMesh.h"
+
24 
+
25 class TestCase
+
26 {
+
27  enum TestType
+
28  {
+
29  TEST_PATHFIND,
+
30  TEST_RAYCAST
+
31  };
+
32 
+
33  struct Test
+
34  {
+
35  Test() :
+
36  type(),
+
37  spos(),
+
38  epos(),
+
39  nspos(),
+
40  nepos(),
+
41  radius(0),
+
42  includeFlags(0),
+
43  excludeFlags(0),
+
44  expand(false),
+
45  straight(0),
+
46  nstraight(0),
+
47  polys(0),
+
48  npolys(0),
+
49  findNearestPolyTime(0),
+
50  findPathTime(0),
+
51  findStraightPathTime(0),
+
52  next(0)
+
53  {
+
54  }
+
55 
+
56  ~Test()
+
57  {
+
58  delete [] straight;
+
59  delete [] polys;
+
60  }
+
61 
+
62  TestType type;
+
63  float spos[3];
+
64  float epos[3];
+
65  float nspos[3];
+
66  float nepos[3];
+
67  float radius;
+
68  unsigned short includeFlags;
+
69  unsigned short excludeFlags;
+
70  bool expand;
+
71 
+
72  float* straight;
+
73  int nstraight;
+
74  dtPolyRef* polys;
+
75  int npolys;
+
76 
+
77  int findNearestPolyTime;
+
78  int findPathTime;
+
79  int findStraightPathTime;
+
80 
+
81  Test* next;
+
82  private:
+
83  // Explicitly disabled copy constructor and copy assignment operator.
+
84  Test(const Test&);
+
85  Test& operator=(const Test&);
+
86  };
+
87 
+
88  std::string m_sampleName;
+
89  std::string m_geomFileName;
+
90  Test* m_tests;
+
91 
+
92  void resetTimes();
+
93 
+
94 public:
+
95  TestCase();
+
96  ~TestCase();
+
97 
+
98  bool load(const std::string& filePath);
+
99 
+
100  const std::string& getSampleName() const { return m_sampleName; }
+
101  const std::string& getGeomFileName() const { return m_geomFileName; }
+
102 
+
103  void doTests(class dtNavMesh* navmesh, class dtNavMeshQuery* navquery);
+
104 
+
105  void handleRender();
+
106  bool handleRenderOverlay(double* proj, double* model, int* view);
+
107 
+
108 private:
+
109  // Explicitly disabled copy constructor and copy assignment operator.
+
110  TestCase(const TestCase&);
+
111  TestCase& operator=(const TestCase&);
+
112 };
+
113 
+
114 #endif // TESTCASE_H
+ +
int next(int i, int n)
Definition: DetourTileCacheBuilder.cpp:1080
+
Definition: TestCase.h:26
+
const std::string & getGeomFileName() const
Definition: TestCase.h:101
+
void doTests(class dtNavMesh *navmesh, class dtNavMeshQuery *navquery)
Definition: TestCase.cpp:197
+
bool handleRenderOverlay(double *proj, double *model, int *view)
Definition: TestCase.cpp:387
+
const std::string & getSampleName() const
Definition: TestCase.h:100
+
void handleRender()
Definition: TestCase.cpp:328
+
TestCase()
Definition: TestCase.cpp:41
+
bool load(const std::string &filePath)
Definition: TestCase.cpp:100
+
~TestCase()
Definition: TestCase.cpp:46
+
Provides the ability to perform pathfinding related queries against a navigation mesh.
Definition: DetourNavMeshQuery.h:166
+
A navigation mesh based on tiles of convex polygons.
Definition: DetourNavMesh.h:339
+
unsigned int dtPolyRef
A handle to a polygon within a navigation mesh tile.
Definition: DetourNavMesh.h:48
+
+
+ + + + + diff --git a/ValueHistory_8cpp.html b/ValueHistory_8cpp.html new file mode 100644 index 00000000..18572d3e --- /dev/null +++ b/ValueHistory_8cpp.html @@ -0,0 +1,183 @@ + + + + + + + +Recast Navigation: ValueHistory.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
ValueHistory.cpp File Reference
+
+
+
#include "ValueHistory.h"
+#include "imgui.h"
+#include <string.h>
+#include <stdio.h>
+
+ + + + + +

+Functions

void drawGraphBackground (const GraphParams *p)
 
void drawGraph (const GraphParams *p, const ValueHistory *graph, int idx, const char *label, const unsigned int col)
 
+

Function Documentation

+ +

◆ drawGraph()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void drawGraph (const GraphParamsp,
const ValueHistorygraph,
int idx,
const char * label,
const unsigned int col 
)
+
+ +
+
+ +

◆ drawGraphBackground()

+ +
+
+ + + + + + + + +
void drawGraphBackground (const GraphParamsp)
+
+ +
+
+
+
+ + + + + diff --git a/ValueHistory_8cpp.js b/ValueHistory_8cpp.js new file mode 100644 index 00000000..793d47ad --- /dev/null +++ b/ValueHistory_8cpp.js @@ -0,0 +1,5 @@ +var ValueHistory_8cpp = +[ + [ "drawGraph", "ValueHistory_8cpp.html#ac579b593d7d8316a79163fba0140aa92", null ], + [ "drawGraphBackground", "ValueHistory_8cpp.html#afffb45be2045eb5a3b2e0a21be12ff8a", null ] +]; \ No newline at end of file diff --git a/ValueHistory_8h.html b/ValueHistory_8h.html new file mode 100644 index 00000000..871c18ae --- /dev/null +++ b/ValueHistory_8h.html @@ -0,0 +1,189 @@ + + + + + + + +Recast Navigation: ValueHistory.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
ValueHistory.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Classes

class  ValueHistory
 
struct  GraphParams
 
+ + + + + +

+Functions

void drawGraphBackground (const GraphParams *p)
 
void drawGraph (const GraphParams *p, const ValueHistory *graph, int idx, const char *label, const unsigned int col)
 
+

Function Documentation

+ +

◆ drawGraph()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void drawGraph (const GraphParamsp,
const ValueHistorygraph,
int idx,
const char * label,
const unsigned int col 
)
+
+ +
+
+ +

◆ drawGraphBackground()

+ +
+
+ + + + + + + + +
void drawGraphBackground (const GraphParamsp)
+
+ +
+
+
+
+ + + + + diff --git a/ValueHistory_8h.js b/ValueHistory_8h.js new file mode 100644 index 00000000..065d1cab --- /dev/null +++ b/ValueHistory_8h.js @@ -0,0 +1,7 @@ +var ValueHistory_8h = +[ + [ "ValueHistory", "classValueHistory.html", "classValueHistory" ], + [ "GraphParams", "structGraphParams.html", "structGraphParams" ], + [ "drawGraph", "ValueHistory_8h.html#ac579b593d7d8316a79163fba0140aa92", null ], + [ "drawGraphBackground", "ValueHistory_8h.html#afffb45be2045eb5a3b2e0a21be12ff8a", null ] +]; \ No newline at end of file diff --git a/ValueHistory_8h_source.html b/ValueHistory_8h_source.html new file mode 100644 index 00000000..2d58c9ac --- /dev/null +++ b/ValueHistory_8h_source.html @@ -0,0 +1,177 @@ + + + + + + + +Recast Navigation: ValueHistory.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ValueHistory.h
+
+
+Go to the documentation of this file.
1 #ifndef VALUEHISTORY_H
+
2 #define VALUEHISTORY_H
+
3 
+ +
5 {
+
6  static const int MAX_HISTORY = 256;
+
7  float m_samples[MAX_HISTORY];
+
8  int m_hsamples;
+
9 public:
+
10  ValueHistory();
+
11 
+
12  inline void addSample(const float val)
+
13  {
+
14  m_hsamples = (m_hsamples+MAX_HISTORY-1) % MAX_HISTORY;
+
15  m_samples[m_hsamples] = val;
+
16  }
+
17 
+
18  inline int getSampleCount() const
+
19  {
+
20  return MAX_HISTORY;
+
21  }
+
22 
+
23  inline float getSample(const int i) const
+
24  {
+
25  return m_samples[(m_hsamples+i) % MAX_HISTORY];
+
26  }
+
27 
+
28  float getSampleMin() const;
+
29  float getSampleMax() const;
+
30  float getAverage() const;
+
31 };
+
32 
+ +
34 {
+
35  void setRect(int ix, int iy, int iw, int ih, int ipad);
+
36  void setValueRange(float ivmin, float ivmax, int indiv, const char* iunits);
+
37 
+
38  int x, y, w, h, pad;
+
39  float vmin, vmax;
+
40  int ndiv;
+
41  char units[16];
+
42 };
+
43 
+
44 void drawGraphBackground(const GraphParams* p);
+
45 
+
46 void drawGraph(const GraphParams* p, const ValueHistory* graph,
+
47  int idx, const char* label, const unsigned int col);
+
48 
+
49 
+
50 #endif // VALUEHISTORY_H
+
51 
+
void drawGraph(const GraphParams *p, const ValueHistory *graph, int idx, const char *label, const unsigned int col)
Definition: ValueHistory.cpp:82
+
void drawGraphBackground(const GraphParams *p)
Definition: ValueHistory.cpp:60
+
Definition: ValueHistory.h:5
+
int getSampleCount() const
Definition: ValueHistory.h:18
+
ValueHistory()
Definition: ValueHistory.cpp:10
+
void addSample(const float val)
Definition: ValueHistory.h:12
+
float getSampleMin() const
Definition: ValueHistory.cpp:17
+
float getSampleMax() const
Definition: ValueHistory.cpp:26
+
float getSample(const int i) const
Definition: ValueHistory.h:23
+
float getAverage() const
Definition: ValueHistory.cpp:35
+
Definition: ValueHistory.h:34
+
void setRect(int ix, int iy, int iw, int ih, int ipad)
Definition: ValueHistory.cpp:43
+
int pad
Definition: ValueHistory.h:38
+
float vmin
Definition: ValueHistory.h:39
+
int ndiv
Definition: ValueHistory.h:40
+
void setValueRange(float ivmin, float ivmax, int indiv, const char *iunits)
Definition: ValueHistory.cpp:52
+
int x
Definition: ValueHistory.h:38
+
float vmax
Definition: ValueHistory.h:39
+
int h
Definition: ValueHistory.h:38
+
char units[16]
Definition: ValueHistory.h:41
+
int y
Definition: ValueHistory.h:38
+
int w
Definition: ValueHistory.h:38
+
+
+ + + + + diff --git a/annotated.html b/annotated.html new file mode 100644 index 00000000..a2813bcf --- /dev/null +++ b/annotated.html @@ -0,0 +1,247 @@ + + + + + + + +Recast Navigation: Class List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 CBoundsItem
 CBuildContextRecast build context
 CBuildSettings
 CBVItem
 CConvexVolume
 CConvexVolumeTool
 CCrowdTool
 CCrowdToolParams
 CCrowdToolState
 CDebugDrawGLOpenGL debug draw implementation
 CDirtyEntry
 CdtBVNodeBounding volume node
 CdtCollectPolysQuery
 CdtCompressedTile
 CdtCrowdProvides local steering behaviors for a group of agents
 CdtCrowdAgentRepresents an agent managed by a dtCrowd object
 CdtCrowdAgentAnimation
 CdtCrowdAgentDebugInfo
 CdtCrowdAgentParamsConfiguration parameters for a crowd agent
 CdtCrowdNeighbourProvides neighbor data for agents managed by the crowd
 CdtFindNearestPolyQuery
 CdtFixedArray
 CdtLayerMonotoneRegion
 CdtLayerSweepSpan
 CdtLinkDefines a link between polygons
 CdtLocalBoundary
 CdtMeshHeaderProvides high level information related to a dtMeshTile object
 CdtMeshTileDefines a navigation mesh tile
 CdtNavMeshA navigation mesh based on tiles of convex polygons
 CdtNavMeshCreateParamsRepresents the source data used to build an navigation mesh tile
 CdtNavMeshParamsConfiguration parameters used to define multi-tile navigation meshes
 CdtNavMeshQueryProvides the ability to perform pathfinding related queries against a navigation mesh
 CdtNode
 CdtNodePool
 CdtNodeQueue
 CdtObstacleAvoidanceDebugData
 CdtObstacleAvoidanceParams
 CdtObstacleAvoidanceQuery
 CdtObstacleBox
 CdtObstacleCircle
 CdtObstacleCylinder
 CdtObstacleOrientedBox
 CdtObstacleSegment
 CdtOffMeshConnectionDefines an navigation mesh off-mesh connection within a dtMeshTile object
 CdtPathCorridorRepresents a dynamic polygon corridor used to plan agent movement
 CdtPathQueue
 CdtPolyDefines a polygon within a dtMeshTile object
 CdtPolyDetailDefines the location of detail sub-mesh data within a dtMeshTile
 CdtPolyQueryProvides custom polygon query behavior
 CdtPolyState
 CdtProximityGrid
 CdtQueryFilterDefines polygon filtering and traversal costs for navigation mesh query operations
 CdtRaycastHitProvides information about raycast hit filled by dtNavMeshQuery::raycast
 CdtSegInterval
 CdtTempContour
 CdtTileCache
 CdtTileCacheAlloc
 CdtTileCacheCompressor
 CdtTileCacheContour
 CdtTileCacheContourSet
 CdtTileCacheLayer
 CdtTileCacheLayerHeader
 CdtTileCacheMeshProcess
 CdtTileCacheObstacle
 CdtTileCacheParams
 CdtTileCachePolyMesh
 CdtTileState
 CduDebugDrawAbstract debug draw interface
 CduDisplayList
 CduFileIO
 CFastLZCompressor
 CFileIOStdio file implementation
 CGLCheckerTexture
 CGraphParams
 CGuiState
 CimguiGfxCmd
 CimguiGfxLine
 CimguiGfxRect
 CimguiGfxText
 CInputGeom
 CLinearAllocator
 CMeshProcess
 CNavmeshFlags
 CNavMeshPruneTool
 CNavMeshSetHeader
 CNavMeshTesterTool
 CNavMeshTileBuildContext
 CNavMeshTileHeader
 CNavMeshTileTool
 COffMeshConnectionTool
 CRasterizationContext
 CrcChunkyTriMesh
 CrcChunkyTriMeshNode
 CrcCompactCellProvides information on the content of a cell column in a compact heightfield
 CrcCompactHeightfieldA compact, static heightfield representing unobstructed space
 CrcCompactSpanRepresents a span of unobstructed space within a compact heightfield
 CrcConfigSpecifies a configuration to use when performing Recast builds
 CrcContextProvides an interface for optional logging and performance tracking of the Recast build process
 CrcContourRepresents a simple, non-overlapping contour in field space
 CrcContourHole
 CrcContourRegion
 CrcContourSetRepresents a group of related contours
 CrcEdge
 CrcHeightfieldA dynamic heightfield representing obstructed space
 CrcHeightfieldLayerRepresents a heightfield layer within a layer set
 CrcHeightfieldLayerSetRepresents a set of heightfield layers
 CrcHeightPatch
 CrcIntArrayLegacy class. Prefer rcVector<int>
 CrcLayerRegion
 CrcLayerSweepSpan
 CrcMeshLoaderObj
 CrcNewTagAn implementation of operator new usable for placement new
 CrcPermVector
 CrcPolyMeshRepresents a polygon mesh suitable for use in building a navigation mesh
 CrcPolyMeshDetailContains triangle meshes that represent detailed height data associated with the polygons in its associated polygon mesh object
 CrcPotentialDiagonal
 CrcRegion
 CrcScopedDeleteA simple helper class used to delete an array when it goes out of scope
 CrcScopedTimerA helper to first start a timer and then stop it when this helper goes out of scope
 CrcSpanRepresents a span in a heightfield
 CrcSpanPoolA memory pool used for quick allocation of spans within a heightfield
 CrcSweepSpan
 CrcTempVector
 CrcVectorBaseVariable-sized storage type
 CSample
 CSample_DebugSample used for random debugging
 CSample_SoloMesh
 CSample_TempObstacles
 CSample_TileMesh
 CSampleDebugDraw
 CSampleItem
 CSampleTool
 CSampleToolState
 CTempObstacleCreateTool
 CTempObstacleHilightTool
 CTestCase
 CTileCacheData
 CTileCacheSetHeader
 CTileCacheTileHeader
 CValueHistory
+
+
+
+ + + + + diff --git a/annotated_dup.js b/annotated_dup.js new file mode 100644 index 00000000..de66e42b --- /dev/null +++ b/annotated_dup.js @@ -0,0 +1,143 @@ +var annotated_dup = +[ + [ "BoundsItem", "structBoundsItem.html", "structBoundsItem" ], + [ "BuildContext", "classBuildContext.html", "classBuildContext" ], + [ "BuildSettings", "structBuildSettings.html", "structBuildSettings" ], + [ "BVItem", "structBVItem.html", "structBVItem" ], + [ "ConvexVolume", "structConvexVolume.html", "structConvexVolume" ], + [ "ConvexVolumeTool", "classConvexVolumeTool.html", "classConvexVolumeTool" ], + [ "CrowdTool", "classCrowdTool.html", "classCrowdTool" ], + [ "CrowdToolParams", "structCrowdToolParams.html", "structCrowdToolParams" ], + [ "CrowdToolState", "classCrowdToolState.html", "classCrowdToolState" ], + [ "DebugDrawGL", "classDebugDrawGL.html", "classDebugDrawGL" ], + [ "DirtyEntry", "structDirtyEntry.html", "structDirtyEntry" ], + [ "dtBVNode", "structdtBVNode.html", "structdtBVNode" ], + [ "dtCollectPolysQuery", "classdtCollectPolysQuery.html", "classdtCollectPolysQuery" ], + [ "dtCompressedTile", "structdtCompressedTile.html", "structdtCompressedTile" ], + [ "dtCrowd", "classdtCrowd.html", "classdtCrowd" ], + [ "dtCrowdAgent", "structdtCrowdAgent.html", "structdtCrowdAgent" ], + [ "dtCrowdAgentAnimation", "structdtCrowdAgentAnimation.html", "structdtCrowdAgentAnimation" ], + [ "dtCrowdAgentDebugInfo", "structdtCrowdAgentDebugInfo.html", "structdtCrowdAgentDebugInfo" ], + [ "dtCrowdAgentParams", "structdtCrowdAgentParams.html", "structdtCrowdAgentParams" ], + [ "dtCrowdNeighbour", "structdtCrowdNeighbour.html", "structdtCrowdNeighbour" ], + [ "dtFindNearestPolyQuery", "classdtFindNearestPolyQuery.html", "classdtFindNearestPolyQuery" ], + [ "dtFixedArray", "classdtFixedArray.html", "classdtFixedArray" ], + [ "dtLayerMonotoneRegion", "structdtLayerMonotoneRegion.html", "structdtLayerMonotoneRegion" ], + [ "dtLayerSweepSpan", "structdtLayerSweepSpan.html", "structdtLayerSweepSpan" ], + [ "dtLink", "structdtLink.html", "structdtLink" ], + [ "dtLocalBoundary", "classdtLocalBoundary.html", "classdtLocalBoundary" ], + [ "dtMeshHeader", "structdtMeshHeader.html", "structdtMeshHeader" ], + [ "dtMeshTile", "structdtMeshTile.html", "structdtMeshTile" ], + [ "dtNavMesh", "classdtNavMesh.html", "classdtNavMesh" ], + [ "dtNavMeshCreateParams", "structdtNavMeshCreateParams.html", "structdtNavMeshCreateParams" ], + [ "dtNavMeshParams", "structdtNavMeshParams.html", "structdtNavMeshParams" ], + [ "dtNavMeshQuery", "classdtNavMeshQuery.html", "classdtNavMeshQuery" ], + [ "dtNode", "structdtNode.html", "structdtNode" ], + [ "dtNodePool", "classdtNodePool.html", "classdtNodePool" ], + [ "dtNodeQueue", "classdtNodeQueue.html", "classdtNodeQueue" ], + [ "dtObstacleAvoidanceDebugData", "classdtObstacleAvoidanceDebugData.html", "classdtObstacleAvoidanceDebugData" ], + [ "dtObstacleAvoidanceParams", "structdtObstacleAvoidanceParams.html", "structdtObstacleAvoidanceParams" ], + [ "dtObstacleAvoidanceQuery", "classdtObstacleAvoidanceQuery.html", "classdtObstacleAvoidanceQuery" ], + [ "dtObstacleBox", "structdtObstacleBox.html", "structdtObstacleBox" ], + [ "dtObstacleCircle", "structdtObstacleCircle.html", "structdtObstacleCircle" ], + [ "dtObstacleCylinder", "structdtObstacleCylinder.html", "structdtObstacleCylinder" ], + [ "dtObstacleOrientedBox", "structdtObstacleOrientedBox.html", "structdtObstacleOrientedBox" ], + [ "dtObstacleSegment", "structdtObstacleSegment.html", "structdtObstacleSegment" ], + [ "dtOffMeshConnection", "structdtOffMeshConnection.html", "structdtOffMeshConnection" ], + [ "dtPathCorridor", "classdtPathCorridor.html", "classdtPathCorridor" ], + [ "dtPathQueue", "classdtPathQueue.html", "classdtPathQueue" ], + [ "dtPoly", "structdtPoly.html", "structdtPoly" ], + [ "dtPolyDetail", "structdtPolyDetail.html", "structdtPolyDetail" ], + [ "dtPolyQuery", "classdtPolyQuery.html", "classdtPolyQuery" ], + [ "dtPolyState", "structdtPolyState.html", "structdtPolyState" ], + [ "dtProximityGrid", "classdtProximityGrid.html", "classdtProximityGrid" ], + [ "dtQueryFilter", "classdtQueryFilter.html", "classdtQueryFilter" ], + [ "dtRaycastHit", "structdtRaycastHit.html", "structdtRaycastHit" ], + [ "dtSegInterval", "structdtSegInterval.html", "structdtSegInterval" ], + [ "dtTempContour", "structdtTempContour.html", "structdtTempContour" ], + [ "dtTileCache", "classdtTileCache.html", "classdtTileCache" ], + [ "dtTileCacheAlloc", "structdtTileCacheAlloc.html", "structdtTileCacheAlloc" ], + [ "dtTileCacheCompressor", "structdtTileCacheCompressor.html", "structdtTileCacheCompressor" ], + [ "dtTileCacheContour", "structdtTileCacheContour.html", "structdtTileCacheContour" ], + [ "dtTileCacheContourSet", "structdtTileCacheContourSet.html", "structdtTileCacheContourSet" ], + [ "dtTileCacheLayer", "structdtTileCacheLayer.html", "structdtTileCacheLayer" ], + [ "dtTileCacheLayerHeader", "structdtTileCacheLayerHeader.html", "structdtTileCacheLayerHeader" ], + [ "dtTileCacheMeshProcess", "structdtTileCacheMeshProcess.html", "structdtTileCacheMeshProcess" ], + [ "dtTileCacheObstacle", "structdtTileCacheObstacle.html", "structdtTileCacheObstacle" ], + [ "dtTileCacheParams", "structdtTileCacheParams.html", "structdtTileCacheParams" ], + [ "dtTileCachePolyMesh", "structdtTileCachePolyMesh.html", "structdtTileCachePolyMesh" ], + [ "dtTileState", "structdtTileState.html", "structdtTileState" ], + [ "duDebugDraw", "structduDebugDraw.html", "structduDebugDraw" ], + [ "duDisplayList", "classduDisplayList.html", "classduDisplayList" ], + [ "duFileIO", "structduFileIO.html", "structduFileIO" ], + [ "FastLZCompressor", "structFastLZCompressor.html", "structFastLZCompressor" ], + [ "FileIO", "classFileIO.html", "classFileIO" ], + [ "GLCheckerTexture", "classGLCheckerTexture.html", "classGLCheckerTexture" ], + [ "GraphParams", "structGraphParams.html", "structGraphParams" ], + [ "GuiState", "structGuiState.html", "structGuiState" ], + [ "imguiGfxCmd", "structimguiGfxCmd.html", "structimguiGfxCmd" ], + [ "imguiGfxLine", "structimguiGfxLine.html", "structimguiGfxLine" ], + [ "imguiGfxRect", "structimguiGfxRect.html", "structimguiGfxRect" ], + [ "imguiGfxText", "structimguiGfxText.html", "structimguiGfxText" ], + [ "InputGeom", "classInputGeom.html", "classInputGeom" ], + [ "LinearAllocator", "structLinearAllocator.html", "structLinearAllocator" ], + [ "MeshProcess", "structMeshProcess.html", "structMeshProcess" ], + [ "NavmeshFlags", "classNavmeshFlags.html", "classNavmeshFlags" ], + [ "NavMeshPruneTool", "classNavMeshPruneTool.html", "classNavMeshPruneTool" ], + [ "NavMeshSetHeader", "structNavMeshSetHeader.html", "structNavMeshSetHeader" ], + [ "NavMeshTesterTool", "classNavMeshTesterTool.html", "classNavMeshTesterTool" ], + [ "NavMeshTileBuildContext", "structNavMeshTileBuildContext.html", "structNavMeshTileBuildContext" ], + [ "NavMeshTileHeader", "structNavMeshTileHeader.html", "structNavMeshTileHeader" ], + [ "NavMeshTileTool", "classNavMeshTileTool.html", "classNavMeshTileTool" ], + [ "OffMeshConnectionTool", "classOffMeshConnectionTool.html", "classOffMeshConnectionTool" ], + [ "RasterizationContext", "structRasterizationContext.html", "structRasterizationContext" ], + [ "rcChunkyTriMesh", "structrcChunkyTriMesh.html", "structrcChunkyTriMesh" ], + [ "rcChunkyTriMeshNode", "structrcChunkyTriMeshNode.html", "structrcChunkyTriMeshNode" ], + [ "rcCompactCell", "structrcCompactCell.html", "structrcCompactCell" ], + [ "rcCompactHeightfield", "structrcCompactHeightfield.html", "structrcCompactHeightfield" ], + [ "rcCompactSpan", "structrcCompactSpan.html", "structrcCompactSpan" ], + [ "rcConfig", "structrcConfig.html", "structrcConfig" ], + [ "rcContext", "classrcContext.html", "classrcContext" ], + [ "rcContour", "structrcContour.html", "structrcContour" ], + [ "rcContourHole", "structrcContourHole.html", "structrcContourHole" ], + [ "rcContourRegion", "structrcContourRegion.html", "structrcContourRegion" ], + [ "rcContourSet", "structrcContourSet.html", "structrcContourSet" ], + [ "rcEdge", "structrcEdge.html", "structrcEdge" ], + [ "rcHeightfield", "structrcHeightfield.html", "structrcHeightfield" ], + [ "rcHeightfieldLayer", "structrcHeightfieldLayer.html", "structrcHeightfieldLayer" ], + [ "rcHeightfieldLayerSet", "structrcHeightfieldLayerSet.html", "structrcHeightfieldLayerSet" ], + [ "rcHeightPatch", "structrcHeightPatch.html", "structrcHeightPatch" ], + [ "rcIntArray", "classrcIntArray.html", "classrcIntArray" ], + [ "rcLayerRegion", "structrcLayerRegion.html", "structrcLayerRegion" ], + [ "rcLayerSweepSpan", "structrcLayerSweepSpan.html", "structrcLayerSweepSpan" ], + [ "rcMeshLoaderObj", "classrcMeshLoaderObj.html", "classrcMeshLoaderObj" ], + [ "rcNewTag", "structrcNewTag.html", null ], + [ "rcPermVector", "classrcPermVector.html", "classrcPermVector" ], + [ "rcPolyMesh", "structrcPolyMesh.html", "structrcPolyMesh" ], + [ "rcPolyMeshDetail", "structrcPolyMeshDetail.html", "structrcPolyMeshDetail" ], + [ "rcPotentialDiagonal", "structrcPotentialDiagonal.html", "structrcPotentialDiagonal" ], + [ "rcRegion", "structrcRegion.html", "structrcRegion" ], + [ "rcScopedDelete", "classrcScopedDelete.html", "classrcScopedDelete" ], + [ "rcScopedTimer", "classrcScopedTimer.html", "classrcScopedTimer" ], + [ "rcSpan", "structrcSpan.html", "structrcSpan" ], + [ "rcSpanPool", "structrcSpanPool.html", "structrcSpanPool" ], + [ "rcSweepSpan", "structrcSweepSpan.html", "structrcSweepSpan" ], + [ "rcTempVector", "classrcTempVector.html", "classrcTempVector" ], + [ "rcVectorBase", "classrcVectorBase.html", "classrcVectorBase" ], + [ "Sample", "classSample.html", "classSample" ], + [ "Sample_Debug", "classSample__Debug.html", "classSample__Debug" ], + [ "Sample_SoloMesh", "classSample__SoloMesh.html", "classSample__SoloMesh" ], + [ "Sample_TempObstacles", "classSample__TempObstacles.html", "classSample__TempObstacles" ], + [ "Sample_TileMesh", "classSample__TileMesh.html", "classSample__TileMesh" ], + [ "SampleDebugDraw", "classSampleDebugDraw.html", "classSampleDebugDraw" ], + [ "SampleItem", "structSampleItem.html", "structSampleItem" ], + [ "SampleTool", "structSampleTool.html", "structSampleTool" ], + [ "SampleToolState", "structSampleToolState.html", "structSampleToolState" ], + [ "TempObstacleCreateTool", "classTempObstacleCreateTool.html", "classTempObstacleCreateTool" ], + [ "TempObstacleHilightTool", "classTempObstacleHilightTool.html", "classTempObstacleHilightTool" ], + [ "TestCase", "classTestCase.html", "classTestCase" ], + [ "TileCacheData", "structTileCacheData.html", "structTileCacheData" ], + [ "TileCacheSetHeader", "structTileCacheSetHeader.html", "structTileCacheSetHeader" ], + [ "TileCacheTileHeader", "structTileCacheTileHeader.html", "structTileCacheTileHeader" ], + [ "ValueHistory", "classValueHistory.html", "classValueHistory" ] +]; \ No newline at end of file diff --git a/bc_s.png b/bc_s.png new file mode 100644 index 00000000..224b29aa Binary files /dev/null and b/bc_s.png differ diff --git a/bdwn.png b/bdwn.png new file mode 100644 index 00000000..940a0b95 Binary files /dev/null and b/bdwn.png differ diff --git a/classBuildContext-members.html b/classBuildContext-members.html new file mode 100644 index 00000000..7d84c9ca --- /dev/null +++ b/classBuildContext-members.html @@ -0,0 +1,128 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
BuildContext Member List
+
+
+ +

This is the complete list of members for BuildContext, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + +
BuildContext()BuildContext
doGetAccumulatedTime(const rcTimerLabel label) constBuildContextprotectedvirtual
doLog(const rcLogCategory category, const char *msg, const int len)BuildContextprotectedvirtual
doResetLog()BuildContextprotectedvirtual
doResetTimers()BuildContextprotectedvirtual
doStartTimer(const rcTimerLabel label)BuildContextprotectedvirtual
doStopTimer(const rcTimerLabel label)BuildContextprotectedvirtual
dumpLog(const char *format,...)BuildContext
enableLog(bool state)rcContextinline
enableTimer(bool state)rcContextinline
getAccumulatedTime(const rcTimerLabel label) constrcContextinline
getLogCount() constBuildContext
getLogText(const int i) constBuildContext
log(const rcLogCategory category, const char *format,...)rcContext
m_logEnabledrcContextprotected
m_timerEnabledrcContextprotected
rcContext(bool state=true)rcContextinline
resetLog()rcContextinline
resetTimers()rcContextinline
startTimer(const rcTimerLabel label)rcContextinline
stopTimer(const rcTimerLabel label)rcContextinline
~rcContext()rcContextinlinevirtual
+
+ + + + + diff --git a/classBuildContext.html b/classBuildContext.html new file mode 100644 index 00000000..1667c2ed --- /dev/null +++ b/classBuildContext.html @@ -0,0 +1,513 @@ + + + + + + + +Recast Navigation: BuildContext Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
BuildContext Class Reference
+
+
+ +

Recast build context. + More...

+ +

#include <SampleInterfaces.h>

+
+Inheritance diagram for BuildContext:
+
+
+ + +rcContext + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 BuildContext ()
 
void dumpLog (const char *format,...)
 Dumps the log to stdout. More...
 
int getLogCount () const
 Returns number of log messages. More...
 
const char * getLogText (const int i) const
 Returns log message text. More...
 
- Public Member Functions inherited from rcContext
 rcContext (bool state=true)
 Constructor. More...
 
virtual ~rcContext ()
 
void enableLog (bool state)
 Enables or disables logging. More...
 
void resetLog ()
 Clears all log entries. More...
 
void log (const rcLogCategory category, const char *format,...)
 Logs a message. More...
 
void enableTimer (bool state)
 Enables or disables the performance timers. More...
 
void resetTimers ()
 Clears all performance timers. (Resets all to unused.) More...
 
void startTimer (const rcTimerLabel label)
 Starts the specified performance timer. More...
 
void stopTimer (const rcTimerLabel label)
 Stops the specified performance timer. More...
 
int getAccumulatedTime (const rcTimerLabel label) const
 Returns the total accumulated time of the specified performance timer. More...
 
+ + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

virtual void doResetLog ()
 Virtual functions for custom implementations. More...
 
virtual void doLog (const rcLogCategory category, const char *msg, const int len)
 Logs a message. More...
 
virtual void doResetTimers ()
 Clears all timers. (Resets all to unused.) More...
 
virtual void doStartTimer (const rcTimerLabel label)
 Starts the specified performance timer. More...
 
virtual void doStopTimer (const rcTimerLabel label)
 Stops the specified performance timer. More...
 
virtual int doGetAccumulatedTime (const rcTimerLabel label) const
 Returns the total accumulated time of the specified performance timer. More...
 
+ + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from rcContext
bool m_logEnabled
 True if logging is enabled. More...
 
bool m_timerEnabled
 True if the performance timers are enabled. More...
 
+

Description

+

Recast build context.

+

Constructor & Destructor Documentation

+ +

◆ BuildContext()

+ +
+
+ + + + + + + +
BuildContext::BuildContext ()
+
+ +
+
+

Member Function Documentation

+ +

◆ doGetAccumulatedTime()

+ +
+
+ + + + + +
+ + + + + + + + +
int BuildContext::doGetAccumulatedTime (const rcTimerLabel label) const
+
+protectedvirtual
+
+ +

Returns the total accumulated time of the specified performance timer.

+
Parameters
+ + +
[in]labelThe category of the timer.
+
+
+
Returns
The accumulated time of the timer, or -1 if timers are disabled or the timer has never been started.
+ +

Reimplemented from rcContext.

+ +
+
+ +

◆ doLog()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void BuildContext::doLog (const rcLogCategory category,
const char * msg,
const int len 
)
+
+protectedvirtual
+
+ +

Logs a message.

+
Parameters
+ + + + +
[in]categoryThe category of the message.
[in]msgThe formatted message.
[in]lenThe length of the formatted message.
+
+
+ +

Reimplemented from rcContext.

+ +
+
+ +

◆ doResetLog()

+ +
+
+ + + + + +
+ + + + + + + +
void BuildContext::doResetLog ()
+
+protectedvirtual
+
+ +

Virtual functions for custom implementations.

+ +

Reimplemented from rcContext.

+ +
+
+ +

◆ doResetTimers()

+ +
+
+ + + + + +
+ + + + + + + +
void BuildContext::doResetTimers ()
+
+protectedvirtual
+
+ +

Clears all timers. (Resets all to unused.)

+ +

Reimplemented from rcContext.

+ +
+
+ +

◆ doStartTimer()

+ +
+
+ + + + + +
+ + + + + + + + +
void BuildContext::doStartTimer (const rcTimerLabel label)
+
+protectedvirtual
+
+ +

Starts the specified performance timer.

+
Parameters
+ + +
[in]labelThe category of timer.
+
+
+ +

Reimplemented from rcContext.

+ +
+
+ +

◆ doStopTimer()

+ +
+
+ + + + + +
+ + + + + + + + +
void BuildContext::doStopTimer (const rcTimerLabel label)
+
+protectedvirtual
+
+ +

Stops the specified performance timer.

+
Parameters
+ + +
[in]labelThe category of the timer.
+
+
+ +

Reimplemented from rcContext.

+ +
+
+ +

◆ dumpLog()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void BuildContext::dumpLog (const char * format,
 ... 
)
+
+ +

Dumps the log to stdout.

+ +
+
+ +

◆ getLogCount()

+ +
+
+ + + + + + + +
int BuildContext::getLogCount () const
+
+ +

Returns number of log messages.

+ +
+
+ +

◆ getLogText()

+ +
+
+ + + + + + + + +
const char * BuildContext::getLogText (const int i) const
+
+ +

Returns log message text.

+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classBuildContext.js b/classBuildContext.js new file mode 100644 index 00000000..027bc2b5 --- /dev/null +++ b/classBuildContext.js @@ -0,0 +1,13 @@ +var classBuildContext = +[ + [ "BuildContext", "classBuildContext.html#a3103b5538cfde15052e20019018fb3de", null ], + [ "doGetAccumulatedTime", "classBuildContext.html#afe967c44fb17381c0269d10dc3ca29e2", null ], + [ "doLog", "classBuildContext.html#abede9aa172801c0823a679f2431ea932", null ], + [ "doResetLog", "classBuildContext.html#a509a0b0bb977dde5bf7a37d949a1e5f9", null ], + [ "doResetTimers", "classBuildContext.html#a8b823f519f70e837cade2c4c0ef9f12e", null ], + [ "doStartTimer", "classBuildContext.html#ace76debfb627862f622539622f118a55", null ], + [ "doStopTimer", "classBuildContext.html#a4be9c92146f0b433a330a965ffa37d3c", null ], + [ "dumpLog", "classBuildContext.html#aeaaab27f3952ade9fbb1e5ac85c4bf8b", null ], + [ "getLogCount", "classBuildContext.html#a94c60dd0d7398cddc2898a3b7b0ec220", null ], + [ "getLogText", "classBuildContext.html#af63760315f9dcdd54dad7bc82bdc9e9f", null ] +]; \ No newline at end of file diff --git a/classBuildContext.png b/classBuildContext.png new file mode 100644 index 00000000..abaac33a Binary files /dev/null and b/classBuildContext.png differ diff --git a/classConvexVolumeTool-members.html b/classConvexVolumeTool-members.html new file mode 100644 index 00000000..d048ce85 --- /dev/null +++ b/classConvexVolumeTool-members.html @@ -0,0 +1,118 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ConvexVolumeTool Member List
+
+
+ +

This is the complete list of members for ConvexVolumeTool, including all inherited members.

+ + + + + + + + + + + + + +
ConvexVolumeTool()ConvexVolumeTool
handleClick(const float *s, const float *p, bool shift)ConvexVolumeToolvirtual
handleMenu()ConvexVolumeToolvirtual
handleRender()ConvexVolumeToolvirtual
handleRenderOverlay(double *proj, double *model, int *view)ConvexVolumeToolvirtual
handleStep()ConvexVolumeToolvirtual
handleToggle()ConvexVolumeToolvirtual
handleUpdate(const float dt)ConvexVolumeToolvirtual
init(Sample *sample)ConvexVolumeToolvirtual
reset()ConvexVolumeToolvirtual
type()ConvexVolumeToolinlinevirtual
~SampleTool()SampleToolvirtual
+
+ + + + + diff --git a/classConvexVolumeTool.html b/classConvexVolumeTool.html new file mode 100644 index 00000000..054e428a --- /dev/null +++ b/classConvexVolumeTool.html @@ -0,0 +1,476 @@ + + + + + + + +Recast Navigation: ConvexVolumeTool Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
ConvexVolumeTool Class Reference
+
+
+ +

#include <ConvexVolumeTool.h>

+
+Inheritance diagram for ConvexVolumeTool:
+
+
+ + +SampleTool + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ConvexVolumeTool ()
 
virtual int type ()
 
virtual void init (Sample *sample)
 
virtual void reset ()
 
virtual void handleMenu ()
 
virtual void handleClick (const float *s, const float *p, bool shift)
 
virtual void handleToggle ()
 
virtual void handleStep ()
 
virtual void handleUpdate (const float dt)
 
virtual void handleRender ()
 
virtual void handleRenderOverlay (double *proj, double *model, int *view)
 
- Public Member Functions inherited from SampleTool
virtual ~SampleTool ()
 
+

Constructor & Destructor Documentation

+ +

◆ ConvexVolumeTool()

+ +
+
+ + + + + + + +
ConvexVolumeTool::ConvexVolumeTool ()
+
+ +
+
+

Member Function Documentation

+ +

◆ handleClick()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void ConvexVolumeTool::handleClick (const float * s,
const float * p,
bool shift 
)
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleMenu()

+ +
+
+ + + + + +
+ + + + + + + +
void ConvexVolumeTool::handleMenu ()
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleRender()

+ +
+
+ + + + + +
+ + + + + + + +
void ConvexVolumeTool::handleRender ()
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleRenderOverlay()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void ConvexVolumeTool::handleRenderOverlay (double * proj,
double * model,
int * view 
)
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleStep()

+ +
+
+ + + + + +
+ + + + + + + +
void ConvexVolumeTool::handleStep ()
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleToggle()

+ +
+
+ + + + + +
+ + + + + + + +
void ConvexVolumeTool::handleToggle ()
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleUpdate()

+ +
+
+ + + + + +
+ + + + + + + + +
void ConvexVolumeTool::handleUpdate (const float dt)
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ init()

+ +
+
+ + + + + +
+ + + + + + + + +
void ConvexVolumeTool::init (Samplesample)
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ reset()

+ +
+
+ + + + + +
+ + + + + + + +
void ConvexVolumeTool::reset ()
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ type()

+ +
+
+ + + + + +
+ + + + + + + +
virtual int ConvexVolumeTool::type ()
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classConvexVolumeTool.js b/classConvexVolumeTool.js new file mode 100644 index 00000000..dd058909 --- /dev/null +++ b/classConvexVolumeTool.js @@ -0,0 +1,14 @@ +var classConvexVolumeTool = +[ + [ "ConvexVolumeTool", "classConvexVolumeTool.html#a45d29f1ecd1ea648fee54ea1aa10b6c3", null ], + [ "handleClick", "classConvexVolumeTool.html#ab08815465ecb5f424ec136663221cbda", null ], + [ "handleMenu", "classConvexVolumeTool.html#ad59fb729fe96406bc4254083189d01b0", null ], + [ "handleRender", "classConvexVolumeTool.html#a83f337f3a9a96ad6464c9179ad663a11", null ], + [ "handleRenderOverlay", "classConvexVolumeTool.html#af1ebf43ef0309a5f058ae8094dd83312", null ], + [ "handleStep", "classConvexVolumeTool.html#a5b0e8ab26df0ee701a69b291691cfcbf", null ], + [ "handleToggle", "classConvexVolumeTool.html#af1e59f31ba0dd44fdf18bb3abccc81c2", null ], + [ "handleUpdate", "classConvexVolumeTool.html#ab3a94dcc4cab914af5ae1d0b8446c951", null ], + [ "init", "classConvexVolumeTool.html#a9787b22592b80a6494450c60ccd50165", null ], + [ "reset", "classConvexVolumeTool.html#a1d76b864c30767fc81ade0dbaa44e6af", null ], + [ "type", "classConvexVolumeTool.html#abb88ba3138d3e187b32e94dcf9874aeb", null ] +]; \ No newline at end of file diff --git a/classConvexVolumeTool.png b/classConvexVolumeTool.png new file mode 100644 index 00000000..4b046d9f Binary files /dev/null and b/classConvexVolumeTool.png differ diff --git a/classCrowdTool-members.html b/classCrowdTool-members.html new file mode 100644 index 00000000..dd7c8902 --- /dev/null +++ b/classCrowdTool-members.html @@ -0,0 +1,118 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
CrowdTool Member List
+
+
+ +

This is the complete list of members for CrowdTool, including all inherited members.

+ + + + + + + + + + + + + +
CrowdTool()CrowdTool
handleClick(const float *s, const float *p, bool shift)CrowdToolvirtual
handleMenu()CrowdToolvirtual
handleRender()CrowdToolvirtual
handleRenderOverlay(double *proj, double *model, int *view)CrowdToolvirtual
handleStep()CrowdToolvirtual
handleToggle()CrowdToolvirtual
handleUpdate(const float dt)CrowdToolvirtual
init(Sample *sample)CrowdToolvirtual
reset()CrowdToolvirtual
type()CrowdToolinlinevirtual
~SampleTool()SampleToolvirtual
+
+ + + + + diff --git a/classCrowdTool.html b/classCrowdTool.html new file mode 100644 index 00000000..2152ffd2 --- /dev/null +++ b/classCrowdTool.html @@ -0,0 +1,476 @@ + + + + + + + +Recast Navigation: CrowdTool Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
CrowdTool Class Reference
+
+
+ +

#include <CrowdTool.h>

+
+Inheritance diagram for CrowdTool:
+
+
+ + +SampleTool + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 CrowdTool ()
 
virtual int type ()
 
virtual void init (Sample *sample)
 
virtual void reset ()
 
virtual void handleMenu ()
 
virtual void handleClick (const float *s, const float *p, bool shift)
 
virtual void handleToggle ()
 
virtual void handleStep ()
 
virtual void handleUpdate (const float dt)
 
virtual void handleRender ()
 
virtual void handleRenderOverlay (double *proj, double *model, int *view)
 
- Public Member Functions inherited from SampleTool
virtual ~SampleTool ()
 
+

Constructor & Destructor Documentation

+ +

◆ CrowdTool()

+ +
+
+ + + + + + + +
CrowdTool::CrowdTool ()
+
+ +
+
+

Member Function Documentation

+ +

◆ handleClick()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CrowdTool::handleClick (const float * s,
const float * p,
bool shift 
)
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleMenu()

+ +
+
+ + + + + +
+ + + + + + + +
void CrowdTool::handleMenu ()
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleRender()

+ +
+
+ + + + + +
+ + + + + + + +
void CrowdTool::handleRender ()
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleRenderOverlay()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CrowdTool::handleRenderOverlay (double * proj,
double * model,
int * view 
)
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleStep()

+ +
+
+ + + + + +
+ + + + + + + +
void CrowdTool::handleStep ()
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleToggle()

+ +
+
+ + + + + +
+ + + + + + + +
void CrowdTool::handleToggle ()
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleUpdate()

+ +
+
+ + + + + +
+ + + + + + + + +
void CrowdTool::handleUpdate (const float dt)
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ init()

+ +
+
+ + + + + +
+ + + + + + + + +
void CrowdTool::init (Samplesample)
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ reset()

+ +
+
+ + + + + +
+ + + + + + + +
void CrowdTool::reset ()
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ type()

+ +
+
+ + + + + +
+ + + + + + + +
virtual int CrowdTool::type ()
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classCrowdTool.js b/classCrowdTool.js new file mode 100644 index 00000000..0b6b3cf2 --- /dev/null +++ b/classCrowdTool.js @@ -0,0 +1,14 @@ +var classCrowdTool = +[ + [ "CrowdTool", "classCrowdTool.html#aa66d04ddef79672215f8702a2b063f3c", null ], + [ "handleClick", "classCrowdTool.html#a8b1890ee57fab07f458d8370a86a6daa", null ], + [ "handleMenu", "classCrowdTool.html#a10481889d96be986ffbba99e4f4d751f", null ], + [ "handleRender", "classCrowdTool.html#a298f481f68d5e8a0cb183c276d182d44", null ], + [ "handleRenderOverlay", "classCrowdTool.html#a00641ff12ce93e817d07f9cfda7d500b", null ], + [ "handleStep", "classCrowdTool.html#aff96223c09183019e6d97ec67e6ad60d", null ], + [ "handleToggle", "classCrowdTool.html#ac2427807187d8c2469d021a714f99266", null ], + [ "handleUpdate", "classCrowdTool.html#a8d815cab99740e219ef4ef2d1172936a", null ], + [ "init", "classCrowdTool.html#ab6c04d1bc27ac8ce00124e3f8936e7f4", null ], + [ "reset", "classCrowdTool.html#ad997d15d14cf4815d57f843186faeba7", null ], + [ "type", "classCrowdTool.html#a5b7f620a8f1f319990286c12a4ce2e2d", null ] +]; \ No newline at end of file diff --git a/classCrowdTool.png b/classCrowdTool.png new file mode 100644 index 00000000..526d3d3b Binary files /dev/null and b/classCrowdTool.png differ diff --git a/classCrowdToolState-members.html b/classCrowdToolState-members.html new file mode 100644 index 00000000..3009415d --- /dev/null +++ b/classCrowdToolState-members.html @@ -0,0 +1,124 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
CrowdToolState Member List
+
+
+ +

This is the complete list of members for CrowdToolState, including all inherited members.

+ + + + + + + + + + + + + + + + + + + +
addAgent(const float *pos)CrowdToolState
CrowdToolState()CrowdToolState
getToolParams()CrowdToolStateinline
handleRender()CrowdToolStatevirtual
handleRenderOverlay(double *proj, double *model, int *view)CrowdToolStatevirtual
handleUpdate(const float dt)CrowdToolStatevirtual
hilightAgent(const int idx)CrowdToolState
hitTestAgents(const float *s, const float *p)CrowdToolState
init(class Sample *sample)CrowdToolStatevirtual
isRunning() constCrowdToolStateinline
removeAgent(const int idx)CrowdToolState
reset()CrowdToolStatevirtual
setMoveTarget(const float *p, bool adjust)CrowdToolState
setRunning(const bool s)CrowdToolStateinline
updateAgentParams()CrowdToolState
updateTick(const float dt)CrowdToolState
~CrowdToolState()CrowdToolStatevirtual
~SampleToolState()SampleToolStatevirtual
+
+ + + + + diff --git a/classCrowdToolState.html b/classCrowdToolState.html new file mode 100644 index 00000000..a299d1ac --- /dev/null +++ b/classCrowdToolState.html @@ -0,0 +1,583 @@ + + + + + + + +Recast Navigation: CrowdToolState Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
CrowdToolState Class Reference
+
+
+ +

#include <CrowdTool.h>

+
+Inheritance diagram for CrowdToolState:
+
+
+ + +SampleToolState + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 CrowdToolState ()
 
virtual ~CrowdToolState ()
 
virtual void init (class Sample *sample)
 
virtual void reset ()
 
virtual void handleRender ()
 
virtual void handleRenderOverlay (double *proj, double *model, int *view)
 
virtual void handleUpdate (const float dt)
 
bool isRunning () const
 
void setRunning (const bool s)
 
void addAgent (const float *pos)
 
void removeAgent (const int idx)
 
void hilightAgent (const int idx)
 
void updateAgentParams ()
 
int hitTestAgents (const float *s, const float *p)
 
void setMoveTarget (const float *p, bool adjust)
 
void updateTick (const float dt)
 
CrowdToolParamsgetToolParams ()
 
- Public Member Functions inherited from SampleToolState
virtual ~SampleToolState ()
 
+

Constructor & Destructor Documentation

+ +

◆ CrowdToolState()

+ +
+
+ + + + + + + +
CrowdToolState::CrowdToolState ()
+
+ +
+
+ +

◆ ~CrowdToolState()

+ +
+
+ + + + + +
+ + + + + + + +
CrowdToolState::~CrowdToolState ()
+
+virtual
+
+ +
+
+

Member Function Documentation

+ +

◆ addAgent()

+ +
+
+ + + + + + + + +
void CrowdToolState::addAgent (const float * pos)
+
+ +
+
+ +

◆ getToolParams()

+ +
+
+ + + + + +
+ + + + + + + +
CrowdToolParams* CrowdToolState::getToolParams ()
+
+inline
+
+ +
+
+ +

◆ handleRender()

+ +
+
+ + + + + +
+ + + + + + + +
void CrowdToolState::handleRender ()
+
+virtual
+
+ +

Implements SampleToolState.

+ +
+
+ +

◆ handleRenderOverlay()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CrowdToolState::handleRenderOverlay (double * proj,
double * model,
int * view 
)
+
+virtual
+
+ +

Implements SampleToolState.

+ +
+
+ +

◆ handleUpdate()

+ +
+
+ + + + + +
+ + + + + + + + +
void CrowdToolState::handleUpdate (const float dt)
+
+virtual
+
+ +

Implements SampleToolState.

+ +
+
+ +

◆ hilightAgent()

+ +
+
+ + + + + + + + +
void CrowdToolState::hilightAgent (const int idx)
+
+ +
+
+ +

◆ hitTestAgents()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int CrowdToolState::hitTestAgents (const float * s,
const float * p 
)
+
+ +
+
+ +

◆ init()

+ +
+
+ + + + + +
+ + + + + + + + +
void CrowdToolState::init (class Samplesample)
+
+virtual
+
+ +

Implements SampleToolState.

+ +
+
+ +

◆ isRunning()

+ +
+
+ + + + + +
+ + + + + + + +
bool CrowdToolState::isRunning () const
+
+inline
+
+ +
+
+ +

◆ removeAgent()

+ +
+
+ + + + + + + + +
void CrowdToolState::removeAgent (const int idx)
+
+ +
+
+ +

◆ reset()

+ +
+
+ + + + + +
+ + + + + + + +
void CrowdToolState::reset ()
+
+virtual
+
+ +

Implements SampleToolState.

+ +
+
+ +

◆ setMoveTarget()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void CrowdToolState::setMoveTarget (const float * p,
bool adjust 
)
+
+ +
+
+ +

◆ setRunning()

+ +
+
+ + + + + +
+ + + + + + + + +
void CrowdToolState::setRunning (const bool s)
+
+inline
+
+ +
+
+ +

◆ updateAgentParams()

+ +
+
+ + + + + + + +
void CrowdToolState::updateAgentParams ()
+
+ +
+
+ +

◆ updateTick()

+ +
+
+ + + + + + + + +
void CrowdToolState::updateTick (const float dt)
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classCrowdToolState.js b/classCrowdToolState.js new file mode 100644 index 00000000..a08b8e00 --- /dev/null +++ b/classCrowdToolState.js @@ -0,0 +1,20 @@ +var classCrowdToolState = +[ + [ "CrowdToolState", "classCrowdToolState.html#a27c76b496c852259d7f13cba5d3486a2", null ], + [ "~CrowdToolState", "classCrowdToolState.html#a565655ca9441a3df105c266743937f8b", null ], + [ "addAgent", "classCrowdToolState.html#aa9104be644522ca092091108506ca29c", null ], + [ "getToolParams", "classCrowdToolState.html#a7b1674127e1b1a0020ea471c78ae0809", null ], + [ "handleRender", "classCrowdToolState.html#a127ea871607dd8ca52c254100be1e0af", null ], + [ "handleRenderOverlay", "classCrowdToolState.html#aaaf12376476f0e109150ce7b0e618357", null ], + [ "handleUpdate", "classCrowdToolState.html#a5533329be79b7cc61a18dcc5dfe11ecd", null ], + [ "hilightAgent", "classCrowdToolState.html#abd1ba6578e4b0bbc48eabbafaaaab2bc", null ], + [ "hitTestAgents", "classCrowdToolState.html#a35659ce49a4932cefbb925ea6153c825", null ], + [ "init", "classCrowdToolState.html#a009cf74974dde6147a7f21b0901ad4c4", null ], + [ "isRunning", "classCrowdToolState.html#ae79c25d7281fbe91325cf7395bc6e6ee", null ], + [ "removeAgent", "classCrowdToolState.html#a17350c7e2780825c7e0d1ee8d72efc51", null ], + [ "reset", "classCrowdToolState.html#a759f52b7630a3799e6c616ab28b9e2df", null ], + [ "setMoveTarget", "classCrowdToolState.html#a07c2b6234747c5a0e412ee65d3be038a", null ], + [ "setRunning", "classCrowdToolState.html#a5ec55b2d7b4eae5639fdf77534e7db93", null ], + [ "updateAgentParams", "classCrowdToolState.html#a6054eb8441ec36876cbd2354b9c9957a", null ], + [ "updateTick", "classCrowdToolState.html#a57ac46cd3a33bd91e3e2280d03fb30d7", null ] +]; \ No newline at end of file diff --git a/classCrowdToolState.png b/classCrowdToolState.png new file mode 100644 index 00000000..e282103c Binary files /dev/null and b/classCrowdToolState.png differ diff --git a/classDebugDrawGL-members.html b/classDebugDrawGL-members.html new file mode 100644 index 00000000..1279e0f5 --- /dev/null +++ b/classDebugDrawGL-members.html @@ -0,0 +1,116 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DebugDrawGL Member List
+
+
+ +

This is the complete list of members for DebugDrawGL, including all inherited members.

+ + + + + + + + + + + +
areaToCol(unsigned int area)duDebugDrawvirtual
begin(duDebugDrawPrimitives prim, float size=1.0f)DebugDrawGLvirtual
depthMask(bool state)DebugDrawGLvirtual
end()DebugDrawGLvirtual
texture(bool state)DebugDrawGLvirtual
vertex(const float *pos, unsigned int color)DebugDrawGLvirtual
vertex(const float x, const float y, const float z, unsigned int color)DebugDrawGLvirtual
vertex(const float *pos, unsigned int color, const float *uv)DebugDrawGLvirtual
vertex(const float x, const float y, const float z, unsigned int color, const float u, const float v)DebugDrawGLvirtual
~duDebugDraw()=0duDebugDrawpure virtual
+
+ + + + + diff --git a/classDebugDrawGL.html b/classDebugDrawGL.html new file mode 100644 index 00000000..64f90340 --- /dev/null +++ b/classDebugDrawGL.html @@ -0,0 +1,525 @@ + + + + + + + +Recast Navigation: DebugDrawGL Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DebugDrawGL Class Reference
+
+
+ +

OpenGL debug draw implementation. + More...

+ +

#include <SampleInterfaces.h>

+
+Inheritance diagram for DebugDrawGL:
+
+
+ + +duDebugDraw +SampleDebugDraw + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

virtual void depthMask (bool state)
 
virtual void texture (bool state)
 
virtual void begin (duDebugDrawPrimitives prim, float size=1.0f)
 Begin drawing primitives. More...
 
virtual void vertex (const float *pos, unsigned int color)
 Submit a vertex. More...
 
virtual void vertex (const float x, const float y, const float z, unsigned int color)
 Submit a vertex. More...
 
virtual void vertex (const float *pos, unsigned int color, const float *uv)
 Submit a vertex. More...
 
virtual void vertex (const float x, const float y, const float z, unsigned int color, const float u, const float v)
 Submit a vertex. More...
 
virtual void end ()
 End drawing primitives. More...
 
- Public Member Functions inherited from duDebugDraw
virtual ~duDebugDraw ()=0
 
virtual unsigned int areaToCol (unsigned int area)
 Compute a color for given area. More...
 
+

Description

+

OpenGL debug draw implementation.

+

Member Function Documentation

+ +

◆ begin()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void DebugDrawGL::begin (duDebugDrawPrimitives prim,
float size = 1.0f 
)
+
+virtual
+
+ +

Begin drawing primitives.

+
Parameters
+ + + +
prim[in] primitive type to draw, one of rcDebugDrawPrimitives.
size[in] size of a primitive, applies to point size and line width only.
+
+
+ +

Implements duDebugDraw.

+ +
+
+ +

◆ depthMask()

+ +
+
+ + + + + +
+ + + + + + + + +
void DebugDrawGL::depthMask (bool state)
+
+virtual
+
+ +

Implements duDebugDraw.

+ +
+
+ +

◆ end()

+ +
+
+ + + + + +
+ + + + + + + +
void DebugDrawGL::end ()
+
+virtual
+
+ +

End drawing primitives.

+ +

Implements duDebugDraw.

+ +
+
+ +

◆ texture()

+ +
+
+ + + + + +
+ + + + + + + + +
void DebugDrawGL::texture (bool state)
+
+virtual
+
+ +

Implements duDebugDraw.

+ +
+
+ +

◆ vertex() [1/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void DebugDrawGL::vertex (const float * pos,
unsigned int color 
)
+
+virtual
+
+ +

Submit a vertex.

+
Parameters
+ + + +
pos[in] position of the verts.
color[in] color of the verts.
+
+
+ +

Implements duDebugDraw.

+ +
+
+ +

◆ vertex() [2/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void DebugDrawGL::vertex (const float * pos,
unsigned int color,
const float * uv 
)
+
+virtual
+
+ +

Submit a vertex.

+
Parameters
+ + + + +
pos[in] position of the verts.
color[in] color of the verts.
uv[in] the uv coordinates of the verts.
+
+
+ +

Implements duDebugDraw.

+ +
+
+ +

◆ vertex() [3/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void DebugDrawGL::vertex (const float x,
const float y,
const float z,
unsigned int color 
)
+
+virtual
+
+ +

Submit a vertex.

+
Parameters
+ + + +
x,y,z[in] position of the verts.
color[in] color of the verts.
+
+
+ +

Implements duDebugDraw.

+ +
+
+ +

◆ vertex() [4/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void DebugDrawGL::vertex (const float x,
const float y,
const float z,
unsigned int color,
const float u,
const float v 
)
+
+virtual
+
+ +

Submit a vertex.

+
Parameters
+ + + + +
x,y,z[in] position of the verts.
color[in] color of the verts.
u,v[in] the uv coordinates of the verts.
+
+
+ +

Implements duDebugDraw.

+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classDebugDrawGL.js b/classDebugDrawGL.js new file mode 100644 index 00000000..ab565a5b --- /dev/null +++ b/classDebugDrawGL.js @@ -0,0 +1,11 @@ +var classDebugDrawGL = +[ + [ "begin", "classDebugDrawGL.html#ad7f56b0a3ab7c29b6a58e4cf72c78568", null ], + [ "depthMask", "classDebugDrawGL.html#ae57953a7117cdacd04416403531cb9aa", null ], + [ "end", "classDebugDrawGL.html#a28de738a8a277da6c534e46850ffc1e8", null ], + [ "texture", "classDebugDrawGL.html#ad51f99f7707ed09bc19623cd31e9881c", null ], + [ "vertex", "classDebugDrawGL.html#a5c44e91d886860827e4131cea9b03181", null ], + [ "vertex", "classDebugDrawGL.html#a25db0b2def0f18e5f3c87ce50847ed4f", null ], + [ "vertex", "classDebugDrawGL.html#a231dbb0906f35a3a3e782ddc04bd2365", null ], + [ "vertex", "classDebugDrawGL.html#ae2ea264e176f08445b983ae6e3701639", null ] +]; \ No newline at end of file diff --git a/classDebugDrawGL.png b/classDebugDrawGL.png new file mode 100644 index 00000000..e76deb86 Binary files /dev/null and b/classDebugDrawGL.png differ diff --git a/classFileIO-members.html b/classFileIO-members.html new file mode 100644 index 00000000..d0ad061c --- /dev/null +++ b/classFileIO-members.html @@ -0,0 +1,115 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
FileIO Member List
+
+
+ +

This is the complete list of members for FileIO, including all inherited members.

+ + + + + + + + + + +
FileIO()FileIO
isReading() constFileIOvirtual
isWriting() constFileIOvirtual
openForRead(const char *path)FileIO
openForWrite(const char *path)FileIO
read(void *ptr, const size_t size)FileIOvirtual
write(const void *ptr, const size_t size)FileIOvirtual
~duFileIO()duFileIOvirtual
~FileIO()FileIOvirtual
+
+ + + + + diff --git a/classFileIO.html b/classFileIO.html new file mode 100644 index 00000000..11e28657 --- /dev/null +++ b/classFileIO.html @@ -0,0 +1,360 @@ + + + + + + + +Recast Navigation: FileIO Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
FileIO Class Reference
+
+
+ +

stdio file implementation. + More...

+ +

#include <SampleInterfaces.h>

+
+Inheritance diagram for FileIO:
+
+
+ + +duFileIO + +
+ + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 FileIO ()
 
virtual ~FileIO ()
 
bool openForWrite (const char *path)
 
bool openForRead (const char *path)
 
virtual bool isWriting () const
 
virtual bool isReading () const
 
virtual bool write (const void *ptr, const size_t size)
 
virtual bool read (void *ptr, const size_t size)
 
- Public Member Functions inherited from duFileIO
virtual ~duFileIO ()
 
+

Description

+

stdio file implementation.

+

Constructor & Destructor Documentation

+ +

◆ FileIO()

+ +
+
+ + + + + + + +
FileIO::FileIO ()
+
+ +
+
+ +

◆ ~FileIO()

+ +
+
+ + + + + +
+ + + + + + + +
FileIO::~FileIO ()
+
+virtual
+
+ +
+
+

Member Function Documentation

+ +

◆ isReading()

+ +
+
+ + + + + +
+ + + + + + + +
bool FileIO::isReading () const
+
+virtual
+
+ +

Implements duFileIO.

+ +
+
+ +

◆ isWriting()

+ +
+
+ + + + + +
+ + + + + + + +
bool FileIO::isWriting () const
+
+virtual
+
+ +

Implements duFileIO.

+ +
+
+ +

◆ openForRead()

+ +
+
+ + + + + + + + +
bool FileIO::openForRead (const char * path)
+
+ +
+
+ +

◆ openForWrite()

+ +
+
+ + + + + + + + +
bool FileIO::openForWrite (const char * path)
+
+ +
+
+ +

◆ read()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool FileIO::read (void * ptr,
const size_t size 
)
+
+virtual
+
+ +

Implements duFileIO.

+ +
+
+ +

◆ write()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool FileIO::write (const void * ptr,
const size_t size 
)
+
+virtual
+
+ +

Implements duFileIO.

+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classFileIO.js b/classFileIO.js new file mode 100644 index 00000000..2f9cd2a4 --- /dev/null +++ b/classFileIO.js @@ -0,0 +1,11 @@ +var classFileIO = +[ + [ "FileIO", "classFileIO.html#a8b0d602c3461181e12c05f655dea5018", null ], + [ "~FileIO", "classFileIO.html#adc3caa8f1e5d76274d8ffb8b5c17288b", null ], + [ "isReading", "classFileIO.html#acd4cbb0b54a4d450b53294ce24866346", null ], + [ "isWriting", "classFileIO.html#a02526e6d91e126ce105adaf614ab863c", null ], + [ "openForRead", "classFileIO.html#a3a96ca80a7c66c14883007e88679e87e", null ], + [ "openForWrite", "classFileIO.html#ae7fcae34c0941ffe183fbe1cdc180f22", null ], + [ "read", "classFileIO.html#a11dcd9d7e8a00db63db74abf437dc4a7", null ], + [ "write", "classFileIO.html#aa2ff5f1db6c224a0fa15f3b039a6009d", null ] +]; \ No newline at end of file diff --git a/classFileIO.png b/classFileIO.png new file mode 100644 index 00000000..bfde26ba Binary files /dev/null and b/classFileIO.png differ diff --git a/classGLCheckerTexture-members.html b/classGLCheckerTexture-members.html new file mode 100644 index 00000000..40797937 --- /dev/null +++ b/classGLCheckerTexture-members.html @@ -0,0 +1,109 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
GLCheckerTexture Member List
+
+
+ +

This is the complete list of members for GLCheckerTexture, including all inherited members.

+ + + + +
bind()GLCheckerTextureinline
GLCheckerTexture()GLCheckerTextureinline
~GLCheckerTexture()GLCheckerTextureinline
+
+ + + + + diff --git a/classGLCheckerTexture.html b/classGLCheckerTexture.html new file mode 100644 index 00000000..ff648637 --- /dev/null +++ b/classGLCheckerTexture.html @@ -0,0 +1,197 @@ + + + + + + + +Recast Navigation: GLCheckerTexture Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
GLCheckerTexture Class Reference
+
+
+ + + + + + + + +

+Public Member Functions

 GLCheckerTexture ()
 
 ~GLCheckerTexture ()
 
void bind ()
 
+

Constructor & Destructor Documentation

+ +

◆ GLCheckerTexture()

+ +
+
+ + + + + +
+ + + + + + + +
GLCheckerTexture::GLCheckerTexture ()
+
+inline
+
+ +
+
+ +

◆ ~GLCheckerTexture()

+ +
+
+ + + + + +
+ + + + + + + +
GLCheckerTexture::~GLCheckerTexture ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +

◆ bind()

+ +
+
+ + + + + +
+ + + + + + + +
void GLCheckerTexture::bind ()
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + + diff --git a/classGLCheckerTexture.js b/classGLCheckerTexture.js new file mode 100644 index 00000000..59cc1541 --- /dev/null +++ b/classGLCheckerTexture.js @@ -0,0 +1,6 @@ +var classGLCheckerTexture = +[ + [ "GLCheckerTexture", "classGLCheckerTexture.html#a361178710e61b228d921d38e9c2d54f7", null ], + [ "~GLCheckerTexture", "classGLCheckerTexture.html#ac9c4e61e9010f42ba1739e81ee2e7403", null ], + [ "bind", "classGLCheckerTexture.html#a6867fb461e1ebdfb5ffaf8572678ef22", null ] +]; \ No newline at end of file diff --git a/classInputGeom-members.html b/classInputGeom-members.html new file mode 100644 index 00000000..2bd3cf55 --- /dev/null +++ b/classInputGeom-members.html @@ -0,0 +1,133 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
InputGeom Member List
+
+
+ +

This is the complete list of members for InputGeom, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addConvexVolume(const float *verts, const int nverts, const float minh, const float maxh, unsigned char area)InputGeom
addOffMeshConnection(const float *spos, const float *epos, const float rad, unsigned char bidir, unsigned char area, unsigned short flags)InputGeom
deleteConvexVolume(int i)InputGeom
deleteOffMeshConnection(int i)InputGeom
drawConvexVolumes(struct duDebugDraw *dd, bool hilight=false)InputGeom
drawOffMeshConnections(struct duDebugDraw *dd, bool hilight=false)InputGeom
getBuildSettings() constInputGeominline
getChunkyMesh() constInputGeominline
getConvexVolumeCount() constInputGeominline
getConvexVolumes() constInputGeominline
getMesh() constInputGeominline
getMeshBoundsMax() constInputGeominline
getMeshBoundsMin() constInputGeominline
getNavMeshBoundsMax() constInputGeominline
getNavMeshBoundsMin() constInputGeominline
getOffMeshConnectionAreas() constInputGeominline
getOffMeshConnectionCount() constInputGeominline
getOffMeshConnectionDirs() constInputGeominline
getOffMeshConnectionFlags() constInputGeominline
getOffMeshConnectionId() constInputGeominline
getOffMeshConnectionRads() constInputGeominline
getOffMeshConnectionVerts() constInputGeominline
InputGeom()InputGeom
load(class rcContext *ctx, const std::string &filepath)InputGeom
raycastMesh(float *src, float *dst, float &tmin)InputGeom
saveGeomSet(const BuildSettings *settings)InputGeom
~InputGeom()InputGeom
+
+ + + + + diff --git a/classInputGeom.html b/classInputGeom.html new file mode 100644 index 00000000..64ada3d1 --- /dev/null +++ b/classInputGeom.html @@ -0,0 +1,883 @@ + + + + + + + +Recast Navigation: InputGeom Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
InputGeom Class Reference
+
+
+ +

#include <InputGeom.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 InputGeom ()
 
 ~InputGeom ()
 
bool load (class rcContext *ctx, const std::string &filepath)
 
bool saveGeomSet (const BuildSettings *settings)
 
const rcMeshLoaderObjgetMesh () const
 Method to return static mesh data. More...
 
const float * getMeshBoundsMin () const
 
const float * getMeshBoundsMax () const
 
const float * getNavMeshBoundsMin () const
 
const float * getNavMeshBoundsMax () const
 
const rcChunkyTriMeshgetChunkyMesh () const
 
const BuildSettingsgetBuildSettings () const
 
bool raycastMesh (float *src, float *dst, float &tmin)
 
Box Volumes.
int getConvexVolumeCount () const
 
const ConvexVolumegetConvexVolumes () const
 
void addConvexVolume (const float *verts, const int nverts, const float minh, const float maxh, unsigned char area)
 
void deleteConvexVolume (int i)
 
void drawConvexVolumes (struct duDebugDraw *dd, bool hilight=false)
 
+ + + + + + + + + + + + + + + + + + + + + +

Off-Mesh connections.

int getOffMeshConnectionCount () const
 
const float * getOffMeshConnectionVerts () const
 
const float * getOffMeshConnectionRads () const
 
const unsigned char * getOffMeshConnectionDirs () const
 
const unsigned char * getOffMeshConnectionAreas () const
 
const unsigned short * getOffMeshConnectionFlags () const
 
const unsigned int * getOffMeshConnectionId () const
 
void addOffMeshConnection (const float *spos, const float *epos, const float rad, unsigned char bidir, unsigned char area, unsigned short flags)
 
void deleteOffMeshConnection (int i)
 
void drawOffMeshConnections (struct duDebugDraw *dd, bool hilight=false)
 
+

Constructor & Destructor Documentation

+ +

◆ InputGeom()

+ +
+
+ + + + + + + +
InputGeom::InputGeom ()
+
+ +
+
+ +

◆ ~InputGeom()

+ +
+
+ + + + + + + +
InputGeom::~InputGeom ()
+
+ +
+
+

Member Function Documentation

+ +

◆ addConvexVolume()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void InputGeom::addConvexVolume (const float * verts,
const int nverts,
const float minh,
const float maxh,
unsigned char area 
)
+
+ +
+
+ +

◆ addOffMeshConnection()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void InputGeom::addOffMeshConnection (const float * spos,
const float * epos,
const float rad,
unsigned char bidir,
unsigned char area,
unsigned short flags 
)
+
+ +
+
+ +

◆ deleteConvexVolume()

+ +
+
+ + + + + + + + +
void InputGeom::deleteConvexVolume (int i)
+
+ +
+
+ +

◆ deleteOffMeshConnection()

+ +
+
+ + + + + + + + +
void InputGeom::deleteOffMeshConnection (int i)
+
+ +
+
+ +

◆ drawConvexVolumes()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void InputGeom::drawConvexVolumes (struct duDebugDrawdd,
bool hilight = false 
)
+
+ +
+
+ +

◆ drawOffMeshConnections()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void InputGeom::drawOffMeshConnections (struct duDebugDrawdd,
bool hilight = false 
)
+
+ +
+
+ +

◆ getBuildSettings()

+ +
+
+ + + + + +
+ + + + + + + +
const BuildSettings* InputGeom::getBuildSettings () const
+
+inline
+
+ +
+
+ +

◆ getChunkyMesh()

+ +
+
+ + + + + +
+ + + + + + + +
const rcChunkyTriMesh* InputGeom::getChunkyMesh () const
+
+inline
+
+ +
+
+ +

◆ getConvexVolumeCount()

+ +
+
+ + + + + +
+ + + + + + + +
int InputGeom::getConvexVolumeCount () const
+
+inline
+
+ +
+
+ +

◆ getConvexVolumes()

+ +
+
+ + + + + +
+ + + + + + + +
const ConvexVolume* InputGeom::getConvexVolumes () const
+
+inline
+
+ +
+
+ +

◆ getMesh()

+ +
+
+ + + + + +
+ + + + + + + +
const rcMeshLoaderObj* InputGeom::getMesh () const
+
+inline
+
+ +

Method to return static mesh data.

+ +
+
+ +

◆ getMeshBoundsMax()

+ +
+
+ + + + + +
+ + + + + + + +
const float* InputGeom::getMeshBoundsMax () const
+
+inline
+
+ +
+
+ +

◆ getMeshBoundsMin()

+ +
+
+ + + + + +
+ + + + + + + +
const float* InputGeom::getMeshBoundsMin () const
+
+inline
+
+ +
+
+ +

◆ getNavMeshBoundsMax()

+ +
+
+ + + + + +
+ + + + + + + +
const float* InputGeom::getNavMeshBoundsMax () const
+
+inline
+
+ +
+
+ +

◆ getNavMeshBoundsMin()

+ +
+
+ + + + + +
+ + + + + + + +
const float* InputGeom::getNavMeshBoundsMin () const
+
+inline
+
+ +
+
+ +

◆ getOffMeshConnectionAreas()

+ +
+
+ + + + + +
+ + + + + + + +
const unsigned char* InputGeom::getOffMeshConnectionAreas () const
+
+inline
+
+ +
+
+ +

◆ getOffMeshConnectionCount()

+ +
+
+ + + + + +
+ + + + + + + +
int InputGeom::getOffMeshConnectionCount () const
+
+inline
+
+ +
+
+ +

◆ getOffMeshConnectionDirs()

+ +
+
+ + + + + +
+ + + + + + + +
const unsigned char* InputGeom::getOffMeshConnectionDirs () const
+
+inline
+
+ +
+
+ +

◆ getOffMeshConnectionFlags()

+ +
+
+ + + + + +
+ + + + + + + +
const unsigned short* InputGeom::getOffMeshConnectionFlags () const
+
+inline
+
+ +
+
+ +

◆ getOffMeshConnectionId()

+ +
+
+ + + + + +
+ + + + + + + +
const unsigned int* InputGeom::getOffMeshConnectionId () const
+
+inline
+
+ +
+
+ +

◆ getOffMeshConnectionRads()

+ +
+
+ + + + + +
+ + + + + + + +
const float* InputGeom::getOffMeshConnectionRads () const
+
+inline
+
+ +
+
+ +

◆ getOffMeshConnectionVerts()

+ +
+
+ + + + + +
+ + + + + + + +
const float* InputGeom::getOffMeshConnectionVerts () const
+
+inline
+
+ +
+
+ +

◆ load()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool InputGeom::load (class rcContextctx,
const std::string & filepath 
)
+
+ +
+
+ +

◆ raycastMesh()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool InputGeom::raycastMesh (float * src,
float * dst,
float & tmin 
)
+
+ +
+
+ +

◆ saveGeomSet()

+ +
+
+ + + + + + + + +
bool InputGeom::saveGeomSet (const BuildSettingssettings)
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classInputGeom.js b/classInputGeom.js new file mode 100644 index 00000000..d98d76cf --- /dev/null +++ b/classInputGeom.js @@ -0,0 +1,30 @@ +var classInputGeom = +[ + [ "InputGeom", "classInputGeom.html#af2d7fb1c3c5559acc3f84bbfcb3c83b8", null ], + [ "~InputGeom", "classInputGeom.html#ad3d91321af5be5aafb797fb3045669bd", null ], + [ "addConvexVolume", "classInputGeom.html#a4656c55e1db085cd7b5bbd90a3770dc7", null ], + [ "addOffMeshConnection", "classInputGeom.html#a80409ad925dbb6271d7a3ea67c1b5f6f", null ], + [ "deleteConvexVolume", "classInputGeom.html#a143fe9d9852f2a2be08b8d4c98254160", null ], + [ "deleteOffMeshConnection", "classInputGeom.html#acc866de7fce6ca643c6695cb1f1d3967", null ], + [ "drawConvexVolumes", "classInputGeom.html#af1459badee28e6eeeac0dab937cea3bc", null ], + [ "drawOffMeshConnections", "classInputGeom.html#ad808df6e1a015da72bb10279e6231fd2", null ], + [ "getBuildSettings", "classInputGeom.html#a2a76738d42d4a398ba82e0087d3ea565", null ], + [ "getChunkyMesh", "classInputGeom.html#a1ad88411b19c3148c0ca68834fc981a4", null ], + [ "getConvexVolumeCount", "classInputGeom.html#a18f14e5605e256a5793515a66f77887d", null ], + [ "getConvexVolumes", "classInputGeom.html#a4665548e2789759d57d169fb0fd9de22", null ], + [ "getMesh", "classInputGeom.html#a474a85ab24b2378a9734f1deacbf5060", null ], + [ "getMeshBoundsMax", "classInputGeom.html#a807bb7df9302e27bcd3e0f8070bf092a", null ], + [ "getMeshBoundsMin", "classInputGeom.html#af7343e9a8f1802062ae274ee57efeefc", null ], + [ "getNavMeshBoundsMax", "classInputGeom.html#ae2c111ef2f6eccd803b4b28503aebbd5", null ], + [ "getNavMeshBoundsMin", "classInputGeom.html#af65a1d3856edbd4145418f83862de88f", null ], + [ "getOffMeshConnectionAreas", "classInputGeom.html#a4993dc182c72eba3e246bda25cfec258", null ], + [ "getOffMeshConnectionCount", "classInputGeom.html#ad31d93691d942948af8d79798e4d2ad5", null ], + [ "getOffMeshConnectionDirs", "classInputGeom.html#a99352ee32c8a668d73c7f8ce70e3f9c9", null ], + [ "getOffMeshConnectionFlags", "classInputGeom.html#a53ff2a13a9ca55c0e40cc0e36c420557", null ], + [ "getOffMeshConnectionId", "classInputGeom.html#a4ce0f47be81216e39eed6d1e38fcfa7c", null ], + [ "getOffMeshConnectionRads", "classInputGeom.html#a2d5d1c04bf9bd3b3e6e4e896214d1e01", null ], + [ "getOffMeshConnectionVerts", "classInputGeom.html#ad6bdbb58ced2ad9d1b9c6905e20e4c69", null ], + [ "load", "classInputGeom.html#a018ed54176edc2234663cb419d3f0f9f", null ], + [ "raycastMesh", "classInputGeom.html#a926c973026443671ea51d7f32ddf0b11", null ], + [ "saveGeomSet", "classInputGeom.html#a866a12c00d1417a7403258f438a27a86", null ] +]; \ No newline at end of file diff --git a/classNavMeshPruneTool-members.html b/classNavMeshPruneTool-members.html new file mode 100644 index 00000000..531ddaa4 --- /dev/null +++ b/classNavMeshPruneTool-members.html @@ -0,0 +1,119 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
NavMeshPruneTool Member List
+
+
+ +

This is the complete list of members for NavMeshPruneTool, including all inherited members.

+ + + + + + + + + + + + + + +
handleClick(const float *s, const float *p, bool shift)NavMeshPruneToolvirtual
handleMenu()NavMeshPruneToolvirtual
handleRender()NavMeshPruneToolvirtual
handleRenderOverlay(double *proj, double *model, int *view)NavMeshPruneToolvirtual
handleStep()NavMeshPruneToolvirtual
handleToggle()NavMeshPruneToolvirtual
handleUpdate(const float dt)NavMeshPruneToolvirtual
init(Sample *sample)NavMeshPruneToolvirtual
NavMeshPruneTool()NavMeshPruneTool
reset()NavMeshPruneToolvirtual
type()NavMeshPruneToolinlinevirtual
~NavMeshPruneTool()NavMeshPruneToolvirtual
~SampleTool()SampleToolvirtual
+
+ + + + + diff --git a/classNavMeshPruneTool.html b/classNavMeshPruneTool.html new file mode 100644 index 00000000..35aef392 --- /dev/null +++ b/classNavMeshPruneTool.html @@ -0,0 +1,503 @@ + + + + + + + +Recast Navigation: NavMeshPruneTool Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
NavMeshPruneTool Class Reference
+
+
+ +

#include <NavMeshPruneTool.h>

+
+Inheritance diagram for NavMeshPruneTool:
+
+
+ + +SampleTool + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 NavMeshPruneTool ()
 
virtual ~NavMeshPruneTool ()
 
virtual int type ()
 
virtual void init (Sample *sample)
 
virtual void reset ()
 
virtual void handleMenu ()
 
virtual void handleClick (const float *s, const float *p, bool shift)
 
virtual void handleToggle ()
 
virtual void handleStep ()
 
virtual void handleUpdate (const float dt)
 
virtual void handleRender ()
 
virtual void handleRenderOverlay (double *proj, double *model, int *view)
 
- Public Member Functions inherited from SampleTool
virtual ~SampleTool ()
 
+

Constructor & Destructor Documentation

+ +

◆ NavMeshPruneTool()

+ +
+
+ + + + + + + +
NavMeshPruneTool::NavMeshPruneTool ()
+
+ +
+
+ +

◆ ~NavMeshPruneTool()

+ +
+
+ + + + + +
+ + + + + + + +
NavMeshPruneTool::~NavMeshPruneTool ()
+
+virtual
+
+ +
+
+

Member Function Documentation

+ +

◆ handleClick()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void NavMeshPruneTool::handleClick (const float * s,
const float * p,
bool shift 
)
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleMenu()

+ +
+
+ + + + + +
+ + + + + + + +
void NavMeshPruneTool::handleMenu ()
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleRender()

+ +
+
+ + + + + +
+ + + + + + + +
void NavMeshPruneTool::handleRender ()
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleRenderOverlay()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void NavMeshPruneTool::handleRenderOverlay (double * proj,
double * model,
int * view 
)
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleStep()

+ +
+
+ + + + + +
+ + + + + + + +
void NavMeshPruneTool::handleStep ()
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleToggle()

+ +
+
+ + + + + +
+ + + + + + + +
void NavMeshPruneTool::handleToggle ()
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleUpdate()

+ +
+
+ + + + + +
+ + + + + + + + +
void NavMeshPruneTool::handleUpdate (const float dt)
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ init()

+ +
+
+ + + + + +
+ + + + + + + + +
void NavMeshPruneTool::init (Samplesample)
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ reset()

+ +
+
+ + + + + +
+ + + + + + + +
void NavMeshPruneTool::reset ()
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ type()

+ +
+
+ + + + + +
+ + + + + + + +
virtual int NavMeshPruneTool::type ()
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classNavMeshPruneTool.js b/classNavMeshPruneTool.js new file mode 100644 index 00000000..7944b54e --- /dev/null +++ b/classNavMeshPruneTool.js @@ -0,0 +1,15 @@ +var classNavMeshPruneTool = +[ + [ "NavMeshPruneTool", "classNavMeshPruneTool.html#a304902339a20adafa5e57ed648c884ed", null ], + [ "~NavMeshPruneTool", "classNavMeshPruneTool.html#a65f0cbf67052f748e96523ed02627eee", null ], + [ "handleClick", "classNavMeshPruneTool.html#acb49419c8e5df7d2c10d99e502b64c9c", null ], + [ "handleMenu", "classNavMeshPruneTool.html#ad7251daa12a7de6c23aa26f514352c17", null ], + [ "handleRender", "classNavMeshPruneTool.html#a7fd5ad545aa1da51f6e34434ac34a12c", null ], + [ "handleRenderOverlay", "classNavMeshPruneTool.html#af5fd93ff57b645fc8dfdf4c2761fb3cf", null ], + [ "handleStep", "classNavMeshPruneTool.html#a1d3466a23085cff3e97afd0952d1f4af", null ], + [ "handleToggle", "classNavMeshPruneTool.html#ad1ab829d07050f77dc09dff6156273b5", null ], + [ "handleUpdate", "classNavMeshPruneTool.html#a7eba211059a9707b9609babee9c27388", null ], + [ "init", "classNavMeshPruneTool.html#afafabe8cd473164567bb37b27904d340", null ], + [ "reset", "classNavMeshPruneTool.html#a97fbf2b28e1c1df8eb3a2005d688009f", null ], + [ "type", "classNavMeshPruneTool.html#a68059436d7e4b5118949d5d7f8204af8", null ] +]; \ No newline at end of file diff --git a/classNavMeshPruneTool.png b/classNavMeshPruneTool.png new file mode 100644 index 00000000..f0ec28b3 Binary files /dev/null and b/classNavMeshPruneTool.png differ diff --git a/classNavMeshTesterTool-members.html b/classNavMeshTesterTool-members.html new file mode 100644 index 00000000..5d797adc --- /dev/null +++ b/classNavMeshTesterTool-members.html @@ -0,0 +1,120 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
NavMeshTesterTool Member List
+
+
+ +

This is the complete list of members for NavMeshTesterTool, including all inherited members.

+ + + + + + + + + + + + + + + +
drawAgent(const float *pos, float r, float h, float c, const unsigned int col)NavMeshTesterTool
handleClick(const float *s, const float *p, bool shift)NavMeshTesterToolvirtual
handleMenu()NavMeshTesterToolvirtual
handleRender()NavMeshTesterToolvirtual
handleRenderOverlay(double *proj, double *model, int *view)NavMeshTesterToolvirtual
handleStep()NavMeshTesterToolvirtual
handleToggle()NavMeshTesterToolvirtual
handleUpdate(const float dt)NavMeshTesterToolvirtual
init(Sample *sample)NavMeshTesterToolvirtual
NavMeshTesterTool()NavMeshTesterTool
recalc()NavMeshTesterTool
reset()NavMeshTesterToolvirtual
type()NavMeshTesterToolinlinevirtual
~SampleTool()SampleToolvirtual
+
+ + + + + diff --git a/classNavMeshTesterTool.html b/classNavMeshTesterTool.html new file mode 100644 index 00000000..2339e884 --- /dev/null +++ b/classNavMeshTesterTool.html @@ -0,0 +1,543 @@ + + + + + + + +Recast Navigation: NavMeshTesterTool Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
NavMeshTesterTool Class Reference
+
+
+ +

#include <NavMeshTesterTool.h>

+
+Inheritance diagram for NavMeshTesterTool:
+
+
+ + +SampleTool + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 NavMeshTesterTool ()
 
virtual int type ()
 
virtual void init (Sample *sample)
 
virtual void reset ()
 
virtual void handleMenu ()
 
virtual void handleClick (const float *s, const float *p, bool shift)
 
virtual void handleToggle ()
 
virtual void handleStep ()
 
virtual void handleUpdate (const float dt)
 
virtual void handleRender ()
 
virtual void handleRenderOverlay (double *proj, double *model, int *view)
 
void recalc ()
 
void drawAgent (const float *pos, float r, float h, float c, const unsigned int col)
 
- Public Member Functions inherited from SampleTool
virtual ~SampleTool ()
 
+

Constructor & Destructor Documentation

+ +

◆ NavMeshTesterTool()

+ +
+
+ + + + + + + +
NavMeshTesterTool::NavMeshTesterTool ()
+
+ +
+
+

Member Function Documentation

+ +

◆ drawAgent()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NavMeshTesterTool::drawAgent (const float * pos,
float r,
float h,
float c,
const unsigned int col 
)
+
+ +
+
+ +

◆ handleClick()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void NavMeshTesterTool::handleClick (const float * s,
const float * p,
bool shift 
)
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleMenu()

+ +
+
+ + + + + +
+ + + + + + + +
void NavMeshTesterTool::handleMenu ()
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleRender()

+ +
+
+ + + + + +
+ + + + + + + +
void NavMeshTesterTool::handleRender ()
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleRenderOverlay()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void NavMeshTesterTool::handleRenderOverlay (double * proj,
double * model,
int * view 
)
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleStep()

+ +
+
+ + + + + +
+ + + + + + + +
void NavMeshTesterTool::handleStep ()
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleToggle()

+ +
+
+ + + + + +
+ + + + + + + +
void NavMeshTesterTool::handleToggle ()
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleUpdate()

+ +
+
+ + + + + +
+ + + + + + + + +
void NavMeshTesterTool::handleUpdate (const float dt)
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ init()

+ +
+
+ + + + + +
+ + + + + + + + +
void NavMeshTesterTool::init (Samplesample)
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ recalc()

+ +
+
+ + + + + + + +
void NavMeshTesterTool::recalc ()
+
+ +
+
+ +

◆ reset()

+ +
+
+ + + + + +
+ + + + + + + +
void NavMeshTesterTool::reset ()
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ type()

+ +
+
+ + + + + +
+ + + + + + + +
virtual int NavMeshTesterTool::type ()
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classNavMeshTesterTool.js b/classNavMeshTesterTool.js new file mode 100644 index 00000000..281992dd --- /dev/null +++ b/classNavMeshTesterTool.js @@ -0,0 +1,16 @@ +var classNavMeshTesterTool = +[ + [ "NavMeshTesterTool", "classNavMeshTesterTool.html#afa92228fae1154929e4819bb9119062d", null ], + [ "drawAgent", "classNavMeshTesterTool.html#a8853ba08ecda298d3645a77613130cf2", null ], + [ "handleClick", "classNavMeshTesterTool.html#af11c1a094222f1206933071ff15f5a8f", null ], + [ "handleMenu", "classNavMeshTesterTool.html#a63adba51a9b8f7b6c06da0bd08c35a3b", null ], + [ "handleRender", "classNavMeshTesterTool.html#af5d6204e60c661420e07243ebb7295e8", null ], + [ "handleRenderOverlay", "classNavMeshTesterTool.html#ac161b92950bfe0c7803ce602ec54ff7d", null ], + [ "handleStep", "classNavMeshTesterTool.html#a4296c9b5431882a10676a1f8baa687f5", null ], + [ "handleToggle", "classNavMeshTesterTool.html#a3fcce315ee720c66b590287fa4c591e9", null ], + [ "handleUpdate", "classNavMeshTesterTool.html#a0e250830eb6186b4b4f8559534ff8908", null ], + [ "init", "classNavMeshTesterTool.html#a73a9165951689cac88cf9743bc99e0b5", null ], + [ "recalc", "classNavMeshTesterTool.html#ae83ed79dc72553b7e14f2fcbaa05d380", null ], + [ "reset", "classNavMeshTesterTool.html#a0706dadffb0df9078b205469d62d6d92", null ], + [ "type", "classNavMeshTesterTool.html#a209af8804c52d9f3dbce40ab69028483", null ] +]; \ No newline at end of file diff --git a/classNavMeshTesterTool.png b/classNavMeshTesterTool.png new file mode 100644 index 00000000..d16cdac7 Binary files /dev/null and b/classNavMeshTesterTool.png differ diff --git a/classNavMeshTileTool-members.html b/classNavMeshTileTool-members.html new file mode 100644 index 00000000..76fe228c --- /dev/null +++ b/classNavMeshTileTool-members.html @@ -0,0 +1,119 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
NavMeshTileTool Member List
+
+
+ +

This is the complete list of members for NavMeshTileTool, including all inherited members.

+ + + + + + + + + + + + + + +
handleClick(const float *, const float *p, bool shift)NavMeshTileToolinlinevirtual
handleMenu()NavMeshTileToolinlinevirtual
handleRender()NavMeshTileToolinlinevirtual
handleRenderOverlay(double *proj, double *model, int *view)NavMeshTileToolinlinevirtual
handleStep()NavMeshTileToolinlinevirtual
handleToggle()NavMeshTileToolinlinevirtual
handleUpdate(const float)NavMeshTileToolinlinevirtual
init(Sample *sample)NavMeshTileToolinlinevirtual
NavMeshTileTool()NavMeshTileToolinline
reset()NavMeshTileToolinlinevirtual
type()NavMeshTileToolinlinevirtual
~NavMeshTileTool()NavMeshTileToolvirtual
~SampleTool()SampleToolvirtual
+
+ + + + + diff --git a/classNavMeshTileTool.html b/classNavMeshTileTool.html new file mode 100644 index 00000000..38d5cb2a --- /dev/null +++ b/classNavMeshTileTool.html @@ -0,0 +1,508 @@ + + + + + + + +Recast Navigation: NavMeshTileTool Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
NavMeshTileTool Class Reference
+
+
+
+Inheritance diagram for NavMeshTileTool:
+
+
+ + +SampleTool + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 NavMeshTileTool ()
 
virtual ~NavMeshTileTool ()
 
virtual int type ()
 
virtual void init (Sample *sample)
 
virtual void reset ()
 
virtual void handleMenu ()
 
virtual void handleClick (const float *, const float *p, bool shift)
 
virtual void handleToggle ()
 
virtual void handleStep ()
 
virtual void handleUpdate (const float)
 
virtual void handleRender ()
 
virtual void handleRenderOverlay (double *proj, double *model, int *view)
 
- Public Member Functions inherited from SampleTool
virtual ~SampleTool ()
 
+

Constructor & Destructor Documentation

+ +

◆ NavMeshTileTool()

+ +
+
+ + + + + +
+ + + + + + + +
NavMeshTileTool::NavMeshTileTool ()
+
+inline
+
+ +
+
+ +

◆ ~NavMeshTileTool()

+ +
+
+ + + + + +
+ + + + + + + +
NavMeshTileTool::~NavMeshTileTool ()
+
+virtual
+
+ +
+
+

Member Function Documentation

+ +

◆ handleClick()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual void NavMeshTileTool::handleClick (const float * ,
const float * p,
bool shift 
)
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleMenu()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void NavMeshTileTool::handleMenu ()
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleRender()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void NavMeshTileTool::handleRender ()
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleRenderOverlay()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual void NavMeshTileTool::handleRenderOverlay (double * proj,
double * model,
int * view 
)
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleStep()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void NavMeshTileTool::handleStep ()
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleToggle()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void NavMeshTileTool::handleToggle ()
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleUpdate()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void NavMeshTileTool::handleUpdate (const float )
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ init()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void NavMeshTileTool::init (Samplesample)
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ reset()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void NavMeshTileTool::reset ()
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ type()

+ +
+
+ + + + + +
+ + + + + + + +
virtual int NavMeshTileTool::type ()
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + + diff --git a/classNavMeshTileTool.js b/classNavMeshTileTool.js new file mode 100644 index 00000000..8be33228 --- /dev/null +++ b/classNavMeshTileTool.js @@ -0,0 +1,15 @@ +var classNavMeshTileTool = +[ + [ "NavMeshTileTool", "classNavMeshTileTool.html#abe63ee741ff92fdf708f098f03e45967", null ], + [ "~NavMeshTileTool", "classNavMeshTileTool.html#a203fa6ab349cd24f1366b6d0aa837a0e", null ], + [ "handleClick", "classNavMeshTileTool.html#a8203dd4c8225ce9029dcba8581780340", null ], + [ "handleMenu", "classNavMeshTileTool.html#ad1b0d7145268c0d53999e027d469451d", null ], + [ "handleRender", "classNavMeshTileTool.html#a76314b53a3e1beeb8fe39f377e364652", null ], + [ "handleRenderOverlay", "classNavMeshTileTool.html#ae454705cabb91cc34a5d11f8ed541c94", null ], + [ "handleStep", "classNavMeshTileTool.html#adb6147a686eafaf9bb2e7b85e575097f", null ], + [ "handleToggle", "classNavMeshTileTool.html#a5960fdac4bfc1a72a4ef67a0cfbb3136", null ], + [ "handleUpdate", "classNavMeshTileTool.html#a09b989aa5ec7e659678a6adc64f04c21", null ], + [ "init", "classNavMeshTileTool.html#acdd83e58038dcc240242b94630f5f312", null ], + [ "reset", "classNavMeshTileTool.html#aa53d119041aa124651928b09a99adbc6", null ], + [ "type", "classNavMeshTileTool.html#a55d28798b522df9956f914c1b9677cf0", null ] +]; \ No newline at end of file diff --git a/classNavMeshTileTool.png b/classNavMeshTileTool.png new file mode 100644 index 00000000..c3dc0402 Binary files /dev/null and b/classNavMeshTileTool.png differ diff --git a/classNavmeshFlags-members.html b/classNavmeshFlags-members.html new file mode 100644 index 00000000..c2d447df --- /dev/null +++ b/classNavmeshFlags-members.html @@ -0,0 +1,112 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
NavmeshFlags Member List
+
+
+ +

This is the complete list of members for NavmeshFlags, including all inherited members.

+ + + + + + + +
clearAllFlags()NavmeshFlagsinline
getFlags(dtPolyRef ref)NavmeshFlagsinline
init(const dtNavMesh *nav)NavmeshFlagsinline
NavmeshFlags()NavmeshFlagsinline
setFlags(dtPolyRef ref, unsigned char flags)NavmeshFlagsinline
~NavmeshFlags()NavmeshFlagsinline
+
+ + + + + diff --git a/classNavmeshFlags.html b/classNavmeshFlags.html new file mode 100644 index 00000000..c29f464f --- /dev/null +++ b/classNavmeshFlags.html @@ -0,0 +1,292 @@ + + + + + + + +Recast Navigation: NavmeshFlags Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
NavmeshFlags Class Reference
+
+
+ + + + + + + + + + + + + + +

+Public Member Functions

 NavmeshFlags ()
 
 ~NavmeshFlags ()
 
bool init (const dtNavMesh *nav)
 
void clearAllFlags ()
 
unsigned char getFlags (dtPolyRef ref)
 
void setFlags (dtPolyRef ref, unsigned char flags)
 
+

Constructor & Destructor Documentation

+ +

◆ NavmeshFlags()

+ +
+
+ + + + + +
+ + + + + + + +
NavmeshFlags::NavmeshFlags ()
+
+inline
+
+ +
+
+ +

◆ ~NavmeshFlags()

+ +
+
+ + + + + +
+ + + + + + + +
NavmeshFlags::~NavmeshFlags ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +

◆ clearAllFlags()

+ +
+
+ + + + + +
+ + + + + + + +
void NavmeshFlags::clearAllFlags ()
+
+inline
+
+ +
+
+ +

◆ getFlags()

+ +
+
+ + + + + +
+ + + + + + + + +
unsigned char NavmeshFlags::getFlags (dtPolyRef ref)
+
+inline
+
+ +
+
+ +

◆ init()

+ +
+
+ + + + + +
+ + + + + + + + +
bool NavmeshFlags::init (const dtNavMeshnav)
+
+inline
+
+ +
+
+ +

◆ setFlags()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void NavmeshFlags::setFlags (dtPolyRef ref,
unsigned char flags 
)
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + + diff --git a/classNavmeshFlags.js b/classNavmeshFlags.js new file mode 100644 index 00000000..fc4444e0 --- /dev/null +++ b/classNavmeshFlags.js @@ -0,0 +1,9 @@ +var classNavmeshFlags = +[ + [ "NavmeshFlags", "classNavmeshFlags.html#a060c944fac648d5085ad1934671a2932", null ], + [ "~NavmeshFlags", "classNavmeshFlags.html#a52ff37440c3fe6adfb1621446bc2609f", null ], + [ "clearAllFlags", "classNavmeshFlags.html#ad9df0c288de9a604e5bc92aa7a7ce984", null ], + [ "getFlags", "classNavmeshFlags.html#a86f58d0fc045e50c3751487394f4ec26", null ], + [ "init", "classNavmeshFlags.html#ac82a85470cfe71138da559395b19f392", null ], + [ "setFlags", "classNavmeshFlags.html#ace82d60d1c76b7f5fba63a79a8bf3d14", null ] +]; \ No newline at end of file diff --git a/classOffMeshConnectionTool-members.html b/classOffMeshConnectionTool-members.html new file mode 100644 index 00000000..24aafd2c --- /dev/null +++ b/classOffMeshConnectionTool-members.html @@ -0,0 +1,119 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
OffMeshConnectionTool Member List
+
+
+ +

This is the complete list of members for OffMeshConnectionTool, including all inherited members.

+ + + + + + + + + + + + + + +
handleClick(const float *s, const float *p, bool shift)OffMeshConnectionToolvirtual
handleMenu()OffMeshConnectionToolvirtual
handleRender()OffMeshConnectionToolvirtual
handleRenderOverlay(double *proj, double *model, int *view)OffMeshConnectionToolvirtual
handleStep()OffMeshConnectionToolvirtual
handleToggle()OffMeshConnectionToolvirtual
handleUpdate(const float dt)OffMeshConnectionToolvirtual
init(Sample *sample)OffMeshConnectionToolvirtual
OffMeshConnectionTool()OffMeshConnectionTool
reset()OffMeshConnectionToolvirtual
type()OffMeshConnectionToolinlinevirtual
~OffMeshConnectionTool()OffMeshConnectionTool
~SampleTool()SampleToolvirtual
+
+ + + + + diff --git a/classOffMeshConnectionTool.html b/classOffMeshConnectionTool.html new file mode 100644 index 00000000..539ecccf --- /dev/null +++ b/classOffMeshConnectionTool.html @@ -0,0 +1,495 @@ + + + + + + + +Recast Navigation: OffMeshConnectionTool Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
OffMeshConnectionTool Class Reference
+
+
+ +

#include <OffMeshConnectionTool.h>

+
+Inheritance diagram for OffMeshConnectionTool:
+
+
+ + +SampleTool + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 OffMeshConnectionTool ()
 
 ~OffMeshConnectionTool ()
 
virtual int type ()
 
virtual void init (Sample *sample)
 
virtual void reset ()
 
virtual void handleMenu ()
 
virtual void handleClick (const float *s, const float *p, bool shift)
 
virtual void handleToggle ()
 
virtual void handleStep ()
 
virtual void handleUpdate (const float dt)
 
virtual void handleRender ()
 
virtual void handleRenderOverlay (double *proj, double *model, int *view)
 
- Public Member Functions inherited from SampleTool
virtual ~SampleTool ()
 
+

Constructor & Destructor Documentation

+ +

◆ OffMeshConnectionTool()

+ +
+
+ + + + + + + +
OffMeshConnectionTool::OffMeshConnectionTool ()
+
+ +
+
+ +

◆ ~OffMeshConnectionTool()

+ +
+
+ + + + + + + +
OffMeshConnectionTool::~OffMeshConnectionTool ()
+
+ +
+
+

Member Function Documentation

+ +

◆ handleClick()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void OffMeshConnectionTool::handleClick (const float * s,
const float * p,
bool shift 
)
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleMenu()

+ +
+
+ + + + + +
+ + + + + + + +
void OffMeshConnectionTool::handleMenu ()
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleRender()

+ +
+
+ + + + + +
+ + + + + + + +
void OffMeshConnectionTool::handleRender ()
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleRenderOverlay()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void OffMeshConnectionTool::handleRenderOverlay (double * proj,
double * model,
int * view 
)
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleStep()

+ +
+
+ + + + + +
+ + + + + + + +
void OffMeshConnectionTool::handleStep ()
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleToggle()

+ +
+
+ + + + + +
+ + + + + + + +
void OffMeshConnectionTool::handleToggle ()
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleUpdate()

+ +
+
+ + + + + +
+ + + + + + + + +
void OffMeshConnectionTool::handleUpdate (const float dt)
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ init()

+ +
+
+ + + + + +
+ + + + + + + + +
void OffMeshConnectionTool::init (Samplesample)
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ reset()

+ +
+
+ + + + + +
+ + + + + + + +
void OffMeshConnectionTool::reset ()
+
+virtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ type()

+ +
+
+ + + + + +
+ + + + + + + +
virtual int OffMeshConnectionTool::type ()
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classOffMeshConnectionTool.js b/classOffMeshConnectionTool.js new file mode 100644 index 00000000..d67ebeb5 --- /dev/null +++ b/classOffMeshConnectionTool.js @@ -0,0 +1,15 @@ +var classOffMeshConnectionTool = +[ + [ "OffMeshConnectionTool", "classOffMeshConnectionTool.html#af274e3bc78ccbd95ddd0ba6831c8e600", null ], + [ "~OffMeshConnectionTool", "classOffMeshConnectionTool.html#acc9087666ede6f98badc4da256d52772", null ], + [ "handleClick", "classOffMeshConnectionTool.html#af561c2eb8e49bbdc14a271c09f2bf433", null ], + [ "handleMenu", "classOffMeshConnectionTool.html#a74209dcf32093be78df51f0bd36aae43", null ], + [ "handleRender", "classOffMeshConnectionTool.html#a3b1c066c3145af2f4b14e7cb577d302a", null ], + [ "handleRenderOverlay", "classOffMeshConnectionTool.html#af023858b0abb68e538a842ddc9e25022", null ], + [ "handleStep", "classOffMeshConnectionTool.html#a1e894eb42860dbabc7c85928c9ae7175", null ], + [ "handleToggle", "classOffMeshConnectionTool.html#ab618f601d398015b4a8aee495290ea8f", null ], + [ "handleUpdate", "classOffMeshConnectionTool.html#a580d7e61206fa45b3e87a6b52cf076a1", null ], + [ "init", "classOffMeshConnectionTool.html#a3f1425ea30bf3e5841cf6697a01f5e72", null ], + [ "reset", "classOffMeshConnectionTool.html#a8c283c43fa59b196e16440b177cefcfe", null ], + [ "type", "classOffMeshConnectionTool.html#a738515bc57b034ff5ed4d1d0721984da", null ] +]; \ No newline at end of file diff --git a/classOffMeshConnectionTool.png b/classOffMeshConnectionTool.png new file mode 100644 index 00000000..9c29dc8f Binary files /dev/null and b/classOffMeshConnectionTool.png differ diff --git a/classSample-members.html b/classSample-members.html new file mode 100644 index 00000000..193f0c35 --- /dev/null +++ b/classSample-members.html @@ -0,0 +1,169 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Sample Member List
+
+
+ +

This is the complete list of members for Sample, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
collectSettings(struct BuildSettings &settings)Samplevirtual
getAgentClimb()Sampleinlinevirtual
getAgentHeight()Sampleinlinevirtual
getAgentRadius()Sampleinlinevirtual
getCrowd()Sampleinlinevirtual
getDebugDraw()Sampleinline
getInputGeom()Sampleinlinevirtual
getNavMesh()Sampleinlinevirtual
getNavMeshDrawFlags() constSampleinline
getNavMeshQuery()Sampleinlinevirtual
getToolState(int type)Sampleinline
handleBuild()Samplevirtual
handleClick(const float *s, const float *p, bool shift)Samplevirtual
handleCommonSettings()Sample
handleDebugMode()Samplevirtual
handleMeshChanged(class InputGeom *geom)Samplevirtual
handleRender()Samplevirtual
handleRenderOverlay(double *proj, double *model, int *view)Samplevirtual
handleSettings()Samplevirtual
handleStep()Samplevirtual
handleToggle()Samplevirtual
handleTools()Samplevirtual
handleUpdate(const float dt)Samplevirtual
initToolStates(Sample *sample)Sample
loadAll(const char *path)Sampleprotected
m_agentHeightSampleprotected
m_agentMaxClimbSampleprotected
m_agentMaxSlopeSampleprotected
m_agentRadiusSampleprotected
m_cellHeightSampleprotected
m_cellSizeSampleprotected
m_crowdSampleprotected
m_ctxSampleprotected
m_ddSampleprotected
m_detailSampleDistSampleprotected
m_detailSampleMaxErrorSampleprotected
m_edgeMaxErrorSampleprotected
m_edgeMaxLenSampleprotected
m_filterLedgeSpansSampleprotected
m_filterLowHangingObstaclesSampleprotected
m_filterWalkableLowHeightSpansSampleprotected
m_geomSampleprotected
m_navMeshSampleprotected
m_navMeshDrawFlagsSampleprotected
m_navQuerySampleprotected
m_partitionTypeSampleprotected
m_regionMergeSizeSampleprotected
m_regionMinSizeSampleprotected
m_toolSampleprotected
m_toolStatesSampleprotected
m_vertsPerPolySampleprotected
renderOverlayToolStates(double *proj, double *model, int *view)Sample
renderToolStates()Sample
resetCommonSettings()Sample
resetToolStates()Sample
Sample()Sample
saveAll(const char *path, const dtNavMesh *mesh)Sampleprotected
setContext(BuildContext *ctx)Sampleinline
setNavMeshDrawFlags(unsigned char flags)Sampleinline
setTool(SampleTool *tool)Sample
setToolState(int type, SampleToolState *s)Sampleinline
updateToolStates(const float dt)Sample
~Sample()Samplevirtual
+
+ + + + + diff --git a/classSample.html b/classSample.html new file mode 100644 index 00000000..2d60f4ca --- /dev/null +++ b/classSample.html @@ -0,0 +1,1796 @@ + + + + + + + +Recast Navigation: Sample Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Sample Class Reference
+
+
+ +

#include <Sample.h>

+
+Inheritance diagram for Sample:
+
+
+ + +Sample_Debug +Sample_SoloMesh +Sample_TempObstacles +Sample_TileMesh + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Sample ()
 
virtual ~Sample ()
 
void setContext (BuildContext *ctx)
 
void setTool (SampleTool *tool)
 
SampleToolStategetToolState (int type)
 
void setToolState (int type, SampleToolState *s)
 
SampleDebugDrawgetDebugDraw ()
 
virtual void handleSettings ()
 
virtual void handleTools ()
 
virtual void handleDebugMode ()
 
virtual void handleClick (const float *s, const float *p, bool shift)
 
virtual void handleToggle ()
 
virtual void handleStep ()
 
virtual void handleRender ()
 
virtual void handleRenderOverlay (double *proj, double *model, int *view)
 
virtual void handleMeshChanged (class InputGeom *geom)
 
virtual bool handleBuild ()
 
virtual void handleUpdate (const float dt)
 
virtual void collectSettings (struct BuildSettings &settings)
 
virtual class InputGeomgetInputGeom ()
 
virtual class dtNavMeshgetNavMesh ()
 
virtual class dtNavMeshQuerygetNavMeshQuery ()
 
virtual class dtCrowdgetCrowd ()
 
virtual float getAgentRadius ()
 
virtual float getAgentHeight ()
 
virtual float getAgentClimb ()
 
unsigned char getNavMeshDrawFlags () const
 
void setNavMeshDrawFlags (unsigned char flags)
 
void updateToolStates (const float dt)
 
void initToolStates (Sample *sample)
 
void resetToolStates ()
 
void renderToolStates ()
 
void renderOverlayToolStates (double *proj, double *model, int *view)
 
void resetCommonSettings ()
 
void handleCommonSettings ()
 
+ + + + + +

+Protected Member Functions

dtNavMeshloadAll (const char *path)
 
void saveAll (const char *path, const dtNavMesh *mesh)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Attributes

class InputGeomm_geom
 
class dtNavMeshm_navMesh
 
class dtNavMeshQuerym_navQuery
 
class dtCrowdm_crowd
 
unsigned char m_navMeshDrawFlags
 
float m_cellSize
 
float m_cellHeight
 
float m_agentHeight
 
float m_agentRadius
 
float m_agentMaxClimb
 
float m_agentMaxSlope
 
float m_regionMinSize
 
float m_regionMergeSize
 
float m_edgeMaxLen
 
float m_edgeMaxError
 
float m_vertsPerPoly
 
float m_detailSampleDist
 
float m_detailSampleMaxError
 
int m_partitionType
 
bool m_filterLowHangingObstacles
 
bool m_filterLedgeSpans
 
bool m_filterWalkableLowHeightSpans
 
SampleToolm_tool
 
SampleToolStatem_toolStates [MAX_TOOLS]
 
BuildContextm_ctx
 
SampleDebugDraw m_dd
 
+

Constructor & Destructor Documentation

+ +

◆ Sample()

+ +
+
+ + + + + + + +
Sample::Sample ()
+
+ +
+
+ +

◆ ~Sample()

+ +
+
+ + + + + +
+ + + + + + + +
Sample::~Sample ()
+
+virtual
+
+ +
+
+

Member Function Documentation

+ +

◆ collectSettings()

+ +
+
+ + + + + +
+ + + + + + + + +
void Sample::collectSettings (struct BuildSettingssettings)
+
+virtual
+
+ +

Reimplemented in Sample_TileMesh.

+ +
+
+ +

◆ getAgentClimb()

+ +
+
+ + + + + +
+ + + + + + + +
virtual float Sample::getAgentClimb ()
+
+inlinevirtual
+
+ +
+
+ +

◆ getAgentHeight()

+ +
+
+ + + + + +
+ + + + + + + +
virtual float Sample::getAgentHeight ()
+
+inlinevirtual
+
+ +
+
+ +

◆ getAgentRadius()

+ +
+
+ + + + + +
+ + + + + + + +
virtual float Sample::getAgentRadius ()
+
+inlinevirtual
+
+ +
+
+ +

◆ getCrowd()

+ +
+
+ + + + + +
+ + + + + + + +
virtual class dtCrowd* Sample::getCrowd ()
+
+inlinevirtual
+
+ +
+
+ +

◆ getDebugDraw()

+ +
+
+ + + + + +
+ + + + + + + +
SampleDebugDraw& Sample::getDebugDraw ()
+
+inline
+
+ +
+
+ +

◆ getInputGeom()

+ +
+
+ + + + + +
+ + + + + + + +
virtual class InputGeom* Sample::getInputGeom ()
+
+inlinevirtual
+
+ +
+
+ +

◆ getNavMesh()

+ +
+
+ + + + + +
+ + + + + + + +
virtual class dtNavMesh* Sample::getNavMesh ()
+
+inlinevirtual
+
+ +
+
+ +

◆ getNavMeshDrawFlags()

+ +
+
+ + + + + +
+ + + + + + + +
unsigned char Sample::getNavMeshDrawFlags () const
+
+inline
+
+ +
+
+ +

◆ getNavMeshQuery()

+ +
+
+ + + + + +
+ + + + + + + +
virtual class dtNavMeshQuery* Sample::getNavMeshQuery ()
+
+inlinevirtual
+
+ +
+
+ +

◆ getToolState()

+ +
+
+ + + + + +
+ + + + + + + + +
SampleToolState* Sample::getToolState (int type)
+
+inline
+
+ +
+
+ +

◆ handleBuild()

+ +
+
+ + + + + +
+ + + + + + + +
bool Sample::handleBuild ()
+
+virtual
+
+
+ +

◆ handleClick()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void Sample::handleClick (const float * s,
const float * p,
bool shift 
)
+
+virtual
+
+ +

Reimplemented in Sample_Debug.

+ +
+
+ +

◆ handleCommonSettings()

+ +
+
+ + + + + + + +
void Sample::handleCommonSettings ()
+
+ +
+
+ +

◆ handleDebugMode()

+ +
+
+ + + + + +
+ + + + + + + +
void Sample::handleDebugMode ()
+
+virtual
+
+
+ +

◆ handleMeshChanged()

+ +
+
+ + + + + +
+ + + + + + + + +
void Sample::handleMeshChanged (class InputGeomgeom)
+
+virtual
+
+
+ +

◆ handleRender()

+ +
+
+ + + + + +
+ + + + + + + +
void Sample::handleRender ()
+
+virtual
+
+
+ +

◆ handleRenderOverlay()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void Sample::handleRenderOverlay (double * proj,
double * model,
int * view 
)
+
+virtual
+
+
+ +

◆ handleSettings()

+ +
+
+ + + + + +
+ + + + + + + +
void Sample::handleSettings ()
+
+virtual
+
+
+ +

◆ handleStep()

+ +
+
+ + + + + +
+ + + + + + + +
void Sample::handleStep ()
+
+virtual
+
+ +
+
+ +

◆ handleToggle()

+ +
+
+ + + + + +
+ + + + + + + +
void Sample::handleToggle ()
+
+virtual
+
+ +

Reimplemented in Sample_Debug.

+ +
+
+ +

◆ handleTools()

+ +
+
+ + + + + +
+ + + + + + + +
void Sample::handleTools ()
+
+virtual
+
+
+ +

◆ handleUpdate()

+ +
+
+ + + + + +
+ + + + + + + + +
void Sample::handleUpdate (const float dt)
+
+virtual
+
+ +

Reimplemented in Sample_TempObstacles.

+ +
+
+ +

◆ initToolStates()

+ +
+
+ + + + + + + + +
void Sample::initToolStates (Samplesample)
+
+ +
+
+ +

◆ loadAll()

+ +
+
+ + + + + +
+ + + + + + + + +
dtNavMesh * Sample::loadAll (const char * path)
+
+protected
+
+ +
+
+ +

◆ renderOverlayToolStates()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void Sample::renderOverlayToolStates (double * proj,
double * model,
int * view 
)
+
+ +
+
+ +

◆ renderToolStates()

+ +
+
+ + + + + + + +
void Sample::renderToolStates ()
+
+ +
+
+ +

◆ resetCommonSettings()

+ +
+
+ + + + + + + +
void Sample::resetCommonSettings ()
+
+ +
+
+ +

◆ resetToolStates()

+ +
+
+ + + + + + + +
void Sample::resetToolStates ()
+
+ +
+
+ +

◆ saveAll()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void Sample::saveAll (const char * path,
const dtNavMeshmesh 
)
+
+protected
+
+ +
+
+ +

◆ setContext()

+ +
+
+ + + + + +
+ + + + + + + + +
void Sample::setContext (BuildContextctx)
+
+inline
+
+ +
+
+ +

◆ setNavMeshDrawFlags()

+ +
+
+ + + + + +
+ + + + + + + + +
void Sample::setNavMeshDrawFlags (unsigned char flags)
+
+inline
+
+ +
+
+ +

◆ setTool()

+ +
+
+ + + + + + + + +
void Sample::setTool (SampleTooltool)
+
+ +
+
+ +

◆ setToolState()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void Sample::setToolState (int type,
SampleToolStates 
)
+
+inline
+
+ +
+
+ +

◆ updateToolStates()

+ +
+
+ + + + + + + + +
void Sample::updateToolStates (const float dt)
+
+ +
+
+

Member Data Documentation

+ +

◆ m_agentHeight

+ +
+
+ + + + + +
+ + + + +
float Sample::m_agentHeight
+
+protected
+
+ +
+
+ +

◆ m_agentMaxClimb

+ +
+
+ + + + + +
+ + + + +
float Sample::m_agentMaxClimb
+
+protected
+
+ +
+
+ +

◆ m_agentMaxSlope

+ +
+
+ + + + + +
+ + + + +
float Sample::m_agentMaxSlope
+
+protected
+
+ +
+
+ +

◆ m_agentRadius

+ +
+
+ + + + + +
+ + + + +
float Sample::m_agentRadius
+
+protected
+
+ +
+
+ +

◆ m_cellHeight

+ +
+
+ + + + + +
+ + + + +
float Sample::m_cellHeight
+
+protected
+
+ +
+
+ +

◆ m_cellSize

+ +
+
+ + + + + +
+ + + + +
float Sample::m_cellSize
+
+protected
+
+ +
+
+ +

◆ m_crowd

+ +
+
+ + + + + +
+ + + + +
class dtCrowd* Sample::m_crowd
+
+protected
+
+ +
+
+ +

◆ m_ctx

+ +
+
+ + + + + +
+ + + + +
BuildContext* Sample::m_ctx
+
+protected
+
+ +
+
+ +

◆ m_dd

+ +
+
+ + + + + +
+ + + + +
SampleDebugDraw Sample::m_dd
+
+protected
+
+ +
+
+ +

◆ m_detailSampleDist

+ +
+
+ + + + + +
+ + + + +
float Sample::m_detailSampleDist
+
+protected
+
+ +
+
+ +

◆ m_detailSampleMaxError

+ +
+
+ + + + + +
+ + + + +
float Sample::m_detailSampleMaxError
+
+protected
+
+ +
+
+ +

◆ m_edgeMaxError

+ +
+
+ + + + + +
+ + + + +
float Sample::m_edgeMaxError
+
+protected
+
+ +
+
+ +

◆ m_edgeMaxLen

+ +
+
+ + + + + +
+ + + + +
float Sample::m_edgeMaxLen
+
+protected
+
+ +
+
+ +

◆ m_filterLedgeSpans

+ +
+
+ + + + + +
+ + + + +
bool Sample::m_filterLedgeSpans
+
+protected
+
+ +
+
+ +

◆ m_filterLowHangingObstacles

+ +
+
+ + + + + +
+ + + + +
bool Sample::m_filterLowHangingObstacles
+
+protected
+
+ +
+
+ +

◆ m_filterWalkableLowHeightSpans

+ +
+
+ + + + + +
+ + + + +
bool Sample::m_filterWalkableLowHeightSpans
+
+protected
+
+ +
+
+ +

◆ m_geom

+ +
+
+ + + + + +
+ + + + +
class InputGeom* Sample::m_geom
+
+protected
+
+ +
+
+ +

◆ m_navMesh

+ +
+
+ + + + + +
+ + + + +
class dtNavMesh* Sample::m_navMesh
+
+protected
+
+ +
+
+ +

◆ m_navMeshDrawFlags

+ +
+
+ + + + + +
+ + + + +
unsigned char Sample::m_navMeshDrawFlags
+
+protected
+
+ +
+
+ +

◆ m_navQuery

+ +
+
+ + + + + +
+ + + + +
class dtNavMeshQuery* Sample::m_navQuery
+
+protected
+
+ +
+
+ +

◆ m_partitionType

+ +
+
+ + + + + +
+ + + + +
int Sample::m_partitionType
+
+protected
+
+ +
+
+ +

◆ m_regionMergeSize

+ +
+
+ + + + + +
+ + + + +
float Sample::m_regionMergeSize
+
+protected
+
+ +
+
+ +

◆ m_regionMinSize

+ +
+
+ + + + + +
+ + + + +
float Sample::m_regionMinSize
+
+protected
+
+ +
+
+ +

◆ m_tool

+ +
+
+ + + + + +
+ + + + +
SampleTool* Sample::m_tool
+
+protected
+
+ +
+
+ +

◆ m_toolStates

+ +
+
+ + + + + +
+ + + + +
SampleToolState* Sample::m_toolStates[MAX_TOOLS]
+
+protected
+
+ +
+
+ +

◆ m_vertsPerPoly

+ +
+
+ + + + + +
+ + + + +
float Sample::m_vertsPerPoly
+
+protected
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classSample.js b/classSample.js new file mode 100644 index 00000000..7d95141c --- /dev/null +++ b/classSample.js @@ -0,0 +1,66 @@ +var classSample = +[ + [ "Sample", "classSample.html#a48a4cf559a1ff65b7d4776c262236e27", null ], + [ "~Sample", "classSample.html#aea8a48c34d94596f6affbbd28938fb2c", null ], + [ "collectSettings", "classSample.html#aaa6103a46cc7a3853012c5743b41de01", null ], + [ "getAgentClimb", "classSample.html#ae94b1470cd74ee7abe9cf39a74c2bbd8", null ], + [ "getAgentHeight", "classSample.html#a7d914e678845642d42a09469377a7f83", null ], + [ "getAgentRadius", "classSample.html#a3d6dc892150a705128c5799e7e4e3aab", null ], + [ "getCrowd", "classSample.html#af3671d3b21ff1992948cb7092ce0fc08", null ], + [ "getDebugDraw", "classSample.html#a7e157d7dcc5164d3014ba248a8a1bbbe", null ], + [ "getInputGeom", "classSample.html#aab3a8fd2e47d84d952a21b2daa7f8318", null ], + [ "getNavMesh", "classSample.html#abf2cdbfa68c12b4f309bdf74671de539", null ], + [ "getNavMeshDrawFlags", "classSample.html#a20186dffd1c83837a2a32068fe819150", null ], + [ "getNavMeshQuery", "classSample.html#a120cb5edc22425e12445366f340578b2", null ], + [ "getToolState", "classSample.html#a7ba24b29a3f97965904b66c17ade4645", null ], + [ "handleBuild", "classSample.html#aed281e16d0d13265d6d43d3604bc10ad", null ], + [ "handleClick", "classSample.html#a01d84b29a038e029bca701f34a72cbdd", null ], + [ "handleCommonSettings", "classSample.html#ad24b41fce326733944174ce5c4b4b30c", null ], + [ "handleDebugMode", "classSample.html#a013d5178776491775faec65ee8627233", null ], + [ "handleMeshChanged", "classSample.html#a469aa66ff46ed039e8b6d0067f7e500c", null ], + [ "handleRender", "classSample.html#ada97cd12664f32a84c23c2e2b50890d3", null ], + [ "handleRenderOverlay", "classSample.html#aa6c6bd9c1947f9699e75c726f0bbd4d5", null ], + [ "handleSettings", "classSample.html#a06fbc4cf5c3cd6b5581ae33db37ac324", null ], + [ "handleStep", "classSample.html#a77bb6d09c508fb0f7d9cc498962f7d08", null ], + [ "handleToggle", "classSample.html#a9bcb74f237555eb39454228acf9471c8", null ], + [ "handleTools", "classSample.html#a4dc0dd60e505cec25a225f5d2ebf83d1", null ], + [ "handleUpdate", "classSample.html#ae3185e1830bc005a03bf595fac945a23", null ], + [ "initToolStates", "classSample.html#a3274e125e6c8206d0598a84ce6027693", null ], + [ "loadAll", "classSample.html#a4418aaf6b8e5c6ddc1d20f4388f101ba", null ], + [ "renderOverlayToolStates", "classSample.html#a3f94bf8837f6fe91430508b1cd6dc33e", null ], + [ "renderToolStates", "classSample.html#ae660249e6e9f94b1606e617cf8c3a7a0", null ], + [ "resetCommonSettings", "classSample.html#a2b527228b469ae5d437e6f0a1caf958d", null ], + [ "resetToolStates", "classSample.html#acfb792ed987cf946d264461a04683ff7", null ], + [ "saveAll", "classSample.html#a5a6d7fec2a32c30cebc8f4a3c895593d", null ], + [ "setContext", "classSample.html#a86e13c14ae1a347d4867c77ec90e49f1", null ], + [ "setNavMeshDrawFlags", "classSample.html#a0b5f9832856a0880004b8f725366cca1", null ], + [ "setTool", "classSample.html#a0602082aea4402bd6db027a5aa4f33a0", null ], + [ "setToolState", "classSample.html#a366638d234ad656df8bd3946d11792b5", null ], + [ "updateToolStates", "classSample.html#a6b8f01c0007622ce86b236c283ea5ae4", null ], + [ "m_agentHeight", "classSample.html#af6972f1f58b458f5f5ff6291da892882", null ], + [ "m_agentMaxClimb", "classSample.html#ae0149f18e59e0c90ed444c35604cb943", null ], + [ "m_agentMaxSlope", "classSample.html#a880cc7f8392d39666bab31f183f75b82", null ], + [ "m_agentRadius", "classSample.html#ae77f5848426c540d452b7bbbdd33dcb2", null ], + [ "m_cellHeight", "classSample.html#a9e971309f2473d4c4f44226c049f8d9d", null ], + [ "m_cellSize", "classSample.html#a0ac2919f168dbe909f642515d78b7c8d", null ], + [ "m_crowd", "classSample.html#acdddfc70a599d7a6b7a9bb58517d9725", null ], + [ "m_ctx", "classSample.html#a275537ae765b914f89c7cd266895fec7", null ], + [ "m_dd", "classSample.html#ab48458c3c48e771dc7a1fa295c9fd637", null ], + [ "m_detailSampleDist", "classSample.html#a98b63ce7047076ff8d6472eb13942e26", null ], + [ "m_detailSampleMaxError", "classSample.html#a9b179f82933a079bc9ea7f41aa79fa51", null ], + [ "m_edgeMaxError", "classSample.html#a9d9a456fbc01f802884f15d87aadeea6", null ], + [ "m_edgeMaxLen", "classSample.html#a66229e8206de01d22c240bd8420442e1", null ], + [ "m_filterLedgeSpans", "classSample.html#a5aba3df7565098bb9e6e327389abb462", null ], + [ "m_filterLowHangingObstacles", "classSample.html#a5efb5799ef7f20d164e54913f2e80259", null ], + [ "m_filterWalkableLowHeightSpans", "classSample.html#adc2be47bf6e03ac9fd4af8b9f364e6d6", null ], + [ "m_geom", "classSample.html#a53ee143e40e1472eddacf76bdd141c73", null ], + [ "m_navMesh", "classSample.html#a85e92e352c6aa0f8942736a3f2018884", null ], + [ "m_navMeshDrawFlags", "classSample.html#a0fb2eac8be24dbb9f54ac8d37324b7b9", null ], + [ "m_navQuery", "classSample.html#a26ee023759e26ed258ad35b1183edae0", null ], + [ "m_partitionType", "classSample.html#a9888fa5781dee649df14a7be470a370c", null ], + [ "m_regionMergeSize", "classSample.html#a1f8a314cdaa47586271b8509dca7849f", null ], + [ "m_regionMinSize", "classSample.html#a648ad42edba19a7bb76bb7f17bd72335", null ], + [ "m_tool", "classSample.html#a2b051749824672f59913671ec043dd59", null ], + [ "m_toolStates", "classSample.html#a824aa6303ba63c6c03b90aca89143ac7", null ], + [ "m_vertsPerPoly", "classSample.html#af57ce10362e08d94b16cc592734bd6ba", null ] +]; \ No newline at end of file diff --git a/classSample.png b/classSample.png new file mode 100644 index 00000000..a27a10aa Binary files /dev/null and b/classSample.png differ diff --git a/classSampleDebugDraw-members.html b/classSampleDebugDraw-members.html new file mode 100644 index 00000000..95a5e387 --- /dev/null +++ b/classSampleDebugDraw-members.html @@ -0,0 +1,116 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SampleDebugDraw Member List
+
+
+ +

This is the complete list of members for SampleDebugDraw, including all inherited members.

+ + + + + + + + + + + +
areaToCol(unsigned int area)SampleDebugDrawvirtual
begin(duDebugDrawPrimitives prim, float size=1.0f)DebugDrawGLvirtual
depthMask(bool state)DebugDrawGLvirtual
end()DebugDrawGLvirtual
texture(bool state)DebugDrawGLvirtual
vertex(const float *pos, unsigned int color)DebugDrawGLvirtual
vertex(const float x, const float y, const float z, unsigned int color)DebugDrawGLvirtual
vertex(const float *pos, unsigned int color, const float *uv)DebugDrawGLvirtual
vertex(const float x, const float y, const float z, unsigned int color, const float u, const float v)DebugDrawGLvirtual
~duDebugDraw()=0duDebugDrawpure virtual
+
+ + + + + diff --git a/classSampleDebugDraw.html b/classSampleDebugDraw.html new file mode 100644 index 00000000..c4d9e02b --- /dev/null +++ b/classSampleDebugDraw.html @@ -0,0 +1,187 @@ + + + + + + + +Recast Navigation: SampleDebugDraw Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
SampleDebugDraw Class Reference
+
+
+ +

#include <Sample.h>

+
+Inheritance diagram for SampleDebugDraw:
+
+
+ + +DebugDrawGL +duDebugDraw + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

virtual unsigned int areaToCol (unsigned int area)
 Compute a color for given area. More...
 
- Public Member Functions inherited from DebugDrawGL
virtual void depthMask (bool state)
 
virtual void texture (bool state)
 
virtual void begin (duDebugDrawPrimitives prim, float size=1.0f)
 Begin drawing primitives. More...
 
virtual void vertex (const float *pos, unsigned int color)
 Submit a vertex. More...
 
virtual void vertex (const float x, const float y, const float z, unsigned int color)
 Submit a vertex. More...
 
virtual void vertex (const float *pos, unsigned int color, const float *uv)
 Submit a vertex. More...
 
virtual void vertex (const float x, const float y, const float z, unsigned int color, const float u, const float v)
 Submit a vertex. More...
 
virtual void end ()
 End drawing primitives. More...
 
- Public Member Functions inherited from duDebugDraw
virtual ~duDebugDraw ()=0
 
+

Member Function Documentation

+ +

◆ areaToCol()

+ +
+
+ + + + + +
+ + + + + + + + +
unsigned int SampleDebugDraw::areaToCol (unsigned int area)
+
+virtual
+
+ +

Compute a color for given area.

+ +

Reimplemented from duDebugDraw.

+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classSampleDebugDraw.js b/classSampleDebugDraw.js new file mode 100644 index 00000000..a346d5e8 --- /dev/null +++ b/classSampleDebugDraw.js @@ -0,0 +1,4 @@ +var classSampleDebugDraw = +[ + [ "areaToCol", "classSampleDebugDraw.html#ae30775c5bef8b739d5c25a10e3603571", null ] +]; \ No newline at end of file diff --git a/classSampleDebugDraw.png b/classSampleDebugDraw.png new file mode 100644 index 00000000..599b016f Binary files /dev/null and b/classSampleDebugDraw.png differ diff --git a/classSample__Debug-members.html b/classSample__Debug-members.html new file mode 100644 index 00000000..a125072a --- /dev/null +++ b/classSample__Debug-members.html @@ -0,0 +1,181 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Sample_Debug Member List
+
+
+ +

This is the complete list of members for Sample_Debug, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
collectSettings(struct BuildSettings &settings)Samplevirtual
getAgentClimb()Sampleinlinevirtual
getAgentHeight()Sampleinlinevirtual
getAgentRadius()Sampleinlinevirtual
getBoundsMax()Sample_Debugvirtual
getBoundsMin()Sample_Debugvirtual
getCrowd()Sampleinlinevirtual
getDebugDraw()Sampleinline
getInputGeom()Sampleinlinevirtual
getNavMesh()Sampleinlinevirtual
getNavMeshDrawFlags() constSampleinline
getNavMeshQuery()Sampleinlinevirtual
getToolState(int type)Sampleinline
handleBuild()Sample_Debugvirtual
handleClick(const float *s, const float *p, bool shift)Sample_Debugvirtual
handleCommonSettings()Sample
handleDebugMode()Sample_Debugvirtual
handleMeshChanged(class InputGeom *geom)Sample_Debugvirtual
handleRender()Sample_Debugvirtual
handleRenderOverlay(double *proj, double *model, int *view)Sample_Debugvirtual
handleSettings()Sample_Debugvirtual
handleStep()Samplevirtual
handleToggle()Sample_Debugvirtual
handleTools()Sample_Debugvirtual
handleUpdate(const float dt)Samplevirtual
initToolStates(Sample *sample)Sample
loadAll(const char *path)Sampleprotected
m_agentHeightSampleprotected
m_agentMaxClimbSampleprotected
m_agentMaxSlopeSampleprotected
m_agentRadiusSampleprotected
m_bmaxSample_Debugprotected
m_bminSample_Debugprotected
m_cellHeightSampleprotected
m_cellSizeSampleprotected
m_centerSample_Debugprotected
m_chfSample_Debugprotected
m_crowdSampleprotected
m_csetSample_Debugprotected
m_ctxSampleprotected
m_ddSampleprotected
m_detailSampleDistSampleprotected
m_detailSampleMaxErrorSampleprotected
m_edgeMaxErrorSampleprotected
m_edgeMaxLenSampleprotected
m_filterLedgeSpansSampleprotected
m_filterLowHangingObstaclesSampleprotected
m_filterWalkableLowHeightSpansSampleprotected
m_geomSampleprotected
m_halfExtentsSample_Debugprotected
m_navMeshSampleprotected
m_navMeshDrawFlagsSampleprotected
m_navQuerySampleprotected
m_partitionTypeSampleprotected
m_pmeshSample_Debugprotected
m_refSample_Debugprotected
m_regionMergeSizeSampleprotected
m_regionMinSizeSampleprotected
m_toolSampleprotected
m_toolStatesSampleprotected
m_vertsPerPolySampleprotected
renderOverlayToolStates(double *proj, double *model, int *view)Sample
renderToolStates()Sample
resetCommonSettings()Sample
resetToolStates()Sample
Sample()Sample
Sample_Debug()Sample_Debug
saveAll(const char *path, const dtNavMesh *mesh)Sampleprotected
setContext(BuildContext *ctx)Sampleinline
setNavMeshDrawFlags(unsigned char flags)Sampleinline
setTool(SampleTool *tool)Sample
setToolState(int type, SampleToolState *s)Sampleinline
updateToolStates(const float dt)Sample
~Sample()Samplevirtual
~Sample_Debug()Sample_Debugvirtual
+
+ + + + + diff --git a/classSample__Debug.html b/classSample__Debug.html new file mode 100644 index 00000000..240807d9 --- /dev/null +++ b/classSample__Debug.html @@ -0,0 +1,840 @@ + + + + + + + +Recast Navigation: Sample_Debug Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Sample_Debug Class Reference
+
+
+ +

Sample used for random debugging. + More...

+ +

#include <Sample_Debug.h>

+
+Inheritance diagram for Sample_Debug:
+
+
+ + +Sample + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Sample_Debug ()
 
virtual ~Sample_Debug ()
 
virtual void handleSettings ()
 
virtual void handleTools ()
 
virtual void handleDebugMode ()
 
virtual void handleClick (const float *s, const float *p, bool shift)
 
virtual void handleToggle ()
 
virtual void handleRender ()
 
virtual void handleRenderOverlay (double *proj, double *model, int *view)
 
virtual void handleMeshChanged (class InputGeom *geom)
 
virtual bool handleBuild ()
 
virtual const float * getBoundsMin ()
 
virtual const float * getBoundsMax ()
 
- Public Member Functions inherited from Sample
 Sample ()
 
virtual ~Sample ()
 
void setContext (BuildContext *ctx)
 
void setTool (SampleTool *tool)
 
SampleToolStategetToolState (int type)
 
void setToolState (int type, SampleToolState *s)
 
SampleDebugDrawgetDebugDraw ()
 
virtual void handleStep ()
 
virtual void handleUpdate (const float dt)
 
virtual void collectSettings (struct BuildSettings &settings)
 
virtual class InputGeomgetInputGeom ()
 
virtual class dtNavMeshgetNavMesh ()
 
virtual class dtNavMeshQuerygetNavMeshQuery ()
 
virtual class dtCrowdgetCrowd ()
 
virtual float getAgentRadius ()
 
virtual float getAgentHeight ()
 
virtual float getAgentClimb ()
 
unsigned char getNavMeshDrawFlags () const
 
void setNavMeshDrawFlags (unsigned char flags)
 
void updateToolStates (const float dt)
 
void initToolStates (Sample *sample)
 
void resetToolStates ()
 
void renderToolStates ()
 
void renderOverlayToolStates (double *proj, double *model, int *view)
 
void resetCommonSettings ()
 
void handleCommonSettings ()
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Attributes

rcCompactHeightfieldm_chf
 
rcContourSetm_cset
 
rcPolyMeshm_pmesh
 
float m_halfExtents [3]
 
float m_center [3]
 
float m_bmin [3]
 
float m_bmax [3]
 
dtPolyRef m_ref
 
- Protected Attributes inherited from Sample
class InputGeomm_geom
 
class dtNavMeshm_navMesh
 
class dtNavMeshQuerym_navQuery
 
class dtCrowdm_crowd
 
unsigned char m_navMeshDrawFlags
 
float m_cellSize
 
float m_cellHeight
 
float m_agentHeight
 
float m_agentRadius
 
float m_agentMaxClimb
 
float m_agentMaxSlope
 
float m_regionMinSize
 
float m_regionMergeSize
 
float m_edgeMaxLen
 
float m_edgeMaxError
 
float m_vertsPerPoly
 
float m_detailSampleDist
 
float m_detailSampleMaxError
 
int m_partitionType
 
bool m_filterLowHangingObstacles
 
bool m_filterLedgeSpans
 
bool m_filterWalkableLowHeightSpans
 
SampleToolm_tool
 
SampleToolStatem_toolStates [MAX_TOOLS]
 
BuildContextm_ctx
 
SampleDebugDraw m_dd
 
+ + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Sample
dtNavMeshloadAll (const char *path)
 
void saveAll (const char *path, const dtNavMesh *mesh)
 
+

Description

+

Sample used for random debugging.

+

Constructor & Destructor Documentation

+ +

◆ Sample_Debug()

+ +
+
+ + + + + + + +
Sample_Debug::Sample_Debug ()
+
+ +
+
+ +

◆ ~Sample_Debug()

+ +
+
+ + + + + +
+ + + + + + + +
Sample_Debug::~Sample_Debug ()
+
+virtual
+
+ +
+
+

Member Function Documentation

+ +

◆ getBoundsMax()

+ +
+
+ + + + + +
+ + + + + + + +
const float * Sample_Debug::getBoundsMax ()
+
+virtual
+
+ +
+
+ +

◆ getBoundsMin()

+ +
+
+ + + + + +
+ + + + + + + +
const float * Sample_Debug::getBoundsMin ()
+
+virtual
+
+ +
+
+ +

◆ handleBuild()

+ +
+
+ + + + + +
+ + + + + + + +
bool Sample_Debug::handleBuild ()
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleClick()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void Sample_Debug::handleClick (const float * s,
const float * p,
bool shift 
)
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleDebugMode()

+ +
+
+ + + + + +
+ + + + + + + +
void Sample_Debug::handleDebugMode ()
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleMeshChanged()

+ +
+
+ + + + + +
+ + + + + + + + +
void Sample_Debug::handleMeshChanged (class InputGeomgeom)
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleRender()

+ +
+
+ + + + + +
+ + + + + + + +
void Sample_Debug::handleRender ()
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleRenderOverlay()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void Sample_Debug::handleRenderOverlay (double * proj,
double * model,
int * view 
)
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleSettings()

+ +
+
+ + + + + +
+ + + + + + + +
void Sample_Debug::handleSettings ()
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleToggle()

+ +
+
+ + + + + +
+ + + + + + + +
void Sample_Debug::handleToggle ()
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleTools()

+ +
+
+ + + + + +
+ + + + + + + +
void Sample_Debug::handleTools ()
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+

Member Data Documentation

+ +

◆ m_bmax

+ +
+
+ + + + + +
+ + + + +
float Sample_Debug::m_bmax[3]
+
+protected
+
+ +
+
+ +

◆ m_bmin

+ +
+
+ + + + + +
+ + + + +
float Sample_Debug::m_bmin[3]
+
+protected
+
+ +
+
+ +

◆ m_center

+ +
+
+ + + + + +
+ + + + +
float Sample_Debug::m_center[3]
+
+protected
+
+ +
+
+ +

◆ m_chf

+ +
+
+ + + + + +
+ + + + +
rcCompactHeightfield* Sample_Debug::m_chf
+
+protected
+
+ +
+
+ +

◆ m_cset

+ +
+
+ + + + + +
+ + + + +
rcContourSet* Sample_Debug::m_cset
+
+protected
+
+ +
+
+ +

◆ m_halfExtents

+ +
+
+ + + + + +
+ + + + +
float Sample_Debug::m_halfExtents[3]
+
+protected
+
+ +
+
+ +

◆ m_pmesh

+ +
+
+ + + + + +
+ + + + +
rcPolyMesh* Sample_Debug::m_pmesh
+
+protected
+
+ +
+
+ +

◆ m_ref

+ +
+
+ + + + + +
+ + + + +
dtPolyRef Sample_Debug::m_ref
+
+protected
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classSample__Debug.js b/classSample__Debug.js new file mode 100644 index 00000000..f06c0426 --- /dev/null +++ b/classSample__Debug.js @@ -0,0 +1,24 @@ +var classSample__Debug = +[ + [ "Sample_Debug", "classSample__Debug.html#aeaaa851b59ab27d8ca483d5b8842dc2f", null ], + [ "~Sample_Debug", "classSample__Debug.html#a1d922a079270ceae17667276c6372c51", null ], + [ "getBoundsMax", "classSample__Debug.html#aa1e603f5ef26815d521d7b89e7fe4e7d", null ], + [ "getBoundsMin", "classSample__Debug.html#a973cd339736c98e7ecd5cdc4ee7988c5", null ], + [ "handleBuild", "classSample__Debug.html#a72d94e452001b3bd546193e482651803", null ], + [ "handleClick", "classSample__Debug.html#a0c0de127e725454c8767d09bc5e0b8a5", null ], + [ "handleDebugMode", "classSample__Debug.html#a4a67b68c13adbdc12f65a4bb15532ca4", null ], + [ "handleMeshChanged", "classSample__Debug.html#ab5cb622ee5868b780744f184fafd6771", null ], + [ "handleRender", "classSample__Debug.html#a63a4a62f44a207f65c41637d5b54c842", null ], + [ "handleRenderOverlay", "classSample__Debug.html#a230fb5fe100409fc376604e0a470e259", null ], + [ "handleSettings", "classSample__Debug.html#ae400fa9f870766e9f284b361accd9427", null ], + [ "handleToggle", "classSample__Debug.html#ad16cb7ee6860915b557f1e1594af4301", null ], + [ "handleTools", "classSample__Debug.html#aac6036510468b2facb5b00458a35a6ef", null ], + [ "m_bmax", "classSample__Debug.html#abf213338fafebbc4dfb36ab6cfa6df46", null ], + [ "m_bmin", "classSample__Debug.html#a965cd582365c8b945f5d5f7da22f0597", null ], + [ "m_center", "classSample__Debug.html#aac3de91166d443892f1f95748bcc0c01", null ], + [ "m_chf", "classSample__Debug.html#a84862166a412cf8260af236d0b158c26", null ], + [ "m_cset", "classSample__Debug.html#a9c3974e2ee3ac1694b8d0b83a0d54054", null ], + [ "m_halfExtents", "classSample__Debug.html#a016ffb0b2f7b328988dc8ca45de70900", null ], + [ "m_pmesh", "classSample__Debug.html#ac4e043754c0612c7b650c95f0b62706e", null ], + [ "m_ref", "classSample__Debug.html#a673bdcae37af994d3dcd004d3e4c7ffd", null ] +]; \ No newline at end of file diff --git a/classSample__Debug.png b/classSample__Debug.png new file mode 100644 index 00000000..e256919e Binary files /dev/null and b/classSample__Debug.png differ diff --git a/classSample__SoloMesh-members.html b/classSample__SoloMesh-members.html new file mode 100644 index 00000000..a203690e --- /dev/null +++ b/classSample__SoloMesh-members.html @@ -0,0 +1,201 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Sample_SoloMesh Member List
+
+
+ +

This is the complete list of members for Sample_SoloMesh, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cleanup()Sample_SoloMeshprotected
collectSettings(struct BuildSettings &settings)Samplevirtual
DrawMode enum nameSample_SoloMeshprotected
DRAWMODE_BOTH_CONTOURS enum valueSample_SoloMeshprotected
DRAWMODE_COMPACT enum valueSample_SoloMeshprotected
DRAWMODE_COMPACT_DISTANCE enum valueSample_SoloMeshprotected
DRAWMODE_COMPACT_REGIONS enum valueSample_SoloMeshprotected
DRAWMODE_CONTOURS enum valueSample_SoloMeshprotected
DRAWMODE_MESH enum valueSample_SoloMeshprotected
DRAWMODE_NAVMESH enum valueSample_SoloMeshprotected
DRAWMODE_NAVMESH_BVTREE enum valueSample_SoloMeshprotected
DRAWMODE_NAVMESH_INVIS enum valueSample_SoloMeshprotected
DRAWMODE_NAVMESH_NODES enum valueSample_SoloMeshprotected
DRAWMODE_NAVMESH_TRANS enum valueSample_SoloMeshprotected
DRAWMODE_POLYMESH enum valueSample_SoloMeshprotected
DRAWMODE_POLYMESH_DETAIL enum valueSample_SoloMeshprotected
DRAWMODE_RAW_CONTOURS enum valueSample_SoloMeshprotected
DRAWMODE_REGION_CONNECTIONS enum valueSample_SoloMeshprotected
DRAWMODE_VOXELS enum valueSample_SoloMeshprotected
DRAWMODE_VOXELS_WALKABLE enum valueSample_SoloMeshprotected
getAgentClimb()Sampleinlinevirtual
getAgentHeight()Sampleinlinevirtual
getAgentRadius()Sampleinlinevirtual
getCrowd()Sampleinlinevirtual
getDebugDraw()Sampleinline
getInputGeom()Sampleinlinevirtual
getNavMesh()Sampleinlinevirtual
getNavMeshDrawFlags() constSampleinline
getNavMeshQuery()Sampleinlinevirtual
getToolState(int type)Sampleinline
handleBuild()Sample_SoloMeshvirtual
handleClick(const float *s, const float *p, bool shift)Samplevirtual
handleCommonSettings()Sample
handleDebugMode()Sample_SoloMeshvirtual
handleMeshChanged(class InputGeom *geom)Sample_SoloMeshvirtual
handleRender()Sample_SoloMeshvirtual
handleRenderOverlay(double *proj, double *model, int *view)Sample_SoloMeshvirtual
handleSettings()Sample_SoloMeshvirtual
handleStep()Samplevirtual
handleToggle()Samplevirtual
handleTools()Sample_SoloMeshvirtual
handleUpdate(const float dt)Samplevirtual
initToolStates(Sample *sample)Sample
loadAll(const char *path)Sampleprotected
m_agentHeightSampleprotected
m_agentMaxClimbSampleprotected
m_agentMaxSlopeSampleprotected
m_agentRadiusSampleprotected
m_cellHeightSampleprotected
m_cellSizeSampleprotected
m_cfgSample_SoloMeshprotected
m_chfSample_SoloMeshprotected
m_crowdSampleprotected
m_csetSample_SoloMeshprotected
m_ctxSampleprotected
m_ddSampleprotected
m_detailSampleDistSampleprotected
m_detailSampleMaxErrorSampleprotected
m_dmeshSample_SoloMeshprotected
m_drawModeSample_SoloMeshprotected
m_edgeMaxErrorSampleprotected
m_edgeMaxLenSampleprotected
m_filterLedgeSpansSampleprotected
m_filterLowHangingObstaclesSampleprotected
m_filterWalkableLowHeightSpansSampleprotected
m_geomSampleprotected
m_keepInterResultsSample_SoloMeshprotected
m_navMeshSampleprotected
m_navMeshDrawFlagsSampleprotected
m_navQuerySampleprotected
m_partitionTypeSampleprotected
m_pmeshSample_SoloMeshprotected
m_regionMergeSizeSampleprotected
m_regionMinSizeSampleprotected
m_solidSample_SoloMeshprotected
m_toolSampleprotected
m_toolStatesSampleprotected
m_totalBuildTimeMsSample_SoloMeshprotected
m_triareasSample_SoloMeshprotected
m_vertsPerPolySampleprotected
MAX_DRAWMODE enum valueSample_SoloMeshprotected
renderOverlayToolStates(double *proj, double *model, int *view)Sample
renderToolStates()Sample
resetCommonSettings()Sample
resetToolStates()Sample
Sample()Sample
Sample_SoloMesh()Sample_SoloMesh
saveAll(const char *path, const dtNavMesh *mesh)Sampleprotected
setContext(BuildContext *ctx)Sampleinline
setNavMeshDrawFlags(unsigned char flags)Sampleinline
setTool(SampleTool *tool)Sample
setToolState(int type, SampleToolState *s)Sampleinline
updateToolStates(const float dt)Sample
~Sample()Samplevirtual
~Sample_SoloMesh()Sample_SoloMeshvirtual
+
+ + + + + diff --git a/classSample__SoloMesh.html b/classSample__SoloMesh.html new file mode 100644 index 00000000..fd03fa52 --- /dev/null +++ b/classSample__SoloMesh.html @@ -0,0 +1,859 @@ + + + + + + + +Recast Navigation: Sample_SoloMesh Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Sample_SoloMesh Class Reference
+
+
+ +

#include <Sample_SoloMesh.h>

+
+Inheritance diagram for Sample_SoloMesh:
+
+
+ + +Sample + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Sample_SoloMesh ()
 
virtual ~Sample_SoloMesh ()
 
virtual void handleSettings ()
 
virtual void handleTools ()
 
virtual void handleDebugMode ()
 
virtual void handleRender ()
 
virtual void handleRenderOverlay (double *proj, double *model, int *view)
 
virtual void handleMeshChanged (class InputGeom *geom)
 
virtual bool handleBuild ()
 
- Public Member Functions inherited from Sample
 Sample ()
 
virtual ~Sample ()
 
void setContext (BuildContext *ctx)
 
void setTool (SampleTool *tool)
 
SampleToolStategetToolState (int type)
 
void setToolState (int type, SampleToolState *s)
 
SampleDebugDrawgetDebugDraw ()
 
virtual void handleClick (const float *s, const float *p, bool shift)
 
virtual void handleToggle ()
 
virtual void handleStep ()
 
virtual void handleUpdate (const float dt)
 
virtual void collectSettings (struct BuildSettings &settings)
 
virtual class InputGeomgetInputGeom ()
 
virtual class dtNavMeshgetNavMesh ()
 
virtual class dtNavMeshQuerygetNavMeshQuery ()
 
virtual class dtCrowdgetCrowd ()
 
virtual float getAgentRadius ()
 
virtual float getAgentHeight ()
 
virtual float getAgentClimb ()
 
unsigned char getNavMeshDrawFlags () const
 
void setNavMeshDrawFlags (unsigned char flags)
 
void updateToolStates (const float dt)
 
void initToolStates (Sample *sample)
 
void resetToolStates ()
 
void renderToolStates ()
 
void renderOverlayToolStates (double *proj, double *model, int *view)
 
void resetCommonSettings ()
 
void handleCommonSettings ()
 
+ + + +

+Protected Types

enum  DrawMode {
+  DRAWMODE_NAVMESH +, DRAWMODE_NAVMESH_TRANS +, DRAWMODE_NAVMESH_BVTREE +, DRAWMODE_NAVMESH_NODES +,
+  DRAWMODE_NAVMESH_INVIS +, DRAWMODE_MESH +, DRAWMODE_VOXELS +, DRAWMODE_VOXELS_WALKABLE +,
+  DRAWMODE_COMPACT +, DRAWMODE_COMPACT_DISTANCE +, DRAWMODE_COMPACT_REGIONS +, DRAWMODE_REGION_CONNECTIONS +,
+  DRAWMODE_RAW_CONTOURS +, DRAWMODE_BOTH_CONTOURS +, DRAWMODE_CONTOURS +, DRAWMODE_POLYMESH +,
+  DRAWMODE_POLYMESH_DETAIL +, MAX_DRAWMODE +
+ }
 
+ + + + + + + + +

+Protected Member Functions

void cleanup ()
 
- Protected Member Functions inherited from Sample
dtNavMeshloadAll (const char *path)
 
void saveAll (const char *path, const dtNavMesh *mesh)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Attributes

bool m_keepInterResults
 
float m_totalBuildTimeMs
 
unsigned char * m_triareas
 
rcHeightfieldm_solid
 
rcCompactHeightfieldm_chf
 
rcContourSetm_cset
 
rcPolyMeshm_pmesh
 
rcConfig m_cfg
 
rcPolyMeshDetailm_dmesh
 
DrawMode m_drawMode
 
- Protected Attributes inherited from Sample
class InputGeomm_geom
 
class dtNavMeshm_navMesh
 
class dtNavMeshQuerym_navQuery
 
class dtCrowdm_crowd
 
unsigned char m_navMeshDrawFlags
 
float m_cellSize
 
float m_cellHeight
 
float m_agentHeight
 
float m_agentRadius
 
float m_agentMaxClimb
 
float m_agentMaxSlope
 
float m_regionMinSize
 
float m_regionMergeSize
 
float m_edgeMaxLen
 
float m_edgeMaxError
 
float m_vertsPerPoly
 
float m_detailSampleDist
 
float m_detailSampleMaxError
 
int m_partitionType
 
bool m_filterLowHangingObstacles
 
bool m_filterLedgeSpans
 
bool m_filterWalkableLowHeightSpans
 
SampleToolm_tool
 
SampleToolStatem_toolStates [MAX_TOOLS]
 
BuildContextm_ctx
 
SampleDebugDraw m_dd
 
+

Member Enumeration Documentation

+ +

◆ DrawMode

+ +
+
+ + + + + +
+ + + + +
enum Sample_SoloMesh::DrawMode
+
+protected
+
+ + + + + + + + + + + + + + + + + + + +
Enumerator
DRAWMODE_NAVMESH 
DRAWMODE_NAVMESH_TRANS 
DRAWMODE_NAVMESH_BVTREE 
DRAWMODE_NAVMESH_NODES 
DRAWMODE_NAVMESH_INVIS 
DRAWMODE_MESH 
DRAWMODE_VOXELS 
DRAWMODE_VOXELS_WALKABLE 
DRAWMODE_COMPACT 
DRAWMODE_COMPACT_DISTANCE 
DRAWMODE_COMPACT_REGIONS 
DRAWMODE_REGION_CONNECTIONS 
DRAWMODE_RAW_CONTOURS 
DRAWMODE_BOTH_CONTOURS 
DRAWMODE_CONTOURS 
DRAWMODE_POLYMESH 
DRAWMODE_POLYMESH_DETAIL 
MAX_DRAWMODE 
+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Sample_SoloMesh()

+ +
+
+ + + + + + + +
Sample_SoloMesh::Sample_SoloMesh ()
+
+ +
+
+ +

◆ ~Sample_SoloMesh()

+ +
+
+ + + + + +
+ + + + + + + +
Sample_SoloMesh::~Sample_SoloMesh ()
+
+virtual
+
+ +
+
+

Member Function Documentation

+ +

◆ cleanup()

+ +
+
+ + + + + +
+ + + + + + + +
void Sample_SoloMesh::cleanup ()
+
+protected
+
+ +
+
+ +

◆ handleBuild()

+ +
+
+ + + + + +
+ + + + + + + +
bool Sample_SoloMesh::handleBuild ()
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleDebugMode()

+ +
+
+ + + + + +
+ + + + + + + +
void Sample_SoloMesh::handleDebugMode ()
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleMeshChanged()

+ +
+
+ + + + + +
+ + + + + + + + +
void Sample_SoloMesh::handleMeshChanged (class InputGeomgeom)
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleRender()

+ +
+
+ + + + + +
+ + + + + + + +
void Sample_SoloMesh::handleRender ()
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleRenderOverlay()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void Sample_SoloMesh::handleRenderOverlay (double * proj,
double * model,
int * view 
)
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleSettings()

+ +
+
+ + + + + +
+ + + + + + + +
void Sample_SoloMesh::handleSettings ()
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleTools()

+ +
+
+ + + + + +
+ + + + + + + +
void Sample_SoloMesh::handleTools ()
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+

Member Data Documentation

+ +

◆ m_cfg

+ +
+
+ + + + + +
+ + + + +
rcConfig Sample_SoloMesh::m_cfg
+
+protected
+
+ +
+
+ +

◆ m_chf

+ +
+
+ + + + + +
+ + + + +
rcCompactHeightfield* Sample_SoloMesh::m_chf
+
+protected
+
+ +
+
+ +

◆ m_cset

+ +
+
+ + + + + +
+ + + + +
rcContourSet* Sample_SoloMesh::m_cset
+
+protected
+
+ +
+
+ +

◆ m_dmesh

+ +
+
+ + + + + +
+ + + + +
rcPolyMeshDetail* Sample_SoloMesh::m_dmesh
+
+protected
+
+ +
+
+ +

◆ m_drawMode

+ +
+
+ + + + + +
+ + + + +
DrawMode Sample_SoloMesh::m_drawMode
+
+protected
+
+ +
+
+ +

◆ m_keepInterResults

+ +
+
+ + + + + +
+ + + + +
bool Sample_SoloMesh::m_keepInterResults
+
+protected
+
+ +
+
+ +

◆ m_pmesh

+ +
+
+ + + + + +
+ + + + +
rcPolyMesh* Sample_SoloMesh::m_pmesh
+
+protected
+
+ +
+
+ +

◆ m_solid

+ +
+
+ + + + + +
+ + + + +
rcHeightfield* Sample_SoloMesh::m_solid
+
+protected
+
+ +
+
+ +

◆ m_totalBuildTimeMs

+ +
+
+ + + + + +
+ + + + +
float Sample_SoloMesh::m_totalBuildTimeMs
+
+protected
+
+ +
+
+ +

◆ m_triareas

+ +
+
+ + + + + +
+ + + + +
unsigned char* Sample_SoloMesh::m_triareas
+
+protected
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classSample__SoloMesh.js b/classSample__SoloMesh.js new file mode 100644 index 00000000..679c0f35 --- /dev/null +++ b/classSample__SoloMesh.js @@ -0,0 +1,43 @@ +var classSample__SoloMesh = +[ + [ "DrawMode", "classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66d", [ + [ "DRAWMODE_NAVMESH", "classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66daea0fbcc171dd866c11dceb22f8bbb622", null ], + [ "DRAWMODE_NAVMESH_TRANS", "classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66daa8e2ba3c26d26be4309cbf0f2528f6de", null ], + [ "DRAWMODE_NAVMESH_BVTREE", "classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66dacde6a4b06b4f22f9002e93996dd15e99", null ], + [ "DRAWMODE_NAVMESH_NODES", "classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66daf0388faf72ff6fb0a55a80794eb34ebe", null ], + [ "DRAWMODE_NAVMESH_INVIS", "classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da98fd365be74b3ea0aa3913f2f2f643da", null ], + [ "DRAWMODE_MESH", "classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da88b9ae00e25b2e2099647ea4c26a9507", null ], + [ "DRAWMODE_VOXELS", "classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da79c855d9a3d2f415381199922314b0db", null ], + [ "DRAWMODE_VOXELS_WALKABLE", "classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da1b0b737aee4f595a3e4279759d92e4ea", null ], + [ "DRAWMODE_COMPACT", "classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da8e442daf2e83ef3c05694457b5b33436", null ], + [ "DRAWMODE_COMPACT_DISTANCE", "classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66dab7e81dc808347a112f588f6c20075cda", null ], + [ "DRAWMODE_COMPACT_REGIONS", "classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da49df193c0a4344b056b1f6102d3dda70", null ], + [ "DRAWMODE_REGION_CONNECTIONS", "classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da2ddb380ea865ccc1c8fbf75f44a4dbe7", null ], + [ "DRAWMODE_RAW_CONTOURS", "classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66dac8a8e4bb3835a1d5dd15eab30fd2d7c7", null ], + [ "DRAWMODE_BOTH_CONTOURS", "classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da9722e468551f5e1012433c4f6a1f7c59", null ], + [ "DRAWMODE_CONTOURS", "classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66dafce43a32523d6c5035eefbce35a73826", null ], + [ "DRAWMODE_POLYMESH", "classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66dabcea7748dcffaf33d0fe31e8af538da8", null ], + [ "DRAWMODE_POLYMESH_DETAIL", "classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da3cfa09fbea29fe5ad080cf664c026f67", null ], + [ "MAX_DRAWMODE", "classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66dac8ad3153e5f19cd59fecff1c383cdcb1", null ] + ] ], + [ "Sample_SoloMesh", "classSample__SoloMesh.html#a85b98cc7d5c81d86acccd31156c3258c", null ], + [ "~Sample_SoloMesh", "classSample__SoloMesh.html#a8b7895596e5ce8977b5727023a39573d", null ], + [ "cleanup", "classSample__SoloMesh.html#afede15e3275e57b471fe72d26957d1b8", null ], + [ "handleBuild", "classSample__SoloMesh.html#aa64471f37aa3d47e0efb58d01004d259", null ], + [ "handleDebugMode", "classSample__SoloMesh.html#a1e7120d697077a25672a5e6edceb2044", null ], + [ "handleMeshChanged", "classSample__SoloMesh.html#af63e6f988dc1866aabc7257802f794ce", null ], + [ "handleRender", "classSample__SoloMesh.html#a08cee8a58d6ef5897847ab85518c9a91", null ], + [ "handleRenderOverlay", "classSample__SoloMesh.html#a9ee1ce62bf30f0b6c4b743101bbe2c7e", null ], + [ "handleSettings", "classSample__SoloMesh.html#a756bbc11445f8ad9af9cbb5b4cb44ec8", null ], + [ "handleTools", "classSample__SoloMesh.html#aeb52c7800e16699f467377fa38357d28", null ], + [ "m_cfg", "classSample__SoloMesh.html#a383b397074ebd6e8781928019a4b2e06", null ], + [ "m_chf", "classSample__SoloMesh.html#a9d9606cdf612dd091df930a603f5e24c", null ], + [ "m_cset", "classSample__SoloMesh.html#aba18137adf1ed26a4a541a985a70d758", null ], + [ "m_dmesh", "classSample__SoloMesh.html#a558ccf439fbd4ccf9efa9e3f2cf49c08", null ], + [ "m_drawMode", "classSample__SoloMesh.html#a32d99e347eb1580cd1b018393af1020a", null ], + [ "m_keepInterResults", "classSample__SoloMesh.html#a6a30d74e05436f712c10a2013cb0bd14", null ], + [ "m_pmesh", "classSample__SoloMesh.html#a12b020d2ae29630abe24090452d89d58", null ], + [ "m_solid", "classSample__SoloMesh.html#aee04a7d9dbc1c9e1f6c6084ac5503a93", null ], + [ "m_totalBuildTimeMs", "classSample__SoloMesh.html#ad018e09c3f700c7d9f7b4bec389b9643", null ], + [ "m_triareas", "classSample__SoloMesh.html#a53f7d384f99517ace66e6d4738d622e3", null ] +]; \ No newline at end of file diff --git a/classSample__SoloMesh.png b/classSample__SoloMesh.png new file mode 100644 index 00000000..97cb1754 Binary files /dev/null and b/classSample__SoloMesh.png differ diff --git a/classSample__TempObstacles-members.html b/classSample__TempObstacles-members.html new file mode 100644 index 00000000..e690489e --- /dev/null +++ b/classSample__TempObstacles-members.html @@ -0,0 +1,202 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Sample_TempObstacles Member List
+
+
+ +

This is the complete list of members for Sample_TempObstacles, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addTempObstacle(const float *pos)Sample_TempObstacles
clearAllTempObstacles()Sample_TempObstacles
collectSettings(struct BuildSettings &settings)Samplevirtual
DrawMode enum nameSample_TempObstaclesprotected
DRAWMODE_CACHE_BOUNDS enum valueSample_TempObstaclesprotected
DRAWMODE_MESH enum valueSample_TempObstaclesprotected
DRAWMODE_NAVMESH enum valueSample_TempObstaclesprotected
DRAWMODE_NAVMESH_BVTREE enum valueSample_TempObstaclesprotected
DRAWMODE_NAVMESH_INVIS enum valueSample_TempObstaclesprotected
DRAWMODE_NAVMESH_NODES enum valueSample_TempObstaclesprotected
DRAWMODE_NAVMESH_PORTALS enum valueSample_TempObstaclesprotected
DRAWMODE_NAVMESH_TRANS enum valueSample_TempObstaclesprotected
getAgentClimb()Sampleinlinevirtual
getAgentHeight()Sampleinlinevirtual
getAgentRadius()Sampleinlinevirtual
getCrowd()Sampleinlinevirtual
getDebugDraw()Sampleinline
getInputGeom()Sampleinlinevirtual
getNavMesh()Sampleinlinevirtual
getNavMeshDrawFlags() constSampleinline
getNavMeshQuery()Sampleinlinevirtual
getTilePos(const float *pos, int &tx, int &ty)Sample_TempObstacles
getToolState(int type)Sampleinline
handleBuild()Sample_TempObstaclesvirtual
handleClick(const float *s, const float *p, bool shift)Samplevirtual
handleCommonSettings()Sample
handleDebugMode()Sample_TempObstaclesvirtual
handleMeshChanged(class InputGeom *geom)Sample_TempObstaclesvirtual
handleRender()Sample_TempObstaclesvirtual
handleRenderOverlay(double *proj, double *model, int *view)Sample_TempObstaclesvirtual
handleSettings()Sample_TempObstaclesvirtual
handleStep()Samplevirtual
handleToggle()Samplevirtual
handleTools()Sample_TempObstaclesvirtual
handleUpdate(const float dt)Sample_TempObstaclesvirtual
initToolStates(Sample *sample)Sample
loadAll(const char *path)Sample_TempObstacles
m_agentHeightSampleprotected
m_agentMaxClimbSampleprotected
m_agentMaxSlopeSampleprotected
m_agentRadiusSampleprotected
m_cacheBuildMemUsageSample_TempObstaclesprotected
m_cacheBuildTimeMsSample_TempObstaclesprotected
m_cacheCompressedSizeSample_TempObstaclesprotected
m_cacheLayerCountSample_TempObstaclesprotected
m_cacheRawSizeSample_TempObstaclesprotected
m_cellHeightSampleprotected
m_cellSizeSampleprotected
m_crowdSampleprotected
m_ctxSampleprotected
m_ddSampleprotected
m_detailSampleDistSampleprotected
m_detailSampleMaxErrorSampleprotected
m_drawModeSample_TempObstaclesprotected
m_edgeMaxErrorSampleprotected
m_edgeMaxLenSampleprotected
m_filterLedgeSpansSampleprotected
m_filterLowHangingObstaclesSampleprotected
m_filterWalkableLowHeightSpansSampleprotected
m_geomSampleprotected
m_keepInterResultsSample_TempObstaclesprotected
m_maxPolysPerTileSample_TempObstaclesprotected
m_maxTilesSample_TempObstaclesprotected
m_navMeshSampleprotected
m_navMeshDrawFlagsSampleprotected
m_navQuerySampleprotected
m_partitionTypeSampleprotected
m_regionMergeSizeSampleprotected
m_regionMinSizeSampleprotected
m_tallocSample_TempObstaclesprotected
m_tcompSample_TempObstaclesprotected
m_tileCacheSample_TempObstaclesprotected
m_tileSizeSample_TempObstaclesprotected
m_tmprocSample_TempObstaclesprotected
m_toolSampleprotected
m_toolStatesSampleprotected
m_vertsPerPolySampleprotected
MAX_DRAWMODE enum valueSample_TempObstaclesprotected
removeTempObstacle(const float *sp, const float *sq)Sample_TempObstacles
renderCachedTile(const int tx, const int ty, const int type)Sample_TempObstacles
renderCachedTileOverlay(const int tx, const int ty, double *proj, double *model, int *view)Sample_TempObstacles
renderOverlayToolStates(double *proj, double *model, int *view)Sample
renderToolStates()Sample
resetCommonSettings()Sample
resetToolStates()Sample
Sample()Sample
Sample_TempObstacles()Sample_TempObstacles
saveAll(const char *path)Sample_TempObstacles
Sample::saveAll(const char *path, const dtNavMesh *mesh)Sampleprotected
setContext(BuildContext *ctx)Sampleinline
setNavMeshDrawFlags(unsigned char flags)Sampleinline
setTool(SampleTool *tool)Sample
setToolState(int type, SampleToolState *s)Sampleinline
updateToolStates(const float dt)Sample
~Sample()Samplevirtual
~Sample_TempObstacles()Sample_TempObstaclesvirtual
+
+ + + + + diff --git a/classSample__TempObstacles.html b/classSample__TempObstacles.html new file mode 100644 index 00000000..7ab9d064 --- /dev/null +++ b/classSample__TempObstacles.html @@ -0,0 +1,1164 @@ + + + + + + + +Recast Navigation: Sample_TempObstacles Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Sample_TempObstacles Class Reference
+
+
+ +

#include <Sample_TempObstacles.h>

+
+Inheritance diagram for Sample_TempObstacles:
+
+
+ + +Sample + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Sample_TempObstacles ()
 
virtual ~Sample_TempObstacles ()
 
virtual void handleSettings ()
 
virtual void handleTools ()
 
virtual void handleDebugMode ()
 
virtual void handleRender ()
 
virtual void handleRenderOverlay (double *proj, double *model, int *view)
 
virtual void handleMeshChanged (class InputGeom *geom)
 
virtual bool handleBuild ()
 
virtual void handleUpdate (const float dt)
 
void getTilePos (const float *pos, int &tx, int &ty)
 
void renderCachedTile (const int tx, const int ty, const int type)
 
void renderCachedTileOverlay (const int tx, const int ty, double *proj, double *model, int *view)
 
void addTempObstacle (const float *pos)
 
void removeTempObstacle (const float *sp, const float *sq)
 
void clearAllTempObstacles ()
 
void saveAll (const char *path)
 
void loadAll (const char *path)
 
- Public Member Functions inherited from Sample
 Sample ()
 
virtual ~Sample ()
 
void setContext (BuildContext *ctx)
 
void setTool (SampleTool *tool)
 
SampleToolStategetToolState (int type)
 
void setToolState (int type, SampleToolState *s)
 
SampleDebugDrawgetDebugDraw ()
 
virtual void handleClick (const float *s, const float *p, bool shift)
 
virtual void handleToggle ()
 
virtual void handleStep ()
 
virtual void collectSettings (struct BuildSettings &settings)
 
virtual class InputGeomgetInputGeom ()
 
virtual class dtNavMeshgetNavMesh ()
 
virtual class dtNavMeshQuerygetNavMeshQuery ()
 
virtual class dtCrowdgetCrowd ()
 
virtual float getAgentRadius ()
 
virtual float getAgentHeight ()
 
virtual float getAgentClimb ()
 
unsigned char getNavMeshDrawFlags () const
 
void setNavMeshDrawFlags (unsigned char flags)
 
void updateToolStates (const float dt)
 
void initToolStates (Sample *sample)
 
void resetToolStates ()
 
void renderToolStates ()
 
void renderOverlayToolStates (double *proj, double *model, int *view)
 
void resetCommonSettings ()
 
void handleCommonSettings ()
 
+ + + +

+Protected Types

enum  DrawMode {
+  DRAWMODE_NAVMESH +, DRAWMODE_NAVMESH_TRANS +, DRAWMODE_NAVMESH_BVTREE +, DRAWMODE_NAVMESH_NODES +,
+  DRAWMODE_NAVMESH_PORTALS +, DRAWMODE_NAVMESH_INVIS +, DRAWMODE_MESH +, DRAWMODE_CACHE_BOUNDS +,
+  MAX_DRAWMODE +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Attributes

bool m_keepInterResults
 
struct LinearAllocatorm_talloc
 
struct FastLZCompressorm_tcomp
 
struct MeshProcessm_tmproc
 
class dtTileCachem_tileCache
 
float m_cacheBuildTimeMs
 
int m_cacheCompressedSize
 
int m_cacheRawSize
 
int m_cacheLayerCount
 
unsigned int m_cacheBuildMemUsage
 
DrawMode m_drawMode
 
int m_maxTiles
 
int m_maxPolysPerTile
 
float m_tileSize
 
- Protected Attributes inherited from Sample
class InputGeomm_geom
 
class dtNavMeshm_navMesh
 
class dtNavMeshQuerym_navQuery
 
class dtCrowdm_crowd
 
unsigned char m_navMeshDrawFlags
 
float m_cellSize
 
float m_cellHeight
 
float m_agentHeight
 
float m_agentRadius
 
float m_agentMaxClimb
 
float m_agentMaxSlope
 
float m_regionMinSize
 
float m_regionMergeSize
 
float m_edgeMaxLen
 
float m_edgeMaxError
 
float m_vertsPerPoly
 
float m_detailSampleDist
 
float m_detailSampleMaxError
 
int m_partitionType
 
bool m_filterLowHangingObstacles
 
bool m_filterLedgeSpans
 
bool m_filterWalkableLowHeightSpans
 
SampleToolm_tool
 
SampleToolStatem_toolStates [MAX_TOOLS]
 
BuildContextm_ctx
 
SampleDebugDraw m_dd
 
+ + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Sample
dtNavMeshloadAll (const char *path)
 
void saveAll (const char *path, const dtNavMesh *mesh)
 
+

Member Enumeration Documentation

+ +

◆ DrawMode

+ +
+
+ + + + + +
+ + + + +
enum Sample_TempObstacles::DrawMode
+
+protected
+
+ + + + + + + + + + +
Enumerator
DRAWMODE_NAVMESH 
DRAWMODE_NAVMESH_TRANS 
DRAWMODE_NAVMESH_BVTREE 
DRAWMODE_NAVMESH_NODES 
DRAWMODE_NAVMESH_PORTALS 
DRAWMODE_NAVMESH_INVIS 
DRAWMODE_MESH 
DRAWMODE_CACHE_BOUNDS 
MAX_DRAWMODE 
+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Sample_TempObstacles()

+ +
+
+ + + + + + + +
Sample_TempObstacles::Sample_TempObstacles ()
+
+ +
+
+ +

◆ ~Sample_TempObstacles()

+ +
+
+ + + + + +
+ + + + + + + +
Sample_TempObstacles::~Sample_TempObstacles ()
+
+virtual
+
+ +
+
+

Member Function Documentation

+ +

◆ addTempObstacle()

+ +
+
+ + + + + + + + +
void Sample_TempObstacles::addTempObstacle (const float * pos)
+
+ +
+
+ +

◆ clearAllTempObstacles()

+ +
+
+ + + + + + + +
void Sample_TempObstacles::clearAllTempObstacles ()
+
+ +
+
+ +

◆ getTilePos()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void Sample_TempObstacles::getTilePos (const float * pos,
int & tx,
int & ty 
)
+
+ +
+
+ +

◆ handleBuild()

+ +
+
+ + + + + +
+ + + + + + + +
bool Sample_TempObstacles::handleBuild ()
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleDebugMode()

+ +
+
+ + + + + +
+ + + + + + + +
void Sample_TempObstacles::handleDebugMode ()
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleMeshChanged()

+ +
+
+ + + + + +
+ + + + + + + + +
void Sample_TempObstacles::handleMeshChanged (class InputGeomgeom)
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleRender()

+ +
+
+ + + + + +
+ + + + + + + +
void Sample_TempObstacles::handleRender ()
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleRenderOverlay()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void Sample_TempObstacles::handleRenderOverlay (double * proj,
double * model,
int * view 
)
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleSettings()

+ +
+
+ + + + + +
+ + + + + + + +
void Sample_TempObstacles::handleSettings ()
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleTools()

+ +
+
+ + + + + +
+ + + + + + + +
void Sample_TempObstacles::handleTools ()
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleUpdate()

+ +
+
+ + + + + +
+ + + + + + + + +
void Sample_TempObstacles::handleUpdate (const float dt)
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ loadAll()

+ +
+
+ + + + + + + + +
void Sample_TempObstacles::loadAll (const char * path)
+
+ +
+
+ +

◆ removeTempObstacle()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void Sample_TempObstacles::removeTempObstacle (const float * sp,
const float * sq 
)
+
+ +
+
+ +

◆ renderCachedTile()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void Sample_TempObstacles::renderCachedTile (const int tx,
const int ty,
const int type 
)
+
+ +
+
+ +

◆ renderCachedTileOverlay()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void Sample_TempObstacles::renderCachedTileOverlay (const int tx,
const int ty,
double * proj,
double * model,
int * view 
)
+
+ +
+
+ +

◆ saveAll()

+ +
+
+ + + + + + + + +
void Sample_TempObstacles::saveAll (const char * path)
+
+ +
+
+

Member Data Documentation

+ +

◆ m_cacheBuildMemUsage

+ +
+
+ + + + + +
+ + + + +
unsigned int Sample_TempObstacles::m_cacheBuildMemUsage
+
+protected
+
+ +
+
+ +

◆ m_cacheBuildTimeMs

+ +
+
+ + + + + +
+ + + + +
float Sample_TempObstacles::m_cacheBuildTimeMs
+
+protected
+
+ +
+
+ +

◆ m_cacheCompressedSize

+ +
+
+ + + + + +
+ + + + +
int Sample_TempObstacles::m_cacheCompressedSize
+
+protected
+
+ +
+
+ +

◆ m_cacheLayerCount

+ +
+
+ + + + + +
+ + + + +
int Sample_TempObstacles::m_cacheLayerCount
+
+protected
+
+ +
+
+ +

◆ m_cacheRawSize

+ +
+
+ + + + + +
+ + + + +
int Sample_TempObstacles::m_cacheRawSize
+
+protected
+
+ +
+
+ +

◆ m_drawMode

+ +
+
+ + + + + +
+ + + + +
DrawMode Sample_TempObstacles::m_drawMode
+
+protected
+
+ +
+
+ +

◆ m_keepInterResults

+ +
+
+ + + + + +
+ + + + +
bool Sample_TempObstacles::m_keepInterResults
+
+protected
+
+ +
+
+ +

◆ m_maxPolysPerTile

+ +
+
+ + + + + +
+ + + + +
int Sample_TempObstacles::m_maxPolysPerTile
+
+protected
+
+ +
+
+ +

◆ m_maxTiles

+ +
+
+ + + + + +
+ + + + +
int Sample_TempObstacles::m_maxTiles
+
+protected
+
+ +
+
+ +

◆ m_talloc

+ +
+
+ + + + + +
+ + + + +
struct LinearAllocator* Sample_TempObstacles::m_talloc
+
+protected
+
+ +
+
+ +

◆ m_tcomp

+ +
+
+ + + + + +
+ + + + +
struct FastLZCompressor* Sample_TempObstacles::m_tcomp
+
+protected
+
+ +
+
+ +

◆ m_tileCache

+ +
+
+ + + + + +
+ + + + +
class dtTileCache* Sample_TempObstacles::m_tileCache
+
+protected
+
+ +
+
+ +

◆ m_tileSize

+ +
+
+ + + + + +
+ + + + +
float Sample_TempObstacles::m_tileSize
+
+protected
+
+ +
+
+ +

◆ m_tmproc

+ +
+
+ + + + + +
+ + + + +
struct MeshProcess* Sample_TempObstacles::m_tmproc
+
+protected
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classSample__TempObstacles.js b/classSample__TempObstacles.js new file mode 100644 index 00000000..956a231a --- /dev/null +++ b/classSample__TempObstacles.js @@ -0,0 +1,46 @@ +var classSample__TempObstacles = +[ + [ "DrawMode", "classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646a", [ + [ "DRAWMODE_NAVMESH", "classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aaf041b173541f65f9d180dc5ce6c4faca", null ], + [ "DRAWMODE_NAVMESH_TRANS", "classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aa31dbf6b027635abacf086f1039c4a59f", null ], + [ "DRAWMODE_NAVMESH_BVTREE", "classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aa2c426926db47a33bbb2d0568be000eb1", null ], + [ "DRAWMODE_NAVMESH_NODES", "classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aa20a287a5fb92a18accd304ff5a90ff27", null ], + [ "DRAWMODE_NAVMESH_PORTALS", "classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aa18ab8dd09107286c83c01da1701eef5b", null ], + [ "DRAWMODE_NAVMESH_INVIS", "classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aadf002a04b3f50bc4732a5f0e83fe2b82", null ], + [ "DRAWMODE_MESH", "classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aa03124cf65d838b25406a05e61fe30ce0", null ], + [ "DRAWMODE_CACHE_BOUNDS", "classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aad240eab884b6fce214ae17ee58ff1fc5", null ], + [ "MAX_DRAWMODE", "classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aa6b45d4a6889c8d9b98d386cfbcd3e7a3", null ] + ] ], + [ "Sample_TempObstacles", "classSample__TempObstacles.html#a8b4c95ce918a73325cd1a703eccedc0f", null ], + [ "~Sample_TempObstacles", "classSample__TempObstacles.html#a2d3988c2615ecb2dae62d6df5522ba1d", null ], + [ "addTempObstacle", "classSample__TempObstacles.html#aaac948b9a430a591600c007e6b255aac", null ], + [ "clearAllTempObstacles", "classSample__TempObstacles.html#a92354fa33e4ace58607b08c49c190a82", null ], + [ "getTilePos", "classSample__TempObstacles.html#a079e060f05421edf67dc12e8f494c830", null ], + [ "handleBuild", "classSample__TempObstacles.html#abade4c42a2c0acae65fda15bf8179278", null ], + [ "handleDebugMode", "classSample__TempObstacles.html#ad13bab4ba46fe776398b28f5036fa439", null ], + [ "handleMeshChanged", "classSample__TempObstacles.html#adad1a039be5d34890562fbe476bf683a", null ], + [ "handleRender", "classSample__TempObstacles.html#a3235d4811d8fe109c1917e7096359377", null ], + [ "handleRenderOverlay", "classSample__TempObstacles.html#a3b72ce76d2ee91aea7e4fe96c0901099", null ], + [ "handleSettings", "classSample__TempObstacles.html#ab669992dfb881d998114798d0978fc83", null ], + [ "handleTools", "classSample__TempObstacles.html#a15f2d29a496c1391426cabc3602f9d99", null ], + [ "handleUpdate", "classSample__TempObstacles.html#a5817d2d63a4bb0f12db44db260f007f4", null ], + [ "loadAll", "classSample__TempObstacles.html#a59f560706b1c693ebefde44c1f8046cb", null ], + [ "removeTempObstacle", "classSample__TempObstacles.html#aa75dc5c43353654d26725c28d5c70a1a", null ], + [ "renderCachedTile", "classSample__TempObstacles.html#a7fa8a7f3d017bd06e1d0900d33be8289", null ], + [ "renderCachedTileOverlay", "classSample__TempObstacles.html#ac46b5df666eee29f76a1e0a2fa16651b", null ], + [ "saveAll", "classSample__TempObstacles.html#ac466e2df756cdb2a6d6f2ad195b51026", null ], + [ "m_cacheBuildMemUsage", "classSample__TempObstacles.html#abf96eb913dbc51385ef27e53dedd7d75", null ], + [ "m_cacheBuildTimeMs", "classSample__TempObstacles.html#a470c3923af143c884587e91d673a3ef6", null ], + [ "m_cacheCompressedSize", "classSample__TempObstacles.html#ac778775311b1bbadbc0e03b0df4f177c", null ], + [ "m_cacheLayerCount", "classSample__TempObstacles.html#ad6c21297ac2d0010109e5b60ce9a83fc", null ], + [ "m_cacheRawSize", "classSample__TempObstacles.html#a9cc23b964ec5482ecba5334cc0802bce", null ], + [ "m_drawMode", "classSample__TempObstacles.html#a3522643a8813172c084cfac471965b04", null ], + [ "m_keepInterResults", "classSample__TempObstacles.html#a9167119c0eab0407261b705248ba6220", null ], + [ "m_maxPolysPerTile", "classSample__TempObstacles.html#a1c75490508baf130ec32ef2c60ea0dc6", null ], + [ "m_maxTiles", "classSample__TempObstacles.html#ad680dfdf8cee7a79ecf6e95a6f44acd3", null ], + [ "m_talloc", "classSample__TempObstacles.html#ac429ee71c83f05db18b62b07ee3331ed", null ], + [ "m_tcomp", "classSample__TempObstacles.html#a8a31948f10e5f7bac97cef471fb14af9", null ], + [ "m_tileCache", "classSample__TempObstacles.html#ad15ecefaaefd5e4d60a67df5db97a0b3", null ], + [ "m_tileSize", "classSample__TempObstacles.html#a2fbc15ef10855409375630a151f62d77", null ], + [ "m_tmproc", "classSample__TempObstacles.html#a3771c900fe0d20a3dc558b96dad7d13a", null ] +]; \ No newline at end of file diff --git a/classSample__TempObstacles.png b/classSample__TempObstacles.png new file mode 100644 index 00000000..3fceba8b Binary files /dev/null and b/classSample__TempObstacles.png differ diff --git a/classSample__TileMesh-members.html b/classSample__TileMesh-members.html new file mode 100644 index 00000000..5bb7761e --- /dev/null +++ b/classSample__TileMesh-members.html @@ -0,0 +1,218 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Sample_TileMesh Member List
+
+
+ +

This is the complete list of members for Sample_TileMesh, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
buildAllTiles()Sample_TileMesh
buildTile(const float *pos)Sample_TileMesh
buildTileMesh(const int tx, const int ty, const float *bmin, const float *bmax, int &dataSize)Sample_TileMeshprotected
cleanup()Sample_TileMeshprotected
collectSettings(struct BuildSettings &settings)Sample_TileMeshvirtual
DrawMode enum nameSample_TileMeshprotected
DRAWMODE_BOTH_CONTOURS enum valueSample_TileMeshprotected
DRAWMODE_COMPACT enum valueSample_TileMeshprotected
DRAWMODE_COMPACT_DISTANCE enum valueSample_TileMeshprotected
DRAWMODE_COMPACT_REGIONS enum valueSample_TileMeshprotected
DRAWMODE_CONTOURS enum valueSample_TileMeshprotected
DRAWMODE_MESH enum valueSample_TileMeshprotected
DRAWMODE_NAVMESH enum valueSample_TileMeshprotected
DRAWMODE_NAVMESH_BVTREE enum valueSample_TileMeshprotected
DRAWMODE_NAVMESH_INVIS enum valueSample_TileMeshprotected
DRAWMODE_NAVMESH_NODES enum valueSample_TileMeshprotected
DRAWMODE_NAVMESH_PORTALS enum valueSample_TileMeshprotected
DRAWMODE_NAVMESH_TRANS enum valueSample_TileMeshprotected
DRAWMODE_POLYMESH enum valueSample_TileMeshprotected
DRAWMODE_POLYMESH_DETAIL enum valueSample_TileMeshprotected
DRAWMODE_RAW_CONTOURS enum valueSample_TileMeshprotected
DRAWMODE_REGION_CONNECTIONS enum valueSample_TileMeshprotected
DRAWMODE_VOXELS enum valueSample_TileMeshprotected
DRAWMODE_VOXELS_WALKABLE enum valueSample_TileMeshprotected
getAgentClimb()Sampleinlinevirtual
getAgentHeight()Sampleinlinevirtual
getAgentRadius()Sampleinlinevirtual
getCrowd()Sampleinlinevirtual
getDebugDraw()Sampleinline
getInputGeom()Sampleinlinevirtual
getNavMesh()Sampleinlinevirtual
getNavMeshDrawFlags() constSampleinline
getNavMeshQuery()Sampleinlinevirtual
getTilePos(const float *pos, int &tx, int &ty)Sample_TileMesh
getToolState(int type)Sampleinline
handleBuild()Sample_TileMeshvirtual
handleClick(const float *s, const float *p, bool shift)Samplevirtual
handleCommonSettings()Sample
handleDebugMode()Sample_TileMeshvirtual
handleMeshChanged(class InputGeom *geom)Sample_TileMeshvirtual
handleRender()Sample_TileMeshvirtual
handleRenderOverlay(double *proj, double *model, int *view)Sample_TileMeshvirtual
handleSettings()Sample_TileMeshvirtual
handleStep()Samplevirtual
handleToggle()Samplevirtual
handleTools()Sample_TileMeshvirtual
handleUpdate(const float dt)Samplevirtual
initToolStates(Sample *sample)Sample
loadAll(const char *path)Sample_TileMeshprotected
m_agentHeightSampleprotected
m_agentMaxClimbSampleprotected
m_agentMaxSlopeSampleprotected
m_agentRadiusSampleprotected
m_buildAllSample_TileMeshprotected
m_cellHeightSampleprotected
m_cellSizeSampleprotected
m_cfgSample_TileMeshprotected
m_chfSample_TileMeshprotected
m_crowdSampleprotected
m_csetSample_TileMeshprotected
m_ctxSampleprotected
m_ddSampleprotected
m_detailSampleDistSampleprotected
m_detailSampleMaxErrorSampleprotected
m_dmeshSample_TileMeshprotected
m_drawModeSample_TileMeshprotected
m_edgeMaxErrorSampleprotected
m_edgeMaxLenSampleprotected
m_filterLedgeSpansSampleprotected
m_filterLowHangingObstaclesSampleprotected
m_filterWalkableLowHeightSpansSampleprotected
m_geomSampleprotected
m_keepInterResultsSample_TileMeshprotected
m_lastBuiltTileBmaxSample_TileMeshprotected
m_lastBuiltTileBminSample_TileMeshprotected
m_maxPolysPerTileSample_TileMeshprotected
m_maxTilesSample_TileMeshprotected
m_navMeshSampleprotected
m_navMeshDrawFlagsSampleprotected
m_navQuerySampleprotected
m_partitionTypeSampleprotected
m_pmeshSample_TileMeshprotected
m_regionMergeSizeSampleprotected
m_regionMinSizeSampleprotected
m_solidSample_TileMeshprotected
m_tileBuildTimeSample_TileMeshprotected
m_tileColSample_TileMeshprotected
m_tileMemUsageSample_TileMeshprotected
m_tileSizeSample_TileMeshprotected
m_tileTriCountSample_TileMeshprotected
m_toolSampleprotected
m_toolStatesSampleprotected
m_totalBuildTimeMsSample_TileMeshprotected
m_triareasSample_TileMeshprotected
m_vertsPerPolySampleprotected
MAX_DRAWMODE enum valueSample_TileMeshprotected
removeAllTiles()Sample_TileMesh
removeTile(const float *pos)Sample_TileMesh
renderOverlayToolStates(double *proj, double *model, int *view)Sample
renderToolStates()Sample
resetCommonSettings()Sample
resetToolStates()Sample
Sample()Sample
Sample_TileMesh()Sample_TileMesh
saveAll(const char *path, const dtNavMesh *mesh)Sample_TileMeshprotected
setContext(BuildContext *ctx)Sampleinline
setNavMeshDrawFlags(unsigned char flags)Sampleinline
setTool(SampleTool *tool)Sample
setToolState(int type, SampleToolState *s)Sampleinline
updateToolStates(const float dt)Sample
~Sample()Samplevirtual
~Sample_TileMesh()Sample_TileMeshvirtual
+
+ + + + + diff --git a/classSample__TileMesh.html b/classSample__TileMesh.html new file mode 100644 index 00000000..58c38d42 --- /dev/null +++ b/classSample__TileMesh.html @@ -0,0 +1,1365 @@ + + + + + + + +Recast Navigation: Sample_TileMesh Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Sample_TileMesh Class Reference
+
+
+ +

#include <Sample_TileMesh.h>

+
+Inheritance diagram for Sample_TileMesh:
+
+
+ + +Sample + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Sample_TileMesh ()
 
virtual ~Sample_TileMesh ()
 
virtual void handleSettings ()
 
virtual void handleTools ()
 
virtual void handleDebugMode ()
 
virtual void handleRender ()
 
virtual void handleRenderOverlay (double *proj, double *model, int *view)
 
virtual void handleMeshChanged (class InputGeom *geom)
 
virtual bool handleBuild ()
 
virtual void collectSettings (struct BuildSettings &settings)
 
void getTilePos (const float *pos, int &tx, int &ty)
 
void buildTile (const float *pos)
 
void removeTile (const float *pos)
 
void buildAllTiles ()
 
void removeAllTiles ()
 
- Public Member Functions inherited from Sample
 Sample ()
 
virtual ~Sample ()
 
void setContext (BuildContext *ctx)
 
void setTool (SampleTool *tool)
 
SampleToolStategetToolState (int type)
 
void setToolState (int type, SampleToolState *s)
 
SampleDebugDrawgetDebugDraw ()
 
virtual void handleClick (const float *s, const float *p, bool shift)
 
virtual void handleToggle ()
 
virtual void handleStep ()
 
virtual void handleUpdate (const float dt)
 
virtual class InputGeomgetInputGeom ()
 
virtual class dtNavMeshgetNavMesh ()
 
virtual class dtNavMeshQuerygetNavMeshQuery ()
 
virtual class dtCrowdgetCrowd ()
 
virtual float getAgentRadius ()
 
virtual float getAgentHeight ()
 
virtual float getAgentClimb ()
 
unsigned char getNavMeshDrawFlags () const
 
void setNavMeshDrawFlags (unsigned char flags)
 
void updateToolStates (const float dt)
 
void initToolStates (Sample *sample)
 
void resetToolStates ()
 
void renderToolStates ()
 
void renderOverlayToolStates (double *proj, double *model, int *view)
 
void resetCommonSettings ()
 
void handleCommonSettings ()
 
+ + + +

+Protected Types

enum  DrawMode {
+  DRAWMODE_NAVMESH +, DRAWMODE_NAVMESH_TRANS +, DRAWMODE_NAVMESH_BVTREE +, DRAWMODE_NAVMESH_NODES +,
+  DRAWMODE_NAVMESH_PORTALS +, DRAWMODE_NAVMESH_INVIS +, DRAWMODE_MESH +, DRAWMODE_VOXELS +,
+  DRAWMODE_VOXELS_WALKABLE +, DRAWMODE_COMPACT +, DRAWMODE_COMPACT_DISTANCE +, DRAWMODE_COMPACT_REGIONS +,
+  DRAWMODE_REGION_CONNECTIONS +, DRAWMODE_RAW_CONTOURS +, DRAWMODE_BOTH_CONTOURS +, DRAWMODE_CONTOURS +,
+  DRAWMODE_POLYMESH +, DRAWMODE_POLYMESH_DETAIL +, MAX_DRAWMODE +
+ }
 
+ + + + + + + + + + + + + + +

+Protected Member Functions

unsigned char * buildTileMesh (const int tx, const int ty, const float *bmin, const float *bmax, int &dataSize)
 
void cleanup ()
 
void saveAll (const char *path, const dtNavMesh *mesh)
 
dtNavMeshloadAll (const char *path)
 
- Protected Member Functions inherited from Sample
dtNavMeshloadAll (const char *path)
 
void saveAll (const char *path, const dtNavMesh *mesh)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Attributes

bool m_keepInterResults
 
bool m_buildAll
 
float m_totalBuildTimeMs
 
unsigned char * m_triareas
 
rcHeightfieldm_solid
 
rcCompactHeightfieldm_chf
 
rcContourSetm_cset
 
rcPolyMeshm_pmesh
 
rcPolyMeshDetailm_dmesh
 
rcConfig m_cfg
 
DrawMode m_drawMode
 
int m_maxTiles
 
int m_maxPolysPerTile
 
float m_tileSize
 
unsigned int m_tileCol
 
float m_lastBuiltTileBmin [3]
 
float m_lastBuiltTileBmax [3]
 
float m_tileBuildTime
 
float m_tileMemUsage
 
int m_tileTriCount
 
- Protected Attributes inherited from Sample
class InputGeomm_geom
 
class dtNavMeshm_navMesh
 
class dtNavMeshQuerym_navQuery
 
class dtCrowdm_crowd
 
unsigned char m_navMeshDrawFlags
 
float m_cellSize
 
float m_cellHeight
 
float m_agentHeight
 
float m_agentRadius
 
float m_agentMaxClimb
 
float m_agentMaxSlope
 
float m_regionMinSize
 
float m_regionMergeSize
 
float m_edgeMaxLen
 
float m_edgeMaxError
 
float m_vertsPerPoly
 
float m_detailSampleDist
 
float m_detailSampleMaxError
 
int m_partitionType
 
bool m_filterLowHangingObstacles
 
bool m_filterLedgeSpans
 
bool m_filterWalkableLowHeightSpans
 
SampleToolm_tool
 
SampleToolStatem_toolStates [MAX_TOOLS]
 
BuildContextm_ctx
 
SampleDebugDraw m_dd
 
+

Member Enumeration Documentation

+ +

◆ DrawMode

+ +
+
+ + + + + +
+ + + + +
enum Sample_TileMesh::DrawMode
+
+protected
+
+ + + + + + + + + + + + + + + + + + + + +
Enumerator
DRAWMODE_NAVMESH 
DRAWMODE_NAVMESH_TRANS 
DRAWMODE_NAVMESH_BVTREE 
DRAWMODE_NAVMESH_NODES 
DRAWMODE_NAVMESH_PORTALS 
DRAWMODE_NAVMESH_INVIS 
DRAWMODE_MESH 
DRAWMODE_VOXELS 
DRAWMODE_VOXELS_WALKABLE 
DRAWMODE_COMPACT 
DRAWMODE_COMPACT_DISTANCE 
DRAWMODE_COMPACT_REGIONS 
DRAWMODE_REGION_CONNECTIONS 
DRAWMODE_RAW_CONTOURS 
DRAWMODE_BOTH_CONTOURS 
DRAWMODE_CONTOURS 
DRAWMODE_POLYMESH 
DRAWMODE_POLYMESH_DETAIL 
MAX_DRAWMODE 
+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Sample_TileMesh()

+ +
+
+ + + + + + + +
Sample_TileMesh::Sample_TileMesh ()
+
+ +
+
+ +

◆ ~Sample_TileMesh()

+ +
+
+ + + + + +
+ + + + + + + +
Sample_TileMesh::~Sample_TileMesh ()
+
+virtual
+
+ +
+
+

Member Function Documentation

+ +

◆ buildAllTiles()

+ +
+
+ + + + + + + +
void Sample_TileMesh::buildAllTiles ()
+
+ +
+
+ +

◆ buildTile()

+ +
+
+ + + + + + + + +
void Sample_TileMesh::buildTile (const float * pos)
+
+ +
+
+ +

◆ buildTileMesh()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
unsigned char * Sample_TileMesh::buildTileMesh (const int tx,
const int ty,
const float * bmin,
const float * bmax,
int & dataSize 
)
+
+protected
+
+ +
+
+ +

◆ cleanup()

+ +
+
+ + + + + +
+ + + + + + + +
void Sample_TileMesh::cleanup ()
+
+protected
+
+ +
+
+ +

◆ collectSettings()

+ +
+
+ + + + + +
+ + + + + + + + +
void Sample_TileMesh::collectSettings (struct BuildSettingssettings)
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ getTilePos()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void Sample_TileMesh::getTilePos (const float * pos,
int & tx,
int & ty 
)
+
+ +
+
+ +

◆ handleBuild()

+ +
+
+ + + + + +
+ + + + + + + +
bool Sample_TileMesh::handleBuild ()
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleDebugMode()

+ +
+
+ + + + + +
+ + + + + + + +
void Sample_TileMesh::handleDebugMode ()
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleMeshChanged()

+ +
+
+ + + + + +
+ + + + + + + + +
void Sample_TileMesh::handleMeshChanged (class InputGeomgeom)
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleRender()

+ +
+
+ + + + + +
+ + + + + + + +
void Sample_TileMesh::handleRender ()
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleRenderOverlay()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void Sample_TileMesh::handleRenderOverlay (double * proj,
double * model,
int * view 
)
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleSettings()

+ +
+
+ + + + + +
+ + + + + + + +
void Sample_TileMesh::handleSettings ()
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ handleTools()

+ +
+
+ + + + + +
+ + + + + + + +
void Sample_TileMesh::handleTools ()
+
+virtual
+
+ +

Reimplemented from Sample.

+ +
+
+ +

◆ loadAll()

+ +
+
+ + + + + +
+ + + + + + + + +
dtNavMesh* Sample_TileMesh::loadAll (const char * path)
+
+protected
+
+ +
+
+ +

◆ removeAllTiles()

+ +
+
+ + + + + + + +
void Sample_TileMesh::removeAllTiles ()
+
+ +
+
+ +

◆ removeTile()

+ +
+
+ + + + + + + + +
void Sample_TileMesh::removeTile (const float * pos)
+
+ +
+
+ +

◆ saveAll()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void Sample_TileMesh::saveAll (const char * path,
const dtNavMeshmesh 
)
+
+protected
+
+ +
+
+

Member Data Documentation

+ +

◆ m_buildAll

+ +
+
+ + + + + +
+ + + + +
bool Sample_TileMesh::m_buildAll
+
+protected
+
+ +
+
+ +

◆ m_cfg

+ +
+
+ + + + + +
+ + + + +
rcConfig Sample_TileMesh::m_cfg
+
+protected
+
+ +
+
+ +

◆ m_chf

+ +
+
+ + + + + +
+ + + + +
rcCompactHeightfield* Sample_TileMesh::m_chf
+
+protected
+
+ +
+
+ +

◆ m_cset

+ +
+
+ + + + + +
+ + + + +
rcContourSet* Sample_TileMesh::m_cset
+
+protected
+
+ +
+
+ +

◆ m_dmesh

+ +
+
+ + + + + +
+ + + + +
rcPolyMeshDetail* Sample_TileMesh::m_dmesh
+
+protected
+
+ +
+
+ +

◆ m_drawMode

+ +
+
+ + + + + +
+ + + + +
DrawMode Sample_TileMesh::m_drawMode
+
+protected
+
+ +
+
+ +

◆ m_keepInterResults

+ +
+
+ + + + + +
+ + + + +
bool Sample_TileMesh::m_keepInterResults
+
+protected
+
+ +
+
+ +

◆ m_lastBuiltTileBmax

+ +
+
+ + + + + +
+ + + + +
float Sample_TileMesh::m_lastBuiltTileBmax[3]
+
+protected
+
+ +
+
+ +

◆ m_lastBuiltTileBmin

+ +
+
+ + + + + +
+ + + + +
float Sample_TileMesh::m_lastBuiltTileBmin[3]
+
+protected
+
+ +
+
+ +

◆ m_maxPolysPerTile

+ +
+
+ + + + + +
+ + + + +
int Sample_TileMesh::m_maxPolysPerTile
+
+protected
+
+ +
+
+ +

◆ m_maxTiles

+ +
+
+ + + + + +
+ + + + +
int Sample_TileMesh::m_maxTiles
+
+protected
+
+ +
+
+ +

◆ m_pmesh

+ +
+
+ + + + + +
+ + + + +
rcPolyMesh* Sample_TileMesh::m_pmesh
+
+protected
+
+ +
+
+ +

◆ m_solid

+ +
+
+ + + + + +
+ + + + +
rcHeightfield* Sample_TileMesh::m_solid
+
+protected
+
+ +
+
+ +

◆ m_tileBuildTime

+ +
+
+ + + + + +
+ + + + +
float Sample_TileMesh::m_tileBuildTime
+
+protected
+
+ +
+
+ +

◆ m_tileCol

+ +
+
+ + + + + +
+ + + + +
unsigned int Sample_TileMesh::m_tileCol
+
+protected
+
+ +
+
+ +

◆ m_tileMemUsage

+ +
+
+ + + + + +
+ + + + +
float Sample_TileMesh::m_tileMemUsage
+
+protected
+
+ +
+
+ +

◆ m_tileSize

+ +
+
+ + + + + +
+ + + + +
float Sample_TileMesh::m_tileSize
+
+protected
+
+ +
+
+ +

◆ m_tileTriCount

+ +
+
+ + + + + +
+ + + + +
int Sample_TileMesh::m_tileTriCount
+
+protected
+
+ +
+
+ +

◆ m_totalBuildTimeMs

+ +
+
+ + + + + +
+ + + + +
float Sample_TileMesh::m_totalBuildTimeMs
+
+protected
+
+ +
+
+ +

◆ m_triareas

+ +
+
+ + + + + +
+ + + + +
unsigned char* Sample_TileMesh::m_triareas
+
+protected
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classSample__TileMesh.js b/classSample__TileMesh.js new file mode 100644 index 00000000..69b1461d --- /dev/null +++ b/classSample__TileMesh.js @@ -0,0 +1,63 @@ +var classSample__TileMesh = +[ + [ "DrawMode", "classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9e", [ + [ "DRAWMODE_NAVMESH", "classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9eaa58491e33fd7f6047459a759075579fb", null ], + [ "DRAWMODE_NAVMESH_TRANS", "classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea3db7110a709f8a5cf8271a47ccd1d5bc", null ], + [ "DRAWMODE_NAVMESH_BVTREE", "classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea36ceb4d2f09f2dc3f115c9482384f537", null ], + [ "DRAWMODE_NAVMESH_NODES", "classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea51bb43eb213451a78a866934612cbce5", null ], + [ "DRAWMODE_NAVMESH_PORTALS", "classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea2806d6ae36ddf00223cfe9893d0fde08", null ], + [ "DRAWMODE_NAVMESH_INVIS", "classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9eaaf7a9b84532c1134b86d5984f4c5da25", null ], + [ "DRAWMODE_MESH", "classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea4742e5992fb0c03b7bb9d6319ef2a212", null ], + [ "DRAWMODE_VOXELS", "classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea96182015a60b98bd4e7134cf28c26fdb", null ], + [ "DRAWMODE_VOXELS_WALKABLE", "classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9eafa79333fa0cd88a039e4b0aae362e13c", null ], + [ "DRAWMODE_COMPACT", "classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ead11ba96eb63c1bacc8d1974ad5e14729", null ], + [ "DRAWMODE_COMPACT_DISTANCE", "classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea5835878fb00312ced6fad85225f9f806", null ], + [ "DRAWMODE_COMPACT_REGIONS", "classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9eae0f799e8f9c5eea7db9e60a14c3ae876", null ], + [ "DRAWMODE_REGION_CONNECTIONS", "classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea0b1b4be0a8ce23cf18ec00b8646f9089", null ], + [ "DRAWMODE_RAW_CONTOURS", "classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea5d1863e80795971db5f2cadd2140134c", null ], + [ "DRAWMODE_BOTH_CONTOURS", "classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9eac991bf39fdf9cbf6291b45ebd2ede5a4", null ], + [ "DRAWMODE_CONTOURS", "classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea3ebd86d9a1d56808e28f6ffde61f160c", null ], + [ "DRAWMODE_POLYMESH", "classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9eacf49e2c1b6e94e0175ffce6a8d752957", null ], + [ "DRAWMODE_POLYMESH_DETAIL", "classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9eadaab6e3ba300f45526c8feef80f83828", null ], + [ "MAX_DRAWMODE", "classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9eab552cab10902063700d7b86150b3ea64", null ] + ] ], + [ "Sample_TileMesh", "classSample__TileMesh.html#a595d0f4ba7f8e1c03ddd7571ff53464d", null ], + [ "~Sample_TileMesh", "classSample__TileMesh.html#aa115c16452e67c9c47a272d6127c984e", null ], + [ "buildAllTiles", "classSample__TileMesh.html#aea5e79d067a5b8120a857653f40fa608", null ], + [ "buildTile", "classSample__TileMesh.html#ab0edd032cb95581c65cd6db2bbcda4c4", null ], + [ "buildTileMesh", "classSample__TileMesh.html#af2d9ae49dfb292df3aa05fe545dde136", null ], + [ "cleanup", "classSample__TileMesh.html#ac0e18dc57eb1a972815125845e40e464", null ], + [ "collectSettings", "classSample__TileMesh.html#a9b5c5cbdc80862c4d8bcd7798ae4b645", null ], + [ "getTilePos", "classSample__TileMesh.html#a5588a4adb46cc3a97805eb6bc87f2d79", null ], + [ "handleBuild", "classSample__TileMesh.html#a42df1d970d17438695b2714fa795a538", null ], + [ "handleDebugMode", "classSample__TileMesh.html#ae53626fc9ea2503b6a4f57200dae9153", null ], + [ "handleMeshChanged", "classSample__TileMesh.html#a9a6d5eedb98ca2254269889dc02f10b3", null ], + [ "handleRender", "classSample__TileMesh.html#a86b371a0f7c07eff2473cc58562c417b", null ], + [ "handleRenderOverlay", "classSample__TileMesh.html#a2acfdfc5153bf2bec6207368619b5006", null ], + [ "handleSettings", "classSample__TileMesh.html#a67ac0028f5834faaf6d89421b13a31f2", null ], + [ "handleTools", "classSample__TileMesh.html#a4c492f865f6a891f3c763a72c015a2b1", null ], + [ "loadAll", "classSample__TileMesh.html#ac6dd51f6ee08d2b59fa221741caedb86", null ], + [ "removeAllTiles", "classSample__TileMesh.html#a89b9b604265264545dd4f2e7774bbd38", null ], + [ "removeTile", "classSample__TileMesh.html#acb20fb7f98bae7e834d9e013a2bfab99", null ], + [ "saveAll", "classSample__TileMesh.html#a8b0ada6186c1eb4cc2fe759bface0e43", null ], + [ "m_buildAll", "classSample__TileMesh.html#ac9707dcfbb5d8a82eafdd45f4f9f0394", null ], + [ "m_cfg", "classSample__TileMesh.html#ab0c78dc40c79a650b8b7ae611fefdbfd", null ], + [ "m_chf", "classSample__TileMesh.html#a842be8ee16528adbd212967dc0f229f8", null ], + [ "m_cset", "classSample__TileMesh.html#aa5eafc3cc3f3c657a2ca92cbeff00889", null ], + [ "m_dmesh", "classSample__TileMesh.html#a82d9efd99831784fbf099996778cfeab", null ], + [ "m_drawMode", "classSample__TileMesh.html#adc0bb43d0176b9fafb1f292af15dfe25", null ], + [ "m_keepInterResults", "classSample__TileMesh.html#a90e635880afd028ed2b9911335dbc926", null ], + [ "m_lastBuiltTileBmax", "classSample__TileMesh.html#ae5b9119252644fafe51a796fa212b3c0", null ], + [ "m_lastBuiltTileBmin", "classSample__TileMesh.html#a04546976f103034b0b3075d3f02f91e8", null ], + [ "m_maxPolysPerTile", "classSample__TileMesh.html#a6534d009ee994c77b2a85cbeb4afa64e", null ], + [ "m_maxTiles", "classSample__TileMesh.html#adf10ce20646ee109bdfda289d2002469", null ], + [ "m_pmesh", "classSample__TileMesh.html#a62f5a6f14e2ce186b89c8130db206feb", null ], + [ "m_solid", "classSample__TileMesh.html#a3fe8dedfda40247593c879ca19e021cf", null ], + [ "m_tileBuildTime", "classSample__TileMesh.html#acaea347f4caa829f5314634b0d77cf16", null ], + [ "m_tileCol", "classSample__TileMesh.html#ab6439a65636c4a510cfb02b030fedfd9", null ], + [ "m_tileMemUsage", "classSample__TileMesh.html#a11f392f78f550bf5aa9772e0e00338fd", null ], + [ "m_tileSize", "classSample__TileMesh.html#af505570e18ca82411122d5e975225b92", null ], + [ "m_tileTriCount", "classSample__TileMesh.html#ad779820f5b84624c5ee75c4a26738dfd", null ], + [ "m_totalBuildTimeMs", "classSample__TileMesh.html#a102175de1771bd48ce7c9b87a187ee81", null ], + [ "m_triareas", "classSample__TileMesh.html#a6001cd8522fc9e9aaf837c757ef15faa", null ] +]; \ No newline at end of file diff --git a/classSample__TileMesh.png b/classSample__TileMesh.png new file mode 100644 index 00000000..0a5b9182 Binary files /dev/null and b/classSample__TileMesh.png differ diff --git a/classTempObstacleCreateTool-members.html b/classTempObstacleCreateTool-members.html new file mode 100644 index 00000000..0d875cbb --- /dev/null +++ b/classTempObstacleCreateTool-members.html @@ -0,0 +1,119 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
TempObstacleCreateTool Member List
+
+
+ +

This is the complete list of members for TempObstacleCreateTool, including all inherited members.

+ + + + + + + + + + + + + + +
handleClick(const float *s, const float *p, bool shift)TempObstacleCreateToolinlinevirtual
handleMenu()TempObstacleCreateToolinlinevirtual
handleRender()TempObstacleCreateToolinlinevirtual
handleRenderOverlay(double *, double *, int *)TempObstacleCreateToolinlinevirtual
handleStep()TempObstacleCreateToolinlinevirtual
handleToggle()TempObstacleCreateToolinlinevirtual
handleUpdate(const float)TempObstacleCreateToolinlinevirtual
init(Sample *sample)TempObstacleCreateToolinlinevirtual
reset()TempObstacleCreateToolinlinevirtual
TempObstacleCreateTool()TempObstacleCreateToolinline
type()TempObstacleCreateToolinlinevirtual
~SampleTool()SampleToolvirtual
~TempObstacleCreateTool()TempObstacleCreateToolvirtual
+
+ + + + + diff --git a/classTempObstacleCreateTool.html b/classTempObstacleCreateTool.html new file mode 100644 index 00000000..5f3be0dd --- /dev/null +++ b/classTempObstacleCreateTool.html @@ -0,0 +1,508 @@ + + + + + + + +Recast Navigation: TempObstacleCreateTool Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
TempObstacleCreateTool Class Reference
+
+
+
+Inheritance diagram for TempObstacleCreateTool:
+
+
+ + +SampleTool + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 TempObstacleCreateTool ()
 
virtual ~TempObstacleCreateTool ()
 
virtual int type ()
 
virtual void init (Sample *sample)
 
virtual void reset ()
 
virtual void handleMenu ()
 
virtual void handleClick (const float *s, const float *p, bool shift)
 
virtual void handleToggle ()
 
virtual void handleStep ()
 
virtual void handleUpdate (const float)
 
virtual void handleRender ()
 
virtual void handleRenderOverlay (double *, double *, int *)
 
- Public Member Functions inherited from SampleTool
virtual ~SampleTool ()
 
+

Constructor & Destructor Documentation

+ +

◆ TempObstacleCreateTool()

+ +
+
+ + + + + +
+ + + + + + + +
TempObstacleCreateTool::TempObstacleCreateTool ()
+
+inline
+
+ +
+
+ +

◆ ~TempObstacleCreateTool()

+ +
+
+ + + + + +
+ + + + + + + +
TempObstacleCreateTool::~TempObstacleCreateTool ()
+
+virtual
+
+ +
+
+

Member Function Documentation

+ +

◆ handleClick()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual void TempObstacleCreateTool::handleClick (const float * s,
const float * p,
bool shift 
)
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleMenu()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void TempObstacleCreateTool::handleMenu ()
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleRender()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void TempObstacleCreateTool::handleRender ()
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleRenderOverlay()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual void TempObstacleCreateTool::handleRenderOverlay (double * ,
double * ,
int *  
)
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleStep()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void TempObstacleCreateTool::handleStep ()
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleToggle()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void TempObstacleCreateTool::handleToggle ()
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleUpdate()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void TempObstacleCreateTool::handleUpdate (const float )
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ init()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void TempObstacleCreateTool::init (Samplesample)
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ reset()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void TempObstacleCreateTool::reset ()
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ type()

+ +
+
+ + + + + +
+ + + + + + + +
virtual int TempObstacleCreateTool::type ()
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + + diff --git a/classTempObstacleCreateTool.js b/classTempObstacleCreateTool.js new file mode 100644 index 00000000..93f37ad0 --- /dev/null +++ b/classTempObstacleCreateTool.js @@ -0,0 +1,15 @@ +var classTempObstacleCreateTool = +[ + [ "TempObstacleCreateTool", "classTempObstacleCreateTool.html#addc423c98712dd4a0efb01fc231d66b3", null ], + [ "~TempObstacleCreateTool", "classTempObstacleCreateTool.html#a8c2fa24e7c9d71e6cb90f32b61d9ae77", null ], + [ "handleClick", "classTempObstacleCreateTool.html#a27483a3ec7a6c2dd91d08eb58b5b7dce", null ], + [ "handleMenu", "classTempObstacleCreateTool.html#a14e886d838141c3edb870d25819e030d", null ], + [ "handleRender", "classTempObstacleCreateTool.html#a84a0a1049ce50a1f7ea9be8925f84979", null ], + [ "handleRenderOverlay", "classTempObstacleCreateTool.html#a800e3e9d3f26b1b247e9f300854dc794", null ], + [ "handleStep", "classTempObstacleCreateTool.html#ab86e78fbce2dab437d5f293406b1cd0a", null ], + [ "handleToggle", "classTempObstacleCreateTool.html#a7260c3dd1ba6c35d15aa35fedc5e9493", null ], + [ "handleUpdate", "classTempObstacleCreateTool.html#a7815ec25feed0fcb93625728c9fa6b08", null ], + [ "init", "classTempObstacleCreateTool.html#add3d7c7e93c01a18993231c8c076e994", null ], + [ "reset", "classTempObstacleCreateTool.html#a8977e144279facb03ae5bbceb6102b5d", null ], + [ "type", "classTempObstacleCreateTool.html#ac7a7b02c2f0972842b0e20276217c1eb", null ] +]; \ No newline at end of file diff --git a/classTempObstacleCreateTool.png b/classTempObstacleCreateTool.png new file mode 100644 index 00000000..00682254 Binary files /dev/null and b/classTempObstacleCreateTool.png differ diff --git a/classTempObstacleHilightTool-members.html b/classTempObstacleHilightTool-members.html new file mode 100644 index 00000000..8ba50331 --- /dev/null +++ b/classTempObstacleHilightTool-members.html @@ -0,0 +1,119 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
TempObstacleHilightTool Member List
+
+
+ +

This is the complete list of members for TempObstacleHilightTool, including all inherited members.

+ + + + + + + + + + + + + + +
handleClick(const float *, const float *p, bool)TempObstacleHilightToolinlinevirtual
handleMenu()TempObstacleHilightToolinlinevirtual
handleRender()TempObstacleHilightToolinlinevirtual
handleRenderOverlay(double *proj, double *model, int *view)TempObstacleHilightToolinlinevirtual
handleStep()TempObstacleHilightToolinlinevirtual
handleToggle()TempObstacleHilightToolinlinevirtual
handleUpdate(const float)TempObstacleHilightToolinlinevirtual
init(Sample *sample)TempObstacleHilightToolinlinevirtual
reset()TempObstacleHilightToolinlinevirtual
TempObstacleHilightTool()TempObstacleHilightToolinline
type()TempObstacleHilightToolinlinevirtual
~SampleTool()SampleToolvirtual
~TempObstacleHilightTool()TempObstacleHilightToolvirtual
+
+ + + + + diff --git a/classTempObstacleHilightTool.html b/classTempObstacleHilightTool.html new file mode 100644 index 00000000..25a0d701 --- /dev/null +++ b/classTempObstacleHilightTool.html @@ -0,0 +1,508 @@ + + + + + + + +Recast Navigation: TempObstacleHilightTool Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
TempObstacleHilightTool Class Reference
+
+
+
+Inheritance diagram for TempObstacleHilightTool:
+
+
+ + +SampleTool + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 TempObstacleHilightTool ()
 
virtual ~TempObstacleHilightTool ()
 
virtual int type ()
 
virtual void init (Sample *sample)
 
virtual void reset ()
 
virtual void handleMenu ()
 
virtual void handleClick (const float *, const float *p, bool)
 
virtual void handleToggle ()
 
virtual void handleStep ()
 
virtual void handleUpdate (const float)
 
virtual void handleRender ()
 
virtual void handleRenderOverlay (double *proj, double *model, int *view)
 
- Public Member Functions inherited from SampleTool
virtual ~SampleTool ()
 
+

Constructor & Destructor Documentation

+ +

◆ TempObstacleHilightTool()

+ +
+
+ + + + + +
+ + + + + + + +
TempObstacleHilightTool::TempObstacleHilightTool ()
+
+inline
+
+ +
+
+ +

◆ ~TempObstacleHilightTool()

+ +
+
+ + + + + +
+ + + + + + + +
TempObstacleHilightTool::~TempObstacleHilightTool ()
+
+virtual
+
+ +
+
+

Member Function Documentation

+ +

◆ handleClick()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual void TempObstacleHilightTool::handleClick (const float * ,
const float * p,
bool  
)
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleMenu()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void TempObstacleHilightTool::handleMenu ()
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleRender()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void TempObstacleHilightTool::handleRender ()
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleRenderOverlay()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual void TempObstacleHilightTool::handleRenderOverlay (double * proj,
double * model,
int * view 
)
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleStep()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void TempObstacleHilightTool::handleStep ()
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleToggle()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void TempObstacleHilightTool::handleToggle ()
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ handleUpdate()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void TempObstacleHilightTool::handleUpdate (const float )
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ init()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void TempObstacleHilightTool::init (Samplesample)
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ reset()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void TempObstacleHilightTool::reset ()
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+ +

◆ type()

+ +
+
+ + + + + +
+ + + + + + + +
virtual int TempObstacleHilightTool::type ()
+
+inlinevirtual
+
+ +

Implements SampleTool.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + + diff --git a/classTempObstacleHilightTool.js b/classTempObstacleHilightTool.js new file mode 100644 index 00000000..c3ba412b --- /dev/null +++ b/classTempObstacleHilightTool.js @@ -0,0 +1,15 @@ +var classTempObstacleHilightTool = +[ + [ "TempObstacleHilightTool", "classTempObstacleHilightTool.html#a784ace19a383584d3754d81733fb25db", null ], + [ "~TempObstacleHilightTool", "classTempObstacleHilightTool.html#af0475ec4f0d02355ea68a78edd39b10b", null ], + [ "handleClick", "classTempObstacleHilightTool.html#a066ac99df2d343aab8433c122af73fa6", null ], + [ "handleMenu", "classTempObstacleHilightTool.html#a55d084b3c5600bda192903b9f3546f79", null ], + [ "handleRender", "classTempObstacleHilightTool.html#aa28bfbf2dee308b7b8fad4a761f67fc4", null ], + [ "handleRenderOverlay", "classTempObstacleHilightTool.html#a6b0fe1e1a746e01a7388cd1bcee8a779", null ], + [ "handleStep", "classTempObstacleHilightTool.html#a6dbee86b6f4f9cb882e3c1cc5ea144aa", null ], + [ "handleToggle", "classTempObstacleHilightTool.html#ab0f8512ec83f08b6a7d210f8a8e4ac51", null ], + [ "handleUpdate", "classTempObstacleHilightTool.html#a238bf84317b82bb005acfa021905c280", null ], + [ "init", "classTempObstacleHilightTool.html#a1c0a4a693fbd80d60fcf1305e6499884", null ], + [ "reset", "classTempObstacleHilightTool.html#a18662a3c7ada140b16aa40cdf678caf5", null ], + [ "type", "classTempObstacleHilightTool.html#ac3ba6c36507d2caa8835f9420a6470f6", null ] +]; \ No newline at end of file diff --git a/classTempObstacleHilightTool.png b/classTempObstacleHilightTool.png new file mode 100644 index 00000000..615ff9c7 Binary files /dev/null and b/classTempObstacleHilightTool.png differ diff --git a/classTestCase-members.html b/classTestCase-members.html new file mode 100644 index 00000000..80f5f7c4 --- /dev/null +++ b/classTestCase-members.html @@ -0,0 +1,114 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
TestCase Member List
+
+
+ +

This is the complete list of members for TestCase, including all inherited members.

+ + + + + + + + + +
doTests(class dtNavMesh *navmesh, class dtNavMeshQuery *navquery)TestCase
getGeomFileName() constTestCaseinline
getSampleName() constTestCaseinline
handleRender()TestCase
handleRenderOverlay(double *proj, double *model, int *view)TestCase
load(const std::string &filePath)TestCase
TestCase()TestCase
~TestCase()TestCase
+
+ + + + + diff --git a/classTestCase.html b/classTestCase.html new file mode 100644 index 00000000..8b31088d --- /dev/null +++ b/classTestCase.html @@ -0,0 +1,317 @@ + + + + + + + +Recast Navigation: TestCase Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
TestCase Class Reference
+
+
+ +

#include <TestCase.h>

+ + + + + + + + + + + + + + + + + + +

+Public Member Functions

 TestCase ()
 
 ~TestCase ()
 
bool load (const std::string &filePath)
 
const std::string & getSampleName () const
 
const std::string & getGeomFileName () const
 
void doTests (class dtNavMesh *navmesh, class dtNavMeshQuery *navquery)
 
void handleRender ()
 
bool handleRenderOverlay (double *proj, double *model, int *view)
 
+

Constructor & Destructor Documentation

+ +

◆ TestCase()

+ +
+
+ + + + + + + +
TestCase::TestCase ()
+
+ +
+
+ +

◆ ~TestCase()

+ +
+
+ + + + + + + +
TestCase::~TestCase ()
+
+ +
+
+

Member Function Documentation

+ +

◆ doTests()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void TestCase::doTests (class dtNavMeshnavmesh,
class dtNavMeshQuerynavquery 
)
+
+ +
+
+ +

◆ getGeomFileName()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string& TestCase::getGeomFileName () const
+
+inline
+
+ +
+
+ +

◆ getSampleName()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string& TestCase::getSampleName () const
+
+inline
+
+ +
+
+ +

◆ handleRender()

+ +
+
+ + + + + + + +
void TestCase::handleRender ()
+
+ +
+
+ +

◆ handleRenderOverlay()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool TestCase::handleRenderOverlay (double * proj,
double * model,
int * view 
)
+
+ +
+
+ +

◆ load()

+ +
+
+ + + + + + + + +
bool TestCase::load (const std::string & filePath)
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classTestCase.js b/classTestCase.js new file mode 100644 index 00000000..5ce6f74e --- /dev/null +++ b/classTestCase.js @@ -0,0 +1,11 @@ +var classTestCase = +[ + [ "TestCase", "classTestCase.html#ac62aa15cb45a40bdc0b9a1c6554c7e0a", null ], + [ "~TestCase", "classTestCase.html#ae4684f6b106fa323a61dd13be03d7919", null ], + [ "doTests", "classTestCase.html#a648d153c2e6a9bb7e23253cdc2eede0a", null ], + [ "getGeomFileName", "classTestCase.html#a485b056a0d259c0947354e0434871858", null ], + [ "getSampleName", "classTestCase.html#a92b93e1bed1be7317a6ef8b2271f6c7a", null ], + [ "handleRender", "classTestCase.html#ab26ff5960975d08e337509f96cacccb4", null ], + [ "handleRenderOverlay", "classTestCase.html#a67291ec62ce5a7ca538522a6231189f7", null ], + [ "load", "classTestCase.html#ad7ec8145d12a8443cf6dc4655b1c26bf", null ] +]; \ No newline at end of file diff --git a/classValueHistory-members.html b/classValueHistory-members.html new file mode 100644 index 00000000..f4393cc2 --- /dev/null +++ b/classValueHistory-members.html @@ -0,0 +1,113 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ValueHistory Member List
+
+
+ +

This is the complete list of members for ValueHistory, including all inherited members.

+ + + + + + + + +
addSample(const float val)ValueHistoryinline
getAverage() constValueHistory
getSample(const int i) constValueHistoryinline
getSampleCount() constValueHistoryinline
getSampleMax() constValueHistory
getSampleMin() constValueHistory
ValueHistory()ValueHistory
+
+ + + + + diff --git a/classValueHistory.html b/classValueHistory.html new file mode 100644 index 00000000..36f3c604 --- /dev/null +++ b/classValueHistory.html @@ -0,0 +1,278 @@ + + + + + + + +Recast Navigation: ValueHistory Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
ValueHistory Class Reference
+
+
+ +

#include <ValueHistory.h>

+ + + + + + + + + + + + + + + + +

+Public Member Functions

 ValueHistory ()
 
void addSample (const float val)
 
int getSampleCount () const
 
float getSample (const int i) const
 
float getSampleMin () const
 
float getSampleMax () const
 
float getAverage () const
 
+

Constructor & Destructor Documentation

+ +

◆ ValueHistory()

+ +
+
+ + + + + + + +
ValueHistory::ValueHistory ()
+
+ +
+
+

Member Function Documentation

+ +

◆ addSample()

+ +
+
+ + + + + +
+ + + + + + + + +
void ValueHistory::addSample (const float val)
+
+inline
+
+ +
+
+ +

◆ getAverage()

+ +
+
+ + + + + + + +
float ValueHistory::getAverage () const
+
+ +
+
+ +

◆ getSample()

+ +
+
+ + + + + +
+ + + + + + + + +
float ValueHistory::getSample (const int i) const
+
+inline
+
+ +
+
+ +

◆ getSampleCount()

+ +
+
+ + + + + +
+ + + + + + + +
int ValueHistory::getSampleCount () const
+
+inline
+
+ +
+
+ +

◆ getSampleMax()

+ +
+
+ + + + + + + +
float ValueHistory::getSampleMax () const
+
+ +
+
+ +

◆ getSampleMin()

+ +
+
+ + + + + + + +
float ValueHistory::getSampleMin () const
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classValueHistory.js b/classValueHistory.js new file mode 100644 index 00000000..e6cd4e79 --- /dev/null +++ b/classValueHistory.js @@ -0,0 +1,10 @@ +var classValueHistory = +[ + [ "ValueHistory", "classValueHistory.html#a80604d504ef4e5ae9e39649f5e3ab32e", null ], + [ "addSample", "classValueHistory.html#a825b88cef49901ec8da5eccbbcd3afaa", null ], + [ "getAverage", "classValueHistory.html#aafc75b895663a6d7390146c81c883838", null ], + [ "getSample", "classValueHistory.html#a98d7b0157cbb602c086c0b148bf3fb46", null ], + [ "getSampleCount", "classValueHistory.html#a4adf44b53d488361ec87c6c1fda04eab", null ], + [ "getSampleMax", "classValueHistory.html#a92ddbeb8e333478b4bb752ba7eeca462", null ], + [ "getSampleMin", "classValueHistory.html#a828b36952411fe49d5d6de00f5e3e84d", null ] +]; \ No newline at end of file diff --git a/classdtCollectPolysQuery-members.html b/classdtCollectPolysQuery-members.html new file mode 100644 index 00000000..15917c8d --- /dev/null +++ b/classdtCollectPolysQuery-members.html @@ -0,0 +1,112 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dtCollectPolysQuery Member List
+
+
+ +

This is the complete list of members for dtCollectPolysQuery, including all inherited members.

+ + + + + + + +
dtCollectPolysQuery(dtPolyRef *polys, const int maxPolys)dtCollectPolysQueryinline
numCollected() constdtCollectPolysQueryinline
overflowed() constdtCollectPolysQueryinline
process(const dtMeshTile *tile, dtPoly **polys, dtPolyRef *refs, int count)dtCollectPolysQueryinlinevirtual
~dtCollectPolysQuery()dtCollectPolysQueryvirtual
~dtPolyQuery()dtPolyQueryvirtual
+
+ + + + + diff --git a/classdtCollectPolysQuery.html b/classdtCollectPolysQuery.html new file mode 100644 index 00000000..fa15888c --- /dev/null +++ b/classdtCollectPolysQuery.html @@ -0,0 +1,303 @@ + + + + + + + +Recast Navigation: dtCollectPolysQuery Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
dtCollectPolysQuery Class Reference
+
+
+
+Inheritance diagram for dtCollectPolysQuery:
+
+
+ + +dtPolyQuery + +
+ + + + + + + + + + + + + + + + +

+Public Member Functions

 dtCollectPolysQuery (dtPolyRef *polys, const int maxPolys)
 
virtual ~dtCollectPolysQuery ()
 
int numCollected () const
 
bool overflowed () const
 
void process (const dtMeshTile *tile, dtPoly **polys, dtPolyRef *refs, int count)
 Called for each batch of unique polygons touched by the search area in dtNavMeshQuery::queryPolygons. More...
 
- Public Member Functions inherited from dtPolyQuery
virtual ~dtPolyQuery ()
 
+

Constructor & Destructor Documentation

+ +

◆ dtCollectPolysQuery()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
dtCollectPolysQuery::dtCollectPolysQuery (dtPolyRefpolys,
const int maxPolys 
)
+
+inline
+
+ +
+
+ +

◆ ~dtCollectPolysQuery()

+ +
+
+ + + + + +
+ + + + + + + +
dtCollectPolysQuery::~dtCollectPolysQuery ()
+
+virtual
+
+ +
+
+

Member Function Documentation

+ +

◆ numCollected()

+ +
+
+ + + + + +
+ + + + + + + +
int dtCollectPolysQuery::numCollected () const
+
+inline
+
+ +
+
+ +

◆ overflowed()

+ +
+
+ + + + + +
+ + + + + + + +
bool dtCollectPolysQuery::overflowed () const
+
+inline
+
+ +
+
+ +

◆ process()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void dtCollectPolysQuery::process (const dtMeshTiletile,
dtPoly ** polys,
dtPolyRefrefs,
int count 
)
+
+inlinevirtual
+
+ +

Called for each batch of unique polygons touched by the search area in dtNavMeshQuery::queryPolygons.

+

This can be called multiple times for a single query.

+ +

Implements dtPolyQuery.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + + diff --git a/classdtCollectPolysQuery.js b/classdtCollectPolysQuery.js new file mode 100644 index 00000000..80575d3f --- /dev/null +++ b/classdtCollectPolysQuery.js @@ -0,0 +1,8 @@ +var classdtCollectPolysQuery = +[ + [ "dtCollectPolysQuery", "classdtCollectPolysQuery.html#a9bcdd3786ee5580ad5d52680f6edd03f", null ], + [ "~dtCollectPolysQuery", "classdtCollectPolysQuery.html#a30a6baa977d507b2c6f0148a770655b8", null ], + [ "numCollected", "classdtCollectPolysQuery.html#af9a58ba3aff58aa0910d9446dcf8cb3b", null ], + [ "overflowed", "classdtCollectPolysQuery.html#a5ebb596db273cdcc454c6ae6f981bf3a", null ], + [ "process", "classdtCollectPolysQuery.html#a720fc8d71cb55210dd3db71b77f3db4f", null ] +]; \ No newline at end of file diff --git a/classdtCollectPolysQuery.png b/classdtCollectPolysQuery.png new file mode 100644 index 00000000..58f67bf8 Binary files /dev/null and b/classdtCollectPolysQuery.png differ diff --git a/classdtCrowd-members.html b/classdtCrowd-members.html new file mode 100644 index 00000000..772f0da8 --- /dev/null +++ b/classdtCrowd-members.html @@ -0,0 +1,130 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dtCrowd Member List
+
+
+ +

This is the complete list of members for dtCrowd, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
addAgent(const float *pos, const dtCrowdAgentParams *params)dtCrowd
dtCrowd()dtCrowd
getActiveAgents(dtCrowdAgent **agents, const int maxAgents)dtCrowd
getAgent(const int idx)dtCrowd
getAgentCount() constdtCrowd
getEditableAgent(const int idx)dtCrowd
getEditableFilter(const int i)dtCrowdinline
getFilter(const int i) constdtCrowdinline
getGrid() constdtCrowdinline
getNavMeshQuery() constdtCrowdinline
getObstacleAvoidanceParams(const int idx) constdtCrowd
getPathQueue() constdtCrowdinline
getQueryExtents() constdtCrowdinline
getQueryHalfExtents() constdtCrowdinline
getVelocitySampleCount() constdtCrowdinline
init(const int maxAgents, const float maxAgentRadius, dtNavMesh *nav)dtCrowd
removeAgent(const int idx)dtCrowd
requestMoveTarget(const int idx, dtPolyRef ref, const float *pos)dtCrowd
requestMoveVelocity(const int idx, const float *vel)dtCrowd
resetMoveTarget(const int idx)dtCrowd
setObstacleAvoidanceParams(const int idx, const dtObstacleAvoidanceParams *params)dtCrowd
update(const float dt, dtCrowdAgentDebugInfo *debug)dtCrowd
updateAgentParameters(const int idx, const dtCrowdAgentParams *params)dtCrowd
~dtCrowd()dtCrowd
+
+ + + + + diff --git a/classdtCrowd.html b/classdtCrowd.html new file mode 100644 index 00000000..7e187c41 --- /dev/null +++ b/classdtCrowd.html @@ -0,0 +1,962 @@ + + + + + + + +Recast Navigation: dtCrowd Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
dtCrowd Class Reference
+
+
+ +

Provides local steering behaviors for a group of agents. + More...

+ +

#include <DetourCrowd.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 dtCrowd ()
 
 ~dtCrowd ()
 
bool init (const int maxAgents, const float maxAgentRadius, dtNavMesh *nav)
 Initializes the crowd. More...
 
void setObstacleAvoidanceParams (const int idx, const dtObstacleAvoidanceParams *params)
 Sets the shared avoidance configuration for the specified index. More...
 
const dtObstacleAvoidanceParamsgetObstacleAvoidanceParams (const int idx) const
 Gets the shared avoidance configuration for the specified index. More...
 
const dtCrowdAgentgetAgent (const int idx)
 Gets the specified agent from the pool. More...
 
dtCrowdAgentgetEditableAgent (const int idx)
 Gets the specified agent from the pool. More...
 
int getAgentCount () const
 The maximum number of agents that can be managed by the object. More...
 
int addAgent (const float *pos, const dtCrowdAgentParams *params)
 Adds a new agent to the crowd. More...
 
void updateAgentParameters (const int idx, const dtCrowdAgentParams *params)
 Updates the specified agent's configuration. More...
 
void removeAgent (const int idx)
 Removes the agent from the crowd. More...
 
bool requestMoveTarget (const int idx, dtPolyRef ref, const float *pos)
 Submits a new move request for the specified agent. More...
 
bool requestMoveVelocity (const int idx, const float *vel)
 Submits a new move request for the specified agent. More...
 
bool resetMoveTarget (const int idx)
 Resets any request for the specified agent. More...
 
int getActiveAgents (dtCrowdAgent **agents, const int maxAgents)
 Gets the active agents int the agent pool. More...
 
void update (const float dt, dtCrowdAgentDebugInfo *debug)
 Updates the steering and positions of all agents. More...
 
const dtQueryFiltergetFilter (const int i) const
 Gets the filter used by the crowd. More...
 
dtQueryFiltergetEditableFilter (const int i)
 Gets the filter used by the crowd. More...
 
const float * getQueryHalfExtents () const
 Gets the search halfExtents [(x, y, z)] used by the crowd for query operations. More...
 
const float * getQueryExtents () const
 Same as getQueryHalfExtents. More...
 
int getVelocitySampleCount () const
 Gets the velocity sample count. More...
 
const dtProximityGridgetGrid () const
 Gets the crowd's proximity grid. More...
 
const dtPathQueuegetPathQueue () const
 Gets the crowd's path request queue. More...
 
const dtNavMeshQuerygetNavMeshQuery () const
 Gets the query object used by the crowd. More...
 
+

Description

+

Provides local steering behaviors for a group of agents.

+
+

This is the core class of the Crowd module. See the Crowd documentation for a summary of the crowd features.

+

A common method for setting up the crowd is as follows:

+
    +
  1. Allocate the crowd using dtAllocCrowd.
  2. +
  3. Initialize the crowd using init().
  4. +
  5. Set the avoidance configurations using setObstacleAvoidanceParams().
  6. +
  7. Add agents using addAgent() and make an initial movement request using requestMoveTarget().
  8. +
+

A common process for managing the crowd is as follows:

+
    +
  1. Call update() to allow the crowd to manage its agents.
  2. +
  3. Retrieve agent information using getActiveAgents().
  4. +
  5. Make movement requests using requestMoveTarget() when movement goal changes.
  6. +
  7. Repeat every frame.
  8. +
+

Some agent configuration settings can be updated using updateAgentParameters(). But the crowd owns the agent position. So it is not possible to update an active agent's position. If agent position must be fed back into the crowd, the agent must be removed and re-added.

+

Notes:

+
    +
  • Path related information is available for newly added agents only after an update() has been performed.
  • +
  • Agent objects are kept in a pool and re-used. So it is important when using agent objects to check the value of dtCrowdAgent::active to determine if the agent is actually in use or not.
  • +
  • This class is meant to provide 'local' movement. There is a limit of 256 polygons in the path corridor.
    + So it is not meant to provide automatic pathfinding services over long distances.
  • +
+
See also
dtAllocCrowd(), dtFreeCrowd(), init(), dtCrowdAgent
+

Constructor & Destructor Documentation

+ +

◆ dtCrowd()

+ +
+
+ + + + + + + +
dtCrowd::dtCrowd ()
+
+ +
+
+ +

◆ ~dtCrowd()

+ +
+
+ + + + + + + +
dtCrowd::~dtCrowd ()
+
+ +
+
+

Member Function Documentation

+ +

◆ addAgent()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int dtCrowd::addAgent (const float * pos,
const dtCrowdAgentParamsparams 
)
+
+ +

Adds a new agent to the crowd.

+
Parameters
+ + + +
[in]posThe requested position of the agent. [(x, y, z)]
[in]paramsThe configutation of the agent.
+
+
+
Returns
The index of the agent in the agent pool. Or -1 if the agent could not be added.
+
+

The agent's position will be constrained to the surface of the navigation mesh.

+ +
+
+ +

◆ getActiveAgents()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int dtCrowd::getActiveAgents (dtCrowdAgent ** agents,
const int maxAgents 
)
+
+ +

Gets the active agents int the agent pool.

+
Parameters
+ + + +
[out]agentsAn array of agent pointers. [(dtCrowdAgent *) * maxAgents]
[in]maxAgentsThe size of the crowd agent array.
+
+
+
Returns
The number of agents returned in agents.
+ +
+
+ +

◆ getAgent()

+ +
+
+ + + + + + + + +
const dtCrowdAgent * dtCrowd::getAgent (const int idx)
+
+ +

Gets the specified agent from the pool.

+
Parameters
+ + +
[in]idxThe agent index. [Limits: 0 <= value < getAgentCount()]
+
+
+
Returns
The requested agent.
+
+

Agents in the pool may not be in use. Check dtCrowdAgent.active before using the returned object.

+ +
+
+ +

◆ getAgentCount()

+ +
+
+ + + + + + + +
int dtCrowd::getAgentCount () const
+
+ +

The maximum number of agents that can be managed by the object.

+
Returns
The maximum number of agents.
+ +
+
+ +

◆ getEditableAgent()

+ +
+
+ + + + + + + + +
dtCrowdAgent * dtCrowd::getEditableAgent (const int idx)
+
+ +

Gets the specified agent from the pool.

+

Agents in the pool may not be in use.

+
Parameters
+ + +
[in]idxThe agent index. [Limits: 0 <= value < getAgentCount()]
+
+
+
Returns
The requested agent.
+

Check dtCrowdAgent.active before using the returned object.

+ +
+
+ +

◆ getEditableFilter()

+ +
+
+ + + + + +
+ + + + + + + + +
dtQueryFilter* dtCrowd::getEditableFilter (const int i)
+
+inline
+
+ +

Gets the filter used by the crowd.

+
Returns
The filter used by the crowd.
+ +
+
+ +

◆ getFilter()

+ +
+
+ + + + + +
+ + + + + + + + +
const dtQueryFilter* dtCrowd::getFilter (const int i) const
+
+inline
+
+ +

Gets the filter used by the crowd.

+
Returns
The filter used by the crowd.
+ +
+
+ +

◆ getGrid()

+ +
+
+ + + + + +
+ + + + + + + +
const dtProximityGrid* dtCrowd::getGrid () const
+
+inline
+
+ +

Gets the crowd's proximity grid.

+
Returns
The crowd's proximity grid.
+ +
+
+ +

◆ getNavMeshQuery()

+ +
+
+ + + + + +
+ + + + + + + +
const dtNavMeshQuery* dtCrowd::getNavMeshQuery () const
+
+inline
+
+ +

Gets the query object used by the crowd.

+ +
+
+ +

◆ getObstacleAvoidanceParams()

+ +
+
+ + + + + + + + +
const dtObstacleAvoidanceParams * dtCrowd::getObstacleAvoidanceParams (const int idx) const
+
+ +

Gets the shared avoidance configuration for the specified index.

+
Parameters
+ + +
[in]idxThe index of the configuration to retreive. [Limits: 0 <= value < DT_CROWD_MAX_OBSTAVOIDANCE_PARAMS]
+
+
+
Returns
The requested configuration.
+ +
+
+ +

◆ getPathQueue()

+ +
+
+ + + + + +
+ + + + + + + +
const dtPathQueue* dtCrowd::getPathQueue () const
+
+inline
+
+ +

Gets the crowd's path request queue.

+
Returns
The crowd's path request queue.
+ +
+
+ +

◆ getQueryExtents()

+ +
+
+ + + + + +
+ + + + + + + +
const float* dtCrowd::getQueryExtents () const
+
+inline
+
+ +

Same as getQueryHalfExtents.

+

Left to maintain backwards compatibility.

Returns
The search halfExtents used by the crowd. [(x, y, z)]
+ +
+
+ +

◆ getQueryHalfExtents()

+ +
+
+ + + + + +
+ + + + + + + +
const float* dtCrowd::getQueryHalfExtents () const
+
+inline
+
+ +

Gets the search halfExtents [(x, y, z)] used by the crowd for query operations.

+
Returns
The search halfExtents used by the crowd. [(x, y, z)]
+ +
+
+ +

◆ getVelocitySampleCount()

+ +
+
+ + + + + +
+ + + + + + + +
int dtCrowd::getVelocitySampleCount () const
+
+inline
+
+ +

Gets the velocity sample count.

+
Returns
The velocity sample count.
+ +
+
+ +

◆ init()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool dtCrowd::init (const int maxAgents,
const float maxAgentRadius,
dtNavMeshnav 
)
+
+ +

Initializes the crowd.

+


+

Parameters
+ + + + +
[in]maxAgentsThe maximum number of agents the crowd can manage. [Limit: >= 1]
[in]maxAgentRadiusThe maximum radius of any agent that will be added to the crowd. [Limit: > 0]
[in]navThe navigation mesh to use for planning.
+
+
+
Returns
True if the initialization succeeded.
+
+

May be called more than once to purge and re-initialize the crowd.

+ +
+
+ +

◆ removeAgent()

+ +
+
+ + + + + + + + +
void dtCrowd::removeAgent (const int idx)
+
+ +

Removes the agent from the crowd.

+
Parameters
+ + +
[in]idxThe agent index. [Limits: 0 <= value < getAgentCount()]
+
+
+
+

The agent is deactivated and will no longer be processed. Its dtCrowdAgent object is not removed from the pool. It is marked as inactive so that it is available for reuse.

+ +
+
+ +

◆ requestMoveTarget()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool dtCrowd::requestMoveTarget (const int idx,
dtPolyRef ref,
const float * pos 
)
+
+ +

Submits a new move request for the specified agent.

+
Parameters
+ + + + +
[in]idxThe agent index. [Limits: 0 <= value < getAgentCount()]
[in]refThe position's polygon reference.
[in]posThe position within the polygon. [(x, y, z)]
+
+
+
Returns
True if the request was successfully submitted.
+
+

This method is used when a new target is set.

+

The position will be constrained to the surface of the navigation mesh.

+

The request will be processed during the next update().

+ +
+
+ +

◆ requestMoveVelocity()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool dtCrowd::requestMoveVelocity (const int idx,
const float * vel 
)
+
+ +

Submits a new move request for the specified agent.

+
Parameters
+ + + +
[in]idxThe agent index. [Limits: 0 <= value < getAgentCount()]
[in]velThe movement velocity. [(x, y, z)]
+
+
+
Returns
True if the request was successfully submitted.
+ +
+
+ +

◆ resetMoveTarget()

+ +
+
+ + + + + + + + +
bool dtCrowd::resetMoveTarget (const int idx)
+
+ +

Resets any request for the specified agent.

+
Parameters
+ + +
[in]idxThe agent index. [Limits: 0 <= value < getAgentCount()]
+
+
+
Returns
True if the request was successfully reseted.
+ +
+
+ +

◆ setObstacleAvoidanceParams()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void dtCrowd::setObstacleAvoidanceParams (const int idx,
const dtObstacleAvoidanceParamsparams 
)
+
+ +

Sets the shared avoidance configuration for the specified index.

+
Parameters
+ + + +
[in]idxThe index. [Limits: 0 <= value < DT_CROWD_MAX_OBSTAVOIDANCE_PARAMS]
[in]paramsThe new configuration.
+
+
+ +
+
+ +

◆ update()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void dtCrowd::update (const float dt,
dtCrowdAgentDebugInfodebug 
)
+
+ +

Updates the steering and positions of all agents.

+
Parameters
+ + + +
[in]dtThe time, in seconds, to update the simulation. [Limit: > 0]
[out]debugA debug object to load with debug information. [Opt]
+
+
+ +
+
+ +

◆ updateAgentParameters()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void dtCrowd::updateAgentParameters (const int idx,
const dtCrowdAgentParamsparams 
)
+
+ +

Updates the specified agent's configuration.

+
Parameters
+ + + +
[in]idxThe agent index. [Limits: 0 <= value < getAgentCount()]
[in]paramsThe new agent configuration.
+
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classdtCrowd.js b/classdtCrowd.js new file mode 100644 index 00000000..45d111a0 --- /dev/null +++ b/classdtCrowd.js @@ -0,0 +1,27 @@ +var classdtCrowd = +[ + [ "dtCrowd", "classdtCrowd.html#a2210ecc99a80dfda29e1b57f22b3f8a8", null ], + [ "~dtCrowd", "classdtCrowd.html#a9a6817150b328d1646e58713cef9d9b4", null ], + [ "addAgent", "classdtCrowd.html#ae8c89febfd979a6b963c62d8cdb60653", null ], + [ "getActiveAgents", "classdtCrowd.html#a15a4b9b9fb72a358514489ea8f755405", null ], + [ "getAgent", "classdtCrowd.html#aeef39643256ddad7ae421c78dda0ce06", null ], + [ "getAgentCount", "classdtCrowd.html#a87dc2372038ee12d9043a65737880b78", null ], + [ "getEditableAgent", "classdtCrowd.html#aa6b571af2a8c628063b904c7b1a5e910", null ], + [ "getEditableFilter", "classdtCrowd.html#a170a9c4cc9f88a7ee3d560abce9ad552", null ], + [ "getFilter", "classdtCrowd.html#ae712fb6e6e907454ec0a827d11957373", null ], + [ "getGrid", "classdtCrowd.html#a1d1534a46f29afd4ab82ac37080c5ad0", null ], + [ "getNavMeshQuery", "classdtCrowd.html#ae58e2252287003e9b7226936cf8b4ea7", null ], + [ "getObstacleAvoidanceParams", "classdtCrowd.html#a4da076dabe04b63d801c63c99d2fb5bb", null ], + [ "getPathQueue", "classdtCrowd.html#a5300bc081c832dde048affb6bd077afb", null ], + [ "getQueryExtents", "classdtCrowd.html#a6a37c9f57844d91e46fd4c8ef9de17b0", null ], + [ "getQueryHalfExtents", "classdtCrowd.html#a24dd5232d34c87b80b75a6ae2729fd27", null ], + [ "getVelocitySampleCount", "classdtCrowd.html#a22ceec36962e3fdaccfbe4e84a8b24b3", null ], + [ "init", "classdtCrowd.html#a2f670cde9e10d07e3ed189ea861f37e4", null ], + [ "removeAgent", "classdtCrowd.html#ae958ada7790a718a2887114264010f62", null ], + [ "requestMoveTarget", "classdtCrowd.html#aa30c34a65535118989ccd86542e96797", null ], + [ "requestMoveVelocity", "classdtCrowd.html#a4fe7e43e63d857e77f9db1f20b904806", null ], + [ "resetMoveTarget", "classdtCrowd.html#a81405dee71882d0a21a4defd6087a270", null ], + [ "setObstacleAvoidanceParams", "classdtCrowd.html#a96338b9a99e8d58a3051a9ce7934e8b1", null ], + [ "update", "classdtCrowd.html#ae3f041e335ca87c323e7340e73113919", null ], + [ "updateAgentParameters", "classdtCrowd.html#a6ed4aa0026c21593daa9ea12c71f84c2", null ] +]; \ No newline at end of file diff --git a/classdtFindNearestPolyQuery-members.html b/classdtFindNearestPolyQuery-members.html new file mode 100644 index 00000000..9b0e679f --- /dev/null +++ b/classdtFindNearestPolyQuery-members.html @@ -0,0 +1,113 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dtFindNearestPolyQuery Member List
+
+
+ +

This is the complete list of members for dtFindNearestPolyQuery, including all inherited members.

+ + + + + + + + +
dtFindNearestPolyQuery(const dtNavMeshQuery *query, const float *center)dtFindNearestPolyQueryinline
isOverPoly() constdtFindNearestPolyQueryinline
nearestPoint() constdtFindNearestPolyQueryinline
nearestRef() constdtFindNearestPolyQueryinline
process(const dtMeshTile *tile, dtPoly **polys, dtPolyRef *refs, int count)dtFindNearestPolyQueryinlinevirtual
~dtFindNearestPolyQuery()dtFindNearestPolyQueryvirtual
~dtPolyQuery()dtPolyQueryvirtual
+
+ + + + + diff --git a/classdtFindNearestPolyQuery.html b/classdtFindNearestPolyQuery.html new file mode 100644 index 00000000..d6dc722d --- /dev/null +++ b/classdtFindNearestPolyQuery.html @@ -0,0 +1,330 @@ + + + + + + + +Recast Navigation: dtFindNearestPolyQuery Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
dtFindNearestPolyQuery Class Reference
+
+
+
+Inheritance diagram for dtFindNearestPolyQuery:
+
+
+ + +dtPolyQuery + +
+ + + + + + + + + + + + + + + + + + +

+Public Member Functions

 dtFindNearestPolyQuery (const dtNavMeshQuery *query, const float *center)
 
virtual ~dtFindNearestPolyQuery ()
 
dtPolyRef nearestRef () const
 
const float * nearestPoint () const
 
bool isOverPoly () const
 
void process (const dtMeshTile *tile, dtPoly **polys, dtPolyRef *refs, int count)
 Called for each batch of unique polygons touched by the search area in dtNavMeshQuery::queryPolygons. More...
 
- Public Member Functions inherited from dtPolyQuery
virtual ~dtPolyQuery ()
 
+

Constructor & Destructor Documentation

+ +

◆ dtFindNearestPolyQuery()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
dtFindNearestPolyQuery::dtFindNearestPolyQuery (const dtNavMeshQueryquery,
const float * center 
)
+
+inline
+
+ +
+
+ +

◆ ~dtFindNearestPolyQuery()

+ +
+
+ + + + + +
+ + + + + + + +
dtFindNearestPolyQuery::~dtFindNearestPolyQuery ()
+
+virtual
+
+ +
+
+

Member Function Documentation

+ +

◆ isOverPoly()

+ +
+
+ + + + + +
+ + + + + + + +
bool dtFindNearestPolyQuery::isOverPoly () const
+
+inline
+
+ +
+
+ +

◆ nearestPoint()

+ +
+
+ + + + + +
+ + + + + + + +
const float* dtFindNearestPolyQuery::nearestPoint () const
+
+inline
+
+ +
+
+ +

◆ nearestRef()

+ +
+
+ + + + + +
+ + + + + + + +
dtPolyRef dtFindNearestPolyQuery::nearestRef () const
+
+inline
+
+ +
+
+ +

◆ process()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void dtFindNearestPolyQuery::process (const dtMeshTiletile,
dtPoly ** polys,
dtPolyRefrefs,
int count 
)
+
+inlinevirtual
+
+ +

Called for each batch of unique polygons touched by the search area in dtNavMeshQuery::queryPolygons.

+

This can be called multiple times for a single query.

+ +

Implements dtPolyQuery.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + + diff --git a/classdtFindNearestPolyQuery.js b/classdtFindNearestPolyQuery.js new file mode 100644 index 00000000..ffd4bb3d --- /dev/null +++ b/classdtFindNearestPolyQuery.js @@ -0,0 +1,9 @@ +var classdtFindNearestPolyQuery = +[ + [ "dtFindNearestPolyQuery", "classdtFindNearestPolyQuery.html#a8900d818df939f8917d5220b854675c6", null ], + [ "~dtFindNearestPolyQuery", "classdtFindNearestPolyQuery.html#a0f3122a8f4d6151eb628453b3e99d74c", null ], + [ "isOverPoly", "classdtFindNearestPolyQuery.html#a9668cae24253780eebecccde9f023fc7", null ], + [ "nearestPoint", "classdtFindNearestPolyQuery.html#ad6d790e28c61d28b5ebdcd79373e834c", null ], + [ "nearestRef", "classdtFindNearestPolyQuery.html#a72c70bc181bdd635a23e0d2b6df724cb", null ], + [ "process", "classdtFindNearestPolyQuery.html#a70f751a070792e099462d3af34357bcd", null ] +]; \ No newline at end of file diff --git a/classdtFindNearestPolyQuery.png b/classdtFindNearestPolyQuery.png new file mode 100644 index 00000000..2e854005 Binary files /dev/null and b/classdtFindNearestPolyQuery.png differ diff --git a/classdtFixedArray-members.html b/classdtFixedArray-members.html new file mode 100644 index 00000000..23cfc206 --- /dev/null +++ b/classdtFixedArray-members.html @@ -0,0 +1,110 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dtFixedArray< T > Member List
+
+
+ +

This is the complete list of members for dtFixedArray< T >, including all inherited members.

+ + + + + +
dtFixedArray(dtTileCacheAlloc *a, const int s)dtFixedArray< T >inline
operator T*()dtFixedArray< T >inline
size() constdtFixedArray< T >inline
~dtFixedArray()dtFixedArray< T >inline
+
+ + + + + diff --git a/classdtFixedArray.html b/classdtFixedArray.html new file mode 100644 index 00000000..b90338b1 --- /dev/null +++ b/classdtFixedArray.html @@ -0,0 +1,243 @@ + + + + + + + +Recast Navigation: dtFixedArray< T > Class Template Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
dtFixedArray< T > Class Template Reference
+
+
+ + + + + + + + + + +

+Public Member Functions

 dtFixedArray (dtTileCacheAlloc *a, const int s)
 
 ~dtFixedArray ()
 
 operator T* ()
 
int size () const
 
+

Constructor & Destructor Documentation

+ +

◆ dtFixedArray()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
dtFixedArray< T >::dtFixedArray (dtTileCacheAlloca,
const int s 
)
+
+inline
+
+ +
+
+ +

◆ ~dtFixedArray()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + +
dtFixedArray< T >::~dtFixedArray ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +

◆ operator T*()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + +
dtFixedArray< T >::operator T* ()
+
+inline
+
+ +
+
+ +

◆ size()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + +
int dtFixedArray< T >::size () const
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + + diff --git a/classdtFixedArray.js b/classdtFixedArray.js new file mode 100644 index 00000000..3171b493 --- /dev/null +++ b/classdtFixedArray.js @@ -0,0 +1,7 @@ +var classdtFixedArray = +[ + [ "dtFixedArray", "classdtFixedArray.html#a33185d41a3c263367ab862014104f89e", null ], + [ "~dtFixedArray", "classdtFixedArray.html#a4200a27ea1af879c1f0b19de8d289e8a", null ], + [ "operator T*", "classdtFixedArray.html#a787d42a579a87d3fe763717576d9dac0", null ], + [ "size", "classdtFixedArray.html#aff54b9aa9eb16e7cea87546e6b1aed93", null ] +]; \ No newline at end of file diff --git a/classdtLocalBoundary-members.html b/classdtLocalBoundary-members.html new file mode 100644 index 00000000..79109efb --- /dev/null +++ b/classdtLocalBoundary-members.html @@ -0,0 +1,114 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dtLocalBoundary Member List
+
+
+ +

This is the complete list of members for dtLocalBoundary, including all inherited members.

+ + + + + + + + + +
dtLocalBoundary()dtLocalBoundary
getCenter() constdtLocalBoundaryinline
getSegment(int i) constdtLocalBoundaryinline
getSegmentCount() constdtLocalBoundaryinline
isValid(dtNavMeshQuery *navquery, const dtQueryFilter *filter)dtLocalBoundary
reset()dtLocalBoundary
update(dtPolyRef ref, const float *pos, const float collisionQueryRange, dtNavMeshQuery *navquery, const dtQueryFilter *filter)dtLocalBoundary
~dtLocalBoundary()dtLocalBoundary
+
+ + + + + diff --git a/classdtLocalBoundary.html b/classdtLocalBoundary.html new file mode 100644 index 00000000..d382b4bb --- /dev/null +++ b/classdtLocalBoundary.html @@ -0,0 +1,337 @@ + + + + + + + +Recast Navigation: dtLocalBoundary Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
dtLocalBoundary Class Reference
+
+
+ +

#include <DetourLocalBoundary.h>

+ + + + + + + + + + + + + + + + + + +

+Public Member Functions

 dtLocalBoundary ()
 
 ~dtLocalBoundary ()
 
void reset ()
 
void update (dtPolyRef ref, const float *pos, const float collisionQueryRange, dtNavMeshQuery *navquery, const dtQueryFilter *filter)
 
bool isValid (dtNavMeshQuery *navquery, const dtQueryFilter *filter)
 
const float * getCenter () const
 
int getSegmentCount () const
 
const float * getSegment (int i) const
 
+

Constructor & Destructor Documentation

+ +

◆ dtLocalBoundary()

+ +
+
+ + + + + + + +
dtLocalBoundary::dtLocalBoundary ()
+
+ +
+
+ +

◆ ~dtLocalBoundary()

+ +
+
+ + + + + + + +
dtLocalBoundary::~dtLocalBoundary ()
+
+ +
+
+

Member Function Documentation

+ +

◆ getCenter()

+ +
+
+ + + + + +
+ + + + + + + +
const float* dtLocalBoundary::getCenter () const
+
+inline
+
+ +
+
+ +

◆ getSegment()

+ +
+
+ + + + + +
+ + + + + + + + +
const float* dtLocalBoundary::getSegment (int i) const
+
+inline
+
+ +
+
+ +

◆ getSegmentCount()

+ +
+
+ + + + + +
+ + + + + + + +
int dtLocalBoundary::getSegmentCount () const
+
+inline
+
+ +
+
+ +

◆ isValid()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool dtLocalBoundary::isValid (dtNavMeshQuerynavquery,
const dtQueryFilterfilter 
)
+
+ +
+
+ +

◆ reset()

+ +
+
+ + + + + + + +
void dtLocalBoundary::reset ()
+
+ +
+
+ +

◆ update()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void dtLocalBoundary::update (dtPolyRef ref,
const float * pos,
const float collisionQueryRange,
dtNavMeshQuerynavquery,
const dtQueryFilterfilter 
)
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classdtLocalBoundary.js b/classdtLocalBoundary.js new file mode 100644 index 00000000..1dce7e42 --- /dev/null +++ b/classdtLocalBoundary.js @@ -0,0 +1,11 @@ +var classdtLocalBoundary = +[ + [ "dtLocalBoundary", "classdtLocalBoundary.html#abfe1c882605189d161280f28aaeede2e", null ], + [ "~dtLocalBoundary", "classdtLocalBoundary.html#a902dbd1ea5d8c1981b36b1ee5dac70c8", null ], + [ "getCenter", "classdtLocalBoundary.html#ab89e6bc9a4985f2c25e97fb1f70b6060", null ], + [ "getSegment", "classdtLocalBoundary.html#a25ca9796be0ec6ff775a56f911c3fa17", null ], + [ "getSegmentCount", "classdtLocalBoundary.html#a051ee9bba1b9e3bb563735d9ec047c7f", null ], + [ "isValid", "classdtLocalBoundary.html#add9a50788d1294903c1fdf98f440dfd1", null ], + [ "reset", "classdtLocalBoundary.html#a2a3911b20edb27140857289dd2eea76c", null ], + [ "update", "classdtLocalBoundary.html#a270ef7f2e72520df6bd5c3a0e6b9a869", null ] +]; \ No newline at end of file diff --git a/classdtNavMesh-members.html b/classdtNavMesh-members.html new file mode 100644 index 00000000..37d651d8 --- /dev/null +++ b/classdtNavMesh-members.html @@ -0,0 +1,140 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dtNavMesh Member List
+
+
+ +

This is the complete list of members for dtNavMesh, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addTile(unsigned char *data, int dataSize, int flags, dtTileRef lastRef, dtTileRef *result)dtNavMesh
calcTileLoc(const float *pos, int *tx, int *ty) constdtNavMesh
decodePolyId(dtPolyRef ref, unsigned int &salt, unsigned int &it, unsigned int &ip) constdtNavMeshinline
decodePolyIdPoly(dtPolyRef ref) constdtNavMeshinline
decodePolyIdSalt(dtPolyRef ref) constdtNavMeshinline
decodePolyIdTile(dtPolyRef ref) constdtNavMeshinline
dtNavMesh()dtNavMesh
dtNavMeshQuery classdtNavMeshfriend
encodePolyId(unsigned int salt, unsigned int it, unsigned int ip) constdtNavMeshinline
getMaxTiles() constdtNavMesh
getOffMeshConnectionByRef(dtPolyRef ref) constdtNavMesh
getOffMeshConnectionPolyEndPoints(dtPolyRef prevRef, dtPolyRef polyRef, float *startPos, float *endPos) constdtNavMesh
getParams() constdtNavMesh
getPolyArea(dtPolyRef ref, unsigned char *resultArea) constdtNavMesh
getPolyFlags(dtPolyRef ref, unsigned short *resultFlags) constdtNavMesh
getPolyRefBase(const dtMeshTile *tile) constdtNavMesh
getTile(int i) constdtNavMesh
getTileAndPolyByRef(const dtPolyRef ref, const dtMeshTile **tile, const dtPoly **poly) constdtNavMesh
getTileAndPolyByRefUnsafe(const dtPolyRef ref, const dtMeshTile **tile, const dtPoly **poly) constdtNavMesh
getTileAt(const int x, const int y, const int layer) constdtNavMesh
getTileByRef(dtTileRef ref) constdtNavMesh
getTileRef(const dtMeshTile *tile) constdtNavMesh
getTileRefAt(int x, int y, int layer) constdtNavMesh
getTilesAt(const int x, const int y, dtMeshTile const **tiles, const int maxTiles) constdtNavMesh
getTileStateSize(const dtMeshTile *tile) constdtNavMesh
init(const dtNavMeshParams *params)dtNavMesh
init(unsigned char *data, const int dataSize, const int flags)dtNavMesh
isValidPolyRef(dtPolyRef ref) constdtNavMesh
removeTile(dtTileRef ref, unsigned char **data, int *dataSize)dtNavMesh
restoreTileState(dtMeshTile *tile, const unsigned char *data, const int maxDataSize)dtNavMesh
setPolyArea(dtPolyRef ref, unsigned char area)dtNavMesh
setPolyFlags(dtPolyRef ref, unsigned short flags)dtNavMesh
storeTileState(const dtMeshTile *tile, unsigned char *data, const int maxDataSize) constdtNavMesh
~dtNavMesh()dtNavMesh
+
+ + + + + diff --git a/classdtNavMesh.html b/classdtNavMesh.html new file mode 100644 index 00000000..79f61a2a --- /dev/null +++ b/classdtNavMesh.html @@ -0,0 +1,1541 @@ + + + + + + + +Recast Navigation: dtNavMesh Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
dtNavMesh Class Reference
+
+
+ +

A navigation mesh based on tiles of convex polygons. + More...

+ +

#include <DetourNavMesh.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 dtNavMesh ()
 
 ~dtNavMesh ()
 
Initialization and Tile Management
dtStatus init (const dtNavMeshParams *params)
 Initializes the navigation mesh for tiled use. More...
 
dtStatus init (unsigned char *data, const int dataSize, const int flags)
 Initializes the navigation mesh for single tile use. More...
 
const dtNavMeshParamsgetParams () const
 The navigation mesh initialization params. More...
 
dtStatus addTile (unsigned char *data, int dataSize, int flags, dtTileRef lastRef, dtTileRef *result)
 Adds a tile to the navigation mesh. More...
 
dtStatus removeTile (dtTileRef ref, unsigned char **data, int *dataSize)
 Removes the specified tile from the navigation mesh. More...
 
Query Functions
void calcTileLoc (const float *pos, int *tx, int *ty) const
 Calculates the tile grid location for the specified world position. More...
 
const dtMeshTilegetTileAt (const int x, const int y, const int layer) const
 Gets the tile at the specified grid location. More...
 
int getTilesAt (const int x, const int y, dtMeshTile const **tiles, const int maxTiles) const
 Gets all tiles at the specified grid location. More...
 
dtTileRef getTileRefAt (int x, int y, int layer) const
 Gets the tile reference for the tile at specified grid location. More...
 
dtTileRef getTileRef (const dtMeshTile *tile) const
 Gets the tile reference for the specified tile. More...
 
const dtMeshTilegetTileByRef (dtTileRef ref) const
 Gets the tile for the specified tile reference. More...
 
int getMaxTiles () const
 The maximum number of tiles supported by the navigation mesh. More...
 
const dtMeshTilegetTile (int i) const
 Gets the tile at the specified index. More...
 
dtStatus getTileAndPolyByRef (const dtPolyRef ref, const dtMeshTile **tile, const dtPoly **poly) const
 Gets the tile and polygon for the specified polygon reference. More...
 
void getTileAndPolyByRefUnsafe (const dtPolyRef ref, const dtMeshTile **tile, const dtPoly **poly) const
 Returns the tile and polygon for the specified polygon reference. More...
 
bool isValidPolyRef (dtPolyRef ref) const
 Checks the validity of a polygon reference. More...
 
dtPolyRef getPolyRefBase (const dtMeshTile *tile) const
 Gets the polygon reference for the tile's base polygon. More...
 
dtStatus getOffMeshConnectionPolyEndPoints (dtPolyRef prevRef, dtPolyRef polyRef, float *startPos, float *endPos) const
 Gets the endpoints for an off-mesh connection, ordered by "direction of travel". More...
 
const dtOffMeshConnectiongetOffMeshConnectionByRef (dtPolyRef ref) const
 Gets the specified off-mesh connection. More...
 
State Management

These functions do not effect dtTileRef or dtPolyRef's.
+

+
dtStatus setPolyFlags (dtPolyRef ref, unsigned short flags)
 Sets the user defined flags for the specified polygon. More...
 
dtStatus getPolyFlags (dtPolyRef ref, unsigned short *resultFlags) const
 Gets the user defined flags for the specified polygon. More...
 
dtStatus setPolyArea (dtPolyRef ref, unsigned char area)
 Sets the user defined area for the specified polygon. More...
 
dtStatus getPolyArea (dtPolyRef ref, unsigned char *resultArea) const
 Gets the user defined area for the specified polygon. More...
 
int getTileStateSize (const dtMeshTile *tile) const
 Gets the size of the buffer required by storeTileState to store the specified tile's state. More...
 
dtStatus storeTileState (const dtMeshTile *tile, unsigned char *data, const int maxDataSize) const
 Stores the non-structural state of the tile in the specified buffer. More...
 
dtStatus restoreTileState (dtMeshTile *tile, const unsigned char *data, const int maxDataSize)
 Restores the state of the tile. More...
 
Encoding and Decoding

These functions are generally meant for internal use only.

+
dtPolyRef encodePolyId (unsigned int salt, unsigned int it, unsigned int ip) const
 Derives a standard polygon reference. More...
 
void decodePolyId (dtPolyRef ref, unsigned int &salt, unsigned int &it, unsigned int &ip) const
 Decodes a standard polygon reference. More...
 
unsigned int decodePolyIdSalt (dtPolyRef ref) const
 Extracts a tile's salt value from the specified polygon reference. More...
 
unsigned int decodePolyIdTile (dtPolyRef ref) const
 Extracts the tile's index from the specified polygon reference. More...
 
unsigned int decodePolyIdPoly (dtPolyRef ref) const
 Extracts the polygon's index (within its tile) from the specified polygon reference. More...
 
+ + + +

+Friends

class dtNavMeshQuery
 
+

Description

+

A navigation mesh based on tiles of convex polygons.

+

The navigation mesh consists of one or more tiles defining three primary types of structural data:

+

A polygon mesh which defines most of the navigation graph. (See rcPolyMesh for its structure.) A detail mesh used for determining surface height on the polygon mesh. (See rcPolyMeshDetail for its structure.) Off-mesh connections, which define custom point-to-point edges within the navigation graph.

+

The general build process is as follows:

+
    +
  1. Create rcPolyMesh and rcPolyMeshDetail data using the Recast build pipeline.
  2. +
  3. Optionally, create off-mesh connection data.
  4. +
  5. Combine the source data into a dtNavMeshCreateParams structure.
  6. +
  7. Create a tile data array using dtCreateNavMeshData().
  8. +
  9. Allocate at dtNavMesh object and initialize it. (For single tile navigation meshes, the tile data is loaded during this step.)
  10. +
  11. For multi-tile navigation meshes, load the tile data using dtNavMesh::addTile().
  12. +
+

Notes:

+
    +
  • This class is usually used in conjunction with the dtNavMeshQuery class for pathfinding.
  • +
  • Technically, all navigation meshes are tiled. A 'solo' mesh is simply a navigation mesh initialized to have only a single tile.
  • +
  • This class does not implement any asynchronous methods. So the dtStatus result of all methods will always contain either a success or failure flag.
  • +
+
See also
dtNavMeshQuery, dtCreateNavMeshData, dtNavMeshCreateParams, dtAllocNavMesh, dtFreeNavMesh
+

Constructor & Destructor Documentation

+ +

◆ dtNavMesh()

+ +
+
+ + + + + + + +
dtNavMesh::dtNavMesh ()
+
+ +
+
+ +

◆ ~dtNavMesh()

+ +
+
+ + + + + + + +
dtNavMesh::~dtNavMesh ()
+
+ +
+
+

Member Function Documentation

+ +

◆ addTile()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMesh::addTile (unsigned char * data,
int dataSize,
int flags,
dtTileRef lastRef,
dtTileRefresult 
)
+
+ +

Adds a tile to the navigation mesh.

+
Parameters
+ + + + + + +
[in]dataData for the new tile mesh. (See: dtCreateNavMeshData)
[in]dataSizeData size of the new tile mesh.
[in]flagsTile flags. (See: dtTileFlags)
[in]lastRefThe desired reference for the tile. (When reloading a tile.) [opt] [Default: 0]
[out]resultThe tile reference. (If the tile was succesfully added.) [opt]
+
+
+
Returns
The status flags for the operation.
+
+

The add operation will fail if the data is in the wrong format, the allocated tile space is full, or there is a tile already at the specified reference.

+

The lastRef parameter is used to restore a tile with the same tile reference it had previously used. In this case the dtPolyRef's for the tile will be restored to the same values they were before the tile was removed.

+

The nav mesh assumes exclusive access to the data passed and will make changes to the dynamic portion of the data. For that reason the data should not be reused in other nav meshes until the tile has been successfully removed from this nav mesh.

+
See also
dtCreateNavMeshData, removeTile
+ +
+
+ +

◆ calcTileLoc()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void dtNavMesh::calcTileLoc (const float * pos,
int * tx,
int * ty 
) const
+
+ +

Calculates the tile grid location for the specified world position.

+
Parameters
+ + + + +
[in]posThe world position for the query. [(x, y, z)]
[out]txThe tile's x-location. (x, y)
[out]tyThe tile's y-location. (x, y)
+
+
+ +
+
+ +

◆ decodePolyId()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void dtNavMesh::decodePolyId (dtPolyRef ref,
unsigned int & salt,
unsigned int & it,
unsigned int & ip 
) const
+
+inline
+
+ +

Decodes a standard polygon reference.

+
Note
This function is generally meant for internal use only.
+
Parameters
+ + + + + +
[in]refThe polygon reference to decode.
[out]saltThe tile's salt value.
[out]itThe index of the tile.
[out]ipThe index of the polygon within the tile.
+
+
+
See also
encodePolyId
+ +
+
+ +

◆ decodePolyIdPoly()

+ +
+
+ + + + + +
+ + + + + + + + +
unsigned int dtNavMesh::decodePolyIdPoly (dtPolyRef ref) const
+
+inline
+
+ +

Extracts the polygon's index (within its tile) from the specified polygon reference.

+
Note
This function is generally meant for internal use only.
+
Parameters
+ + +
[in]refThe polygon reference.
+
+
+
See also
encodePolyId
+ +
+
+ +

◆ decodePolyIdSalt()

+ +
+
+ + + + + +
+ + + + + + + + +
unsigned int dtNavMesh::decodePolyIdSalt (dtPolyRef ref) const
+
+inline
+
+ +

Extracts a tile's salt value from the specified polygon reference.

+
Note
This function is generally meant for internal use only.
+
Parameters
+ + +
[in]refThe polygon reference.
+
+
+
See also
encodePolyId
+ +
+
+ +

◆ decodePolyIdTile()

+ +
+
+ + + + + +
+ + + + + + + + +
unsigned int dtNavMesh::decodePolyIdTile (dtPolyRef ref) const
+
+inline
+
+ +

Extracts the tile's index from the specified polygon reference.

+
Note
This function is generally meant for internal use only.
+
Parameters
+ + +
[in]refThe polygon reference.
+
+
+
See also
encodePolyId
+ +
+
+ +

◆ encodePolyId()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
dtPolyRef dtNavMesh::encodePolyId (unsigned int salt,
unsigned int it,
unsigned int ip 
) const
+
+inline
+
+ +

Derives a standard polygon reference.

+
Note
This function is generally meant for internal use only.
+
Parameters
+ + + + +
[in]saltThe tile's salt value.
[in]itThe index of the tile.
[in]ipThe index of the polygon within the tile.
+
+
+ +
+
+ +

◆ getMaxTiles()

+ +
+
+ + + + + + + +
int dtNavMesh::getMaxTiles () const
+
+ +

The maximum number of tiles supported by the navigation mesh.

+
Returns
The maximum number of tiles supported by the navigation mesh.
+ +
+
+ +

◆ getOffMeshConnectionByRef()

+ +
+
+ + + + + + + + +
const dtOffMeshConnection * dtNavMesh::getOffMeshConnectionByRef (dtPolyRef ref) const
+
+ +

Gets the specified off-mesh connection.

+
Parameters
+ + +
[in]refThe polygon reference of the off-mesh connection.
+
+
+
Returns
The specified off-mesh connection, or null if the polygon reference is not valid.
+ +
+
+ +

◆ getOffMeshConnectionPolyEndPoints()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMesh::getOffMeshConnectionPolyEndPoints (dtPolyRef prevRef,
dtPolyRef polyRef,
float * startPos,
float * endPos 
) const
+
+ +

Gets the endpoints for an off-mesh connection, ordered by "direction of travel".

+
Parameters
+ + + + + +
[in]prevRefThe reference of the polygon before the connection.
[in]polyRefThe reference of the off-mesh connection polygon.
[out]startPosThe start position of the off-mesh connection. [(x, y, z)]
[out]endPosThe end position of the off-mesh connection. [(x, y, z)]
+
+
+
Returns
The status flags for the operation.
+
+

Off-mesh connections are stored in the navigation mesh as special 2-vertex polygons with a single edge. At least one of the vertices is expected to be inside a normal polygon. So an off-mesh connection is "entered" from a normal polygon at one of its endpoints. This is the polygon identified by the prevRef parameter.

+ +
+
+ +

◆ getParams()

+ +
+
+ + + + + + + +
const dtNavMeshParams * dtNavMesh::getParams () const
+
+ +

The navigation mesh initialization params.

+
+
Note
The parameters are created automatically when the single tile initialization is performed.
+ +
+
+ +

◆ getPolyArea()

+ +
+
+ + + + + + + + + + + + + + + + + + +
dtStatus dtNavMesh::getPolyArea (dtPolyRef ref,
unsigned char * resultArea 
) const
+
+ +

Gets the user defined area for the specified polygon.

+
Parameters
+ + + +
[in]refThe polygon reference.
[out]resultAreaThe area id for the polygon.
+
+
+
Returns
The status flags for the operation.
+ +
+
+ +

◆ getPolyFlags()

+ +
+
+ + + + + + + + + + + + + + + + + + +
dtStatus dtNavMesh::getPolyFlags (dtPolyRef ref,
unsigned short * resultFlags 
) const
+
+ +

Gets the user defined flags for the specified polygon.

+
Parameters
+ + + +
[in]refThe polygon reference.
[out]resultFlagsThe polygon flags.
+
+
+
Returns
The status flags for the operation.
+ +
+
+ +

◆ getPolyRefBase()

+ +
+
+ + + + + + + + +
dtPolyRef dtNavMesh::getPolyRefBase (const dtMeshTiletile) const
+
+ +

Gets the polygon reference for the tile's base polygon.

+
Parameters
+ + +
[in]tileThe tile.
+
+
+
Returns
The polygon reference for the base polygon in the specified tile.
+
+

Example use case:

const dtPolyRef base = navmesh->getPolyRefBase(tile);
+
for (int i = 0; i < tile->header->polyCount; ++i)
+
{
+
const dtPoly* p = &tile->polys[i];
+
const dtPolyRef ref = base | (dtPolyRef)i;
+
+
// Use the reference to access the polygon data.
+
}
+
unsigned int dtPolyRef
A handle to a polygon within a navigation mesh tile.
Definition: DetourNavMesh.h:48
+
Defines a polygon within a dtMeshTile object.
Definition: DetourNavMesh.h:156
+
+
+
+ +

◆ getTile()

+ +
+
+ + + + + + + + +
const dtMeshTile * dtNavMesh::getTile (int i) const
+
+ +

Gets the tile at the specified index.

+
Parameters
+ + +
[in]iThe tile index. [Limit: 0 >= index < getMaxTiles()]
+
+
+
Returns
The tile at the specified index.
+ +
+
+ +

◆ getTileAndPolyByRef()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMesh::getTileAndPolyByRef (const dtPolyRef ref,
const dtMeshTile ** tile,
const dtPoly ** poly 
) const
+
+ +

Gets the tile and polygon for the specified polygon reference.

+
Parameters
+ + + + +
[in]refThe reference for the a polygon.
[out]tileThe tile containing the polygon.
[out]polyThe polygon.
+
+
+
Returns
The status flags for the operation.
+ +
+
+ +

◆ getTileAndPolyByRefUnsafe()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void dtNavMesh::getTileAndPolyByRefUnsafe (const dtPolyRef ref,
const dtMeshTile ** tile,
const dtPoly ** poly 
) const
+
+ +

Returns the tile and polygon for the specified polygon reference.

+
Parameters
+ + + + +
[in]refA known valid reference for a polygon.
[out]tileThe tile containing the polygon.
[out]polyThe polygon.
+
+
+
+
Warning
Only use this function if it is known that the provided polygon reference is valid. This function is faster than getTileAndPolyByRef, but it does not validate the reference.
+ +
+
+ +

◆ getTileAt()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
const dtMeshTile * dtNavMesh::getTileAt (const int x,
const int y,
const int layer 
) const
+
+ +

Gets the tile at the specified grid location.

+
Parameters
+ + + + +
[in]xThe tile's x-location. (x, y, layer)
[in]yThe tile's y-location. (x, y, layer)
[in]layerThe tile's layer. (x, y, layer)
+
+
+
Returns
The tile, or null if the tile does not exist.
+ +
+
+ +

◆ getTileByRef()

+ +
+
+ + + + + + + + +
const dtMeshTile * dtNavMesh::getTileByRef (dtTileRef ref) const
+
+ +

Gets the tile for the specified tile reference.

+
Parameters
+ + +
[in]refThe tile reference of the tile to retrieve.
+
+
+
Returns
The tile for the specified reference, or null if the reference is invalid.
+ +
+
+ +

◆ getTileRef()

+ +
+
+ + + + + + + + +
dtTileRef dtNavMesh::getTileRef (const dtMeshTiletile) const
+
+ +

Gets the tile reference for the specified tile.

+
Parameters
+ + +
[in]tileThe tile.
+
+
+
Returns
The tile reference of the tile.
+ +
+
+ +

◆ getTileRefAt()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
dtTileRef dtNavMesh::getTileRefAt (int x,
int y,
int layer 
) const
+
+ +

Gets the tile reference for the tile at specified grid location.

+
Parameters
+ + + + +
[in]xThe tile's x-location. (x, y, layer)
[in]yThe tile's y-location. (x, y, layer)
[in]layerThe tile's layer. (x, y, layer)
+
+
+
Returns
The tile reference of the tile, or 0 if there is none.
+ +
+
+ +

◆ getTilesAt()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int dtNavMesh::getTilesAt (const int x,
const int y,
dtMeshTile const ** tiles,
const int maxTiles 
) const
+
+ +

Gets all tiles at the specified grid location.

+

(All layers.)

Parameters
+ + + + + +
[in]xThe tile's x-location. (x, y)
[in]yThe tile's y-location. (x, y)
[out]tilesA pointer to an array of tiles that will hold the result.
[in]maxTilesThe maximum tiles the tiles parameter can hold.
+
+
+
Returns
The number of tiles returned in the tiles array.
+
+

This function will not fail if the tiles array is too small to hold the entire result set. It will simply fill the array to capacity.

+ +
+
+ +

◆ getTileStateSize()

+ +
+
+ + + + + + + + +
int dtNavMesh::getTileStateSize (const dtMeshTiletile) const
+
+ +

Gets the size of the buffer required by storeTileState to store the specified tile's state.

+
Parameters
+ + +
[in]tileThe tile.
+
+
+
Returns
The size of the buffer required to store the state.
+
See also
storeTileState
+ +
+
+ +

◆ init() [1/2]

+ +
+
+ + + + + + + + +
dtStatus dtNavMesh::init (const dtNavMeshParamsparams)
+
+ +

Initializes the navigation mesh for tiled use.

+
Parameters
+ + +
[in]paramsInitialization parameters.
+
+
+
Returns
The status flags for the operation.
+ +
+
+ +

◆ init() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMesh::init (unsigned char * data,
const int dataSize,
const int flags 
)
+
+ +

Initializes the navigation mesh for single tile use.

+
Parameters
+ + + + +
[in]dataData of the new tile. (See: dtCreateNavMeshData)
[in]dataSizeThe data size of the new tile.
[in]flagsThe tile flags. (See: dtTileFlags)
+
+
+
Returns
The status flags for the operation.
+
See also
dtCreateNavMeshData
+ +
+
+ +

◆ isValidPolyRef()

+ +
+
+ + + + + + + + +
bool dtNavMesh::isValidPolyRef (dtPolyRef ref) const
+
+ +

Checks the validity of a polygon reference.

+
Parameters
+ + +
[in]refThe polygon reference to check.
+
+
+
Returns
True if polygon reference is valid for the navigation mesh.
+ +
+
+ +

◆ removeTile()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMesh::removeTile (dtTileRef ref,
unsigned char ** data,
int * dataSize 
)
+
+ +

Removes the specified tile from the navigation mesh.

+
Parameters
+ + + + +
[in]refThe reference of the tile to remove.
[out]dataData associated with deleted tile.
[out]dataSizeSize of the data associated with deleted tile.
+
+
+
Returns
The status flags for the operation.
+
+

This function returns the data for the tile so that, if desired, it can be added back to the navigation mesh at a later point.

+
See also
addTile
+ +
+
+ +

◆ restoreTileState()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMesh::restoreTileState (dtMeshTiletile,
const unsigned char * data,
const int maxDataSize 
)
+
+ +

Restores the state of the tile.

+
Parameters
+ + + + +
[in]tileThe tile.
[in]dataThe new state. (Obtained from storeTileState.)
[in]maxDataSizeThe size of the state within the data buffer.
+
+
+
Returns
The status flags for the operation.
+
+

Tile state includes non-structural data such as polygon flags, area ids, etc.

Note
This function does not impact the tile's dtTileRef and dtPolyRef's.
+
See also
storeTileState
+ +
+
+ +

◆ setPolyArea()

+ +
+
+ + + + + + + + + + + + + + + + + + +
dtStatus dtNavMesh::setPolyArea (dtPolyRef ref,
unsigned char area 
)
+
+ +

Sets the user defined area for the specified polygon.

+
Parameters
+ + + +
[in]refThe polygon reference.
[in]areaThe new area id for the polygon. [Limit: < DT_MAX_AREAS]
+
+
+
Returns
The status flags for the operation.
+ +
+
+ +

◆ setPolyFlags()

+ +
+
+ + + + + + + + + + + + + + + + + + +
dtStatus dtNavMesh::setPolyFlags (dtPolyRef ref,
unsigned short flags 
)
+
+ +

Sets the user defined flags for the specified polygon.

+
Parameters
+ + + +
[in]refThe polygon reference.
[in]flagsThe new flags for the polygon.
+
+
+
Returns
The status flags for the operation.
+ +
+
+ +

◆ storeTileState()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMesh::storeTileState (const dtMeshTiletile,
unsigned char * data,
const int maxDataSize 
) const
+
+ +

Stores the non-structural state of the tile in the specified buffer.

+

(Flags, area ids, etc.)

Parameters
+ + + + +
[in]tileThe tile.
[out]dataThe buffer to store the tile's state in.
[in]maxDataSizeThe size of the data buffer. [Limit: >= getTileStateSize]
+
+
+
Returns
The status flags for the operation.
+
+

Tile state includes non-structural data such as polygon flags, area ids, etc.

Note
The state data is only valid until the tile reference changes.
+
See also
getTileStateSize, restoreTileState
+ +
+
+

Friends And Related Function Documentation

+ +

◆ dtNavMeshQuery

+ +
+
+ + + + + +
+ + + + +
friend class dtNavMeshQuery
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classdtNavMesh.js b/classdtNavMesh.js new file mode 100644 index 00000000..76c76502 --- /dev/null +++ b/classdtNavMesh.js @@ -0,0 +1,37 @@ +var classdtNavMesh = +[ + [ "dtNavMesh", "classdtNavMesh.html#a2c0a9164f97121d8d6fc5d48d3b2c544", null ], + [ "~dtNavMesh", "classdtNavMesh.html#a08ff0da5bc8c2d01d26535f67d0f4726", null ], + [ "addTile", "classdtNavMesh.html#a5b5a7c4fa72c08d9a6d4cc4d8cd3bb89", null ], + [ "calcTileLoc", "classdtNavMesh.html#a609d55c59062910ff645dbbd4c72fed1", null ], + [ "decodePolyId", "classdtNavMesh.html#afaaf5c22864cdf4a61d5e40a4efce43f", null ], + [ "decodePolyIdPoly", "classdtNavMesh.html#a936c3779e6cb7484e57dd106911eccc2", null ], + [ "decodePolyIdSalt", "classdtNavMesh.html#a588b6f839fd249430cff02cea71f347c", null ], + [ "decodePolyIdTile", "classdtNavMesh.html#a94cfcf0015d7d6d856acaf96126cd349", null ], + [ "encodePolyId", "classdtNavMesh.html#a168a479840e7e32613f4b68ee4662d78", null ], + [ "getMaxTiles", "classdtNavMesh.html#a17672fe19464d55eb66dc69f5f2f2b3f", null ], + [ "getOffMeshConnectionByRef", "classdtNavMesh.html#a1db2c979241da0b6e0fda278206678de", null ], + [ "getOffMeshConnectionPolyEndPoints", "classdtNavMesh.html#a5f4c392080406146805f674489feac4a", null ], + [ "getParams", "classdtNavMesh.html#a9202ff1b571f26d948c0ee2f07c9bce8", null ], + [ "getPolyArea", "classdtNavMesh.html#aac53c07a2ab699b15228c91a17b3bafd", null ], + [ "getPolyFlags", "classdtNavMesh.html#a8d5d33030fc21afa6b1be3c80689f9b7", null ], + [ "getPolyRefBase", "classdtNavMesh.html#a0741871ed1357c51e3847f22673fcc9c", null ], + [ "getTile", "classdtNavMesh.html#a52bb4f57b24a139600cfb6aeec1d9bcd", null ], + [ "getTileAndPolyByRef", "classdtNavMesh.html#a36a84aa7296d5cc257eb3ddc38181253", null ], + [ "getTileAndPolyByRefUnsafe", "classdtNavMesh.html#ac5c5b89a6af63b7de29089ae83091e0f", null ], + [ "getTileAt", "classdtNavMesh.html#aecd08fb7ce20324cd18de51a834ff2ef", null ], + [ "getTileByRef", "classdtNavMesh.html#ac7924d8eeed5c67b04d2d23d0cc766ad", null ], + [ "getTileRef", "classdtNavMesh.html#a6027a9a6f032dfd6a3b72563f17d80d7", null ], + [ "getTileRefAt", "classdtNavMesh.html#a88f53f80fa95524b1e7197dface10948", null ], + [ "getTilesAt", "classdtNavMesh.html#a1a89053de47c9ed459d598fc7f739670", null ], + [ "getTileStateSize", "classdtNavMesh.html#aaf6f0b0ce2bd81c5e6cd8ac67f6a8638", null ], + [ "init", "classdtNavMesh.html#a020702938951249972b955a65967234a", null ], + [ "init", "classdtNavMesh.html#a3cbc598755db0d1e9541b15f0f464318", null ], + [ "isValidPolyRef", "classdtNavMesh.html#a84ce3e44a2a97c5377b3b308825fcd37", null ], + [ "removeTile", "classdtNavMesh.html#a5ca09946d00f1cee4987ed5e2f999fdb", null ], + [ "restoreTileState", "classdtNavMesh.html#aef336a67e552a9d031d669ec84029fb8", null ], + [ "setPolyArea", "classdtNavMesh.html#a74a6e65e04a87a1b6abf837349f214fb", null ], + [ "setPolyFlags", "classdtNavMesh.html#af11a9e69fa88b6d5cf66c376d46b8889", null ], + [ "storeTileState", "classdtNavMesh.html#a141e01263950382365468ea265f48758", null ], + [ "dtNavMeshQuery", "classdtNavMesh.html#a43ead93bfa93182d47caf9c6be597376", null ] +]; \ No newline at end of file diff --git a/classdtNavMeshQuery-members.html b/classdtNavMeshQuery-members.html new file mode 100644 index 00000000..1474f93f --- /dev/null +++ b/classdtNavMeshQuery-members.html @@ -0,0 +1,137 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dtNavMeshQuery Member List
+
+
+ +

This is the complete list of members for dtNavMeshQuery, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
closestPointOnPoly(dtPolyRef ref, const float *pos, float *closest, bool *posOverPoly) constdtNavMeshQuery
closestPointOnPolyBoundary(dtPolyRef ref, const float *pos, float *closest) constdtNavMeshQuery
dtNavMeshQuery()dtNavMeshQuery
finalizeSlicedFindPath(dtPolyRef *path, int *pathCount, const int maxPath)dtNavMeshQuery
finalizeSlicedFindPathPartial(const dtPolyRef *existing, const int existingSize, dtPolyRef *path, int *pathCount, const int maxPath)dtNavMeshQuery
findDistanceToWall(dtPolyRef startRef, const float *centerPos, const float maxRadius, const dtQueryFilter *filter, float *hitDist, float *hitPos, float *hitNormal) constdtNavMeshQuery
findLocalNeighbourhood(dtPolyRef startRef, const float *centerPos, const float radius, const dtQueryFilter *filter, dtPolyRef *resultRef, dtPolyRef *resultParent, int *resultCount, const int maxResult) constdtNavMeshQuery
findNearestPoly(const float *center, const float *halfExtents, const dtQueryFilter *filter, dtPolyRef *nearestRef, float *nearestPt) constdtNavMeshQuery
findNearestPoly(const float *center, const float *halfExtents, const dtQueryFilter *filter, dtPolyRef *nearestRef, float *nearestPt, bool *isOverPoly) constdtNavMeshQuery
findPath(dtPolyRef startRef, dtPolyRef endRef, const float *startPos, const float *endPos, const dtQueryFilter *filter, dtPolyRef *path, int *pathCount, const int maxPath) constdtNavMeshQuery
findPolysAroundCircle(dtPolyRef startRef, const float *centerPos, const float radius, const dtQueryFilter *filter, dtPolyRef *resultRef, dtPolyRef *resultParent, float *resultCost, int *resultCount, const int maxResult) constdtNavMeshQuery
findPolysAroundShape(dtPolyRef startRef, const float *verts, const int nverts, const dtQueryFilter *filter, dtPolyRef *resultRef, dtPolyRef *resultParent, float *resultCost, int *resultCount, const int maxResult) constdtNavMeshQuery
findRandomPoint(const dtQueryFilter *filter, float(*frand)(), dtPolyRef *randomRef, float *randomPt) constdtNavMeshQuery
findRandomPointAroundCircle(dtPolyRef startRef, const float *centerPos, const float maxRadius, const dtQueryFilter *filter, float(*frand)(), dtPolyRef *randomRef, float *randomPt) constdtNavMeshQuery
findStraightPath(const float *startPos, const float *endPos, const dtPolyRef *path, const int pathSize, float *straightPath, unsigned char *straightPathFlags, dtPolyRef *straightPathRefs, int *straightPathCount, const int maxStraightPath, const int options=0) constdtNavMeshQuery
getAttachedNavMesh() constdtNavMeshQueryinline
getNodePool() constdtNavMeshQueryinline
getPathFromDijkstraSearch(dtPolyRef endRef, dtPolyRef *path, int *pathCount, int maxPath) constdtNavMeshQuery
getPolyHeight(dtPolyRef ref, const float *pos, float *height) constdtNavMeshQuery
getPolyWallSegments(dtPolyRef ref, const dtQueryFilter *filter, float *segmentVerts, dtPolyRef *segmentRefs, int *segmentCount, const int maxSegments) constdtNavMeshQuery
init(const dtNavMesh *nav, const int maxNodes)dtNavMeshQuery
initSlicedFindPath(dtPolyRef startRef, dtPolyRef endRef, const float *startPos, const float *endPos, const dtQueryFilter *filter, const unsigned int options=0)dtNavMeshQuery
isInClosedList(dtPolyRef ref) constdtNavMeshQuery
isValidPolyRef(dtPolyRef ref, const dtQueryFilter *filter) constdtNavMeshQuery
moveAlongSurface(dtPolyRef startRef, const float *startPos, const float *endPos, const dtQueryFilter *filter, float *resultPos, dtPolyRef *visited, int *visitedCount, const int maxVisitedSize) constdtNavMeshQuery
queryPolygons(const float *center, const float *halfExtents, const dtQueryFilter *filter, dtPolyRef *polys, int *polyCount, const int maxPolys) constdtNavMeshQuery
queryPolygons(const float *center, const float *halfExtents, const dtQueryFilter *filter, dtPolyQuery *query) constdtNavMeshQuery
raycast(dtPolyRef startRef, const float *startPos, const float *endPos, const dtQueryFilter *filter, float *t, float *hitNormal, dtPolyRef *path, int *pathCount, const int maxPath) constdtNavMeshQuery
raycast(dtPolyRef startRef, const float *startPos, const float *endPos, const dtQueryFilter *filter, const unsigned int options, dtRaycastHit *hit, dtPolyRef prevRef=0) constdtNavMeshQuery
updateSlicedFindPath(const int maxIter, int *doneIters)dtNavMeshQuery
~dtNavMeshQuery()dtNavMeshQuery
+
+ + + + + diff --git a/classdtNavMeshQuery.html b/classdtNavMeshQuery.html new file mode 100644 index 00000000..dd9b8abc --- /dev/null +++ b/classdtNavMeshQuery.html @@ -0,0 +1,2108 @@ + + + + + + + +Recast Navigation: dtNavMeshQuery Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
dtNavMeshQuery Class Reference
+
+
+ +

Provides the ability to perform pathfinding related queries against a navigation mesh. + More...

+ +

#include <DetourNavMeshQuery.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 dtNavMeshQuery ()
 
 ~dtNavMeshQuery ()
 
dtStatus init (const dtNavMesh *nav, const int maxNodes)
 Initializes the query object. More...
 
Standard Pathfinding Functions
dtStatus findPath (dtPolyRef startRef, dtPolyRef endRef, const float *startPos, const float *endPos, const dtQueryFilter *filter, dtPolyRef *path, int *pathCount, const int maxPath) const
 Finds a path from the start polygon to the end polygon. More...
 
dtStatus findStraightPath (const float *startPos, const float *endPos, const dtPolyRef *path, const int pathSize, float *straightPath, unsigned char *straightPathFlags, dtPolyRef *straightPathRefs, int *straightPathCount, const int maxStraightPath, const int options=0) const
 Finds the straight path from the start to the end position within the polygon corridor. More...
 
Sliced Pathfinding Functions

Common use case:

+
    +
  1. Call initSlicedFindPath() to initialize the sliced path query.
      +
    1. Call updateSlicedFindPath() until it returns complete.
    2. +
    3. Call finalizeSlicedFindPath() to get the path.
      +
    4. +
    +
  2. +
+
dtStatus initSlicedFindPath (dtPolyRef startRef, dtPolyRef endRef, const float *startPos, const float *endPos, const dtQueryFilter *filter, const unsigned int options=0)
 Intializes a sliced path query. More...
 
dtStatus updateSlicedFindPath (const int maxIter, int *doneIters)
 Updates an in-progress sliced path query. More...
 
dtStatus finalizeSlicedFindPath (dtPolyRef *path, int *pathCount, const int maxPath)
 Finalizes and returns the results of a sliced path query. More...
 
dtStatus finalizeSlicedFindPathPartial (const dtPolyRef *existing, const int existingSize, dtPolyRef *path, int *pathCount, const int maxPath)
 Finalizes and returns the results of an incomplete sliced path query, returning the path to the furthest polygon on the existing path that was visited during the search. More...
 
Dijkstra Search Functions


+

+
dtStatus findPolysAroundCircle (dtPolyRef startRef, const float *centerPos, const float radius, const dtQueryFilter *filter, dtPolyRef *resultRef, dtPolyRef *resultParent, float *resultCost, int *resultCount, const int maxResult) const
 Finds the polygons along the navigation graph that touch the specified circle. More...
 
dtStatus findPolysAroundShape (dtPolyRef startRef, const float *verts, const int nverts, const dtQueryFilter *filter, dtPolyRef *resultRef, dtPolyRef *resultParent, float *resultCost, int *resultCount, const int maxResult) const
 Finds the polygons along the naviation graph that touch the specified convex polygon. More...
 
dtStatus getPathFromDijkstraSearch (dtPolyRef endRef, dtPolyRef *path, int *pathCount, int maxPath) const
 Gets a path from the explored nodes in the previous search. More...
 
Local Query Functions
dtStatus findNearestPoly (const float *center, const float *halfExtents, const dtQueryFilter *filter, dtPolyRef *nearestRef, float *nearestPt) const
 Finds the polygon nearest to the specified center point. More...
 
dtStatus findNearestPoly (const float *center, const float *halfExtents, const dtQueryFilter *filter, dtPolyRef *nearestRef, float *nearestPt, bool *isOverPoly) const
 Finds the polygon nearest to the specified center point. More...
 
dtStatus queryPolygons (const float *center, const float *halfExtents, const dtQueryFilter *filter, dtPolyRef *polys, int *polyCount, const int maxPolys) const
 Finds polygons that overlap the search box. More...
 
dtStatus queryPolygons (const float *center, const float *halfExtents, const dtQueryFilter *filter, dtPolyQuery *query) const
 Finds polygons that overlap the search box. More...
 
dtStatus findLocalNeighbourhood (dtPolyRef startRef, const float *centerPos, const float radius, const dtQueryFilter *filter, dtPolyRef *resultRef, dtPolyRef *resultParent, int *resultCount, const int maxResult) const
 Finds the non-overlapping navigation polygons in the local neighbourhood around the center position. More...
 
dtStatus moveAlongSurface (dtPolyRef startRef, const float *startPos, const float *endPos, const dtQueryFilter *filter, float *resultPos, dtPolyRef *visited, int *visitedCount, const int maxVisitedSize) const
 Moves from the start to the end position constrained to the navigation mesh. More...
 
dtStatus raycast (dtPolyRef startRef, const float *startPos, const float *endPos, const dtQueryFilter *filter, float *t, float *hitNormal, dtPolyRef *path, int *pathCount, const int maxPath) const
 Casts a 'walkability' ray along the surface of the navigation mesh from the start position toward the end position. More...
 
dtStatus raycast (dtPolyRef startRef, const float *startPos, const float *endPos, const dtQueryFilter *filter, const unsigned int options, dtRaycastHit *hit, dtPolyRef prevRef=0) const
 Casts a 'walkability' ray along the surface of the navigation mesh from the start position toward the end position. More...
 
dtStatus findDistanceToWall (dtPolyRef startRef, const float *centerPos, const float maxRadius, const dtQueryFilter *filter, float *hitDist, float *hitPos, float *hitNormal) const
 Finds the distance from the specified position to the nearest polygon wall. More...
 
dtStatus getPolyWallSegments (dtPolyRef ref, const dtQueryFilter *filter, float *segmentVerts, dtPolyRef *segmentRefs, int *segmentCount, const int maxSegments) const
 Returns the segments for the specified polygon, optionally including portals. More...
 
dtStatus findRandomPoint (const dtQueryFilter *filter, float(*frand)(), dtPolyRef *randomRef, float *randomPt) const
 Returns random location on navmesh. More...
 
dtStatus findRandomPointAroundCircle (dtPolyRef startRef, const float *centerPos, const float maxRadius, const dtQueryFilter *filter, float(*frand)(), dtPolyRef *randomRef, float *randomPt) const
 Returns random location on navmesh within the reach of specified location. More...
 
dtStatus closestPointOnPoly (dtPolyRef ref, const float *pos, float *closest, bool *posOverPoly) const
 Finds the closest point on the specified polygon. More...
 
dtStatus closestPointOnPolyBoundary (dtPolyRef ref, const float *pos, float *closest) const
 Returns a point on the boundary closest to the source point if the source point is outside the polygon's xz-bounds. More...
 
dtStatus getPolyHeight (dtPolyRef ref, const float *pos, float *height) const
 Gets the height of the polygon at the provided position using the height detail. More...
 
Miscellaneous Functions
bool isValidPolyRef (dtPolyRef ref, const dtQueryFilter *filter) const
 Returns true if the polygon reference is valid and passes the filter restrictions. More...
 
bool isInClosedList (dtPolyRef ref) const
 Returns true if the polygon reference is in the closed list. More...
 
class dtNodePoolgetNodePool () const
 Gets the node pool. More...
 
const dtNavMeshgetAttachedNavMesh () const
 Gets the navigation mesh the query object is using. More...
 
+

Description

+

Provides the ability to perform pathfinding related queries against a navigation mesh.

+

For methods that support undersized buffers, if the buffer is too small to hold the entire result set the return status of the method will include the DT_BUFFER_TOO_SMALL flag.

+

Constant member functions can be used by multiple clients without side effects. (E.g. No change to the closed list. No impact on an in-progress sliced path query. Etc.)

+

Walls and portals: A wall is a polygon segment that is considered impassable. A portal is a passable segment between polygons. A portal may be treated as a wall based on the dtQueryFilter used for a query.

+
See also
dtNavMesh, dtQueryFilter, dtAllocNavMeshQuery(), dtAllocNavMeshQuery()
+

Constructor & Destructor Documentation

+ +

◆ dtNavMeshQuery()

+ +
+
+ + + + + + + +
dtNavMeshQuery::dtNavMeshQuery ()
+
+ +
+
+ +

◆ ~dtNavMeshQuery()

+ +
+
+ + + + + + + +
dtNavMeshQuery::~dtNavMeshQuery ()
+
+ +
+
+

Member Function Documentation

+ +

◆ closestPointOnPoly()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMeshQuery::closestPointOnPoly (dtPolyRef ref,
const float * pos,
float * closest,
bool * posOverPoly 
) const
+
+ +

Finds the closest point on the specified polygon.

+
Parameters
+ + + + + +
[in]refThe reference id of the polygon.
[in]posThe position to check. [(x, y, z)]
[out]closestThe closest point on the polygon. [(x, y, z)]
[out]posOverPolyTrue of the position is over the polygon.
+
+
+
Returns
The status flags for the query.
+
+

Uses the detail polygons to find the surface height. (Most accurate.)

+

pos does not have to be within the bounds of the polygon or navigation mesh.

+

See closestPointOnPolyBoundary() for a limited but faster option.

+ +
+
+ +

◆ closestPointOnPolyBoundary()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMeshQuery::closestPointOnPolyBoundary (dtPolyRef ref,
const float * pos,
float * closest 
) const
+
+ +

Returns a point on the boundary closest to the source point if the source point is outside the polygon's xz-bounds.

+
Parameters
+ + + + +
[in]refThe reference id to the polygon.
[in]posThe position to check. [(x, y, z)]
[out]closestThe closest point. [(x, y, z)]
+
+
+
Returns
The status flags for the query.
+
+

Much faster than closestPointOnPoly().

+

If the provided position lies within the polygon's xz-bounds (above or below), then pos and closest will be equal.

+

The height of closest will be the polygon boundary. The height detail is not used.

+

pos does not have to be within the bounds of the polybon or the navigation mesh.

+ +
+
+ +

◆ finalizeSlicedFindPath()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMeshQuery::finalizeSlicedFindPath (dtPolyRefpath,
int * pathCount,
const int maxPath 
)
+
+ +

Finalizes and returns the results of a sliced path query.

+
Parameters
+ + + + +
[out]pathAn ordered list of polygon references representing the path. (Start to end.) [(polyRef) * pathCount]
[out]pathCountThe number of polygons returned in the path array.
[in]maxPathThe max number of polygons the path array can hold. [Limit: >= 1]
+
+
+
Returns
The status flags for the query.
+ +
+
+ +

◆ finalizeSlicedFindPathPartial()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMeshQuery::finalizeSlicedFindPathPartial (const dtPolyRefexisting,
const int existingSize,
dtPolyRefpath,
int * pathCount,
const int maxPath 
)
+
+ +

Finalizes and returns the results of an incomplete sliced path query, returning the path to the furthest polygon on the existing path that was visited during the search.

+
Parameters
+ + + + + + +
[in]existingAn array of polygon references for the existing path.
[in]existingSizeThe number of polygon in the existing array.
[out]pathAn ordered list of polygon references representing the path. (Start to end.) [(polyRef) * pathCount]
[out]pathCountThe number of polygons returned in the path array.
[in]maxPathThe max number of polygons the path array can hold. [Limit: >= 1]
+
+
+
Returns
The status flags for the query.
+ +
+
+ +

◆ findDistanceToWall()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMeshQuery::findDistanceToWall (dtPolyRef startRef,
const float * centerPos,
const float maxRadius,
const dtQueryFilterfilter,
float * hitDist,
float * hitPos,
float * hitNormal 
) const
+
+ +

Finds the distance from the specified position to the nearest polygon wall.

+
Parameters
+ + + + + + + + +
[in]startRefThe reference id of the polygon containing centerPos.
[in]centerPosThe center of the search circle. [(x, y, z)]
[in]maxRadiusThe radius of the search circle.
[in]filterThe polygon filter to apply to the query.
[out]hitDistThe distance to the nearest wall from centerPos.
[out]hitPosThe nearest position on the wall that was hit. [(x, y, z)]
[out]hitNormalThe normalized ray formed from the wall point to the source point. [(x, y, z)]
+
+
+
Returns
The status flags for the query.
+
+

hitPos is not adjusted using the height detail data.

+

hitDist will equal the search radius if there is no wall within the radius. In this case the values of hitPos and hitNormal are undefined.

+

The normal will become unpredicable if hitDist is a very small number.

+ +
+
+ +

◆ findLocalNeighbourhood()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMeshQuery::findLocalNeighbourhood (dtPolyRef startRef,
const float * centerPos,
const float radius,
const dtQueryFilterfilter,
dtPolyRefresultRef,
dtPolyRefresultParent,
int * resultCount,
const int maxResult 
) const
+
+ +

Finds the non-overlapping navigation polygons in the local neighbourhood around the center position.

+
Parameters
+ + + + + + + + + +
[in]startRefThe reference id of the polygon where the search starts.
[in]centerPosThe center of the query circle. [(x, y, z)]
[in]radiusThe radius of the query circle.
[in]filterThe polygon filter to apply to the query.
[out]resultRefThe reference ids of the polygons touched by the circle.
[out]resultParentThe reference ids of the parent polygons for each result. Zero if a result polygon has no parent. [opt]
[out]resultCountThe number of polygons found.
[in]maxResultThe maximum number of polygons the result arrays can hold.
+
+
+
Returns
The status flags for the query.
+
+

This method is optimized for a small search radius and small number of result polygons.

+

Candidate polygons are found by searching the navigation graph beginning at the start polygon.

+

The same intersection test restrictions that apply to the findPolysAroundCircle mehtod applies to this method.

+

The value of the center point is used as the start point for cost calculations. It is not projected onto the surface of the mesh, so its y-value will effect the costs.

+

Intersection tests occur in 2D. All polygons and the search circle are projected onto the xz-plane. So the y-value of the center point does not effect intersection tests.

+

If the result arrays are is too small to hold the entire result set, they will be filled to capacity.

+ +
+
+ +

◆ findNearestPoly() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMeshQuery::findNearestPoly (const float * center,
const float * halfExtents,
const dtQueryFilterfilter,
dtPolyRefnearestRef,
float * nearestPt 
) const
+
+ +

Finds the polygon nearest to the specified center point.

+

[opt] means the specified parameter can be a null pointer, in that case the output parameter will not be set.

+
Parameters
+ + + + + + +
[in]centerThe center of the search box. [(x, y, z)]
[in]halfExtentsThe search distance along each axis. [(x, y, z)]
[in]filterThe polygon filter to apply to the query.
[out]nearestRefThe reference id of the nearest polygon. Will be set to 0 if no polygon is found.
[out]nearestPtThe nearest point on the polygon. Unchanged if no polygon is found. [opt] [(x, y, z)]
+
+
+
Returns
The status flags for the query.
+
+
Note
If the search box does not intersect any polygons the search will return DT_SUCCESS, but nearestRef will be zero. So if in doubt, check nearestRef before using nearestPt.
+ +
+
+ +

◆ findNearestPoly() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMeshQuery::findNearestPoly (const float * center,
const float * halfExtents,
const dtQueryFilterfilter,
dtPolyRefnearestRef,
float * nearestPt,
bool * isOverPoly 
) const
+
+ +

Finds the polygon nearest to the specified center point.

+

[opt] means the specified parameter can be a null pointer, in that case the output parameter will not be set.

+
Parameters
+ + + + + + + +
[in]centerThe center of the search box. [(x, y, z)]
[in]halfExtentsThe search distance along each axis. [(x, y, z)]
[in]filterThe polygon filter to apply to the query.
[out]nearestRefThe reference id of the nearest polygon. Will be set to 0 if no polygon is found.
[out]nearestPtThe nearest point on the polygon. Unchanged if no polygon is found. [opt] [(x, y, z)]
[out]isOverPolySet to true if the point's X/Z coordinate lies inside the polygon, false otherwise. Unchanged if no polygon is found. [opt]
+
+
+
Returns
The status flags for the query.
+ +
+
+ +

◆ findPath()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMeshQuery::findPath (dtPolyRef startRef,
dtPolyRef endRef,
const float * startPos,
const float * endPos,
const dtQueryFilterfilter,
dtPolyRefpath,
int * pathCount,
const int maxPath 
) const
+
+ +

Finds a path from the start polygon to the end polygon.

+
Parameters
+ + + + + + + + + +
[in]startRefThe refrence id of the start polygon.
[in]endRefThe reference id of the end polygon.
[in]startPosA position within the start polygon. [(x, y, z)]
[in]endPosA position within the end polygon. [(x, y, z)]
[in]filterThe polygon filter to apply to the query.
[out]pathAn ordered list of polygon references representing the path. (Start to end.) [(polyRef) * pathCount]
[out]pathCountThe number of polygons returned in the path array.
[in]maxPathThe maximum number of polygons the path array can hold. [Limit: >= 1]
+
+
+
+

If the end polygon cannot be reached through the navigation graph, the last polygon in the path will be the nearest the end polygon.

+

If the path array is to small to hold the full result, it will be filled as far as possible from the start polygon toward the end polygon.

+

The start and end positions are used to calculate traversal costs. (The y-values impact the result.)

+ +
+
+ +

◆ findPolysAroundCircle()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMeshQuery::findPolysAroundCircle (dtPolyRef startRef,
const float * centerPos,
const float radius,
const dtQueryFilterfilter,
dtPolyRefresultRef,
dtPolyRefresultParent,
float * resultCost,
int * resultCount,
const int maxResult 
) const
+
+ +

Finds the polygons along the navigation graph that touch the specified circle.

+
Parameters
+ + + + + + + + + + +
[in]startRefThe reference id of the polygon where the search starts.
[in]centerPosThe center of the search circle. [(x, y, z)]
[in]radiusThe radius of the search circle.
[in]filterThe polygon filter to apply to the query.
[out]resultRefThe reference ids of the polygons touched by the circle. [opt]
[out]resultParentThe reference ids of the parent polygons for each result. Zero if a result polygon has no parent. [opt]
[out]resultCostThe search cost from centerPos to the polygon. [opt]
[out]resultCountThe number of polygons found. [opt]
[in]maxResultThe maximum number of polygons the result arrays can hold.
+
+
+
Returns
The status flags for the query.
+
+

At least one result array must be provided.

+

The order of the result set is from least to highest cost to reach the polygon.

+

A common use case for this method is to perform Dijkstra searches. Candidate polygons are found by searching the graph beginning at the start polygon.

+

If a polygon is not found via the graph search, even if it intersects the search circle, it will not be included in the result set. For example:

+

polyA is the start polygon. polyB shares an edge with polyA. (Is adjacent.) polyC shares an edge with polyB, but not with polyA Even if the search circle overlaps polyC, it will not be included in the result set unless polyB is also in the set.

+

The value of the center point is used as the start position for cost calculations. It is not projected onto the surface of the mesh, so its y-value will effect the costs.

+

Intersection tests occur in 2D. All polygons and the search circle are projected onto the xz-plane. So the y-value of the center point does not effect intersection tests.

+

If the result arrays are to small to hold the entire result set, they will be filled to capacity.

+ +
+
+ +

◆ findPolysAroundShape()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMeshQuery::findPolysAroundShape (dtPolyRef startRef,
const float * verts,
const int nverts,
const dtQueryFilterfilter,
dtPolyRefresultRef,
dtPolyRefresultParent,
float * resultCost,
int * resultCount,
const int maxResult 
) const
+
+ +

Finds the polygons along the naviation graph that touch the specified convex polygon.

+
Parameters
+ + + + + + + + + + +
[in]startRefThe reference id of the polygon where the search starts.
[in]vertsThe vertices describing the convex polygon. (CCW) [(x, y, z) * nverts]
[in]nvertsThe number of vertices in the polygon.
[in]filterThe polygon filter to apply to the query.
[out]resultRefThe reference ids of the polygons touched by the search polygon. [opt]
[out]resultParentThe reference ids of the parent polygons for each result. Zero if a result polygon has no parent. [opt]
[out]resultCostThe search cost from the centroid point to the polygon. [opt]
[out]resultCountThe number of polygons found.
[in]maxResultThe maximum number of polygons the result arrays can hold.
+
+
+
Returns
The status flags for the query.
+
+

The order of the result set is from least to highest cost.

+

At least one result array must be provided.

+

A common use case for this method is to perform Dijkstra searches. Candidate polygons are found by searching the graph beginning at the start polygon.

+

The same intersection test restrictions that apply to findPolysAroundCircle() method apply to this method.

+

The 3D centroid of the search polygon is used as the start position for cost calculations.

+

Intersection tests occur in 2D. All polygons are projected onto the xz-plane. So the y-values of the vertices do not effect intersection tests.

+

If the result arrays are is too small to hold the entire result set, they will be filled to capacity.

+ +
+
+ +

◆ findRandomPoint()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMeshQuery::findRandomPoint (const dtQueryFilterfilter,
float(*)() frand,
dtPolyRefrandomRef,
float * randomPt 
) const
+
+ +

Returns random location on navmesh.

+

Polygons are chosen weighted by area. The search runs in linear related to number of polygon.

Parameters
+ + + + + +
[in]filterThe polygon filter to apply to the query.
[in]frandFunction returning a random number [0..1).
[out]randomRefThe reference id of the random location.
[out]randomPtThe random location.
+
+
+
Returns
The status flags for the query.
+ +
+
+ +

◆ findRandomPointAroundCircle()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMeshQuery::findRandomPointAroundCircle (dtPolyRef startRef,
const float * centerPos,
const float maxRadius,
const dtQueryFilterfilter,
float(*)() frand,
dtPolyRefrandomRef,
float * randomPt 
) const
+
+ +

Returns random location on navmesh within the reach of specified location.

+

Polygons are chosen weighted by area. The search runs in linear related to number of polygon. The location is not exactly constrained by the circle, but it limits the visited polygons.

Parameters
+ + + + + + + + +
[in]startRefThe reference id of the polygon where the search starts.
[in]centerPosThe center of the search circle. [(x, y, z)]
[in]maxRadiusThe radius of the search circle. [Units: wu]
[in]filterThe polygon filter to apply to the query.
[in]frandFunction returning a random number [0..1).
[out]randomRefThe reference id of the random location.
[out]randomPtThe random location. [(x, y, z)]
+
+
+
Returns
The status flags for the query.
+ +
+
+ +

◆ findStraightPath()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMeshQuery::findStraightPath (const float * startPos,
const float * endPos,
const dtPolyRefpath,
const int pathSize,
float * straightPath,
unsigned char * straightPathFlags,
dtPolyRefstraightPathRefs,
int * straightPathCount,
const int maxStraightPath,
const int options = 0 
) const
+
+ +

Finds the straight path from the start to the end position within the polygon corridor.

+
Parameters
+ + + + + + + + + + + +
[in]startPosPath start position. [(x, y, z)]
[in]endPosPath end position. [(x, y, z)]
[in]pathAn array of polygon references that represent the path corridor.
[in]pathSizeThe number of polygons in the path array.
[out]straightPathPoints describing the straight path. [(x, y, z) * straightPathCount].
[out]straightPathFlagsFlags describing each point. (See: dtStraightPathFlags) [opt]
[out]straightPathRefsThe reference id of the polygon that is being entered at each point. [opt]
[out]straightPathCountThe number of points in the straight path.
[in]maxStraightPathThe maximum number of points the straight path arrays can hold. [Limit: > 0]
[in]optionsQuery options. (see: dtStraightPathOptions)
+
+
+
Returns
The status flags for the query.
+
+

This method peforms what is often called 'string pulling'.

+

The start position is clamped to the first polygon in the path, and the end position is clamped to the last. So the start and end positions should normally be within or very near the first and last polygons respectively.

+

The returned polygon references represent the reference id of the polygon that is entered at the associated path position. The reference id associated with the end point will always be zero. This allows, for example, matching off-mesh link points to their representative polygons.

+

If the provided result buffers are too small for the entire result set, they will be filled as far as possible from the start toward the end position.

+ +
+
+ +

◆ getAttachedNavMesh()

+ +
+
+ + + + + +
+ + + + + + + +
const dtNavMesh* dtNavMeshQuery::getAttachedNavMesh () const
+
+inline
+
+ +

Gets the navigation mesh the query object is using.

+
Returns
The navigation mesh the query object is using.
+ +
+
+ +

◆ getNodePool()

+ +
+
+ + + + + +
+ + + + + + + +
class dtNodePool* dtNavMeshQuery::getNodePool () const
+
+inline
+
+ +

Gets the node pool.

+
Returns
The node pool.
+ +
+
+ +

◆ getPathFromDijkstraSearch()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMeshQuery::getPathFromDijkstraSearch (dtPolyRef endRef,
dtPolyRefpath,
int * pathCount,
int maxPath 
) const
+
+ +

Gets a path from the explored nodes in the previous search.

+
Parameters
+ + + + + +
[in]endRefThe reference id of the end polygon.
[out]pathAn ordered list of polygon references representing the path. (Start to end.) [(polyRef) * pathCount]
[out]pathCountThe number of polygons returned in the path array.
[in]maxPathThe maximum number of polygons the path array can hold. [Limit: >= 0]
+
+
+
Returns
The status flags. Returns DT_FAILURE | DT_INVALID_PARAM if any parameter is wrong, or if endRef was not explored in the previous search. Returns DT_SUCCESS | DT_BUFFER_TOO_SMALL if path cannot contain the entire path. In this case it is filled to capacity with a partial path. Otherwise returns DT_SUCCESS.
+
Remarks
The result of this function depends on the state of the query object. For that reason it should only be used immediately after one of the two Dijkstra searches, findPolysAroundCircle or findPolysAroundShape.
+ +
+
+ +

◆ getPolyHeight()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMeshQuery::getPolyHeight (dtPolyRef ref,
const float * pos,
float * height 
) const
+
+ +

Gets the height of the polygon at the provided position using the height detail.

+

(Most accurate.)

Parameters
+ + + + +
[in]refThe reference id of the polygon.
[in]posA position within the xz-bounds of the polygon. [(x, y, z)]
[out]heightThe height at the surface of the polygon.
+
+
+
Returns
The status flags for the query.
+
+

Will return DT_FAILURE | DT_INVALID_PARAM if the provided position is outside the xz-bounds of the polygon.

+ +
+
+ +

◆ getPolyWallSegments()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMeshQuery::getPolyWallSegments (dtPolyRef ref,
const dtQueryFilterfilter,
float * segmentVerts,
dtPolyRefsegmentRefs,
int * segmentCount,
const int maxSegments 
) const
+
+ +

Returns the segments for the specified polygon, optionally including portals.

+
Parameters
+ + + + + + + +
[in]refThe reference id of the polygon.
[in]filterThe polygon filter to apply to the query.
[out]segmentVertsThe segments. [(ax, ay, az, bx, by, bz) * segmentCount]
[out]segmentRefsThe reference ids of each segment's neighbor polygon. Or zero if the segment is a wall. [opt] [(parentRef) * segmentCount]
[out]segmentCountThe number of segments returned.
[in]maxSegmentsThe maximum number of segments the result arrays can hold.
+
+
+
Returns
The status flags for the query.
+
+

If the segmentRefs parameter is provided, then all polygon segments will be returned. Otherwise only the wall segments are returned.

+

A segment that is normally a portal will be included in the result set as a wall if the filter results in the neighbor polygon becoomming impassable.

+

The segmentVerts and segmentRefs buffers should normally be sized for the maximum segments per polygon of the source navigation mesh.

+ +
+
+ +

◆ init()

+ +
+
+ + + + + + + + + + + + + + + + + + +
dtStatus dtNavMeshQuery::init (const dtNavMeshnav,
const int maxNodes 
)
+
+ +

Initializes the query object.

+
Parameters
+ + + +
[in]navPointer to the dtNavMesh object to use for all queries.
[in]maxNodesMaximum number of search nodes. [Limits: 0 < value <= 65535]
+
+
+
Returns
The status flags for the query.
+
+

Must be the first function called after construction, before other functions are used.

+

This function can be used multiple times.

+ +
+
+ +

◆ initSlicedFindPath()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMeshQuery::initSlicedFindPath (dtPolyRef startRef,
dtPolyRef endRef,
const float * startPos,
const float * endPos,
const dtQueryFilterfilter,
const unsigned int options = 0 
)
+
+ +

Intializes a sliced path query.

+
Parameters
+ + + + + + + +
[in]startRefThe refrence id of the start polygon.
[in]endRefThe reference id of the end polygon.
[in]startPosA position within the start polygon. [(x, y, z)]
[in]endPosA position within the end polygon. [(x, y, z)]
[in]filterThe polygon filter to apply to the query.
[in]optionsquery options (see: dtFindPathOptions)
+
+
+
Returns
The status flags for the query.
+
+
Warning
Calling any non-slice methods before calling finalizeSlicedFindPath() or finalizeSlicedFindPathPartial() may result in corrupted data!
+

The filter pointer is stored and used for the duration of the sliced path query.

+ +
+
+ +

◆ isInClosedList()

+ +
+
+ + + + + + + + +
bool dtNavMeshQuery::isInClosedList (dtPolyRef ref) const
+
+ +

Returns true if the polygon reference is in the closed list.

+
Parameters
+ + +
[in]refThe reference id of the polygon to check.
+
+
+
Returns
True if the polygon is in closed list.
+
+

The closed list is the list of polygons that were fully evaluated during the last navigation graph search. (A* or Dijkstra)

+ +
+
+ +

◆ isValidPolyRef()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool dtNavMeshQuery::isValidPolyRef (dtPolyRef ref,
const dtQueryFilterfilter 
) const
+
+ +

Returns true if the polygon reference is valid and passes the filter restrictions.

+
Parameters
+ + + +
[in]refThe polygon reference to check.
[in]filterThe filter to apply.
+
+
+ +
+
+ +

◆ moveAlongSurface()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMeshQuery::moveAlongSurface (dtPolyRef startRef,
const float * startPos,
const float * endPos,
const dtQueryFilterfilter,
float * resultPos,
dtPolyRefvisited,
int * visitedCount,
const int maxVisitedSize 
) const
+
+ +

Moves from the start to the end position constrained to the navigation mesh.

+
Parameters
+ + + + + + + + + +
[in]startRefThe reference id of the start polygon.
[in]startPosA position of the mover within the start polygon. [(x, y, x)]
[in]endPosThe desired end position of the mover. [(x, y, z)]
[in]filterThe polygon filter to apply to the query.
[out]resultPosThe result position of the mover. [(x, y, z)]
[out]visitedThe reference ids of the polygons visited during the move.
[out]visitedCountThe number of polygons visited during the move.
[in]maxVisitedSizeThe maximum number of polygons the visited array can hold.
+
+
+
Returns
The status flags for the query.
+
+

This method is optimized for small delta movement and a small number of polygons. If used for too great a distance, the result set will form an incomplete path.

+

resultPos will equal the endPos if the end is reached. Otherwise the closest reachable position will be returned.

+

resultPos is not projected onto the surface of the navigation mesh. Use getPolyHeight if this is needed.

+

This method treats the end position in the same manner as the raycast method. (As a 2D point.) See that method's documentation for details.

+

If the visited array is too small to hold the entire result set, it will be filled as far as possible from the start position toward the end position.

+ +
+
+ +

◆ queryPolygons() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMeshQuery::queryPolygons (const float * center,
const float * halfExtents,
const dtQueryFilterfilter,
dtPolyQueryquery 
) const
+
+ +

Finds polygons that overlap the search box.

+
Parameters
+ + + + + +
[in]centerThe center of the search box. [(x, y, z)]
[in]halfExtentsThe search distance along each axis. [(x, y, z)]
[in]filterThe polygon filter to apply to the query.
[in]queryThe query. Polygons found will be batched together and passed to this query.
+
+
+
+

The query will be invoked with batches of polygons. Polygons passed to the query have bounding boxes that overlap with the center and halfExtents passed to this function. The dtPolyQuery::process function is invoked multiple times until all overlapping polygons have been processed.

+ +
+
+ +

◆ queryPolygons() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMeshQuery::queryPolygons (const float * center,
const float * halfExtents,
const dtQueryFilterfilter,
dtPolyRefpolys,
int * polyCount,
const int maxPolys 
) const
+
+ +

Finds polygons that overlap the search box.

+
Parameters
+ + + + + + + +
[in]centerThe center of the search box. [(x, y, z)]
[in]halfExtentsThe search distance along each axis. [(x, y, z)]
[in]filterThe polygon filter to apply to the query.
[out]polysThe reference ids of the polygons that overlap the query box.
[out]polyCountThe number of polygons in the search result.
[in]maxPolysThe maximum number of polygons the search result can hold.
+
+
+
Returns
The status flags for the query.
+
+

If no polygons are found, the function will return DT_SUCCESS with a polyCount of zero.

+

If polys is too small to hold the entire result set, then the array will be filled to capacity. The method of choosing which polygons from the full set are included in the partial result set is undefined.

+ +
+
+ +

◆ raycast() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMeshQuery::raycast (dtPolyRef startRef,
const float * startPos,
const float * endPos,
const dtQueryFilterfilter,
const unsigned int options,
dtRaycastHithit,
dtPolyRef prevRef = 0 
) const
+
+ +

Casts a 'walkability' ray along the surface of the navigation mesh from the start position toward the end position.

+
Parameters
+ + + + + + + + +
[in]startRefThe reference id of the start polygon.
[in]startPosA position within the start polygon representing the start of the ray. [(x, y, z)]
[in]endPosThe position to cast the ray toward. [(x, y, z)]
[in]filterThe polygon filter to apply to the query.
[in]optionsgovern how the raycast behaves. See dtRaycastOptions
[out]hitPointer to a raycast hit structure which will be filled by the results.
[in]prevRefparent of start ref. Used during for cost calculation [opt]
+
+
+
Returns
The status flags for the query.
+
+

This method is meant to be used for quick, short distance checks.

+

If the path array is too small to hold the result, it will be filled as far as possible from the start postion toward the end position.

+

Using the Hit Parameter t of RaycastHit

+

If the hit parameter is a very high value (FLT_MAX), then the ray has hit the end position. In this case the path represents a valid corridor to the end position and the value of hitNormal is undefined.

+

If the hit parameter is zero, then the start position is on the wall that was hit and the value of hitNormal is undefined.

+

If 0 < t < 1.0 then the following applies:

+
distanceToHitBorder = distanceToEndPosition * t
+
hitPoint = startPos + (endPos - startPos) * t
+

Use Case Restriction

+

The raycast ignores the y-value of the end position. (2D check.) This places significant limits on how it can be used. For example:

+

Consider a scene where there is a main floor with a second floor balcony that hangs over the main floor. So the first floor mesh extends below the balcony mesh. The start position is somewhere on the first floor. The end position is on the balcony.

+

The raycast will search toward the end position along the first floor mesh. If it reaches the end position's xz-coordinates it will indicate FLT_MAX (no wall hit), meaning it reached the end position. This is one example of why this method is meant for short distance checks.

+ +
+
+ +

◆ raycast() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtNavMeshQuery::raycast (dtPolyRef startRef,
const float * startPos,
const float * endPos,
const dtQueryFilterfilter,
float * t,
float * hitNormal,
dtPolyRefpath,
int * pathCount,
const int maxPath 
) const
+
+ +

Casts a 'walkability' ray along the surface of the navigation mesh from the start position toward the end position.

+
Note
A wrapper around raycast(..., RaycastHit*). Retained for backward compatibility.
+
Parameters
+ + + + + + + + + + +
[in]startRefThe reference id of the start polygon.
[in]startPosA position within the start polygon representing the start of the ray. [(x, y, z)]
[in]endPosThe position to cast the ray toward. [(x, y, z)]
[in]filterThe polygon filter to apply to the query.
[out]tThe hit parameter. (FLT_MAX if no wall hit.)
[out]hitNormalThe normal of the nearest wall hit. [(x, y, z)]
[out]pathThe reference ids of the visited polygons. [opt]
[out]pathCountThe number of visited polygons. [opt]
[in]maxPathThe maximum number of polygons the path array can hold.
+
+
+
Returns
The status flags for the query.
+
+

This method is meant to be used for quick, short distance checks.

+

If the path array is too small to hold the result, it will be filled as far as possible from the start postion toward the end position.

+

Using the Hit Parameter (t)

+

If the hit parameter is a very high value (FLT_MAX), then the ray has hit the end position. In this case the path represents a valid corridor to the end position and the value of hitNormal is undefined.

+

If the hit parameter is zero, then the start position is on the wall that was hit and the value of hitNormal is undefined.

+

If 0 < t < 1.0 then the following applies:

+
distanceToHitBorder = distanceToEndPosition * t
+
hitPoint = startPos + (endPos - startPos) * t
+

Use Case Restriction

+

The raycast ignores the y-value of the end position. (2D check.) This places significant limits on how it can be used. For example:

+

Consider a scene where there is a main floor with a second floor balcony that hangs over the main floor. So the first floor mesh extends below the balcony mesh. The start position is somewhere on the first floor. The end position is on the balcony.

+

The raycast will search toward the end position along the first floor mesh. If it reaches the end position's xz-coordinates it will indicate FLT_MAX (no wall hit), meaning it reached the end position. This is one example of why this method is meant for short distance checks.

+ +
+
+ +

◆ updateSlicedFindPath()

+ +
+
+ + + + + + + + + + + + + + + + + + +
dtStatus dtNavMeshQuery::updateSlicedFindPath (const int maxIter,
int * doneIters 
)
+
+ +

Updates an in-progress sliced path query.

+
Parameters
+ + + +
[in]maxIterThe maximum number of iterations to perform.
[out]doneItersThe actual number of iterations completed. [opt]
+
+
+
Returns
The status flags for the query.
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classdtNavMeshQuery.js b/classdtNavMeshQuery.js new file mode 100644 index 00000000..cdcaa955 --- /dev/null +++ b/classdtNavMeshQuery.js @@ -0,0 +1,34 @@ +var classdtNavMeshQuery = +[ + [ "dtNavMeshQuery", "classdtNavMeshQuery.html#aa5adfa9c92f7d77bb144c3283bf76d2e", null ], + [ "~dtNavMeshQuery", "classdtNavMeshQuery.html#a157a41114dab708dabb05eebe8dc07a2", null ], + [ "closestPointOnPoly", "classdtNavMeshQuery.html#a07a90efe5d1a2b4b530aa236370574d9", null ], + [ "closestPointOnPolyBoundary", "classdtNavMeshQuery.html#aa53b9573e61eda951213ea9e4354e744", null ], + [ "finalizeSlicedFindPath", "classdtNavMeshQuery.html#a98673bb238fbb139ec8407e266fa76fd", null ], + [ "finalizeSlicedFindPathPartial", "classdtNavMeshQuery.html#a01b18dcb5d25fc392b6030ae5d4f310e", null ], + [ "findDistanceToWall", "classdtNavMeshQuery.html#a1576a980ae29e44ad4809a25974fbd40", null ], + [ "findLocalNeighbourhood", "classdtNavMeshQuery.html#a9864032da48ba6f1055deab90633ffd6", null ], + [ "findNearestPoly", "classdtNavMeshQuery.html#a5317939092cb4b55fed4b0bb61afc74a", null ], + [ "findNearestPoly", "classdtNavMeshQuery.html#a0b5d26748dfa4bd9f3d8ba0c1d972b56", null ], + [ "findPath", "classdtNavMeshQuery.html#a9d86502949fcd4f96ffd350d4ef69e3c", null ], + [ "findPolysAroundCircle", "classdtNavMeshQuery.html#a1131b39f205440349e7efe7f2d9b0ef9", null ], + [ "findPolysAroundShape", "classdtNavMeshQuery.html#aa142b8c1e54bdefc39ab41507fe931d1", null ], + [ "findRandomPoint", "classdtNavMeshQuery.html#af86c392a14bd788b0caecf21d9fb4b3d", null ], + [ "findRandomPointAroundCircle", "classdtNavMeshQuery.html#abfb87531eb962cbd51c649469de2e4fa", null ], + [ "findStraightPath", "classdtNavMeshQuery.html#ac160434c85bdf9edec24fa621f120d2d", null ], + [ "getAttachedNavMesh", "classdtNavMeshQuery.html#a05ddaa41019804494be7da66207882de", null ], + [ "getNodePool", "classdtNavMeshQuery.html#a5f5baaa868aad36ba023ea81b10e70bd", null ], + [ "getPathFromDijkstraSearch", "classdtNavMeshQuery.html#af0eadf81ceef919bd502469529b02fd0", null ], + [ "getPolyHeight", "classdtNavMeshQuery.html#af8303a12749e252c6688c15c5c887b69", null ], + [ "getPolyWallSegments", "classdtNavMeshQuery.html#a2c49662f07e52f1488622089952a154c", null ], + [ "init", "classdtNavMeshQuery.html#acb51d0d2798d0bc7c669ac38c25d4116", null ], + [ "initSlicedFindPath", "classdtNavMeshQuery.html#ae9a478194f14f1a4591f8b6528007d82", null ], + [ "isInClosedList", "classdtNavMeshQuery.html#ad1de0c0d7cc527905d3f83c613897eb3", null ], + [ "isValidPolyRef", "classdtNavMeshQuery.html#ac76164ed97fdedd9ea8abbe52f6c2c8a", null ], + [ "moveAlongSurface", "classdtNavMeshQuery.html#a95f6d7c92a75c7773ababeb144206968", null ], + [ "queryPolygons", "classdtNavMeshQuery.html#aed2fc9071ca182a548baf5158cd4f441", null ], + [ "queryPolygons", "classdtNavMeshQuery.html#a06e46d57afad3f07380d82bb8d4a6720", null ], + [ "raycast", "classdtNavMeshQuery.html#a96bd4282df1e863d1c813b2fe881a262", null ], + [ "raycast", "classdtNavMeshQuery.html#a7509a4bf31a215f20478c5050ef25913", null ], + [ "updateSlicedFindPath", "classdtNavMeshQuery.html#aa0c147e3da7fd0b59342da0fc456afc7", null ] +]; \ No newline at end of file diff --git a/classdtNodePool-members.html b/classdtNodePool-members.html new file mode 100644 index 00000000..6a121c6f --- /dev/null +++ b/classdtNodePool-members.html @@ -0,0 +1,121 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dtNodePool Member List
+
+
+ +

This is the complete list of members for dtNodePool, including all inherited members.

+ + + + + + + + + + + + + + + + +
clear()dtNodePool
dtNodePool(int maxNodes, int hashSize)dtNodePool
findNode(dtPolyRef id, unsigned char state)dtNodePool
findNodes(dtPolyRef id, dtNode **nodes, const int maxNodes)dtNodePool
getFirst(int bucket) constdtNodePoolinline
getHashSize() constdtNodePoolinline
getMaxNodes() constdtNodePoolinline
getMemUsed() constdtNodePoolinline
getNext(int i) constdtNodePoolinline
getNode(dtPolyRef id, unsigned char state=0)dtNodePool
getNodeAtIdx(unsigned int idx)dtNodePoolinline
getNodeAtIdx(unsigned int idx) constdtNodePoolinline
getNodeCount() constdtNodePoolinline
getNodeIdx(const dtNode *node) constdtNodePoolinline
~dtNodePool()dtNodePool
+
+ + + + + diff --git a/classdtNodePool.html b/classdtNodePool.html new file mode 100644 index 00000000..1d448ad7 --- /dev/null +++ b/classdtNodePool.html @@ -0,0 +1,531 @@ + + + + + + + +Recast Navigation: dtNodePool Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
dtNodePool Class Reference
+
+
+ +

#include <DetourNode.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 dtNodePool (int maxNodes, int hashSize)
 
 ~dtNodePool ()
 
void clear ()
 
dtNodegetNode (dtPolyRef id, unsigned char state=0)
 
dtNodefindNode (dtPolyRef id, unsigned char state)
 
unsigned int findNodes (dtPolyRef id, dtNode **nodes, const int maxNodes)
 
unsigned int getNodeIdx (const dtNode *node) const
 
dtNodegetNodeAtIdx (unsigned int idx)
 
const dtNodegetNodeAtIdx (unsigned int idx) const
 
int getMemUsed () const
 
int getMaxNodes () const
 
int getHashSize () const
 
dtNodeIndex getFirst (int bucket) const
 
dtNodeIndex getNext (int i) const
 
int getNodeCount () const
 
+

Constructor & Destructor Documentation

+ +

◆ dtNodePool()

+ +
+
+ + + + + + + + + + + + + + + + + + +
dtNodePool::dtNodePool (int maxNodes,
int hashSize 
)
+
+ +
+
+ +

◆ ~dtNodePool()

+ +
+
+ + + + + + + +
dtNodePool::~dtNodePool ()
+
+ +
+
+

Member Function Documentation

+ +

◆ clear()

+ +
+
+ + + + + + + +
void dtNodePool::clear ()
+
+ +
+
+ +

◆ findNode()

+ +
+
+ + + + + + + + + + + + + + + + + + +
dtNode * dtNodePool::findNode (dtPolyRef id,
unsigned char state 
)
+
+ +
+
+ +

◆ findNodes()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
unsigned int dtNodePool::findNodes (dtPolyRef id,
dtNode ** nodes,
const int maxNodes 
)
+
+ +
+
+ +

◆ getFirst()

+ +
+
+ + + + + +
+ + + + + + + + +
dtNodeIndex dtNodePool::getFirst (int bucket) const
+
+inline
+
+ +
+
+ +

◆ getHashSize()

+ +
+
+ + + + + +
+ + + + + + + +
int dtNodePool::getHashSize () const
+
+inline
+
+ +
+
+ +

◆ getMaxNodes()

+ +
+
+ + + + + +
+ + + + + + + +
int dtNodePool::getMaxNodes () const
+
+inline
+
+ +
+
+ +

◆ getMemUsed()

+ +
+
+ + + + + +
+ + + + + + + +
int dtNodePool::getMemUsed () const
+
+inline
+
+ +
+
+ +

◆ getNext()

+ +
+
+ + + + + +
+ + + + + + + + +
dtNodeIndex dtNodePool::getNext (int i) const
+
+inline
+
+ +
+
+ +

◆ getNode()

+ +
+
+ + + + + + + + + + + + + + + + + + +
dtNode * dtNodePool::getNode (dtPolyRef id,
unsigned char state = 0 
)
+
+ +
+
+ +

◆ getNodeAtIdx() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
dtNode* dtNodePool::getNodeAtIdx (unsigned int idx)
+
+inline
+
+ +
+
+ +

◆ getNodeAtIdx() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
const dtNode* dtNodePool::getNodeAtIdx (unsigned int idx) const
+
+inline
+
+ +
+
+ +

◆ getNodeCount()

+ +
+
+ + + + + +
+ + + + + + + +
int dtNodePool::getNodeCount () const
+
+inline
+
+ +
+
+ +

◆ getNodeIdx()

+ +
+
+ + + + + +
+ + + + + + + + +
unsigned int dtNodePool::getNodeIdx (const dtNodenode) const
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classdtNodePool.js b/classdtNodePool.js new file mode 100644 index 00000000..7df3fbf2 --- /dev/null +++ b/classdtNodePool.js @@ -0,0 +1,18 @@ +var classdtNodePool = +[ + [ "dtNodePool", "classdtNodePool.html#a7239dd92a9ea9b604c33a0a3472dc7ee", null ], + [ "~dtNodePool", "classdtNodePool.html#acd74c85e290d5b7bcd1f9c44905a0f74", null ], + [ "clear", "classdtNodePool.html#a4341af64b1f043b2775b7f1abae34d7b", null ], + [ "findNode", "classdtNodePool.html#a3d824305e2dbebe242e9f664b3aaceb7", null ], + [ "findNodes", "classdtNodePool.html#a5fa3decff570f26616282fcf50a3e7f9", null ], + [ "getFirst", "classdtNodePool.html#a74e68feacf8667422d426e98ab86e612", null ], + [ "getHashSize", "classdtNodePool.html#a906d7f69b2ee45e8179926f47b4b3153", null ], + [ "getMaxNodes", "classdtNodePool.html#ad72b1d9c53d064e7b975bbb073e37b3c", null ], + [ "getMemUsed", "classdtNodePool.html#a30a089ded0f298f4dd4654f39cd808d4", null ], + [ "getNext", "classdtNodePool.html#af4651c815c5cb0aa9779188094d4a488", null ], + [ "getNode", "classdtNodePool.html#a9642659acf1f7fbfcd408b4c3da8a885", null ], + [ "getNodeAtIdx", "classdtNodePool.html#a5f6d20bd49d338b03885909b0c13ccea", null ], + [ "getNodeAtIdx", "classdtNodePool.html#af5fa2f9dcde54a5d487fef4575d5130b", null ], + [ "getNodeCount", "classdtNodePool.html#a5f1217cd13ee7e57ab29f05f451927f9", null ], + [ "getNodeIdx", "classdtNodePool.html#a5b223e8441b2d202fb1a18022228d6e1", null ] +]; \ No newline at end of file diff --git a/classdtNodeQueue-members.html b/classdtNodeQueue-members.html new file mode 100644 index 00000000..1d191953 --- /dev/null +++ b/classdtNodeQueue-members.html @@ -0,0 +1,116 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dtNodeQueue Member List
+
+
+ +

This is the complete list of members for dtNodeQueue, including all inherited members.

+ + + + + + + + + + + +
clear()dtNodeQueueinline
dtNodeQueue(int n)dtNodeQueue
empty() constdtNodeQueueinline
getCapacity() constdtNodeQueueinline
getMemUsed() constdtNodeQueueinline
modify(dtNode *node)dtNodeQueueinline
pop()dtNodeQueueinline
push(dtNode *node)dtNodeQueueinline
top()dtNodeQueueinline
~dtNodeQueue()dtNodeQueue
+
+ + + + + diff --git a/classdtNodeQueue.html b/classdtNodeQueue.html new file mode 100644 index 00000000..7a8605c4 --- /dev/null +++ b/classdtNodeQueue.html @@ -0,0 +1,376 @@ + + + + + + + +Recast Navigation: dtNodeQueue Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
dtNodeQueue Class Reference
+
+
+ +

#include <DetourNode.h>

+ + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 dtNodeQueue (int n)
 
 ~dtNodeQueue ()
 
void clear ()
 
dtNodetop ()
 
dtNodepop ()
 
void push (dtNode *node)
 
void modify (dtNode *node)
 
bool empty () const
 
int getMemUsed () const
 
int getCapacity () const
 
+

Constructor & Destructor Documentation

+ +

◆ dtNodeQueue()

+ +
+
+ + + + + + + + +
dtNodeQueue::dtNodeQueue (int n)
+
+ +
+
+ +

◆ ~dtNodeQueue()

+ +
+
+ + + + + + + +
dtNodeQueue::~dtNodeQueue ()
+
+ +
+
+

Member Function Documentation

+ +

◆ clear()

+ +
+
+ + + + + +
+ + + + + + + +
void dtNodeQueue::clear ()
+
+inline
+
+ +
+
+ +

◆ empty()

+ +
+
+ + + + + +
+ + + + + + + +
bool dtNodeQueue::empty () const
+
+inline
+
+ +
+
+ +

◆ getCapacity()

+ +
+
+ + + + + +
+ + + + + + + +
int dtNodeQueue::getCapacity () const
+
+inline
+
+ +
+
+ +

◆ getMemUsed()

+ +
+
+ + + + + +
+ + + + + + + +
int dtNodeQueue::getMemUsed () const
+
+inline
+
+ +
+
+ +

◆ modify()

+ +
+
+ + + + + +
+ + + + + + + + +
void dtNodeQueue::modify (dtNodenode)
+
+inline
+
+ +
+
+ +

◆ pop()

+ +
+
+ + + + + +
+ + + + + + + +
dtNode* dtNodeQueue::pop ()
+
+inline
+
+ +
+
+ +

◆ push()

+ +
+
+ + + + + +
+ + + + + + + + +
void dtNodeQueue::push (dtNodenode)
+
+inline
+
+ +
+
+ +

◆ top()

+ +
+
+ + + + + +
+ + + + + + + +
dtNode* dtNodeQueue::top ()
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classdtNodeQueue.js b/classdtNodeQueue.js new file mode 100644 index 00000000..abbe81fd --- /dev/null +++ b/classdtNodeQueue.js @@ -0,0 +1,13 @@ +var classdtNodeQueue = +[ + [ "dtNodeQueue", "classdtNodeQueue.html#a98462fc76364861576fa8547987d5458", null ], + [ "~dtNodeQueue", "classdtNodeQueue.html#a836fbfbac11e06eeadd76919a9bba943", null ], + [ "clear", "classdtNodeQueue.html#aa0f83a0d1f38b0b97fb549d1372c8be7", null ], + [ "empty", "classdtNodeQueue.html#a15693f0c97c5d9a32cd0302cdcafd27c", null ], + [ "getCapacity", "classdtNodeQueue.html#a3bd1e5d3450e90384d8d8ce7f59080de", null ], + [ "getMemUsed", "classdtNodeQueue.html#a024e0d15d235157f79bd6a386e090804", null ], + [ "modify", "classdtNodeQueue.html#a8be783bde0911bdf92503a2e111f2a1a", null ], + [ "pop", "classdtNodeQueue.html#a4fa10be8cbf65dcdf2284f18a3e949d3", null ], + [ "push", "classdtNodeQueue.html#a76d83f497e1a5bcf72a6cc902a696a2a", null ], + [ "top", "classdtNodeQueue.html#ad76eefdf18096e14f67c579c20a506af", null ] +]; \ No newline at end of file diff --git a/classdtObstacleAvoidanceDebugData-members.html b/classdtObstacleAvoidanceDebugData-members.html new file mode 100644 index 00000000..6504c2f4 --- /dev/null +++ b/classdtObstacleAvoidanceDebugData-members.html @@ -0,0 +1,120 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dtObstacleAvoidanceDebugData Member List
+
+
+ +

This is the complete list of members for dtObstacleAvoidanceDebugData, including all inherited members.

+ + + + + + + + + + + + + + + +
addSample(const float *vel, const float ssize, const float pen, const float vpen, const float vcpen, const float spen, const float tpen)dtObstacleAvoidanceDebugData
dtObstacleAvoidanceDebugData()dtObstacleAvoidanceDebugData
getSampleCollisionTimePenalty(const int i) constdtObstacleAvoidanceDebugDatainline
getSampleCount() constdtObstacleAvoidanceDebugDatainline
getSampleCurrentVelocityPenalty(const int i) constdtObstacleAvoidanceDebugDatainline
getSampleDesiredVelocityPenalty(const int i) constdtObstacleAvoidanceDebugDatainline
getSamplePenalty(const int i) constdtObstacleAvoidanceDebugDatainline
getSamplePreferredSidePenalty(const int i) constdtObstacleAvoidanceDebugDatainline
getSampleSize(const int i) constdtObstacleAvoidanceDebugDatainline
getSampleVelocity(const int i) constdtObstacleAvoidanceDebugDatainline
init(const int maxSamples)dtObstacleAvoidanceDebugData
normalizeSamples()dtObstacleAvoidanceDebugData
reset()dtObstacleAvoidanceDebugData
~dtObstacleAvoidanceDebugData()dtObstacleAvoidanceDebugData
+
+ + + + + diff --git a/classdtObstacleAvoidanceDebugData.html b/classdtObstacleAvoidanceDebugData.html new file mode 100644 index 00000000..5da7027b --- /dev/null +++ b/classdtObstacleAvoidanceDebugData.html @@ -0,0 +1,498 @@ + + + + + + + +Recast Navigation: dtObstacleAvoidanceDebugData Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
dtObstacleAvoidanceDebugData Class Reference
+
+
+ +

#include <DetourObstacleAvoidance.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 dtObstacleAvoidanceDebugData ()
 
 ~dtObstacleAvoidanceDebugData ()
 
bool init (const int maxSamples)
 
void reset ()
 
void addSample (const float *vel, const float ssize, const float pen, const float vpen, const float vcpen, const float spen, const float tpen)
 
void normalizeSamples ()
 
int getSampleCount () const
 
const float * getSampleVelocity (const int i) const
 
float getSampleSize (const int i) const
 
float getSamplePenalty (const int i) const
 
float getSampleDesiredVelocityPenalty (const int i) const
 
float getSampleCurrentVelocityPenalty (const int i) const
 
float getSamplePreferredSidePenalty (const int i) const
 
float getSampleCollisionTimePenalty (const int i) const
 
+

Constructor & Destructor Documentation

+ +

◆ dtObstacleAvoidanceDebugData()

+ +
+
+ + + + + + + +
dtObstacleAvoidanceDebugData::dtObstacleAvoidanceDebugData ()
+
+ +
+
+ +

◆ ~dtObstacleAvoidanceDebugData()

+ +
+
+ + + + + + + +
dtObstacleAvoidanceDebugData::~dtObstacleAvoidanceDebugData ()
+
+ +
+
+

Member Function Documentation

+ +

◆ addSample()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void dtObstacleAvoidanceDebugData::addSample (const float * vel,
const float ssize,
const float pen,
const float vpen,
const float vcpen,
const float spen,
const float tpen 
)
+
+ +
+
+ +

◆ getSampleCollisionTimePenalty()

+ +
+
+ + + + + +
+ + + + + + + + +
float dtObstacleAvoidanceDebugData::getSampleCollisionTimePenalty (const int i) const
+
+inline
+
+ +
+
+ +

◆ getSampleCount()

+ +
+
+ + + + + +
+ + + + + + + +
int dtObstacleAvoidanceDebugData::getSampleCount () const
+
+inline
+
+ +
+
+ +

◆ getSampleCurrentVelocityPenalty()

+ +
+
+ + + + + +
+ + + + + + + + +
float dtObstacleAvoidanceDebugData::getSampleCurrentVelocityPenalty (const int i) const
+
+inline
+
+ +
+
+ +

◆ getSampleDesiredVelocityPenalty()

+ +
+
+ + + + + +
+ + + + + + + + +
float dtObstacleAvoidanceDebugData::getSampleDesiredVelocityPenalty (const int i) const
+
+inline
+
+ +
+
+ +

◆ getSamplePenalty()

+ +
+
+ + + + + +
+ + + + + + + + +
float dtObstacleAvoidanceDebugData::getSamplePenalty (const int i) const
+
+inline
+
+ +
+
+ +

◆ getSamplePreferredSidePenalty()

+ +
+
+ + + + + +
+ + + + + + + + +
float dtObstacleAvoidanceDebugData::getSamplePreferredSidePenalty (const int i) const
+
+inline
+
+ +
+
+ +

◆ getSampleSize()

+ +
+
+ + + + + +
+ + + + + + + + +
float dtObstacleAvoidanceDebugData::getSampleSize (const int i) const
+
+inline
+
+ +
+
+ +

◆ getSampleVelocity()

+ +
+
+ + + + + +
+ + + + + + + + +
const float* dtObstacleAvoidanceDebugData::getSampleVelocity (const int i) const
+
+inline
+
+ +
+
+ +

◆ init()

+ +
+
+ + + + + + + + +
bool dtObstacleAvoidanceDebugData::init (const int maxSamples)
+
+ +
+
+ +

◆ normalizeSamples()

+ +
+
+ + + + + + + +
void dtObstacleAvoidanceDebugData::normalizeSamples ()
+
+ +
+
+ +

◆ reset()

+ +
+
+ + + + + + + +
void dtObstacleAvoidanceDebugData::reset ()
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classdtObstacleAvoidanceDebugData.js b/classdtObstacleAvoidanceDebugData.js new file mode 100644 index 00000000..3ba63746 --- /dev/null +++ b/classdtObstacleAvoidanceDebugData.js @@ -0,0 +1,17 @@ +var classdtObstacleAvoidanceDebugData = +[ + [ "dtObstacleAvoidanceDebugData", "classdtObstacleAvoidanceDebugData.html#ae6e3e2e17696666996e3971c02989400", null ], + [ "~dtObstacleAvoidanceDebugData", "classdtObstacleAvoidanceDebugData.html#ad8b6bd04b9c0a8798a75d83671f74859", null ], + [ "addSample", "classdtObstacleAvoidanceDebugData.html#a54b01ec0a47c6efd95ebde459791b788", null ], + [ "getSampleCollisionTimePenalty", "classdtObstacleAvoidanceDebugData.html#a57737b7b4d07179326e69c70032a9f71", null ], + [ "getSampleCount", "classdtObstacleAvoidanceDebugData.html#a48f21bd0b2d2f591290e127b00953ec2", null ], + [ "getSampleCurrentVelocityPenalty", "classdtObstacleAvoidanceDebugData.html#ae6bce4f174195e5b114a79c13fc46c02", null ], + [ "getSampleDesiredVelocityPenalty", "classdtObstacleAvoidanceDebugData.html#aa18a04d3c916740d7ddbd8d747de4e0f", null ], + [ "getSamplePenalty", "classdtObstacleAvoidanceDebugData.html#a3bde3898f9ed1ada5e487010e502e4fd", null ], + [ "getSamplePreferredSidePenalty", "classdtObstacleAvoidanceDebugData.html#a54805fdf39b6fb3d294c0610f051b1a0", null ], + [ "getSampleSize", "classdtObstacleAvoidanceDebugData.html#a87816c09e68ea4d93a01b54b2b5025b1", null ], + [ "getSampleVelocity", "classdtObstacleAvoidanceDebugData.html#a682696e8fc9185544690fe3391c9b613", null ], + [ "init", "classdtObstacleAvoidanceDebugData.html#a49f4c177709ecccc77331e1b43ae893c", null ], + [ "normalizeSamples", "classdtObstacleAvoidanceDebugData.html#aae878af7168a5683cf05cd6f3f9b4cfe", null ], + [ "reset", "classdtObstacleAvoidanceDebugData.html#a2e7d802ea941ad37d5244af91c47f0c9", null ] +]; \ No newline at end of file diff --git a/classdtObstacleAvoidanceQuery-members.html b/classdtObstacleAvoidanceQuery-members.html new file mode 100644 index 00000000..e60997b9 --- /dev/null +++ b/classdtObstacleAvoidanceQuery-members.html @@ -0,0 +1,118 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dtObstacleAvoidanceQuery Member List
+
+
+ +

This is the complete list of members for dtObstacleAvoidanceQuery, including all inherited members.

+ + + + + + + + + + + + + +
addCircle(const float *pos, const float rad, const float *vel, const float *dvel)dtObstacleAvoidanceQuery
addSegment(const float *p, const float *q)dtObstacleAvoidanceQuery
dtObstacleAvoidanceQuery()dtObstacleAvoidanceQuery
getObstacleCircle(const int i)dtObstacleAvoidanceQueryinline
getObstacleCircleCount() constdtObstacleAvoidanceQueryinline
getObstacleSegment(const int i)dtObstacleAvoidanceQueryinline
getObstacleSegmentCount() constdtObstacleAvoidanceQueryinline
init(const int maxCircles, const int maxSegments)dtObstacleAvoidanceQuery
reset()dtObstacleAvoidanceQuery
sampleVelocityAdaptive(const float *pos, const float rad, const float vmax, const float *vel, const float *dvel, float *nvel, const dtObstacleAvoidanceParams *params, dtObstacleAvoidanceDebugData *debug=0)dtObstacleAvoidanceQuery
sampleVelocityGrid(const float *pos, const float rad, const float vmax, const float *vel, const float *dvel, float *nvel, const dtObstacleAvoidanceParams *params, dtObstacleAvoidanceDebugData *debug=0)dtObstacleAvoidanceQuery
~dtObstacleAvoidanceQuery()dtObstacleAvoidanceQuery
+
+ + + + + diff --git a/classdtObstacleAvoidanceQuery.html b/classdtObstacleAvoidanceQuery.html new file mode 100644 index 00000000..b8486b3a --- /dev/null +++ b/classdtObstacleAvoidanceQuery.html @@ -0,0 +1,520 @@ + + + + + + + +Recast Navigation: dtObstacleAvoidanceQuery Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
dtObstacleAvoidanceQuery Class Reference
+
+
+ +

#include <DetourObstacleAvoidance.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 dtObstacleAvoidanceQuery ()
 
 ~dtObstacleAvoidanceQuery ()
 
bool init (const int maxCircles, const int maxSegments)
 
void reset ()
 
void addCircle (const float *pos, const float rad, const float *vel, const float *dvel)
 
void addSegment (const float *p, const float *q)
 
int sampleVelocityGrid (const float *pos, const float rad, const float vmax, const float *vel, const float *dvel, float *nvel, const dtObstacleAvoidanceParams *params, dtObstacleAvoidanceDebugData *debug=0)
 
int sampleVelocityAdaptive (const float *pos, const float rad, const float vmax, const float *vel, const float *dvel, float *nvel, const dtObstacleAvoidanceParams *params, dtObstacleAvoidanceDebugData *debug=0)
 
int getObstacleCircleCount () const
 
const dtObstacleCirclegetObstacleCircle (const int i)
 
int getObstacleSegmentCount () const
 
const dtObstacleSegmentgetObstacleSegment (const int i)
 
+

Constructor & Destructor Documentation

+ +

◆ dtObstacleAvoidanceQuery()

+ +
+
+ + + + + + + +
dtObstacleAvoidanceQuery::dtObstacleAvoidanceQuery ()
+
+ +
+
+ +

◆ ~dtObstacleAvoidanceQuery()

+ +
+
+ + + + + + + +
dtObstacleAvoidanceQuery::~dtObstacleAvoidanceQuery ()
+
+ +
+
+

Member Function Documentation

+ +

◆ addCircle()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void dtObstacleAvoidanceQuery::addCircle (const float * pos,
const float rad,
const float * vel,
const float * dvel 
)
+
+ +
+
+ +

◆ addSegment()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void dtObstacleAvoidanceQuery::addSegment (const float * p,
const float * q 
)
+
+ +
+
+ +

◆ getObstacleCircle()

+ +
+
+ + + + + +
+ + + + + + + + +
const dtObstacleCircle* dtObstacleAvoidanceQuery::getObstacleCircle (const int i)
+
+inline
+
+ +
+
+ +

◆ getObstacleCircleCount()

+ +
+
+ + + + + +
+ + + + + + + +
int dtObstacleAvoidanceQuery::getObstacleCircleCount () const
+
+inline
+
+ +
+
+ +

◆ getObstacleSegment()

+ +
+
+ + + + + +
+ + + + + + + + +
const dtObstacleSegment* dtObstacleAvoidanceQuery::getObstacleSegment (const int i)
+
+inline
+
+ +
+
+ +

◆ getObstacleSegmentCount()

+ +
+
+ + + + + +
+ + + + + + + +
int dtObstacleAvoidanceQuery::getObstacleSegmentCount () const
+
+inline
+
+ +
+
+ +

◆ init()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool dtObstacleAvoidanceQuery::init (const int maxCircles,
const int maxSegments 
)
+
+ +
+
+ +

◆ reset()

+ +
+
+ + + + + + + +
void dtObstacleAvoidanceQuery::reset ()
+
+ +
+
+ +

◆ sampleVelocityAdaptive()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int dtObstacleAvoidanceQuery::sampleVelocityAdaptive (const float * pos,
const float rad,
const float vmax,
const float * vel,
const float * dvel,
float * nvel,
const dtObstacleAvoidanceParamsparams,
dtObstacleAvoidanceDebugDatadebug = 0 
)
+
+ +
+
+ +

◆ sampleVelocityGrid()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int dtObstacleAvoidanceQuery::sampleVelocityGrid (const float * pos,
const float rad,
const float vmax,
const float * vel,
const float * dvel,
float * nvel,
const dtObstacleAvoidanceParamsparams,
dtObstacleAvoidanceDebugDatadebug = 0 
)
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classdtObstacleAvoidanceQuery.js b/classdtObstacleAvoidanceQuery.js new file mode 100644 index 00000000..a546cabb --- /dev/null +++ b/classdtObstacleAvoidanceQuery.js @@ -0,0 +1,15 @@ +var classdtObstacleAvoidanceQuery = +[ + [ "dtObstacleAvoidanceQuery", "classdtObstacleAvoidanceQuery.html#a353d5b1f7b8feb1e5867528255924968", null ], + [ "~dtObstacleAvoidanceQuery", "classdtObstacleAvoidanceQuery.html#a56a81340e58ae836f32c802ab3531772", null ], + [ "addCircle", "classdtObstacleAvoidanceQuery.html#aca861fb3e13b8785124b655b8313de45", null ], + [ "addSegment", "classdtObstacleAvoidanceQuery.html#ab0abab88b2cba7747e6ed38470ca6eff", null ], + [ "getObstacleCircle", "classdtObstacleAvoidanceQuery.html#a2de5b7639831faa59a708b2ed3cd6f15", null ], + [ "getObstacleCircleCount", "classdtObstacleAvoidanceQuery.html#ae520788c1150ae9c0efa15ddee6b44a6", null ], + [ "getObstacleSegment", "classdtObstacleAvoidanceQuery.html#a60779b0d519def7ae2101ad153266cd2", null ], + [ "getObstacleSegmentCount", "classdtObstacleAvoidanceQuery.html#a38c5fdba38e19e6c7481b75d089e45b6", null ], + [ "init", "classdtObstacleAvoidanceQuery.html#a9f927e4f09b35473853be3bf7f28129a", null ], + [ "reset", "classdtObstacleAvoidanceQuery.html#a993c62548ead013ac1cb622c43c175ad", null ], + [ "sampleVelocityAdaptive", "classdtObstacleAvoidanceQuery.html#aecf2d1d53bc0c74997ff3aac1587c242", null ], + [ "sampleVelocityGrid", "classdtObstacleAvoidanceQuery.html#a5209e8625a0618fd9c96ba2d0374d90f", null ] +]; \ No newline at end of file diff --git a/classdtPathCorridor-members.html b/classdtPathCorridor-members.html new file mode 100644 index 00000000..6bfea1fc --- /dev/null +++ b/classdtPathCorridor-members.html @@ -0,0 +1,126 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dtPathCorridor Member List
+
+
+ +

This is the complete list of members for dtPathCorridor, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + +
dtPathCorridor()dtPathCorridor
findCorners(float *cornerVerts, unsigned char *cornerFlags, dtPolyRef *cornerPolys, const int maxCorners, dtNavMeshQuery *navquery, const dtQueryFilter *filter)dtPathCorridor
fixPathStart(dtPolyRef safeRef, const float *safePos)dtPathCorridor
getFirstPoly() constdtPathCorridorinline
getLastPoly() constdtPathCorridorinline
getPath() constdtPathCorridorinline
getPathCount() constdtPathCorridorinline
getPos() constdtPathCorridorinline
getTarget() constdtPathCorridorinline
init(const int maxPath)dtPathCorridor
isValid(const int maxLookAhead, dtNavMeshQuery *navquery, const dtQueryFilter *filter)dtPathCorridor
moveOverOffmeshConnection(dtPolyRef offMeshConRef, dtPolyRef *refs, float *startPos, float *endPos, dtNavMeshQuery *navquery)dtPathCorridor
movePosition(const float *npos, dtNavMeshQuery *navquery, const dtQueryFilter *filter)dtPathCorridor
moveTargetPosition(const float *npos, dtNavMeshQuery *navquery, const dtQueryFilter *filter)dtPathCorridor
optimizePathTopology(dtNavMeshQuery *navquery, const dtQueryFilter *filter)dtPathCorridor
optimizePathVisibility(const float *next, const float pathOptimizationRange, dtNavMeshQuery *navquery, const dtQueryFilter *filter)dtPathCorridor
reset(dtPolyRef ref, const float *pos)dtPathCorridor
setCorridor(const float *target, const dtPolyRef *polys, const int npath)dtPathCorridor
trimInvalidPath(dtPolyRef safeRef, const float *safePos, dtNavMeshQuery *navquery, const dtQueryFilter *filter)dtPathCorridor
~dtPathCorridor()dtPathCorridor
+
+ + + + + diff --git a/classdtPathCorridor.html b/classdtPathCorridor.html new file mode 100644 index 00000000..b8f37344 --- /dev/null +++ b/classdtPathCorridor.html @@ -0,0 +1,953 @@ + + + + + + + +Recast Navigation: dtPathCorridor Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
dtPathCorridor Class Reference
+
+
+ +

Represents a dynamic polygon corridor used to plan agent movement. + More...

+ +

#include <DetourPathCorridor.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 dtPathCorridor ()
 
 ~dtPathCorridor ()
 
bool init (const int maxPath)
 Allocates the corridor's path buffer. More...
 
void reset (dtPolyRef ref, const float *pos)
 Resets the path corridor to the specified position. More...
 
int findCorners (float *cornerVerts, unsigned char *cornerFlags, dtPolyRef *cornerPolys, const int maxCorners, dtNavMeshQuery *navquery, const dtQueryFilter *filter)
 Finds the corners in the corridor from the position toward the target. More...
 
void optimizePathVisibility (const float *next, const float pathOptimizationRange, dtNavMeshQuery *navquery, const dtQueryFilter *filter)
 Attempts to optimize the path if the specified point is visible from the current position. More...
 
bool optimizePathTopology (dtNavMeshQuery *navquery, const dtQueryFilter *filter)
 Attempts to optimize the path using a local area search. More...
 
bool moveOverOffmeshConnection (dtPolyRef offMeshConRef, dtPolyRef *refs, float *startPos, float *endPos, dtNavMeshQuery *navquery)
 
bool fixPathStart (dtPolyRef safeRef, const float *safePos)
 
bool trimInvalidPath (dtPolyRef safeRef, const float *safePos, dtNavMeshQuery *navquery, const dtQueryFilter *filter)
 
bool isValid (const int maxLookAhead, dtNavMeshQuery *navquery, const dtQueryFilter *filter)
 Checks the current corridor path to see if its polygon references remain valid. More...
 
bool movePosition (const float *npos, dtNavMeshQuery *navquery, const dtQueryFilter *filter)
 Moves the position from the current location to the desired location, adjusting the corridor as needed to reflect the change. More...
 
bool moveTargetPosition (const float *npos, dtNavMeshQuery *navquery, const dtQueryFilter *filter)
 Moves the target from the curent location to the desired location, adjusting the corridor as needed to reflect the change. More...
 
void setCorridor (const float *target, const dtPolyRef *polys, const int npath)
 Loads a new path and target into the corridor. More...
 
const float * getPos () const
 Gets the current position within the corridor. More...
 
const float * getTarget () const
 Gets the current target within the corridor. More...
 
dtPolyRef getFirstPoly () const
 The polygon reference id of the first polygon in the corridor, the polygon containing the position. More...
 
dtPolyRef getLastPoly () const
 The polygon reference id of the last polygon in the corridor, the polygon containing the target. More...
 
const dtPolyRefgetPath () const
 The corridor's path. More...
 
int getPathCount () const
 The number of polygons in the current corridor path. More...
 
+

Description

+

Represents a dynamic polygon corridor used to plan agent movement.

+

,

+
+

The corridor is loaded with a path, usually obtained from a dtNavMeshQuery::findPath() query. The corridor is then used to plan local movement, with the corridor automatically updating as needed to deal with inaccurate agent locomotion.

+

Example of a common use case:

+
    +
  1. Construct the corridor object and call init() to allocate its path buffer.
  2. +
  3. Obtain a path from a dtNavMeshQuery object.
  4. +
  5. Use reset() to set the agent's current position. (At the beginning of the path.)
  6. +
  7. Use setCorridor() to load the path and target.
  8. +
  9. Use findCorners() to plan movement. (This handles dynamic path straightening.)
  10. +
  11. Use movePosition() to feed agent movement back into the corridor. (The corridor will automatically adjust as needed.)
  12. +
  13. If the target is moving, use moveTargetPosition() to update the end of the corridor. (The corridor will automatically adjust as needed.)
  14. +
  15. Repeat the previous 3 steps to continue to move the agent.
  16. +
+

The corridor position and target are always constrained to the navigation mesh.

+

One of the difficulties in maintaining a path is that floating point errors, locomotion inaccuracies, and/or local steering can result in the agent crossing the boundary of the path corridor, temporarily invalidating the path. This class uses local mesh queries to detect and update the corridor as needed to handle these types of issues.

+

The fact that local mesh queries are used to move the position and target locations results in two beahviors that need to be considered:

+

Every time a move function is used there is a chance that the path will become non-optimial. Basically, the further the target is moved from its original location, and the further the position is moved outside the original corridor, the more likely the path will become non-optimal. This issue can be addressed by periodically running the optimizePathTopology() and optimizePathVisibility() methods.

+

All local mesh queries have distance limitations. (Review the dtNavMeshQuery methods for details.) So the most accurate use case is to move the position and target in small increments. If a large increment is used, then the corridor may not be able to accurately find the new location. Because of this limiation, if a position is moved in a large increment, then compare the desired and resulting polygon references. If the two do not match, then path replanning may be needed. E.g. If you move the target, check getLastPoly() to see if it is the expected polygon.

+

Constructor & Destructor Documentation

+ +

◆ dtPathCorridor()

+ +
+
+ + + + + + + +
dtPathCorridor::dtPathCorridor ()
+
+ +
+
+ +

◆ ~dtPathCorridor()

+ +
+
+ + + + + + + +
dtPathCorridor::~dtPathCorridor ()
+
+ +
+
+

Member Function Documentation

+ +

◆ findCorners()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int dtPathCorridor::findCorners (float * cornerVerts,
unsigned char * cornerFlags,
dtPolyRefcornerPolys,
const int maxCorners,
dtNavMeshQuerynavquery,
const dtQueryFilterfilter 
)
+
+ +

Finds the corners in the corridor from the position toward the target.

+

(The straightened path.)

Parameters
+ + + + + + + +
[out]cornerVertsThe corner vertices. [(x, y, z) * cornerCount] [Size: <= maxCorners]
[out]cornerFlagsThe flag for each corner. [(flag) * cornerCount] [Size: <= maxCorners]
[out]cornerPolysThe polygon reference for each corner. [(polyRef) * cornerCount] [Size: <= maxCorners]
[in]maxCornersThe maximum number of corners the buffers can hold.
[in]navqueryThe query object used to build the corridor.
[in]filterThe filter to apply to the operation.
+
+
+
Returns
The number of corners returned in the corner buffers. [0 <= value <= maxCorners]
+
+

This is the function used to plan local movement within the corridor. One or more corners can be detected in order to plan movement. It performs essentially the same function as dtNavMeshQuery::findStraightPath.

+

Due to internal optimizations, the maximum number of corners returned will be (maxCorners - 1) For example: If the buffers are sized to hold 10 corners, the function will never return more than 9 corners. So if 10 corners are needed, the buffers should be sized for 11 corners.

+

If the target is within range, it will be the last corner and have a polygon reference id of zero.

+ +
+
+ +

◆ fixPathStart()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool dtPathCorridor::fixPathStart (dtPolyRef safeRef,
const float * safePos 
)
+
+ +
+
+ +

◆ getFirstPoly()

+ +
+
+ + + + + +
+ + + + + + + +
dtPolyRef dtPathCorridor::getFirstPoly () const
+
+inline
+
+ +

The polygon reference id of the first polygon in the corridor, the polygon containing the position.

+
Returns
The polygon reference id of the first polygon in the corridor. (Or zero if there is no path.)
+ +
+
+ +

◆ getLastPoly()

+ +
+
+ + + + + +
+ + + + + + + +
dtPolyRef dtPathCorridor::getLastPoly () const
+
+inline
+
+ +

The polygon reference id of the last polygon in the corridor, the polygon containing the target.

+
Returns
The polygon reference id of the last polygon in the corridor. (Or zero if there is no path.)
+ +
+
+ +

◆ getPath()

+ +
+
+ + + + + +
+ + + + + + + +
const dtPolyRef* dtPathCorridor::getPath () const
+
+inline
+
+ +

The corridor's path.

+
Returns
The corridor's path. [(polyRef) * getPathCount()]
+ +
+
+ +

◆ getPathCount()

+ +
+
+ + + + + +
+ + + + + + + +
int dtPathCorridor::getPathCount () const
+
+inline
+
+ +

The number of polygons in the current corridor path.

+
Returns
The number of polygons in the current corridor path.
+ +
+
+ +

◆ getPos()

+ +
+
+ + + + + +
+ + + + + + + +
const float* dtPathCorridor::getPos () const
+
+inline
+
+ +

Gets the current position within the corridor.

+

(In the first polygon.)

Returns
The current position within the corridor.
+ +
+
+ +

◆ getTarget()

+ +
+
+ + + + + +
+ + + + + + + +
const float* dtPathCorridor::getTarget () const
+
+inline
+
+ +

Gets the current target within the corridor.

+

(In the last polygon.)

Returns
The current target within the corridor.
+ +
+
+ +

◆ init()

+ +
+
+ + + + + + + + +
bool dtPathCorridor::init (const int maxPath)
+
+ +

Allocates the corridor's path buffer.

+
Parameters
+ + +
[in]maxPathThe maximum path size the corridor can handle.
+
+
+
Returns
True if the initialization succeeded.
+
+
Warning
Cannot be called more than once.
+ +
+
+ +

◆ isValid()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool dtPathCorridor::isValid (const int maxLookAhead,
dtNavMeshQuerynavquery,
const dtQueryFilterfilter 
)
+
+ +

Checks the current corridor path to see if its polygon references remain valid.

+
Parameters
+ + + + +
[in]maxLookAheadThe number of polygons from the beginning of the corridor to search.
[in]navqueryThe query object used to build the corridor.
[in]filterThe filter to apply to the operation.
+
+
+
+
+

The path can be invalidated if there are structural changes to the underlying navigation mesh, or the state of a polygon within the path changes resulting in it being filtered out. (E.g. An exclusion or inclusion flag changes.)

+ +
+
+ +

◆ moveOverOffmeshConnection()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool dtPathCorridor::moveOverOffmeshConnection (dtPolyRef offMeshConRef,
dtPolyRefrefs,
float * startPos,
float * endPos,
dtNavMeshQuerynavquery 
)
+
+ +
+
+ +

◆ movePosition()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool dtPathCorridor::movePosition (const float * npos,
dtNavMeshQuerynavquery,
const dtQueryFilterfilter 
)
+
+ +

Moves the position from the current location to the desired location, adjusting the corridor as needed to reflect the change.

+
Parameters
+ + + + +
[in]nposThe desired new position. [(x, y, z)]
[in]navqueryThe query object used to build the corridor.
[in]filterThe filter to apply to the operation.
+
+
+
Returns
Returns true if move succeeded.
+
+

Behavior:

+
    +
  • The movement is constrained to the surface of the navigation mesh.
  • +
  • The corridor is automatically adjusted (shorted or lengthened) in order to remain valid.
  • +
  • The new position will be located in the adjusted corridor's first polygon.
  • +
+

The expected use case is that the desired position will be 'near' the current corridor. What is considered 'near' depends on local polygon density, query search half extents, etc.

+

The resulting position will differ from the desired position if the desired position is not on the navigation mesh, or it can't be reached using a local search.

+ +
+
+ +

◆ moveTargetPosition()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool dtPathCorridor::moveTargetPosition (const float * npos,
dtNavMeshQuerynavquery,
const dtQueryFilterfilter 
)
+
+ +

Moves the target from the curent location to the desired location, adjusting the corridor as needed to reflect the change.

+
Parameters
+ + + + +
[in]nposThe desired new target position. [(x, y, z)]
[in]navqueryThe query object used to build the corridor.
[in]filterThe filter to apply to the operation.
+
+
+
Returns
Returns true if move succeeded.
+
+

Behavior:

+
    +
  • The movement is constrained to the surface of the navigation mesh.
  • +
  • The corridor is automatically adjusted (shorted or lengthened) in order to remain valid.
  • +
  • The new target will be located in the adjusted corridor's last polygon.
  • +
+

The expected use case is that the desired target will be 'near' the current corridor. What is considered 'near' depends on local polygon density, query search half extents, etc.

+

The resulting target will differ from the desired target if the desired target is not on the navigation mesh, or it can't be reached using a local search.

+ +
+
+ +

◆ optimizePathTopology()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool dtPathCorridor::optimizePathTopology (dtNavMeshQuerynavquery,
const dtQueryFilterfilter 
)
+
+ +

Attempts to optimize the path using a local area search.

+

(Partial replanning.)

Parameters
+ + + +
[in]navqueryThe query object used to build the corridor.
[in]filterThe filter to apply to the operation.
+
+
+
+
+

Inaccurate locomotion or dynamic obstacle avoidance can force the agent position significantly outside the original corridor. Over time this can result in the formation of a non-optimal corridor. This function will use a local area path search to try to re-optimize the corridor.

+

The more inaccurate the agent movement, the more beneficial this function becomes. Simply adjust the frequency of the call to match the needs to the agent.

+ +
+
+ +

◆ optimizePathVisibility()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void dtPathCorridor::optimizePathVisibility (const float * next,
const float pathOptimizationRange,
dtNavMeshQuerynavquery,
const dtQueryFilterfilter 
)
+
+ +

Attempts to optimize the path if the specified point is visible from the current position.

+
Parameters
+ + + + + +
[in]nextThe point to search toward. [(x, y, z])
[in]pathOptimizationRangeThe maximum range to search. [Limit: > 0]
[in]navqueryThe query object used to build the corridor.
[in]filterThe filter to apply to the operation.
+
+
+
+
+

Inaccurate locomotion or dynamic obstacle avoidance can force the argent position significantly outside the original corridor. Over time this can result in the formation of a non-optimal corridor. Non-optimal paths can also form near the corners of tiles.

+

This function uses an efficient local visibility search to try to optimize the corridor between the current position and next.

+

The corridor will change only if next is visible from the current position and moving directly toward the point is better than following the existing path.

+

The more inaccurate the agent movement, the more beneficial this function becomes. Simply adjust the frequency of the call to match the needs to the agent.

+

This function is not suitable for long distance searches.

+ +
+
+ +

◆ reset()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void dtPathCorridor::reset (dtPolyRef ref,
const float * pos 
)
+
+ +

Resets the path corridor to the specified position.

+
Parameters
+ + + +
[in]refThe polygon reference containing the position.
[in]posThe new position in the corridor. [(x, y, z)]
+
+
+
+

Essentially, the corridor is set of one polygon in size with the target equal to the position.

+ +
+
+ +

◆ setCorridor()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void dtPathCorridor::setCorridor (const float * target,
const dtPolyRefpath,
const int npath 
)
+
+ +

Loads a new path and target into the corridor.

+
Parameters
+ + + + +
[in]targetThe target location within the last polygon of the path. [(x, y, z)]
[in]pathThe path corridor. [(polyRef) * npolys]
[in]npathThe number of polygons in the path.
+
+
+
+

The current corridor position is expected to be within the first polygon in the path. The target is expected to be in the last polygon.

+
Warning
The size of the path must not exceed the size of corridor's path buffer set during init().
+ +
+
+ +

◆ trimInvalidPath()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool dtPathCorridor::trimInvalidPath (dtPolyRef safeRef,
const float * safePos,
dtNavMeshQuerynavquery,
const dtQueryFilterfilter 
)
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classdtPathCorridor.js b/classdtPathCorridor.js new file mode 100644 index 00000000..110e4fd0 --- /dev/null +++ b/classdtPathCorridor.js @@ -0,0 +1,23 @@ +var classdtPathCorridor = +[ + [ "dtPathCorridor", "classdtPathCorridor.html#a2e7ceb397b60be4ff6e839206e6ef571", null ], + [ "~dtPathCorridor", "classdtPathCorridor.html#a10dc98697fb9f6e60063ab49a41c391b", null ], + [ "findCorners", "classdtPathCorridor.html#aa1076957ddf987a274a756fbf8202cab", null ], + [ "fixPathStart", "classdtPathCorridor.html#ae2e11d477d193c79197fa28acae824b8", null ], + [ "getFirstPoly", "classdtPathCorridor.html#a1328df3808790d4bedec54112b0fab43", null ], + [ "getLastPoly", "classdtPathCorridor.html#a4d23baaf31661832ea81fd5a6fcc0a59", null ], + [ "getPath", "classdtPathCorridor.html#adc4aee4a1867ce60e6b319edc686661f", null ], + [ "getPathCount", "classdtPathCorridor.html#a16bfdb275fb8f385c269cd06236f8213", null ], + [ "getPos", "classdtPathCorridor.html#a607e96864c9cb68386d57e90d8681159", null ], + [ "getTarget", "classdtPathCorridor.html#aa1ea66fedbbab0cabfb279287aee392b", null ], + [ "init", "classdtPathCorridor.html#a85b4c98157b68a57b9c3302f45d0ed7f", null ], + [ "isValid", "classdtPathCorridor.html#aeb23d3697b0e17837b06b13ae5be4e52", null ], + [ "moveOverOffmeshConnection", "classdtPathCorridor.html#ae44344d2404b1d06f74c15f6748ad48d", null ], + [ "movePosition", "classdtPathCorridor.html#a320a804c422fdb9b58f677b9b42ebf22", null ], + [ "moveTargetPosition", "classdtPathCorridor.html#a66f8097a4f49c077b6c6da5c727c6877", null ], + [ "optimizePathTopology", "classdtPathCorridor.html#a69288d28ab5d23b2c2654e45c5a33c25", null ], + [ "optimizePathVisibility", "classdtPathCorridor.html#a3970b6cd229731debe6beb41d9885463", null ], + [ "reset", "classdtPathCorridor.html#abe057e7b5e1d6677e3d9eadb558df2b0", null ], + [ "setCorridor", "classdtPathCorridor.html#af26a1205a7e38f0389a2dcb2dc23ca9b", null ], + [ "trimInvalidPath", "classdtPathCorridor.html#a5ed6daf1e663f2b0a854794e431514c8", null ] +]; \ No newline at end of file diff --git a/classdtPathQueue-members.html b/classdtPathQueue-members.html new file mode 100644 index 00000000..0209a213 --- /dev/null +++ b/classdtPathQueue-members.html @@ -0,0 +1,114 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dtPathQueue Member List
+
+
+ +

This is the complete list of members for dtPathQueue, including all inherited members.

+ + + + + + + + + +
dtPathQueue()dtPathQueue
getNavQuery() constdtPathQueueinline
getPathResult(dtPathQueueRef ref, dtPolyRef *path, int *pathSize, const int maxPath)dtPathQueue
getRequestStatus(dtPathQueueRef ref) constdtPathQueue
init(const int maxPathSize, const int maxSearchNodeCount, dtNavMesh *nav)dtPathQueue
request(dtPolyRef startRef, dtPolyRef endRef, const float *startPos, const float *endPos, const dtQueryFilter *filter)dtPathQueue
update(const int maxIters)dtPathQueue
~dtPathQueue()dtPathQueue
+
+ + + + + diff --git a/classdtPathQueue.html b/classdtPathQueue.html new file mode 100644 index 00000000..f0c18127 --- /dev/null +++ b/classdtPathQueue.html @@ -0,0 +1,351 @@ + + + + + + + +Recast Navigation: dtPathQueue Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
dtPathQueue Class Reference
+
+
+ +

#include <DetourPathQueue.h>

+ + + + + + + + + + + + + + + + + + +

+Public Member Functions

 dtPathQueue ()
 
 ~dtPathQueue ()
 
bool init (const int maxPathSize, const int maxSearchNodeCount, dtNavMesh *nav)
 
void update (const int maxIters)
 
dtPathQueueRef request (dtPolyRef startRef, dtPolyRef endRef, const float *startPos, const float *endPos, const dtQueryFilter *filter)
 
dtStatus getRequestStatus (dtPathQueueRef ref) const
 
dtStatus getPathResult (dtPathQueueRef ref, dtPolyRef *path, int *pathSize, const int maxPath)
 
const dtNavMeshQuerygetNavQuery () const
 
+

Constructor & Destructor Documentation

+ +

◆ dtPathQueue()

+ +
+
+ + + + + + + +
dtPathQueue::dtPathQueue ()
+
+ +
+
+ +

◆ ~dtPathQueue()

+ +
+
+ + + + + + + +
dtPathQueue::~dtPathQueue ()
+
+ +
+
+

Member Function Documentation

+ +

◆ getNavQuery()

+ +
+
+ + + + + +
+ + + + + + + +
const dtNavMeshQuery* dtPathQueue::getNavQuery () const
+
+inline
+
+ +
+
+ +

◆ getPathResult()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtPathQueue::getPathResult (dtPathQueueRef ref,
dtPolyRefpath,
int * pathSize,
const int maxPath 
)
+
+ +
+
+ +

◆ getRequestStatus()

+ +
+
+ + + + + + + + +
dtStatus dtPathQueue::getRequestStatus (dtPathQueueRef ref) const
+
+ +
+
+ +

◆ init()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool dtPathQueue::init (const int maxPathSize,
const int maxSearchNodeCount,
dtNavMeshnav 
)
+
+ +
+
+ +

◆ request()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtPathQueueRef dtPathQueue::request (dtPolyRef startRef,
dtPolyRef endRef,
const float * startPos,
const float * endPos,
const dtQueryFilterfilter 
)
+
+ +
+
+ +

◆ update()

+ +
+
+ + + + + + + + +
void dtPathQueue::update (const int maxIters)
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classdtPathQueue.js b/classdtPathQueue.js new file mode 100644 index 00000000..f0f651ea --- /dev/null +++ b/classdtPathQueue.js @@ -0,0 +1,11 @@ +var classdtPathQueue = +[ + [ "dtPathQueue", "classdtPathQueue.html#a586a27d4f141dd4d47f3f92bad82be1c", null ], + [ "~dtPathQueue", "classdtPathQueue.html#a3aed72cee418c920b5fbdc247845dae3", null ], + [ "getNavQuery", "classdtPathQueue.html#ad4fb7d75b1b65ad1db89782f8ad4e8da", null ], + [ "getPathResult", "classdtPathQueue.html#a6599518fe1e3c0e4c7d8c3cba062aeab", null ], + [ "getRequestStatus", "classdtPathQueue.html#a2b1a005dfc3d8d3efd1bb4bc46f49e32", null ], + [ "init", "classdtPathQueue.html#afb36a7890f01f2dbc9be362282538803", null ], + [ "request", "classdtPathQueue.html#acc95d9bf0e1b12543be41c3ca938e994", null ], + [ "update", "classdtPathQueue.html#ab28e659d2db86d9f5d5246811cb08da0", null ] +]; \ No newline at end of file diff --git a/classdtPolyQuery-members.html b/classdtPolyQuery-members.html new file mode 100644 index 00000000..174b6976 --- /dev/null +++ b/classdtPolyQuery-members.html @@ -0,0 +1,108 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dtPolyQuery Member List
+
+
+ +

This is the complete list of members for dtPolyQuery, including all inherited members.

+ + + +
process(const dtMeshTile *tile, dtPoly **polys, dtPolyRef *refs, int count)=0dtPolyQuerypure virtual
~dtPolyQuery()dtPolyQueryvirtual
+
+ + + + + diff --git a/classdtPolyQuery.html b/classdtPolyQuery.html new file mode 100644 index 00000000..7bd6291c --- /dev/null +++ b/classdtPolyQuery.html @@ -0,0 +1,218 @@ + + + + + + + +Recast Navigation: dtPolyQuery Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
dtPolyQuery Class Referenceabstract
+
+
+ +

Provides custom polygon query behavior. + More...

+ +

#include <DetourNavMeshQuery.h>

+
+Inheritance diagram for dtPolyQuery:
+
+
+ + +dtCollectPolysQuery +dtFindNearestPolyQuery + +
+ + + + + + + +

+Public Member Functions

virtual ~dtPolyQuery ()
 
virtual void process (const dtMeshTile *tile, dtPoly **polys, dtPolyRef *refs, int count)=0
 Called for each batch of unique polygons touched by the search area in dtNavMeshQuery::queryPolygons. More...
 
+

Description

+

Provides custom polygon query behavior.

+

Used by dtNavMeshQuery::queryPolygons.

+

Constructor & Destructor Documentation

+ +

◆ ~dtPolyQuery()

+ +
+
+ + + + + +
+ + + + + + + +
dtPolyQuery::~dtPolyQuery ()
+
+virtual
+
+ +
+
+

Member Function Documentation

+ +

◆ process()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
virtual void dtPolyQuery::process (const dtMeshTiletile,
dtPoly ** polys,
dtPolyRefrefs,
int count 
)
+
+pure virtual
+
+ +

Called for each batch of unique polygons touched by the search area in dtNavMeshQuery::queryPolygons.

+

This can be called multiple times for a single query.

+ +

Implemented in dtCollectPolysQuery, and dtFindNearestPolyQuery.

+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classdtPolyQuery.js b/classdtPolyQuery.js new file mode 100644 index 00000000..69d6c2ef --- /dev/null +++ b/classdtPolyQuery.js @@ -0,0 +1,5 @@ +var classdtPolyQuery = +[ + [ "~dtPolyQuery", "classdtPolyQuery.html#a9ad241119b015028dc392b33b1b32d68", null ], + [ "process", "classdtPolyQuery.html#a21184a157b5762bc558ac49e43a1131e", null ] +]; \ No newline at end of file diff --git a/classdtPolyQuery.png b/classdtPolyQuery.png new file mode 100644 index 00000000..f74df2c5 Binary files /dev/null and b/classdtPolyQuery.png differ diff --git a/classdtProximityGrid-members.html b/classdtProximityGrid-members.html new file mode 100644 index 00000000..b5b61953 --- /dev/null +++ b/classdtProximityGrid-members.html @@ -0,0 +1,115 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dtProximityGrid Member List
+
+
+ +

This is the complete list of members for dtProximityGrid, including all inherited members.

+ + + + + + + + + + +
addItem(const unsigned short id, const float minx, const float miny, const float maxx, const float maxy)dtProximityGrid
clear()dtProximityGrid
dtProximityGrid()dtProximityGrid
getBounds() constdtProximityGridinline
getCellSize() constdtProximityGridinline
getItemCountAt(const int x, const int y) constdtProximityGrid
init(const int poolSize, const float cellSize)dtProximityGrid
queryItems(const float minx, const float miny, const float maxx, const float maxy, unsigned short *ids, const int maxIds) constdtProximityGrid
~dtProximityGrid()dtProximityGrid
+
+ + + + + diff --git a/classdtProximityGrid.html b/classdtProximityGrid.html new file mode 100644 index 00000000..3b2ab8aa --- /dev/null +++ b/classdtProximityGrid.html @@ -0,0 +1,393 @@ + + + + + + + +Recast Navigation: dtProximityGrid Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
dtProximityGrid Class Reference
+
+
+ +

#include <DetourProximityGrid.h>

+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 dtProximityGrid ()
 
 ~dtProximityGrid ()
 
bool init (const int poolSize, const float cellSize)
 
void clear ()
 
void addItem (const unsigned short id, const float minx, const float miny, const float maxx, const float maxy)
 
int queryItems (const float minx, const float miny, const float maxx, const float maxy, unsigned short *ids, const int maxIds) const
 
int getItemCountAt (const int x, const int y) const
 
const int * getBounds () const
 
float getCellSize () const
 
+

Constructor & Destructor Documentation

+ +

◆ dtProximityGrid()

+ +
+
+ + + + + + + +
dtProximityGrid::dtProximityGrid ()
+
+ +
+
+ +

◆ ~dtProximityGrid()

+ +
+
+ + + + + + + +
dtProximityGrid::~dtProximityGrid ()
+
+ +
+
+

Member Function Documentation

+ +

◆ addItem()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void dtProximityGrid::addItem (const unsigned short id,
const float minx,
const float miny,
const float maxx,
const float maxy 
)
+
+ +
+
+ +

◆ clear()

+ +
+
+ + + + + + + +
void dtProximityGrid::clear ()
+
+ +
+
+ +

◆ getBounds()

+ +
+
+ + + + + +
+ + + + + + + +
const int* dtProximityGrid::getBounds () const
+
+inline
+
+ +
+
+ +

◆ getCellSize()

+ +
+
+ + + + + +
+ + + + + + + +
float dtProximityGrid::getCellSize () const
+
+inline
+
+ +
+
+ +

◆ getItemCountAt()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int dtProximityGrid::getItemCountAt (const int x,
const int y 
) const
+
+ +
+
+ +

◆ init()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool dtProximityGrid::init (const int poolSize,
const float cellSize 
)
+
+ +
+
+ +

◆ queryItems()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int dtProximityGrid::queryItems (const float minx,
const float miny,
const float maxx,
const float maxy,
unsigned short * ids,
const int maxIds 
) const
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classdtProximityGrid.js b/classdtProximityGrid.js new file mode 100644 index 00000000..d01f0fcf --- /dev/null +++ b/classdtProximityGrid.js @@ -0,0 +1,12 @@ +var classdtProximityGrid = +[ + [ "dtProximityGrid", "classdtProximityGrid.html#af5efb745e3d3048683f8d8a399159465", null ], + [ "~dtProximityGrid", "classdtProximityGrid.html#a7a68e3c6d5cd84034777c9dd0bc4a937", null ], + [ "addItem", "classdtProximityGrid.html#ad19f5adb495c35e386c6e1ba314a2b59", null ], + [ "clear", "classdtProximityGrid.html#abfbfdb91797c4414d1201d761d9c1a94", null ], + [ "getBounds", "classdtProximityGrid.html#a9850e14d04f7d60909c46bec50c5ef65", null ], + [ "getCellSize", "classdtProximityGrid.html#aca646eb6926a096bb8062e7bf3a09945", null ], + [ "getItemCountAt", "classdtProximityGrid.html#ac788d2fbab7612826abeeab20a4f94fb", null ], + [ "init", "classdtProximityGrid.html#aef4e5c3fa11d5ba99a33dfadbea198d3", null ], + [ "queryItems", "classdtProximityGrid.html#a4ee1269c36500bb20d3891a2363c5ea8", null ] +]; \ No newline at end of file diff --git a/classdtQueryFilter-members.html b/classdtQueryFilter-members.html new file mode 100644 index 00000000..e2c10db0 --- /dev/null +++ b/classdtQueryFilter-members.html @@ -0,0 +1,115 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dtQueryFilter Member List
+
+
+ +

This is the complete list of members for dtQueryFilter, including all inherited members.

+ + + + + + + + + + +
dtQueryFilter()dtQueryFilter
getAreaCost(const int i) constdtQueryFilterinline
getCost(const float *pa, const float *pb, const dtPolyRef prevRef, const dtMeshTile *prevTile, const dtPoly *prevPoly, const dtPolyRef curRef, const dtMeshTile *curTile, const dtPoly *curPoly, const dtPolyRef nextRef, const dtMeshTile *nextTile, const dtPoly *nextPoly) constdtQueryFilterinline
getExcludeFlags() constdtQueryFilterinline
getIncludeFlags() constdtQueryFilterinline
passFilter(const dtPolyRef ref, const dtMeshTile *tile, const dtPoly *poly) constdtQueryFilterinline
setAreaCost(const int i, const float cost)dtQueryFilterinline
setExcludeFlags(const unsigned short flags)dtQueryFilterinline
setIncludeFlags(const unsigned short flags)dtQueryFilterinline
+
+ + + + + diff --git a/classdtQueryFilter.html b/classdtQueryFilter.html new file mode 100644 index 00000000..a10d28d3 --- /dev/null +++ b/classdtQueryFilter.html @@ -0,0 +1,544 @@ + + + + + + + +Recast Navigation: dtQueryFilter Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
dtQueryFilter Class Reference
+
+
+ +

Defines polygon filtering and traversal costs for navigation mesh query operations. + More...

+ +

#include <DetourNavMeshQuery.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 dtQueryFilter ()
 
bool passFilter (const dtPolyRef ref, const dtMeshTile *tile, const dtPoly *poly) const
 Returns true if the polygon can be visited. More...
 
float getCost (const float *pa, const float *pb, const dtPolyRef prevRef, const dtMeshTile *prevTile, const dtPoly *prevPoly, const dtPolyRef curRef, const dtMeshTile *curTile, const dtPoly *curPoly, const dtPolyRef nextRef, const dtMeshTile *nextTile, const dtPoly *nextPoly) const
 Returns cost to move from the beginning to the end of a line segment that is fully contained within a polygon. More...
 
Getters and setters for the default implementation data.
float getAreaCost (const int i) const
 Returns the traversal cost of the area. More...
 
void setAreaCost (const int i, const float cost)
 Sets the traversal cost of the area. More...
 
unsigned short getIncludeFlags () const
 Returns the include flags for the filter. More...
 
void setIncludeFlags (const unsigned short flags)
 Sets the include flags for the filter. More...
 
unsigned short getExcludeFlags () const
 Returns the exclude flags for the filter. More...
 
void setExcludeFlags (const unsigned short flags)
 Sets the exclude flags for the filter. More...
 
+

Description

+

Defines polygon filtering and traversal costs for navigation mesh query operations.

+

The Default Implementation

+

At construction: All area costs default to 1.0. All flags are included and none are excluded.

+

If a polygon has both an include and an exclude flag, it will be excluded.

+

The way filtering works, a navigation mesh polygon must have at least one flag set to ever be considered by a query. So a polygon with no flags will never be considered.

+

Setting the include flags to 0 will result in all polygons being excluded.

+

Custom Implementations

+

DT_VIRTUAL_QUERYFILTER must be defined in order to extend this class.

+

Implement a custom query filter by overriding the virtual passFilter() and getCost() functions. If this is done, both functions should be as fast as possible. Use cached local copies of data rather than accessing your own objects where possible.

+

Custom implementations do not need to adhere to the flags or cost logic used by the default implementation.
+

+

In order for A* searches to work properly, the cost should be proportional to the travel distance. Implementing a cost modifier less than 1.0 is likely to lead to problems during pathfinding.

+
See also
dtNavMeshQuery
+

Constructor & Destructor Documentation

+ +

◆ dtQueryFilter()

+ +
+
+ + + + + + + +
dtQueryFilter::dtQueryFilter ()
+
+ +
+
+

Member Function Documentation

+ +

◆ getAreaCost()

+ +
+
+ + + + + +
+ + + + + + + + +
float dtQueryFilter::getAreaCost (const int i) const
+
+inline
+
+ +

Returns the traversal cost of the area.

+
Parameters
+ + +
[in]iThe id of the area.
+
+
+
Returns
The traversal cost of the area.
+ +
+
+ +

◆ getCost()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
float dtQueryFilter::getCost (const float * pa,
const float * pb,
const dtPolyRef prevRef,
const dtMeshTileprevTile,
const dtPolyprevPoly,
const dtPolyRef curRef,
const dtMeshTilecurTile,
const dtPolycurPoly,
const dtPolyRef nextRef,
const dtMeshTilenextTile,
const dtPolynextPoly 
) const
+
+inline
+
+ +

Returns cost to move from the beginning to the end of a line segment that is fully contained within a polygon.

+
Parameters
+ + + + + + + + + + + + +
[in]paThe start position on the edge of the previous and current polygon. [(x, y, z)]
[in]pbThe end position on the edge of the current and next polygon. [(x, y, z)]
[in]prevRefThe reference id of the previous polygon. [opt]
[in]prevTileThe tile containing the previous polygon. [opt]
[in]prevPolyThe previous polygon. [opt]
[in]curRefThe reference id of the current polygon.
[in]curTileThe tile containing the current polygon.
[in]curPolyThe current polygon.
[in]nextRefThe refernece id of the next polygon. [opt]
[in]nextTileThe tile containing the next polygon. [opt]
[in]nextPolyThe next polygon. [opt]
+
+
+ +
+
+ +

◆ getExcludeFlags()

+ +
+
+ + + + + +
+ + + + + + + +
unsigned short dtQueryFilter::getExcludeFlags () const
+
+inline
+
+ +

Returns the exclude flags for the filter.

+

Any polygons that include one ore more of these flags will be excluded from the operation.

+ +
+
+ +

◆ getIncludeFlags()

+ +
+
+ + + + + +
+ + + + + + + +
unsigned short dtQueryFilter::getIncludeFlags () const
+
+inline
+
+ +

Returns the include flags for the filter.

+

Any polygons that include one or more of these flags will be included in the operation.

+ +
+
+ +

◆ passFilter()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool dtQueryFilter::passFilter (const dtPolyRef ref,
const dtMeshTiletile,
const dtPolypoly 
) const
+
+inline
+
+ +

Returns true if the polygon can be visited.

+

(I.e. Is traversable.)

Parameters
+ + + + +
[in]refThe reference id of the polygon test.
[in]tileThe tile containing the polygon.
[in]polyThe polygon to test.
+
+
+ +
+
+ +

◆ setAreaCost()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void dtQueryFilter::setAreaCost (const int i,
const float cost 
)
+
+inline
+
+ +

Sets the traversal cost of the area.

+
Parameters
+ + + +
[in]iThe id of the area.
[in]costThe new cost of traversing the area.
+
+
+ +
+
+ +

◆ setExcludeFlags()

+ +
+
+ + + + + +
+ + + + + + + + +
void dtQueryFilter::setExcludeFlags (const unsigned short flags)
+
+inline
+
+ +

Sets the exclude flags for the filter.

+
Parameters
+ + +
[in]flagsThe new flags.
+
+
+ +
+
+ +

◆ setIncludeFlags()

+ +
+
+ + + + + +
+ + + + + + + + +
void dtQueryFilter::setIncludeFlags (const unsigned short flags)
+
+inline
+
+ +

Sets the include flags for the filter.

+
Parameters
+ + +
[in]flagsThe new flags.
+
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classdtQueryFilter.js b/classdtQueryFilter.js new file mode 100644 index 00000000..202647cc --- /dev/null +++ b/classdtQueryFilter.js @@ -0,0 +1,12 @@ +var classdtQueryFilter = +[ + [ "dtQueryFilter", "classdtQueryFilter.html#ad686b0d14e2826de3b674c663f7f1456", null ], + [ "getAreaCost", "classdtQueryFilter.html#a1e41582a45d2a10eb7e68740475e5665", null ], + [ "getCost", "classdtQueryFilter.html#a11d016505b732a1a013c3771a4157dea", null ], + [ "getExcludeFlags", "classdtQueryFilter.html#ac3e2d16755c3510003f0580e27ce4897", null ], + [ "getIncludeFlags", "classdtQueryFilter.html#a5bae688840167576dc6ab7913dda1b34", null ], + [ "passFilter", "classdtQueryFilter.html#aaf072b8617dfbd4701a8e07f0f10be9c", null ], + [ "setAreaCost", "classdtQueryFilter.html#a36063c39d5c391a393412108a8a33927", null ], + [ "setExcludeFlags", "classdtQueryFilter.html#a18c1b888c9b2c3b30703d6861a793600", null ], + [ "setIncludeFlags", "classdtQueryFilter.html#ab9783c92a30e41df84ebfd2f68338970", null ] +]; \ No newline at end of file diff --git a/classdtTileCache-members.html b/classdtTileCache-members.html new file mode 100644 index 00000000..447fb59b --- /dev/null +++ b/classdtTileCache-members.html @@ -0,0 +1,140 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dtTileCache Member List
+
+
+ +

This is the complete list of members for dtTileCache, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addBoxObstacle(const float *bmin, const float *bmax, dtObstacleRef *result)dtTileCache
addBoxObstacle(const float *center, const float *halfExtents, const float yRadians, dtObstacleRef *result)dtTileCache
addObstacle(const float *pos, const float radius, const float height, dtObstacleRef *result)dtTileCache
addTile(unsigned char *data, const int dataSize, unsigned char flags, dtCompressedTileRef *result)dtTileCache
buildNavMeshTile(const dtCompressedTileRef ref, class dtNavMesh *navmesh)dtTileCache
buildNavMeshTilesAt(const int tx, const int ty, class dtNavMesh *navmesh)dtTileCache
calcTightTileBounds(const struct dtTileCacheLayerHeader *header, float *bmin, float *bmax) constdtTileCache
decodeObstacleIdObstacle(dtObstacleRef ref) constdtTileCacheinline
decodeObstacleIdSalt(dtObstacleRef ref) constdtTileCacheinline
decodeTileIdSalt(dtCompressedTileRef ref) constdtTileCacheinline
decodeTileIdTile(dtCompressedTileRef ref) constdtTileCacheinline
dtTileCache()dtTileCache
encodeObstacleId(unsigned int salt, unsigned int it) constdtTileCacheinline
encodeTileId(unsigned int salt, unsigned int it) constdtTileCacheinline
getAlloc()dtTileCacheinline
getCompressor()dtTileCacheinline
getObstacle(const int i) constdtTileCacheinline
getObstacleBounds(const struct dtTileCacheObstacle *ob, float *bmin, float *bmax) constdtTileCache
getObstacleByRef(dtObstacleRef ref)dtTileCache
getObstacleCount() constdtTileCacheinline
getObstacleRef(const dtTileCacheObstacle *obmin) constdtTileCache
getParams() constdtTileCacheinline
getTile(const int i) constdtTileCacheinline
getTileAt(const int tx, const int ty, const int tlayer)dtTileCache
getTileByRef(dtCompressedTileRef ref) constdtTileCache
getTileCount() constdtTileCacheinline
getTileRef(const dtCompressedTile *tile) constdtTileCache
getTilesAt(const int tx, const int ty, dtCompressedTileRef *tiles, const int maxTiles) constdtTileCache
init(const dtTileCacheParams *params, struct dtTileCacheAlloc *talloc, struct dtTileCacheCompressor *tcomp, struct dtTileCacheMeshProcess *tmproc)dtTileCache
queryTiles(const float *bmin, const float *bmax, dtCompressedTileRef *results, int *resultCount, const int maxResults) constdtTileCache
removeObstacle(const dtObstacleRef ref)dtTileCache
removeTile(dtCompressedTileRef ref, unsigned char **data, int *dataSize)dtTileCache
update(const float dt, class dtNavMesh *navmesh, bool *upToDate=0)dtTileCache
~dtTileCache()dtTileCache
+
+ + + + + diff --git a/classdtTileCache.html b/classdtTileCache.html new file mode 100644 index 00000000..c7bb8f4d --- /dev/null +++ b/classdtTileCache.html @@ -0,0 +1,1206 @@ + + + + + + + +Recast Navigation: dtTileCache Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
dtTileCache Class Reference
+
+
+ +

#include <DetourTileCache.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 dtTileCache ()
 
 ~dtTileCache ()
 
struct dtTileCacheAllocgetAlloc ()
 
struct dtTileCacheCompressorgetCompressor ()
 
const dtTileCacheParamsgetParams () const
 
int getTileCount () const
 
const dtCompressedTilegetTile (const int i) const
 
int getObstacleCount () const
 
const dtTileCacheObstaclegetObstacle (const int i) const
 
const dtTileCacheObstaclegetObstacleByRef (dtObstacleRef ref)
 
dtObstacleRef getObstacleRef (const dtTileCacheObstacle *obmin) const
 
dtStatus init (const dtTileCacheParams *params, struct dtTileCacheAlloc *talloc, struct dtTileCacheCompressor *tcomp, struct dtTileCacheMeshProcess *tmproc)
 
int getTilesAt (const int tx, const int ty, dtCompressedTileRef *tiles, const int maxTiles) const
 
dtCompressedTilegetTileAt (const int tx, const int ty, const int tlayer)
 
dtCompressedTileRef getTileRef (const dtCompressedTile *tile) const
 
const dtCompressedTilegetTileByRef (dtCompressedTileRef ref) const
 
dtStatus addTile (unsigned char *data, const int dataSize, unsigned char flags, dtCompressedTileRef *result)
 
dtStatus removeTile (dtCompressedTileRef ref, unsigned char **data, int *dataSize)
 
dtStatus addObstacle (const float *pos, const float radius, const float height, dtObstacleRef *result)
 
dtStatus addBoxObstacle (const float *bmin, const float *bmax, dtObstacleRef *result)
 
dtStatus addBoxObstacle (const float *center, const float *halfExtents, const float yRadians, dtObstacleRef *result)
 
dtStatus removeObstacle (const dtObstacleRef ref)
 
dtStatus queryTiles (const float *bmin, const float *bmax, dtCompressedTileRef *results, int *resultCount, const int maxResults) const
 
dtStatus update (const float dt, class dtNavMesh *navmesh, bool *upToDate=0)
 Updates the tile cache by rebuilding tiles touched by unfinished obstacle requests. More...
 
dtStatus buildNavMeshTilesAt (const int tx, const int ty, class dtNavMesh *navmesh)
 
dtStatus buildNavMeshTile (const dtCompressedTileRef ref, class dtNavMesh *navmesh)
 
void calcTightTileBounds (const struct dtTileCacheLayerHeader *header, float *bmin, float *bmax) const
 
void getObstacleBounds (const struct dtTileCacheObstacle *ob, float *bmin, float *bmax) const
 
dtCompressedTileRef encodeTileId (unsigned int salt, unsigned int it) const
 Encodes a tile id. More...
 
unsigned int decodeTileIdSalt (dtCompressedTileRef ref) const
 Decodes a tile salt. More...
 
unsigned int decodeTileIdTile (dtCompressedTileRef ref) const
 Decodes a tile id. More...
 
dtObstacleRef encodeObstacleId (unsigned int salt, unsigned int it) const
 Encodes an obstacle id. More...
 
unsigned int decodeObstacleIdSalt (dtObstacleRef ref) const
 Decodes an obstacle salt. More...
 
unsigned int decodeObstacleIdObstacle (dtObstacleRef ref) const
 Decodes an obstacle id. More...
 
+

Constructor & Destructor Documentation

+ +

◆ dtTileCache()

+ +
+
+ + + + + + + +
dtTileCache::dtTileCache ()
+
+ +
+
+ +

◆ ~dtTileCache()

+ +
+
+ + + + + + + +
dtTileCache::~dtTileCache ()
+
+ +
+
+

Member Function Documentation

+ +

◆ addBoxObstacle() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtTileCache::addBoxObstacle (const float * bmin,
const float * bmax,
dtObstacleRefresult 
)
+
+ +
+
+ +

◆ addBoxObstacle() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtTileCache::addBoxObstacle (const float * center,
const float * halfExtents,
const float yRadians,
dtObstacleRefresult 
)
+
+ +
+
+ +

◆ addObstacle()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtTileCache::addObstacle (const float * pos,
const float radius,
const float height,
dtObstacleRefresult 
)
+
+ +
+
+ +

◆ addTile()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtTileCache::addTile (unsigned char * data,
const int dataSize,
unsigned char flags,
dtCompressedTileRefresult 
)
+
+ +
+
+ +

◆ buildNavMeshTile()

+ +
+
+ + + + + + + + + + + + + + + + + + +
dtStatus dtTileCache::buildNavMeshTile (const dtCompressedTileRef ref,
class dtNavMeshnavmesh 
)
+
+ +
+
+ +

◆ buildNavMeshTilesAt()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtTileCache::buildNavMeshTilesAt (const int tx,
const int ty,
class dtNavMeshnavmesh 
)
+
+ +
+
+ +

◆ calcTightTileBounds()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void dtTileCache::calcTightTileBounds (const struct dtTileCacheLayerHeaderheader,
float * bmin,
float * bmax 
) const
+
+ +
+
+ +

◆ decodeObstacleIdObstacle()

+ +
+
+ + + + + +
+ + + + + + + + +
unsigned int dtTileCache::decodeObstacleIdObstacle (dtObstacleRef ref) const
+
+inline
+
+ +

Decodes an obstacle id.

+ +
+
+ +

◆ decodeObstacleIdSalt()

+ +
+
+ + + + + +
+ + + + + + + + +
unsigned int dtTileCache::decodeObstacleIdSalt (dtObstacleRef ref) const
+
+inline
+
+ +

Decodes an obstacle salt.

+ +
+
+ +

◆ decodeTileIdSalt()

+ +
+
+ + + + + +
+ + + + + + + + +
unsigned int dtTileCache::decodeTileIdSalt (dtCompressedTileRef ref) const
+
+inline
+
+ +

Decodes a tile salt.

+ +
+
+ +

◆ decodeTileIdTile()

+ +
+
+ + + + + +
+ + + + + + + + +
unsigned int dtTileCache::decodeTileIdTile (dtCompressedTileRef ref) const
+
+inline
+
+ +

Decodes a tile id.

+ +
+
+ +

◆ encodeObstacleId()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
dtObstacleRef dtTileCache::encodeObstacleId (unsigned int salt,
unsigned int it 
) const
+
+inline
+
+ +

Encodes an obstacle id.

+ +
+
+ +

◆ encodeTileId()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
dtCompressedTileRef dtTileCache::encodeTileId (unsigned int salt,
unsigned int it 
) const
+
+inline
+
+ +

Encodes a tile id.

+ +
+
+ +

◆ getAlloc()

+ +
+
+ + + + + +
+ + + + + + + +
struct dtTileCacheAlloc* dtTileCache::getAlloc ()
+
+inline
+
+ +
+
+ +

◆ getCompressor()

+ +
+
+ + + + + +
+ + + + + + + +
struct dtTileCacheCompressor* dtTileCache::getCompressor ()
+
+inline
+
+ +
+
+ +

◆ getObstacle()

+ +
+
+ + + + + +
+ + + + + + + + +
const dtTileCacheObstacle* dtTileCache::getObstacle (const int i) const
+
+inline
+
+ +
+
+ +

◆ getObstacleBounds()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void dtTileCache::getObstacleBounds (const struct dtTileCacheObstacleob,
float * bmin,
float * bmax 
) const
+
+ +
+
+ +

◆ getObstacleByRef()

+ +
+
+ + + + + + + + +
const dtTileCacheObstacle * dtTileCache::getObstacleByRef (dtObstacleRef ref)
+
+ +
+
+ +

◆ getObstacleCount()

+ +
+
+ + + + + +
+ + + + + + + +
int dtTileCache::getObstacleCount () const
+
+inline
+
+ +
+
+ +

◆ getObstacleRef()

+ +
+
+ + + + + + + + +
dtObstacleRef dtTileCache::getObstacleRef (const dtTileCacheObstacleobmin) const
+
+ +
+
+ +

◆ getParams()

+ +
+
+ + + + + +
+ + + + + + + +
const dtTileCacheParams* dtTileCache::getParams () const
+
+inline
+
+ +
+
+ +

◆ getTile()

+ +
+
+ + + + + +
+ + + + + + + + +
const dtCompressedTile* dtTileCache::getTile (const int i) const
+
+inline
+
+ +
+
+ +

◆ getTileAt()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
dtCompressedTile * dtTileCache::getTileAt (const int tx,
const int ty,
const int tlayer 
)
+
+ +
+
+ +

◆ getTileByRef()

+ +
+
+ + + + + + + + +
const dtCompressedTile * dtTileCache::getTileByRef (dtCompressedTileRef ref) const
+
+ +
+
+ +

◆ getTileCount()

+ +
+
+ + + + + +
+ + + + + + + +
int dtTileCache::getTileCount () const
+
+inline
+
+ +
+
+ +

◆ getTileRef()

+ +
+
+ + + + + + + + +
dtCompressedTileRef dtTileCache::getTileRef (const dtCompressedTiletile) const
+
+ +
+
+ +

◆ getTilesAt()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int dtTileCache::getTilesAt (const int tx,
const int ty,
dtCompressedTileReftiles,
const int maxTiles 
) const
+
+ +
+
+ +

◆ init()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtTileCache::init (const dtTileCacheParamsparams,
struct dtTileCacheAlloctalloc,
struct dtTileCacheCompressortcomp,
struct dtTileCacheMeshProcesstmproc 
)
+
+ +
+
+ +

◆ queryTiles()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtTileCache::queryTiles (const float * bmin,
const float * bmax,
dtCompressedTileRefresults,
int * resultCount,
const int maxResults 
) const
+
+ +
+
+ +

◆ removeObstacle()

+ +
+
+ + + + + + + + +
dtStatus dtTileCache::removeObstacle (const dtObstacleRef ref)
+
+ +
+
+ +

◆ removeTile()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtTileCache::removeTile (dtCompressedTileRef ref,
unsigned char ** data,
int * dataSize 
)
+
+ +
+
+ +

◆ update()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
dtStatus dtTileCache::update (const float dt,
class dtNavMeshnavmesh,
bool * upToDate = 0 
)
+
+ +

Updates the tile cache by rebuilding tiles touched by unfinished obstacle requests.

+
Parameters
+ + + + +
[in]dtThe time step size. Currently not used.
[in]navmeshThe mesh to affect when rebuilding tiles.
[out]upToDateWhether the tile cache is fully up to date with obstacle requests and tile rebuilds. If the tile cache is up to date another (immediate) call to update will have no effect; otherwise another call will continue processing obstacle requests and tile rebuilds.
+
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classdtTileCache.js b/classdtTileCache.js new file mode 100644 index 00000000..75127be6 --- /dev/null +++ b/classdtTileCache.js @@ -0,0 +1,37 @@ +var classdtTileCache = +[ + [ "dtTileCache", "classdtTileCache.html#ae10595cf54f85416c0081fa0af530ed1", null ], + [ "~dtTileCache", "classdtTileCache.html#abaad84f534e7b782352d5da36a9066dc", null ], + [ "addBoxObstacle", "classdtTileCache.html#a7bc032ae2bfec09d3ede528841c80ac6", null ], + [ "addBoxObstacle", "classdtTileCache.html#ac37b6e2373ec3994e87b19606b135522", null ], + [ "addObstacle", "classdtTileCache.html#a5744412c3e291c0d4dcab91329449466", null ], + [ "addTile", "classdtTileCache.html#ace9cbc6f688769c9314d453f5cac2432", null ], + [ "buildNavMeshTile", "classdtTileCache.html#a58de8a233915bc3aa553d4cf4e10084d", null ], + [ "buildNavMeshTilesAt", "classdtTileCache.html#ae501e709b8c918b9c60d87816d54bbab", null ], + [ "calcTightTileBounds", "classdtTileCache.html#ac3e71498a991117139f007f53ce0a822", null ], + [ "decodeObstacleIdObstacle", "classdtTileCache.html#a4351916cf85bcc4d3fc2bd477b0f373f", null ], + [ "decodeObstacleIdSalt", "classdtTileCache.html#ad2ba8e2882fca7ffb2b9239879cac3c7", null ], + [ "decodeTileIdSalt", "classdtTileCache.html#a30b610f38d3f6a73065fad5438c31ec7", null ], + [ "decodeTileIdTile", "classdtTileCache.html#a9a64eecd18a74bb994d076dced0ec0be", null ], + [ "encodeObstacleId", "classdtTileCache.html#a0d0ae89585f257f5ff0961e9eabfb52d", null ], + [ "encodeTileId", "classdtTileCache.html#a8e894bf86dc38b622fac1afe3ba5fe84", null ], + [ "getAlloc", "classdtTileCache.html#adc396e35c754ef44cadea9cd113b7440", null ], + [ "getCompressor", "classdtTileCache.html#a14aed84748e8c2b3c1ce827342ca16f1", null ], + [ "getObstacle", "classdtTileCache.html#a5c447f013845eeb64d65a58085dee5b7", null ], + [ "getObstacleBounds", "classdtTileCache.html#a71b5f91b742cc8339d36ac7b1c04ac0e", null ], + [ "getObstacleByRef", "classdtTileCache.html#a6aaf88b2bb53c59d8a57d1b95eba8ce9", null ], + [ "getObstacleCount", "classdtTileCache.html#a7f76bec4205d0f8a2a78683dd8766ea9", null ], + [ "getObstacleRef", "classdtTileCache.html#ab8e216fc463a72e59fc9c54df3acc13a", null ], + [ "getParams", "classdtTileCache.html#addea8bf2f66682e00c45a6948de77084", null ], + [ "getTile", "classdtTileCache.html#abc5a037f106bae848fee5faad7cbc389", null ], + [ "getTileAt", "classdtTileCache.html#ae13e3a13020a99039b96ccb51ea0dbc2", null ], + [ "getTileByRef", "classdtTileCache.html#a6d59bed3d3db9550ca4cf9eb17c14b75", null ], + [ "getTileCount", "classdtTileCache.html#af97fdd9fe05fa93455a203c5dd927df6", null ], + [ "getTileRef", "classdtTileCache.html#a3154cf5071666a7cf12495c809255541", null ], + [ "getTilesAt", "classdtTileCache.html#a4d60dcc8a8395400838cde8f6aa33fc9", null ], + [ "init", "classdtTileCache.html#a9cd97203168485f62bf1b2983d56745a", null ], + [ "queryTiles", "classdtTileCache.html#afa3fb52e3082723c52a2048698a26cb3", null ], + [ "removeObstacle", "classdtTileCache.html#afa96b0b04338947f24097a39db50d9f8", null ], + [ "removeTile", "classdtTileCache.html#a8ead2a72687eec8644f64b3e3cf1942e", null ], + [ "update", "classdtTileCache.html#a93f931ad563e5cadcc389acdffd4892e", null ] +]; \ No newline at end of file diff --git a/classduDisplayList-members.html b/classduDisplayList-members.html new file mode 100644 index 00000000..5d2df675 --- /dev/null +++ b/classduDisplayList-members.html @@ -0,0 +1,120 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
duDisplayList Member List
+
+
+ +

This is the complete list of members for duDisplayList, including all inherited members.

+ + + + + + + + + + + + + + + +
areaToCol(unsigned int area)duDebugDrawvirtual
begin(duDebugDrawPrimitives prim, float size=1.0f)duDisplayListvirtual
clear()duDisplayList
depthMask(bool state)duDisplayListvirtual
draw(struct duDebugDraw *dd)duDisplayList
duDisplayList(int cap=512)duDisplayList
end()duDisplayListvirtual
texture(bool state)=0duDebugDrawpure virtual
vertex(const float x, const float y, const float z, unsigned int color)duDisplayListvirtual
vertex(const float *pos, unsigned int color)duDisplayListvirtual
duDebugDraw::vertex(const float *pos, unsigned int color, const float *uv)=0duDebugDrawpure virtual
duDebugDraw::vertex(const float x, const float y, const float z, unsigned int color, const float u, const float v)=0duDebugDrawpure virtual
~duDebugDraw()=0duDebugDrawpure virtual
~duDisplayList()duDisplayListvirtual
+
+ + + + + diff --git a/classduDisplayList.html b/classduDisplayList.html new file mode 100644 index 00000000..c3f923df --- /dev/null +++ b/classduDisplayList.html @@ -0,0 +1,452 @@ + + + + + + + +Recast Navigation: duDisplayList Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
duDisplayList Class Reference
+
+
+ +

#include <DebugDraw.h>

+
+Inheritance diagram for duDisplayList:
+
+
+ + +duDebugDraw + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 duDisplayList (int cap=512)
 
virtual ~duDisplayList ()
 
virtual void depthMask (bool state)
 
virtual void begin (duDebugDrawPrimitives prim, float size=1.0f)
 Begin drawing primitives. More...
 
virtual void vertex (const float x, const float y, const float z, unsigned int color)
 Submit a vertex. More...
 
virtual void vertex (const float *pos, unsigned int color)
 Submit a vertex. More...
 
virtual void end ()
 End drawing primitives. More...
 
void clear ()
 
void draw (struct duDebugDraw *dd)
 
- Public Member Functions inherited from duDebugDraw
virtual ~duDebugDraw ()=0
 
virtual void texture (bool state)=0
 
virtual void vertex (const float *pos, unsigned int color, const float *uv)=0
 Submit a vertex. More...
 
virtual void vertex (const float x, const float y, const float z, unsigned int color, const float u, const float v)=0
 Submit a vertex. More...
 
virtual unsigned int areaToCol (unsigned int area)
 Compute a color for given area. More...
 
+

Constructor & Destructor Documentation

+ +

◆ duDisplayList()

+ +
+
+ + + + + + + + +
duDisplayList::duDisplayList (int cap = 512)
+
+ +
+
+ +

◆ ~duDisplayList()

+ +
+
+ + + + + +
+ + + + + + + +
duDisplayList::~duDisplayList ()
+
+virtual
+
+ +
+
+

Member Function Documentation

+ +

◆ begin()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void duDisplayList::begin (duDebugDrawPrimitives prim,
float size = 1.0f 
)
+
+virtual
+
+ +

Begin drawing primitives.

+
Parameters
+ + + +
prim[in] primitive type to draw, one of rcDebugDrawPrimitives.
size[in] size of a primitive, applies to point size and line width only.
+
+
+ +

Implements duDebugDraw.

+ +
+
+ +

◆ clear()

+ +
+
+ + + + + + + +
void duDisplayList::clear ()
+
+ +
+
+ +

◆ depthMask()

+ +
+
+ + + + + +
+ + + + + + + + +
void duDisplayList::depthMask (bool state)
+
+virtual
+
+ +

Implements duDebugDraw.

+ +
+
+ +

◆ draw()

+ +
+
+ + + + + + + + +
void duDisplayList::draw (struct duDebugDrawdd)
+
+ +
+
+ +

◆ end()

+ +
+
+ + + + + +
+ + + + + + + +
void duDisplayList::end ()
+
+virtual
+
+ +

End drawing primitives.

+ +

Implements duDebugDraw.

+ +
+
+ +

◆ vertex() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void duDisplayList::vertex (const float * pos,
unsigned int color 
)
+
+virtual
+
+ +

Submit a vertex.

+
Parameters
+ + + +
pos[in] position of the verts.
color[in] color of the verts.
+
+
+ +

Implements duDebugDraw.

+ +
+
+ +

◆ vertex() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void duDisplayList::vertex (const float x,
const float y,
const float z,
unsigned int color 
)
+
+virtual
+
+ +

Submit a vertex.

+
Parameters
+ + + +
x,y,z[in] position of the verts.
color[in] color of the verts.
+
+
+ +

Implements duDebugDraw.

+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classduDisplayList.js b/classduDisplayList.js new file mode 100644 index 00000000..79752327 --- /dev/null +++ b/classduDisplayList.js @@ -0,0 +1,12 @@ +var classduDisplayList = +[ + [ "duDisplayList", "classduDisplayList.html#a841869a8b7db7c4c67470578e3f2e050", null ], + [ "~duDisplayList", "classduDisplayList.html#a5d1cabc63c46e0850927830b9b99db1c", null ], + [ "begin", "classduDisplayList.html#a9b22850cbe77c3e59f00ceda818563ea", null ], + [ "clear", "classduDisplayList.html#a5a6da38566e95882f4b63c0d765b2cc3", null ], + [ "depthMask", "classduDisplayList.html#a2bd9a4e455216c4427557a230acfee31", null ], + [ "draw", "classduDisplayList.html#a53556c9d2afcd9eb625bc4f4cf9cf648", null ], + [ "end", "classduDisplayList.html#ad8283f5518c514d0635d8ad0c359e11a", null ], + [ "vertex", "classduDisplayList.html#ab4aa562f713485769b68d1989c6e1ec4", null ], + [ "vertex", "classduDisplayList.html#af724f7566b2c1c2c09453dc064c6eecf", null ] +]; \ No newline at end of file diff --git a/classduDisplayList.png b/classduDisplayList.png new file mode 100644 index 00000000..b63ac6c8 Binary files /dev/null and b/classduDisplayList.png differ diff --git a/classes.html b/classes.html new file mode 100644 index 00000000..3b78addb --- /dev/null +++ b/classes.html @@ -0,0 +1,148 @@ + + + + + + + +Recast Navigation: Class Index + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class Index
+
+
+
B | C | D | F | G | I | L | M | N | O | R | S | T | V
+
+
+
B
+
BoundsItem
BuildContext
BuildSettings
BVItem
+
+
C
+
ConvexVolume
ConvexVolumeTool
CrowdTool
CrowdToolParams
CrowdToolState
+
+
D
+
DebugDrawGL
DirtyEntry
dtBVNode
dtCollectPolysQuery
dtCompressedTile
dtCrowd
dtCrowdAgent
dtCrowdAgentAnimation
dtCrowdAgentDebugInfo
dtCrowdAgentParams
dtCrowdNeighbour
dtFindNearestPolyQuery
dtFixedArray
dtLayerMonotoneRegion
dtLayerSweepSpan
dtLink
dtLocalBoundary
dtMeshHeader
dtMeshTile
dtNavMesh
dtNavMeshCreateParams
dtNavMeshParams
dtNavMeshQuery
dtNode
dtNodePool
dtNodeQueue
dtObstacleAvoidanceDebugData
dtObstacleAvoidanceParams
dtObstacleAvoidanceQuery
dtObstacleBox
dtObstacleCircle
dtObstacleCylinder
dtObstacleOrientedBox
dtObstacleSegment
dtOffMeshConnection
dtPathCorridor
dtPathQueue
dtPoly
dtPolyDetail
dtPolyQuery
dtPolyState
dtProximityGrid
dtQueryFilter
dtRaycastHit
dtSegInterval
dtTempContour
dtTileCache
dtTileCacheAlloc
dtTileCacheCompressor
dtTileCacheContour
dtTileCacheContourSet
dtTileCacheLayer
dtTileCacheLayerHeader
dtTileCacheMeshProcess
dtTileCacheObstacle
dtTileCacheParams
dtTileCachePolyMesh
dtTileState
duDebugDraw
duDisplayList
duFileIO
+
+
F
+
FastLZCompressor
FileIO
+
+
G
+
GLCheckerTexture
GraphParams
GuiState
+
+
I
+
imguiGfxCmd
imguiGfxLine
imguiGfxRect
imguiGfxText
InputGeom
+
+
L
+
LinearAllocator
+
+
M
+
MeshProcess
+
+
N
+
NavmeshFlags
NavMeshPruneTool
NavMeshSetHeader
NavMeshTesterTool
NavMeshTileBuildContext
NavMeshTileHeader
NavMeshTileTool
+
+
O
+
OffMeshConnectionTool
+
+
R
+
RasterizationContext
rcChunkyTriMesh
rcChunkyTriMeshNode
rcCompactCell
rcCompactHeightfield
rcCompactSpan
rcConfig
rcContext
rcContour
rcContourHole
rcContourRegion
rcContourSet
rcEdge
rcHeightfield
rcHeightfieldLayer
rcHeightfieldLayerSet
rcHeightPatch
rcIntArray
rcLayerRegion
rcLayerSweepSpan
rcMeshLoaderObj
rcNewTag
rcPermVector
rcPolyMesh
rcPolyMeshDetail
rcPotentialDiagonal
rcRegion
rcScopedDelete
rcScopedTimer
rcSpan
rcSpanPool
rcSweepSpan
rcTempVector
rcVectorBase
+
+
S
+
Sample
Sample_Debug
Sample_SoloMesh
Sample_TempObstacles
Sample_TileMesh
SampleDebugDraw
SampleItem
SampleTool
SampleToolState
+
+
T
+
TempObstacleCreateTool
TempObstacleHilightTool
TestCase
TileCacheData
TileCacheSetHeader
TileCacheTileHeader
+
+
V
+
ValueHistory
+
+
+
+ + + + + diff --git a/classrcContext-members.html b/classrcContext-members.html new file mode 100644 index 00000000..c7b6b00a --- /dev/null +++ b/classrcContext-members.html @@ -0,0 +1,124 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
rcContext Member List
+
+
+ +

This is the complete list of members for rcContext, including all inherited members.

+ + + + + + + + + + + + + + + + + + + +
doGetAccumulatedTime(const rcTimerLabel label) constrcContextinlineprotectedvirtual
doLog(const rcLogCategory category, const char *msg, const int len)rcContextinlineprotectedvirtual
doResetLog()rcContextprotectedvirtual
doResetTimers()rcContextinlineprotectedvirtual
doStartTimer(const rcTimerLabel label)rcContextinlineprotectedvirtual
doStopTimer(const rcTimerLabel label)rcContextinlineprotectedvirtual
enableLog(bool state)rcContextinline
enableTimer(bool state)rcContextinline
getAccumulatedTime(const rcTimerLabel label) constrcContextinline
log(const rcLogCategory category, const char *format,...)rcContext
m_logEnabledrcContextprotected
m_timerEnabledrcContextprotected
rcContext(bool state=true)rcContextinline
resetLog()rcContextinline
resetTimers()rcContextinline
startTimer(const rcTimerLabel label)rcContextinline
stopTimer(const rcTimerLabel label)rcContextinline
~rcContext()rcContextinlinevirtual
+
+ + + + + diff --git a/classrcContext.html b/classrcContext.html new file mode 100644 index 00000000..12216008 --- /dev/null +++ b/classrcContext.html @@ -0,0 +1,796 @@ + + + + + + + +Recast Navigation: rcContext Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
rcContext Class Reference
+
+
+ +

Provides an interface for optional logging and performance tracking of the Recast build process. + More...

+ +

#include <Recast.h>

+
+Inheritance diagram for rcContext:
+
+
+ + +BuildContext + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 rcContext (bool state=true)
 Constructor. More...
 
virtual ~rcContext ()
 
void enableLog (bool state)
 Enables or disables logging. More...
 
void resetLog ()
 Clears all log entries. More...
 
void log (const rcLogCategory category, const char *format,...)
 Logs a message. More...
 
void enableTimer (bool state)
 Enables or disables the performance timers. More...
 
void resetTimers ()
 Clears all performance timers. (Resets all to unused.) More...
 
void startTimer (const rcTimerLabel label)
 Starts the specified performance timer. More...
 
void stopTimer (const rcTimerLabel label)
 Stops the specified performance timer. More...
 
int getAccumulatedTime (const rcTimerLabel label) const
 Returns the total accumulated time of the specified performance timer. More...
 
+ + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

virtual void doResetLog ()
 Clears all log entries. More...
 
virtual void doLog (const rcLogCategory category, const char *msg, const int len)
 Logs a message. More...
 
virtual void doResetTimers ()
 Clears all timers. (Resets all to unused.) More...
 
virtual void doStartTimer (const rcTimerLabel label)
 Starts the specified performance timer. More...
 
virtual void doStopTimer (const rcTimerLabel label)
 Stops the specified performance timer. More...
 
virtual int doGetAccumulatedTime (const rcTimerLabel label) const
 Returns the total accumulated time of the specified performance timer. More...
 
+ + + + + + + +

+Protected Attributes

bool m_logEnabled
 True if logging is enabled. More...
 
bool m_timerEnabled
 True if the performance timers are enabled. More...
 
+

Description

+

Provides an interface for optional logging and performance tracking of the Recast build process.

+

This class does not provide logging or timer functionality on its own. Both must be provided by a concrete implementation by overriding the protected member functions. Also, this class does not provide an interface for extracting log messages. (Only adding them.) So concrete implementations must provide one.

+

If no logging or timers are required, just pass an instance of this class through the Recast build process.

+

Constructor & Destructor Documentation

+ +

◆ rcContext()

+ +
+
+ + + + + +
+ + + + + + + + +
rcContext::rcContext (bool state = true)
+
+inline
+
+ +

Constructor.

+
Parameters
+ + +
[in]stateTRUE if the logging and performance timers should be enabled. [Default: true]
+
+
+ +
+
+ +

◆ ~rcContext()

+ +
+
+ + + + + +
+ + + + + + + +
virtual rcContext::~rcContext ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +

◆ doGetAccumulatedTime()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual int rcContext::doGetAccumulatedTime (const rcTimerLabel label) const
+
+inlineprotectedvirtual
+
+ +

Returns the total accumulated time of the specified performance timer.

+
Parameters
+ + +
[in]labelThe category of the timer.
+
+
+
Returns
The accumulated time of the timer, or -1 if timers are disabled or the timer has never been started.
+ +

Reimplemented in BuildContext.

+ +
+
+ +

◆ doLog()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual void rcContext::doLog (const rcLogCategory category,
const char * msg,
const int len 
)
+
+inlineprotectedvirtual
+
+ +

Logs a message.

+
Parameters
+ + + + +
[in]categoryThe category of the message.
[in]msgThe formatted message.
[in]lenThe length of the formatted message.
+
+
+ +

Reimplemented in BuildContext.

+ +
+
+ +

◆ doResetLog()

+ +
+
+ + + + + +
+ + + + + + + +
void rcContext::doResetLog ()
+
+protectedvirtual
+
+ +

Clears all log entries.

+ +

Reimplemented in BuildContext.

+ +
+
+ +

◆ doResetTimers()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void rcContext::doResetTimers ()
+
+inlineprotectedvirtual
+
+ +

Clears all timers. (Resets all to unused.)

+ +

Reimplemented in BuildContext.

+ +
+
+ +

◆ doStartTimer()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void rcContext::doStartTimer (const rcTimerLabel label)
+
+inlineprotectedvirtual
+
+ +

Starts the specified performance timer.

+
Parameters
+ + +
[in]labelThe category of timer.
+
+
+ +

Reimplemented in BuildContext.

+ +
+
+ +

◆ doStopTimer()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void rcContext::doStopTimer (const rcTimerLabel label)
+
+inlineprotectedvirtual
+
+ +

Stops the specified performance timer.

+
Parameters
+ + +
[in]labelThe category of the timer.
+
+
+ +

Reimplemented in BuildContext.

+ +
+
+ +

◆ enableLog()

+ +
+
+ + + + + +
+ + + + + + + + +
void rcContext::enableLog (bool state)
+
+inline
+
+ +

Enables or disables logging.

+
Parameters
+ + +
[in]stateTRUE if logging should be enabled.
+
+
+ +
+
+ +

◆ enableTimer()

+ +
+
+ + + + + +
+ + + + + + + + +
void rcContext::enableTimer (bool state)
+
+inline
+
+ +

Enables or disables the performance timers.

+
Parameters
+ + +
[in]stateTRUE if timers should be enabled.
+
+
+ +
+
+ +

◆ getAccumulatedTime()

+ +
+
+ + + + + +
+ + + + + + + + +
int rcContext::getAccumulatedTime (const rcTimerLabel label) const
+
+inline
+
+ +

Returns the total accumulated time of the specified performance timer.

+
Parameters
+ + +
labelThe category of the timer.
+
+
+
Returns
The accumulated time of the timer, or -1 if timers are disabled or the timer has never been started.
+ +
+
+ +

◆ log()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void rcContext::log (const rcLogCategory category,
const char * format,
 ... 
)
+
+ +

Logs a message.

+

Example:

// Where ctx is an instance of rcContext and filepath is a char array.
+
ctx->log(RC_LOG_ERROR, "buildTiledNavigation: Could not load '%s'", filepath);
+
@ RC_LOG_ERROR
An error log entry.
Definition: Recast.h:34
+
Parameters
+ + + +
[in]categoryThe category of the message.
[in]formatThe message.
+
+
+ +
+
+ +

◆ resetLog()

+ +
+
+ + + + + +
+ + + + + + + +
void rcContext::resetLog ()
+
+inline
+
+ +

Clears all log entries.

+ +
+
+ +

◆ resetTimers()

+ +
+
+ + + + + +
+ + + + + + + +
void rcContext::resetTimers ()
+
+inline
+
+ +

Clears all performance timers. (Resets all to unused.)

+ +
+
+ +

◆ startTimer()

+ +
+
+ + + + + +
+ + + + + + + + +
void rcContext::startTimer (const rcTimerLabel label)
+
+inline
+
+ +

Starts the specified performance timer.

+
Parameters
+ + +
labelThe category of the timer.
+
+
+ +
+
+ +

◆ stopTimer()

+ +
+
+ + + + + +
+ + + + + + + + +
void rcContext::stopTimer (const rcTimerLabel label)
+
+inline
+
+ +

Stops the specified performance timer.

+
Parameters
+ + +
labelThe category of the timer.
+
+
+ +
+
+

Member Data Documentation

+ +

◆ m_logEnabled

+ +
+
+ + + + + +
+ + + + +
bool rcContext::m_logEnabled
+
+protected
+
+ +

True if logging is enabled.

+ +
+
+ +

◆ m_timerEnabled

+ +
+
+ + + + + +
+ + + + +
bool rcContext::m_timerEnabled
+
+protected
+
+ +

True if the performance timers are enabled.

+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classrcContext.js b/classrcContext.js new file mode 100644 index 00000000..eab4dddf --- /dev/null +++ b/classrcContext.js @@ -0,0 +1,21 @@ +var classrcContext = +[ + [ "rcContext", "classrcContext.html#ae405295998d6c1db0ceb60d0f64559bc", null ], + [ "~rcContext", "classrcContext.html#a02204e324a8ebcf81f489681e80bc61c", null ], + [ "doGetAccumulatedTime", "classrcContext.html#aa974806b3533f3ce7bcd8c42715e8d93", null ], + [ "doLog", "classrcContext.html#a82cccfe74cb76b021acdca506df224e0", null ], + [ "doResetLog", "classrcContext.html#ae1e5eb9146a011c1f51de76b849d9ec2", null ], + [ "doResetTimers", "classrcContext.html#a57a97f408dac1438d6eae0993fa68570", null ], + [ "doStartTimer", "classrcContext.html#aff09f57cc5db39be3cf80c7c0a1457a2", null ], + [ "doStopTimer", "classrcContext.html#a3510678ae74a930e6d4e492d44fe80c0", null ], + [ "enableLog", "classrcContext.html#a03dcf9240dc69a7c329c15e32be12d8e", null ], + [ "enableTimer", "classrcContext.html#aa4680430d751824f83634ac753df9669", null ], + [ "getAccumulatedTime", "classrcContext.html#a17e7b79afff2f042961698aa1c818c3d", null ], + [ "log", "classrcContext.html#ae3cc278477b1b923d03ea50e3ae96013", null ], + [ "resetLog", "classrcContext.html#a68403737730ee112c523890a9fdc237d", null ], + [ "resetTimers", "classrcContext.html#a2fcc58bb1e29bbb9a7dfb834efff4a6d", null ], + [ "startTimer", "classrcContext.html#a3c8d3035e1046dd8907b10b7d9c8de57", null ], + [ "stopTimer", "classrcContext.html#a3f7042723b8d99d486575eb3d592af25", null ], + [ "m_logEnabled", "classrcContext.html#af3690c070989bc399cd39e2da2b0fbad", null ], + [ "m_timerEnabled", "classrcContext.html#a851ba8cc41ee2185be82fe11e847c846", null ] +]; \ No newline at end of file diff --git a/classrcContext.png b/classrcContext.png new file mode 100644 index 00000000..0d1bc03b Binary files /dev/null and b/classrcContext.png differ diff --git a/classrcIntArray-members.html b/classrcIntArray-members.html new file mode 100644 index 00000000..4e3824c7 --- /dev/null +++ b/classrcIntArray-members.html @@ -0,0 +1,115 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
rcIntArray Member List
+
+
+ +

This is the complete list of members for rcIntArray, including all inherited members.

+ + + + + + + + + + +
clear()rcIntArrayinline
operator[](int index)rcIntArrayinline
operator[](int index) constrcIntArrayinline
pop()rcIntArrayinline
push(int item)rcIntArrayinline
rcIntArray()rcIntArrayinline
rcIntArray(int n)rcIntArrayinline
resize(int size)rcIntArrayinline
size() constrcIntArrayinline
+
+ + + + + diff --git a/classrcIntArray.html b/classrcIntArray.html new file mode 100644 index 00000000..3cd137fe --- /dev/null +++ b/classrcIntArray.html @@ -0,0 +1,371 @@ + + + + + + + +Recast Navigation: rcIntArray Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
rcIntArray Class Reference
+
+
+ +

Legacy class. Prefer rcVector<int>. + More...

+ +

#include <RecastAlloc.h>

+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 rcIntArray ()
 
 rcIntArray (int n)
 
void push (int item)
 
void resize (int size)
 
void clear ()
 
int pop ()
 
int size () const
 
int & operator[] (int index)
 
int operator[] (int index) const
 
+

Description

+

Legacy class. Prefer rcVector<int>.

+

Constructor & Destructor Documentation

+ +

◆ rcIntArray() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
rcIntArray::rcIntArray ()
+
+inline
+
+ +
+
+ +

◆ rcIntArray() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
rcIntArray::rcIntArray (int n)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +

◆ clear()

+ +
+
+ + + + + +
+ + + + + + + +
void rcIntArray::clear ()
+
+inline
+
+ +
+
+ +

◆ operator[]() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
int& rcIntArray::operator[] (int index)
+
+inline
+
+ +
+
+ +

◆ operator[]() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
int rcIntArray::operator[] (int index) const
+
+inline
+
+ +
+
+ +

◆ pop()

+ +
+
+ + + + + +
+ + + + + + + +
int rcIntArray::pop ()
+
+inline
+
+ +
+
+ +

◆ push()

+ +
+
+ + + + + +
+ + + + + + + + +
void rcIntArray::push (int item)
+
+inline
+
+ +
+
+ +

◆ resize()

+ +
+
+ + + + + +
+ + + + + + + + +
void rcIntArray::resize (int size)
+
+inline
+
+ +
+
+ +

◆ size()

+ +
+
+ + + + + +
+ + + + + + + +
int rcIntArray::size () const
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + + diff --git a/classrcIntArray.js b/classrcIntArray.js new file mode 100644 index 00000000..1395549d --- /dev/null +++ b/classrcIntArray.js @@ -0,0 +1,12 @@ +var classrcIntArray = +[ + [ "rcIntArray", "classrcIntArray.html#a7c2de9614c66762b3083becbdcaf07d4", null ], + [ "rcIntArray", "classrcIntArray.html#ae24aed0e0cb7e79fc0a34de088eba93a", null ], + [ "clear", "classrcIntArray.html#a1e0b5e96e9aa5bc5e69b4952dd962292", null ], + [ "operator[]", "classrcIntArray.html#a314323a7840cf986062fd3c354c2a3c9", null ], + [ "operator[]", "classrcIntArray.html#ac4b2d9f20fe072c3ef856afc861d2230", null ], + [ "pop", "classrcIntArray.html#a25558e84868988dc42bf5b2b3c9c3a84", null ], + [ "push", "classrcIntArray.html#ae52f6cd7ffdd2dba00f6f006853dc441", null ], + [ "resize", "classrcIntArray.html#a3b07043775a4b76e7017c645dd9a7590", null ], + [ "size", "classrcIntArray.html#af17b8fb439ac8121af044d4f4d13753c", null ] +]; \ No newline at end of file diff --git a/classrcMeshLoaderObj-members.html b/classrcMeshLoaderObj-members.html new file mode 100644 index 00000000..a06f7812 --- /dev/null +++ b/classrcMeshLoaderObj-members.html @@ -0,0 +1,115 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
rcMeshLoaderObj Member List
+
+
+ +

This is the complete list of members for rcMeshLoaderObj, including all inherited members.

+ + + + + + + + + + +
getFileName() constrcMeshLoaderObjinline
getNormals() constrcMeshLoaderObjinline
getTriCount() constrcMeshLoaderObjinline
getTris() constrcMeshLoaderObjinline
getVertCount() constrcMeshLoaderObjinline
getVerts() constrcMeshLoaderObjinline
load(const std::string &fileName)rcMeshLoaderObj
rcMeshLoaderObj()rcMeshLoaderObj
~rcMeshLoaderObj()rcMeshLoaderObj
+
+ + + + + diff --git a/classrcMeshLoaderObj.html b/classrcMeshLoaderObj.html new file mode 100644 index 00000000..0158d55a --- /dev/null +++ b/classrcMeshLoaderObj.html @@ -0,0 +1,339 @@ + + + + + + + +Recast Navigation: rcMeshLoaderObj Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
rcMeshLoaderObj Class Reference
+
+
+ +

#include <MeshLoaderObj.h>

+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 rcMeshLoaderObj ()
 
 ~rcMeshLoaderObj ()
 
bool load (const std::string &fileName)
 
const float * getVerts () const
 
const float * getNormals () const
 
const int * getTris () const
 
int getVertCount () const
 
int getTriCount () const
 
const std::string & getFileName () const
 
+

Constructor & Destructor Documentation

+ +

◆ rcMeshLoaderObj()

+ +
+
+ + + + + + + +
rcMeshLoaderObj::rcMeshLoaderObj ()
+
+ +
+
+ +

◆ ~rcMeshLoaderObj()

+ +
+
+ + + + + + + +
rcMeshLoaderObj::~rcMeshLoaderObj ()
+
+ +
+
+

Member Function Documentation

+ +

◆ getFileName()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string& rcMeshLoaderObj::getFileName () const
+
+inline
+
+ +
+
+ +

◆ getNormals()

+ +
+
+ + + + + +
+ + + + + + + +
const float* rcMeshLoaderObj::getNormals () const
+
+inline
+
+ +
+
+ +

◆ getTriCount()

+ +
+
+ + + + + +
+ + + + + + + +
int rcMeshLoaderObj::getTriCount () const
+
+inline
+
+ +
+
+ +

◆ getTris()

+ +
+
+ + + + + +
+ + + + + + + +
const int* rcMeshLoaderObj::getTris () const
+
+inline
+
+ +
+
+ +

◆ getVertCount()

+ +
+
+ + + + + +
+ + + + + + + +
int rcMeshLoaderObj::getVertCount () const
+
+inline
+
+ +
+
+ +

◆ getVerts()

+ +
+
+ + + + + +
+ + + + + + + +
const float* rcMeshLoaderObj::getVerts () const
+
+inline
+
+ +
+
+ +

◆ load()

+ +
+
+ + + + + + + + +
bool rcMeshLoaderObj::load (const std::string & fileName)
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + + diff --git a/classrcMeshLoaderObj.js b/classrcMeshLoaderObj.js new file mode 100644 index 00000000..9827dc2d --- /dev/null +++ b/classrcMeshLoaderObj.js @@ -0,0 +1,12 @@ +var classrcMeshLoaderObj = +[ + [ "rcMeshLoaderObj", "classrcMeshLoaderObj.html#aca2b288ef62db83a15950ef74e38c598", null ], + [ "~rcMeshLoaderObj", "classrcMeshLoaderObj.html#a59613496cecd295f9b8346d985d41aff", null ], + [ "getFileName", "classrcMeshLoaderObj.html#a2f4d3abf3fb4e558d49c9fd80d0d69ca", null ], + [ "getNormals", "classrcMeshLoaderObj.html#a988e6f79382df2eb9345cc031918a876", null ], + [ "getTriCount", "classrcMeshLoaderObj.html#a1357f8619f9403cd3167ed5ad47dd0a9", null ], + [ "getTris", "classrcMeshLoaderObj.html#a286866274c7dcea48d07d1577a413cdf", null ], + [ "getVertCount", "classrcMeshLoaderObj.html#a07a41abbabedde7bcfa4b5c9b4e767a7", null ], + [ "getVerts", "classrcMeshLoaderObj.html#ab3e86cdf9f4f15c5883a44c767cbee96", null ], + [ "load", "classrcMeshLoaderObj.html#a730235384616c59171a785ce28295579", null ] +]; \ No newline at end of file diff --git a/classrcPermVector-members.html b/classrcPermVector-members.html new file mode 100644 index 00000000..483478bc --- /dev/null +++ b/classrcPermVector-members.html @@ -0,0 +1,144 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
rcPermVector< T > Member List
+
+
+ +

This is the complete list of members for rcPermVector< T >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
assign(rcSizeType count, const T &value)rcVectorBase< T, RC_ALLOC_PERM >inline
assign(const T *begin, const T *end)rcVectorBase< T, RC_ALLOC_PERM >
back() constrcVectorBase< T, RC_ALLOC_PERM >inline
back()rcVectorBase< T, RC_ALLOC_PERM >inline
begin()rcVectorBase< T, RC_ALLOC_PERM >inline
begin() constrcVectorBase< T, RC_ALLOC_PERM >inline
capacity() constrcVectorBase< T, RC_ALLOC_PERM >inline
clear()rcVectorBase< T, RC_ALLOC_PERM >inline
data() constrcVectorBase< T, RC_ALLOC_PERM >inline
data()rcVectorBase< T, RC_ALLOC_PERM >inline
empty() constrcVectorBase< T, RC_ALLOC_PERM >inline
end()rcVectorBase< T, RC_ALLOC_PERM >inline
end() constrcVectorBase< T, RC_ALLOC_PERM >inline
front() constrcVectorBase< T, RC_ALLOC_PERM >inline
front()rcVectorBase< T, RC_ALLOC_PERM >inline
operator=(const rcVectorBase< T, H > &other)rcVectorBase< T, RC_ALLOC_PERM >
operator[](rcSizeType i) constrcVectorBase< T, RC_ALLOC_PERM >inline
operator[](rcSizeType i)rcVectorBase< T, RC_ALLOC_PERM >inline
pop_back()rcVectorBase< T, RC_ALLOC_PERM >inline
push_back(const T &value)rcVectorBase< T, RC_ALLOC_PERM >
rcPermVector()rcPermVector< T >inline
rcPermVector(rcSizeType size)rcPermVector< T >inlineexplicit
rcPermVector(rcSizeType size, const T &value)rcPermVector< T >inline
rcPermVector(const rcPermVector< T > &other)rcPermVector< T >inline
rcPermVector(const T *begin, const T *end)rcPermVector< T >inline
rcVectorBase()rcVectorBase< T, RC_ALLOC_PERM >inline
rcVectorBase(const rcVectorBase< T, H > &other)rcVectorBase< T, RC_ALLOC_PERM >inline
rcVectorBase(rcSizeType count)rcVectorBase< T, RC_ALLOC_PERM >inlineexplicit
rcVectorBase(rcSizeType count, const T &value)rcVectorBase< T, RC_ALLOC_PERM >inline
rcVectorBase(const T *begin, const T *end)rcVectorBase< T, RC_ALLOC_PERM >inline
reserve(rcSizeType size)rcVectorBase< T, RC_ALLOC_PERM >
resize(rcSizeType size)rcVectorBase< T, RC_ALLOC_PERM >inline
resize(rcSizeType size, const T &value)rcVectorBase< T, RC_ALLOC_PERM >inline
size() constrcVectorBase< T, RC_ALLOC_PERM >inline
size_type typedefrcVectorBase< T, RC_ALLOC_PERM >
swap(rcVectorBase< T, H > &other)rcVectorBase< T, RC_ALLOC_PERM >
value_type typedefrcVectorBase< T, RC_ALLOC_PERM >
~rcVectorBase()rcVectorBase< T, RC_ALLOC_PERM >inline
+
+ + + + + diff --git a/classrcPermVector.html b/classrcPermVector.html new file mode 100644 index 00000000..fefac68a --- /dev/null +++ b/classrcPermVector.html @@ -0,0 +1,366 @@ + + + + + + + +Recast Navigation: rcPermVector< T > Class Template Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
rcPermVector< T > Class Template Reference
+
+
+ +

#include <RecastAlloc.h>

+
+Inheritance diagram for rcPermVector< T >:
+
+
+ + +rcVectorBase< T, RC_ALLOC_PERM > + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 rcPermVector ()
 
 rcPermVector (rcSizeType size)
 
 rcPermVector (rcSizeType size, const T &value)
 
 rcPermVector (const rcPermVector< T > &other)
 
 rcPermVector (const T *begin, const T *end)
 
- Public Member Functions inherited from rcVectorBase< T, RC_ALLOC_PERM >
 rcVectorBase ()
 
 rcVectorBase (const rcVectorBase< T, H > &other)
 
 rcVectorBase (rcSizeType count)
 
 rcVectorBase (rcSizeType count, const T &value)
 
 rcVectorBase (const T *begin, const T *end)
 
 ~rcVectorBase ()
 
bool reserve (rcSizeType size)
 
void assign (rcSizeType count, const T &value)
 
void assign (const T *begin, const T *end)
 
void resize (rcSizeType size)
 
void resize (rcSizeType size, const T &value)
 
void clear ()
 
void push_back (const T &value)
 
void pop_back ()
 
rcSizeType size () const
 
rcSizeType capacity () const
 
bool empty () const
 
const T & operator[] (rcSizeType i) const
 
T & operator[] (rcSizeType i)
 
const T & front () const
 
T & front ()
 
const T & back () const
 
T & back ()
 
const T * data () const
 
T * data ()
 
T * begin ()
 
const T * begin () const
 
T * end ()
 
const T * end () const
 
void swap (rcVectorBase< T, H > &other)
 
rcVectorBaseoperator= (const rcVectorBase< T, H > &other)
 
+ + + + + + +

+Additional Inherited Members

- Public Types inherited from rcVectorBase< T, RC_ALLOC_PERM >
typedef rcSizeType size_type
 
typedef T value_type
 
+

Constructor & Destructor Documentation

+ +

◆ rcPermVector() [1/5]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + +
rcPermVector< T >::rcPermVector ()
+
+inline
+
+ +
+
+ +

◆ rcPermVector() [2/5]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + +
rcPermVector< T >::rcPermVector (rcSizeType size)
+
+inlineexplicit
+
+ +
+
+ +

◆ rcPermVector() [3/5]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
rcPermVector< T >::rcPermVector (rcSizeType size,
const T & value 
)
+
+inline
+
+ +
+
+ +

◆ rcPermVector() [4/5]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + +
rcPermVector< T >::rcPermVector (const rcPermVector< T > & other)
+
+inline
+
+ +
+
+ +

◆ rcPermVector() [5/5]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
rcPermVector< T >::rcPermVector (const T * begin,
const T * end 
)
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + + diff --git a/classrcPermVector.js b/classrcPermVector.js new file mode 100644 index 00000000..b05b73d3 --- /dev/null +++ b/classrcPermVector.js @@ -0,0 +1,8 @@ +var classrcPermVector = +[ + [ "rcPermVector", "classrcPermVector.html#a4a8e2bd6e71f585760376609218e3862", null ], + [ "rcPermVector", "classrcPermVector.html#ab845b684e91805b000408677bb5f7950", null ], + [ "rcPermVector", "classrcPermVector.html#a6bab96097aa5bc2a52ed9db6cf2bfe44", null ], + [ "rcPermVector", "classrcPermVector.html#a5d48515ae3a5a8e1039d7d50a2c2a983", null ], + [ "rcPermVector", "classrcPermVector.html#a89cdaf5eed318260c697bdcbe75a82f1", null ] +]; \ No newline at end of file diff --git a/classrcPermVector.png b/classrcPermVector.png new file mode 100644 index 00000000..e9386732 Binary files /dev/null and b/classrcPermVector.png differ diff --git a/classrcScopedDelete-members.html b/classrcScopedDelete-members.html new file mode 100644 index 00000000..3d58652a --- /dev/null +++ b/classrcScopedDelete-members.html @@ -0,0 +1,110 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
rcScopedDelete< T > Member List
+
+
+ +

This is the complete list of members for rcScopedDelete< T >, including all inherited members.

+ + + + + +
operator T*()rcScopedDelete< T >inline
rcScopedDelete()rcScopedDelete< T >inline
rcScopedDelete(T *p)rcScopedDelete< T >inline
~rcScopedDelete()rcScopedDelete< T >inline
+
+ + + + + diff --git a/classrcScopedDelete.html b/classrcScopedDelete.html new file mode 100644 index 00000000..b3a917da --- /dev/null +++ b/classrcScopedDelete.html @@ -0,0 +1,260 @@ + + + + + + + +Recast Navigation: rcScopedDelete< T > Class Template Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
rcScopedDelete< T > Class Template Reference
+
+
+ +

A simple helper class used to delete an array when it goes out of scope. + More...

+ +

#include <RecastAlloc.h>

+ + + + + + + + + + + + + +

+Public Member Functions

 rcScopedDelete ()
 Constructs an instance with a null pointer. More...
 
 rcScopedDelete (T *p)
 Constructs an instance with the specified pointer. More...
 
 ~rcScopedDelete ()
 
 operator T* ()
 The root array pointer. More...
 
+

Description

+

template<class T>
+class rcScopedDelete< T >

+ +

A simple helper class used to delete an array when it goes out of scope.

+
Note
This class is rarely if ever used by the end user.
+

Constructor & Destructor Documentation

+ +

◆ rcScopedDelete() [1/2]

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + +
rcScopedDelete< T >::rcScopedDelete ()
+
+inline
+
+ +

Constructs an instance with a null pointer.

+ +
+
+ +

◆ rcScopedDelete() [2/2]

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + + +
rcScopedDelete< T >::rcScopedDelete (T * p)
+
+inline
+
+ +

Constructs an instance with the specified pointer.

+
Parameters
+ + +
[in]pAn pointer to an allocated array.
+
+
+ +
+
+ +

◆ ~rcScopedDelete()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + +
rcScopedDelete< T >::~rcScopedDelete ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +

◆ operator T*()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + +
rcScopedDelete< T >::operator T* ()
+
+inline
+
+ +

The root array pointer.

+
Returns
The root array pointer.
+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + + diff --git a/classrcScopedDelete.js b/classrcScopedDelete.js new file mode 100644 index 00000000..68f6c833 --- /dev/null +++ b/classrcScopedDelete.js @@ -0,0 +1,7 @@ +var classrcScopedDelete = +[ + [ "rcScopedDelete", "classrcScopedDelete.html#a24d9238f78295ccbd1050247030e3741", null ], + [ "rcScopedDelete", "classrcScopedDelete.html#a2f096ff87f4d48259dd85360a4218155", null ], + [ "~rcScopedDelete", "classrcScopedDelete.html#a694ef36a44d1ccac8fd3fb255d7cf9bd", null ], + [ "operator T*", "classrcScopedDelete.html#a842c6cc65c3811faead9717aa53166dd", null ] +]; \ No newline at end of file diff --git a/classrcScopedTimer-members.html b/classrcScopedTimer-members.html new file mode 100644 index 00000000..92f17cd1 --- /dev/null +++ b/classrcScopedTimer-members.html @@ -0,0 +1,108 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
rcScopedTimer Member List
+
+
+ +

This is the complete list of members for rcScopedTimer, including all inherited members.

+ + + +
rcScopedTimer(rcContext *ctx, const rcTimerLabel label)rcScopedTimerinline
~rcScopedTimer()rcScopedTimerinline
+
+ + + + + diff --git a/classrcScopedTimer.html b/classrcScopedTimer.html new file mode 100644 index 00000000..40368e80 --- /dev/null +++ b/classrcScopedTimer.html @@ -0,0 +1,198 @@ + + + + + + + +Recast Navigation: rcScopedTimer Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
rcScopedTimer Class Reference
+
+
+ +

A helper to first start a timer and then stop it when this helper goes out of scope. + More...

+ +

#include <Recast.h>

+ + + + + + + +

+Public Member Functions

 rcScopedTimer (rcContext *ctx, const rcTimerLabel label)
 Constructs an instance and starts the timer. More...
 
 ~rcScopedTimer ()
 
+

Description

+

A helper to first start a timer and then stop it when this helper goes out of scope.

+
See also
rcContext
+

Constructor & Destructor Documentation

+ +

◆ rcScopedTimer()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
rcScopedTimer::rcScopedTimer (rcContextctx,
const rcTimerLabel label 
)
+
+inline
+
+ +

Constructs an instance and starts the timer.

+
Parameters
+ + + +
[in]ctxThe context to use.
[in]labelThe category of the timer.
+
+
+ +
+
+ +

◆ ~rcScopedTimer()

+ +
+
+ + + + + +
+ + + + + + + +
rcScopedTimer::~rcScopedTimer ()
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + + diff --git a/classrcScopedTimer.js b/classrcScopedTimer.js new file mode 100644 index 00000000..7817e046 --- /dev/null +++ b/classrcScopedTimer.js @@ -0,0 +1,5 @@ +var classrcScopedTimer = +[ + [ "rcScopedTimer", "classrcScopedTimer.html#ac75ae8ce09cdb8fc53a994e027e8735f", null ], + [ "~rcScopedTimer", "classrcScopedTimer.html#a3e1e6f826e8081e67f23cd6c35653b6e", null ] +]; \ No newline at end of file diff --git a/classrcTempVector-members.html b/classrcTempVector-members.html new file mode 100644 index 00000000..4300e8ae --- /dev/null +++ b/classrcTempVector-members.html @@ -0,0 +1,144 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
rcTempVector< T > Member List
+
+
+ +

This is the complete list of members for rcTempVector< T >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
assign(rcSizeType count, const T &value)rcVectorBase< T, RC_ALLOC_TEMP >inline
assign(const T *begin, const T *end)rcVectorBase< T, RC_ALLOC_TEMP >
back() constrcVectorBase< T, RC_ALLOC_TEMP >inline
back()rcVectorBase< T, RC_ALLOC_TEMP >inline
begin()rcVectorBase< T, RC_ALLOC_TEMP >inline
begin() constrcVectorBase< T, RC_ALLOC_TEMP >inline
capacity() constrcVectorBase< T, RC_ALLOC_TEMP >inline
clear()rcVectorBase< T, RC_ALLOC_TEMP >inline
data() constrcVectorBase< T, RC_ALLOC_TEMP >inline
data()rcVectorBase< T, RC_ALLOC_TEMP >inline
empty() constrcVectorBase< T, RC_ALLOC_TEMP >inline
end()rcVectorBase< T, RC_ALLOC_TEMP >inline
end() constrcVectorBase< T, RC_ALLOC_TEMP >inline
front() constrcVectorBase< T, RC_ALLOC_TEMP >inline
front()rcVectorBase< T, RC_ALLOC_TEMP >inline
operator=(const rcVectorBase< T, H > &other)rcVectorBase< T, RC_ALLOC_TEMP >
operator[](rcSizeType i) constrcVectorBase< T, RC_ALLOC_TEMP >inline
operator[](rcSizeType i)rcVectorBase< T, RC_ALLOC_TEMP >inline
pop_back()rcVectorBase< T, RC_ALLOC_TEMP >inline
push_back(const T &value)rcVectorBase< T, RC_ALLOC_TEMP >
rcTempVector()rcTempVector< T >inline
rcTempVector(rcSizeType size)rcTempVector< T >inlineexplicit
rcTempVector(rcSizeType size, const T &value)rcTempVector< T >inline
rcTempVector(const rcTempVector< T > &other)rcTempVector< T >inline
rcTempVector(const T *begin, const T *end)rcTempVector< T >inline
rcVectorBase()rcVectorBase< T, RC_ALLOC_TEMP >inline
rcVectorBase(const rcVectorBase< T, H > &other)rcVectorBase< T, RC_ALLOC_TEMP >inline
rcVectorBase(rcSizeType count)rcVectorBase< T, RC_ALLOC_TEMP >inlineexplicit
rcVectorBase(rcSizeType count, const T &value)rcVectorBase< T, RC_ALLOC_TEMP >inline
rcVectorBase(const T *begin, const T *end)rcVectorBase< T, RC_ALLOC_TEMP >inline
reserve(rcSizeType size)rcVectorBase< T, RC_ALLOC_TEMP >
resize(rcSizeType size)rcVectorBase< T, RC_ALLOC_TEMP >inline
resize(rcSizeType size, const T &value)rcVectorBase< T, RC_ALLOC_TEMP >inline
size() constrcVectorBase< T, RC_ALLOC_TEMP >inline
size_type typedefrcVectorBase< T, RC_ALLOC_TEMP >
swap(rcVectorBase< T, H > &other)rcVectorBase< T, RC_ALLOC_TEMP >
value_type typedefrcVectorBase< T, RC_ALLOC_TEMP >
~rcVectorBase()rcVectorBase< T, RC_ALLOC_TEMP >inline
+
+ + + + + diff --git a/classrcTempVector.html b/classrcTempVector.html new file mode 100644 index 00000000..75f85b26 --- /dev/null +++ b/classrcTempVector.html @@ -0,0 +1,366 @@ + + + + + + + +Recast Navigation: rcTempVector< T > Class Template Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
rcTempVector< T > Class Template Reference
+
+
+ +

#include <RecastAlloc.h>

+
+Inheritance diagram for rcTempVector< T >:
+
+
+ + +rcVectorBase< T, RC_ALLOC_TEMP > + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 rcTempVector ()
 
 rcTempVector (rcSizeType size)
 
 rcTempVector (rcSizeType size, const T &value)
 
 rcTempVector (const rcTempVector< T > &other)
 
 rcTempVector (const T *begin, const T *end)
 
- Public Member Functions inherited from rcVectorBase< T, RC_ALLOC_TEMP >
 rcVectorBase ()
 
 rcVectorBase (const rcVectorBase< T, H > &other)
 
 rcVectorBase (rcSizeType count)
 
 rcVectorBase (rcSizeType count, const T &value)
 
 rcVectorBase (const T *begin, const T *end)
 
 ~rcVectorBase ()
 
bool reserve (rcSizeType size)
 
void assign (rcSizeType count, const T &value)
 
void assign (const T *begin, const T *end)
 
void resize (rcSizeType size)
 
void resize (rcSizeType size, const T &value)
 
void clear ()
 
void push_back (const T &value)
 
void pop_back ()
 
rcSizeType size () const
 
rcSizeType capacity () const
 
bool empty () const
 
const T & operator[] (rcSizeType i) const
 
T & operator[] (rcSizeType i)
 
const T & front () const
 
T & front ()
 
const T & back () const
 
T & back ()
 
const T * data () const
 
T * data ()
 
T * begin ()
 
const T * begin () const
 
T * end ()
 
const T * end () const
 
void swap (rcVectorBase< T, H > &other)
 
rcVectorBaseoperator= (const rcVectorBase< T, H > &other)
 
+ + + + + + +

+Additional Inherited Members

- Public Types inherited from rcVectorBase< T, RC_ALLOC_TEMP >
typedef rcSizeType size_type
 
typedef T value_type
 
+

Constructor & Destructor Documentation

+ +

◆ rcTempVector() [1/5]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + +
rcTempVector< T >::rcTempVector ()
+
+inline
+
+ +
+
+ +

◆ rcTempVector() [2/5]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + +
rcTempVector< T >::rcTempVector (rcSizeType size)
+
+inlineexplicit
+
+ +
+
+ +

◆ rcTempVector() [3/5]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
rcTempVector< T >::rcTempVector (rcSizeType size,
const T & value 
)
+
+inline
+
+ +
+
+ +

◆ rcTempVector() [4/5]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + +
rcTempVector< T >::rcTempVector (const rcTempVector< T > & other)
+
+inline
+
+ +
+
+ +

◆ rcTempVector() [5/5]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
rcTempVector< T >::rcTempVector (const T * begin,
const T * end 
)
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + + diff --git a/classrcTempVector.js b/classrcTempVector.js new file mode 100644 index 00000000..b100ebe2 --- /dev/null +++ b/classrcTempVector.js @@ -0,0 +1,8 @@ +var classrcTempVector = +[ + [ "rcTempVector", "classrcTempVector.html#af5ec381dde4823dd11a07e6148a24ecb", null ], + [ "rcTempVector", "classrcTempVector.html#a9e491141c491c6f8d486f0d3b1b8c138", null ], + [ "rcTempVector", "classrcTempVector.html#add0f3a3c33369289dbda6c516dcbf2fe", null ], + [ "rcTempVector", "classrcTempVector.html#aa33c5488bd5f8a8b2fc744b664492ec0", null ], + [ "rcTempVector", "classrcTempVector.html#ad68fddbb8a49de780a7bc5dfd7ba931b", null ] +]; \ No newline at end of file diff --git a/classrcTempVector.png b/classrcTempVector.png new file mode 100644 index 00000000..7a93f0c2 Binary files /dev/null and b/classrcTempVector.png differ diff --git a/classrcVectorBase-members.html b/classrcVectorBase-members.html new file mode 100644 index 00000000..57401ca1 --- /dev/null +++ b/classrcVectorBase-members.html @@ -0,0 +1,139 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
rcVectorBase< T, H > Member List
+
+
+ +

This is the complete list of members for rcVectorBase< T, H >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
assign(rcSizeType count, const T &value)rcVectorBase< T, H >inline
assign(const T *begin, const T *end)rcVectorBase< T, H >
back() constrcVectorBase< T, H >inline
back()rcVectorBase< T, H >inline
begin()rcVectorBase< T, H >inline
begin() constrcVectorBase< T, H >inline
capacity() constrcVectorBase< T, H >inline
clear()rcVectorBase< T, H >inline
data() constrcVectorBase< T, H >inline
data()rcVectorBase< T, H >inline
empty() constrcVectorBase< T, H >inline
end()rcVectorBase< T, H >inline
end() constrcVectorBase< T, H >inline
front() constrcVectorBase< T, H >inline
front()rcVectorBase< T, H >inline
operator=(const rcVectorBase< T, H > &other)rcVectorBase< T, H >
operator[](rcSizeType i) constrcVectorBase< T, H >inline
operator[](rcSizeType i)rcVectorBase< T, H >inline
pop_back()rcVectorBase< T, H >inline
push_back(const T &value)rcVectorBase< T, H >
rcVectorBase()rcVectorBase< T, H >inline
rcVectorBase(const rcVectorBase< T, H > &other)rcVectorBase< T, H >inline
rcVectorBase(rcSizeType count)rcVectorBase< T, H >inlineexplicit
rcVectorBase(rcSizeType count, const T &value)rcVectorBase< T, H >inline
rcVectorBase(const T *begin, const T *end)rcVectorBase< T, H >inline
reserve(rcSizeType size)rcVectorBase< T, H >
resize(rcSizeType size)rcVectorBase< T, H >inline
resize(rcSizeType size, const T &value)rcVectorBase< T, H >inline
size() constrcVectorBase< T, H >inline
size_type typedefrcVectorBase< T, H >
swap(rcVectorBase< T, H > &other)rcVectorBase< T, H >
value_type typedefrcVectorBase< T, H >
~rcVectorBase()rcVectorBase< T, H >inline
+
+ + + + + diff --git a/classrcVectorBase.html b/classrcVectorBase.html new file mode 100644 index 00000000..046ac502 --- /dev/null +++ b/classrcVectorBase.html @@ -0,0 +1,1108 @@ + + + + + + + +Recast Navigation: rcVectorBase< T, H > Class Template Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
rcVectorBase< T, H > Class Template Reference
+
+
+ +

Variable-sized storage type. + More...

+ +

#include <RecastAlloc.h>

+
+Inheritance diagram for rcVectorBase< T, H >:
+
+
+ + +rcTempVector< int > + +
+ + + + + + +

+Public Types

typedef rcSizeType size_type
 
typedef T value_type
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 rcVectorBase ()
 
 rcVectorBase (const rcVectorBase< T, H > &other)
 
 rcVectorBase (rcSizeType count)
 
 rcVectorBase (rcSizeType count, const T &value)
 
 rcVectorBase (const T *begin, const T *end)
 
 ~rcVectorBase ()
 
bool reserve (rcSizeType size)
 
void assign (rcSizeType count, const T &value)
 
void assign (const T *begin, const T *end)
 
void resize (rcSizeType size)
 
void resize (rcSizeType size, const T &value)
 
void clear ()
 
void push_back (const T &value)
 
void pop_back ()
 
rcSizeType size () const
 
rcSizeType capacity () const
 
bool empty () const
 
const T & operator[] (rcSizeType i) const
 
T & operator[] (rcSizeType i)
 
const T & front () const
 
T & front ()
 
const T & back () const
 
T & back ()
 
const T * data () const
 
T * data ()
 
T * begin ()
 
T * end ()
 
const T * begin () const
 
const T * end () const
 
void swap (rcVectorBase< T, H > &other)
 
rcVectorBaseoperator= (const rcVectorBase< T, H > &other)
 
+

Description

+

template<typename T, rcAllocHint H>
+class rcVectorBase< T, H >

+ +

Variable-sized storage type.

+

Mimics the interface of std::vector<T> with some notable differences:

    +
  • Uses rcAlloc()/rcFree() to handle storage.
  • +
  • No support for a custom allocator.
  • +
  • Uses signed size instead of size_t to avoid warnings in for loops: "for (int i = 0; i < foo.size(); i++)"
  • +
  • Omits methods of limited utility: insert/erase, (bad performance), at (we don't use exceptions), operator=.
  • +
  • assign() and the pre-sizing constructor follow C++11 semantics – they don't construct a temporary if no value is provided.
  • +
  • push_back() and resize() support adding values from the current vector. Range-based constructors and assign(begin, end) do not.
  • +
  • No specialization for bool.
  • +
+

Member Typedef Documentation

+ +

◆ size_type

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + +
typedef rcSizeType rcVectorBase< T, H >::size_type
+
+ +
+
+ +

◆ value_type

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + +
typedef T rcVectorBase< T, H >::value_type
+
+ +
+
+

Constructor & Destructor Documentation

+ +

◆ rcVectorBase() [1/5]

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + +
rcVectorBase< T, H >::rcVectorBase ()
+
+inline
+
+ +
+
+ +

◆ rcVectorBase() [2/5]

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + + +
rcVectorBase< T, H >::rcVectorBase (const rcVectorBase< T, H > & other)
+
+inline
+
+ +
+
+ +

◆ rcVectorBase() [3/5]

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + + +
rcVectorBase< T, H >::rcVectorBase (rcSizeType count)
+
+inlineexplicit
+
+ +
+
+ +

◆ rcVectorBase() [4/5]

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
rcVectorBase< T, H >::rcVectorBase (rcSizeType count,
const T & value 
)
+
+inline
+
+ +
+
+ +

◆ rcVectorBase() [5/5]

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
rcVectorBase< T, H >::rcVectorBase (const T * begin,
const T * end 
)
+
+inline
+
+ +
+
+ +

◆ ~rcVectorBase()

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + +
rcVectorBase< T, H >::~rcVectorBase ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +

◆ assign() [1/2]

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + + + + + + + + + + + + + + +
void rcVectorBase< T, H >::assign (const T * begin,
const T * end 
)
+
+ +
+
+ +

◆ assign() [2/2]

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void rcVectorBase< T, H >::assign (rcSizeType count,
const T & value 
)
+
+inline
+
+ +
+
+ +

◆ back() [1/2]

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + +
T& rcVectorBase< T, H >::back ()
+
+inline
+
+ +
+
+ +

◆ back() [2/2]

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + +
const T& rcVectorBase< T, H >::back () const
+
+inline
+
+ +
+
+ +

◆ begin() [1/2]

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + +
T* rcVectorBase< T, H >::begin ()
+
+inline
+
+ +
+
+ +

◆ begin() [2/2]

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + +
const T* rcVectorBase< T, H >::begin () const
+
+inline
+
+ +
+
+ +

◆ capacity()

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + +
rcSizeType rcVectorBase< T, H >::capacity () const
+
+inline
+
+ +
+
+ +

◆ clear()

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + +
void rcVectorBase< T, H >::clear ()
+
+inline
+
+ +
+
+ +

◆ data() [1/2]

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + +
T* rcVectorBase< T, H >::data ()
+
+inline
+
+ +
+
+ +

◆ data() [2/2]

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + +
const T* rcVectorBase< T, H >::data () const
+
+inline
+
+ +
+
+ +

◆ empty()

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + +
bool rcVectorBase< T, H >::empty () const
+
+inline
+
+ +
+
+ +

◆ end() [1/2]

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + +
T* rcVectorBase< T, H >::end ()
+
+inline
+
+ +
+
+ +

◆ end() [2/2]

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + +
const T* rcVectorBase< T, H >::end () const
+
+inline
+
+ +
+
+ +

◆ front() [1/2]

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + +
T& rcVectorBase< T, H >::front ()
+
+inline
+
+ +
+
+ +

◆ front() [2/2]

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + +
const T& rcVectorBase< T, H >::front () const
+
+inline
+
+ +
+
+ +

◆ operator=()

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + + + + +
rcVectorBase& rcVectorBase< T, H >::operator= (const rcVectorBase< T, H > & other)
+
+ +
+
+ +

◆ operator[]() [1/2]

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + + +
T& rcVectorBase< T, H >::operator[] (rcSizeType i)
+
+inline
+
+ +
+
+ +

◆ operator[]() [2/2]

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + + +
const T& rcVectorBase< T, H >::operator[] (rcSizeType i) const
+
+inline
+
+ +
+
+ +

◆ pop_back()

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + +
void rcVectorBase< T, H >::pop_back ()
+
+inline
+
+ +
+
+ +

◆ push_back()

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + + + + +
void rcVectorBase< T, H >::push_back (const T & value)
+
+ +
+
+ +

◆ reserve()

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + + + + +
bool rcVectorBase< T, H >::reserve (rcSizeType size)
+
+ +
+
+ +

◆ resize() [1/2]

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + + +
void rcVectorBase< T, H >::resize (rcSizeType size)
+
+inline
+
+ +
+
+ +

◆ resize() [2/2]

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void rcVectorBase< T, H >::resize (rcSizeType size,
const T & value 
)
+
+inline
+
+ +
+
+ +

◆ size()

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + +
+ + + + + + + +
rcSizeType rcVectorBase< T, H >::size () const
+
+inline
+
+ +
+
+ +

◆ swap()

+ +
+
+
+template<typename T , rcAllocHint H>
+ + + + + + + + +
void rcVectorBase< T, H >::swap (rcVectorBase< T, H > & other)
+
+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + + diff --git a/classrcVectorBase.js b/classrcVectorBase.js new file mode 100644 index 00000000..f8c2f85b --- /dev/null +++ b/classrcVectorBase.js @@ -0,0 +1,36 @@ +var classrcVectorBase = +[ + [ "size_type", "classrcVectorBase.html#a5ba3079d15e5dd35892d60a204284d55", null ], + [ "value_type", "classrcVectorBase.html#a9164d8fc0c6eb55bd32b8a31bd857f66", null ], + [ "rcVectorBase", "classrcVectorBase.html#a82283bb72bbcc6c9c4fada0b12d1594a", null ], + [ "rcVectorBase", "classrcVectorBase.html#a8e430f14a32b2995876ac042d32f674b", null ], + [ "rcVectorBase", "classrcVectorBase.html#a6208e9739c444e7502096879fb5533c8", null ], + [ "rcVectorBase", "classrcVectorBase.html#abc573f1079adf53bcedca5399229725a", null ], + [ "rcVectorBase", "classrcVectorBase.html#aac2d9f172cfd893f2d9909307d8f0464", null ], + [ "~rcVectorBase", "classrcVectorBase.html#a8efb26bcc33ee441869bc1b7cf850171", null ], + [ "assign", "classrcVectorBase.html#a55225c4d52eda5e77c10b41c34deab95", null ], + [ "assign", "classrcVectorBase.html#af2d02ea6aea5354a3954a5902527a7ab", null ], + [ "back", "classrcVectorBase.html#af153bfe84b00d8d36651e69252750714", null ], + [ "back", "classrcVectorBase.html#a86784ed19e1fa89f16135f27aa87b7ee", null ], + [ "begin", "classrcVectorBase.html#aad94cf6d0ea00bfe36419e4c8fa7e14f", null ], + [ "begin", "classrcVectorBase.html#ab920e47406cddfec669c07942b715eb7", null ], + [ "capacity", "classrcVectorBase.html#a44e70e9744a1c6e3dcaab2a89a7a2c65", null ], + [ "clear", "classrcVectorBase.html#ac46ddcef1d2b88f2632debbb7e28474b", null ], + [ "data", "classrcVectorBase.html#a9495317ad1f22ab74f802aedd3dfc6f9", null ], + [ "data", "classrcVectorBase.html#a3e332ce609a641c597aab6c04da61304", null ], + [ "empty", "classrcVectorBase.html#abea713b48ccadfde8ef3f3f61af23553", null ], + [ "end", "classrcVectorBase.html#a2345659d7f6de686d45030f84162ac3b", null ], + [ "end", "classrcVectorBase.html#adb66e7f35934f7ec18347cf53441bbeb", null ], + [ "front", "classrcVectorBase.html#ade9804e2b52a1024f60da5add98a8d6c", null ], + [ "front", "classrcVectorBase.html#aafaf7e6b45be95ab279c5f6a6bc308fe", null ], + [ "operator=", "classrcVectorBase.html#afcedee5f686452a024a3e9c3ebc722fa", null ], + [ "operator[]", "classrcVectorBase.html#a72c19a4fc62d73e361d116d069587259", null ], + [ "operator[]", "classrcVectorBase.html#aa4a57ac99a0e715821f3eb7457b09b03", null ], + [ "pop_back", "classrcVectorBase.html#a77865965d7b87881ca42242a8e9d6fcf", null ], + [ "push_back", "classrcVectorBase.html#a9a9a0bae26bd80346a174dbb1848fc61", null ], + [ "reserve", "classrcVectorBase.html#a1177670bcc87add05f0e060e93b5e6bd", null ], + [ "resize", "classrcVectorBase.html#a7b39b29cfdec8a9cd2aca4a7f0f7a675", null ], + [ "resize", "classrcVectorBase.html#a1cb229e5cbe8e798fe216393f2f0f327", null ], + [ "size", "classrcVectorBase.html#acfbb0217a292f75069614da62f6af0c7", null ], + [ "swap", "classrcVectorBase.html#aea266b993082cb53732f617600378dde", null ] +]; \ No newline at end of file diff --git a/classrcVectorBase.png b/classrcVectorBase.png new file mode 100644 index 00000000..d4683a98 Binary files /dev/null and b/classrcVectorBase.png differ diff --git a/closed.png b/closed.png new file mode 100644 index 00000000..98cc2c90 Binary files /dev/null and b/closed.png differ diff --git a/dir_1103d4975f5090865f21f06eb0a41e57.html b/dir_1103d4975f5090865f21f06eb0a41e57.html new file mode 100644 index 00000000..f037c17b --- /dev/null +++ b/dir_1103d4975f5090865f21f06eb0a41e57.html @@ -0,0 +1,112 @@ + + + + + + + +Recast Navigation: Include Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Include Directory Reference
+
+
+ + + + + + +

+Files

file  DetourTileCache.h [code]
 
file  DetourTileCacheBuilder.h [code]
 
+
+
+ + + + + diff --git a/dir_1af0f37a6235e05524039a045fae72b6.html b/dir_1af0f37a6235e05524039a045fae72b6.html new file mode 100644 index 00000000..fb16d30d --- /dev/null +++ b/dir_1af0f37a6235e05524039a045fae72b6.html @@ -0,0 +1,120 @@ + + + + + + + +Recast Navigation: Include Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Include Directory Reference
+
+
+ + + + + + + + + + + + + + +

+Files

file  DetourCrowd.h [code]
 
file  DetourLocalBoundary.h [code]
 
file  DetourObstacleAvoidance.h [code]
 
file  DetourPathCorridor.h [code]
 
file  DetourPathQueue.h [code]
 
file  DetourProximityGrid.h [code]
 
+
+
+ + + + + diff --git a/dir_27aa23694c6843016e524f18328049f9.html b/dir_27aa23694c6843016e524f18328049f9.html new file mode 100644 index 00000000..f491087e --- /dev/null +++ b/dir_27aa23694c6843016e524f18328049f9.html @@ -0,0 +1,112 @@ + + + + + + + +Recast Navigation: Source Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Source Directory Reference
+
+
+ + + + + + +

+Files

file  DetourTileCache.cpp
 
file  DetourTileCacheBuilder.cpp
 
+
+
+ + + + + diff --git a/dir_2fc3acb1bf582a3154f2c1ffe765c255.html b/dir_2fc3acb1bf582a3154f2c1ffe765c255.html new file mode 100644 index 00000000..6ae769df --- /dev/null +++ b/dir_2fc3acb1bf582a3154f2c1ffe765c255.html @@ -0,0 +1,122 @@ + + + + + + + +Recast Navigation: Source Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Source Directory Reference
+
+
+ + + + + + + + + + + + + + + + +

+Files

file  DetourAlloc.cpp
 
file  DetourAssert.cpp
 
file  DetourCommon.cpp
 
file  DetourNavMesh.cpp
 
file  DetourNavMeshBuilder.cpp
 
file  DetourNavMeshQuery.cpp
 
file  DetourNode.cpp
 
+
+
+ + + + + diff --git a/dir_49bbc5a28a7ee729bdecc682ba5a63c9.html b/dir_49bbc5a28a7ee729bdecc682ba5a63c9.html new file mode 100644 index 00000000..4361741f --- /dev/null +++ b/dir_49bbc5a28a7ee729bdecc682ba5a63c9.html @@ -0,0 +1,112 @@ + + + + + + + +Recast Navigation: Detour Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Detour Directory Reference
+
+
+ + + + + + +

+Directories

directory  Include
 
directory  Source
 
+
+
+ + + + + diff --git a/dir_4bbe19f15d5140a0b6a9a27796f28250.html b/dir_4bbe19f15d5140a0b6a9a27796f28250.html new file mode 100644 index 00000000..c8824621 --- /dev/null +++ b/dir_4bbe19f15d5140a0b6a9a27796f28250.html @@ -0,0 +1,116 @@ + + + + + + + +Recast Navigation: Include Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Include Directory Reference
+
+
+ + + + + + + + + + +

+Files

file  DebugDraw.h [code]
 
file  DetourDebugDraw.h [code]
 
file  RecastDebugDraw.h [code]
 
file  RecastDump.h [code]
 
+
+
+ + + + + diff --git a/dir_5baf679cf4943df8904dce5d41d4d3dc.html b/dir_5baf679cf4943df8904dce5d41d4d3dc.html new file mode 100644 index 00000000..ef2b3f5d --- /dev/null +++ b/dir_5baf679cf4943df8904dce5d41d4d3dc.html @@ -0,0 +1,110 @@ + + + + + + + +Recast Navigation: Docs Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Docs Directory Reference
+
+
+ + + + +

+Directories

directory  Extern
 
+
+
+ + + + + diff --git a/dir_76ba9689d458e28c6a6af5e586a54235.html b/dir_76ba9689d458e28c6a6af5e586a54235.html new file mode 100644 index 00000000..12dc3714 --- /dev/null +++ b/dir_76ba9689d458e28c6a6af5e586a54235.html @@ -0,0 +1,112 @@ + + + + + + + +Recast Navigation: DetourTileCache Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DetourTileCache Directory Reference
+
+
+ + + + + + +

+Directories

directory  Include
 
directory  Source
 
+
+
+ + + + + diff --git a/dir_97c6bac6df0065e0578eb2a70aa0bb50.html b/dir_97c6bac6df0065e0578eb2a70aa0bb50.html new file mode 100644 index 00000000..9f8c3462 --- /dev/null +++ b/dir_97c6bac6df0065e0578eb2a70aa0bb50.html @@ -0,0 +1,126 @@ + + + + + + + +Recast Navigation: Include Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Include Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + +

+Files

file  DetourAlloc.h [code]
 
file  DetourAssert.h [code]
 
file  DetourCommon.h [code]
 
file  DetourMath.h [code]
 
file  DetourNavMesh.h [code]
 
file  DetourNavMeshBuilder.h [code]
 
file  DetourNavMeshQuery.h [code]
 
file  DetourNode.h [code]
 
file  DetourStatus.h [code]
 
+
+
+ + + + + diff --git a/dir_aae01254010af4d99e4d89c1995b4a05.html b/dir_aae01254010af4d99e4d89c1995b4a05.html new file mode 100644 index 00000000..42bb6e75 --- /dev/null +++ b/dir_aae01254010af4d99e4d89c1995b4a05.html @@ -0,0 +1,120 @@ + + + + + + + +Recast Navigation: Source Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Source Directory Reference
+
+
+ + + + + + + + + + + + + + +

+Files

file  DetourCrowd.cpp
 
file  DetourLocalBoundary.cpp
 
file  DetourObstacleAvoidance.cpp
 
file  DetourPathCorridor.cpp
 
file  DetourPathQueue.cpp
 
file  DetourProximityGrid.cpp
 
+
+
+ + + + + diff --git a/dir_b5bdb2e5de11b9ef09b966d2ec0a4963.html b/dir_b5bdb2e5de11b9ef09b966d2ec0a4963.html new file mode 100644 index 00000000..6c7a1874 --- /dev/null +++ b/dir_b5bdb2e5de11b9ef09b966d2ec0a4963.html @@ -0,0 +1,150 @@ + + + + + + + +Recast Navigation: Source Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Source Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  ChunkyTriMesh.cpp
 
file  ConvexVolumeTool.cpp
 
file  CrowdTool.cpp
 
file  Filelist.cpp
 
file  imgui.cpp
 
file  imguiRenderGL.cpp
 
file  InputGeom.cpp
 
file  main.cpp
 
file  MeshLoaderObj.cpp
 
file  NavMeshPruneTool.cpp
 
file  NavMeshTesterTool.cpp
 
file  OffMeshConnectionTool.cpp
 
file  PerfTimer.cpp
 
file  Sample.cpp
 
file  Sample_Debug.cpp
 
file  Sample_SoloMesh.cpp
 
file  Sample_TempObstacles.cpp
 
file  Sample_TileMesh.cpp
 
file  SampleInterfaces.cpp
 
file  TestCase.cpp
 
file  ValueHistory.cpp
 
+
+
+ + + + + diff --git a/dir_bd8164545b6b3da3c53f0f7457fcb102.html b/dir_bd8164545b6b3da3c53f0f7457fcb102.html new file mode 100644 index 00000000..30611507 --- /dev/null +++ b/dir_bd8164545b6b3da3c53f0f7457fcb102.html @@ -0,0 +1,112 @@ + + + + + + + +Recast Navigation: RecastDemo Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RecastDemo Directory Reference
+
+
+ + + + + + +

+Directories

directory  Include
 
directory  Source
 
+
+
+ + + + + diff --git a/dir_d328474a4d9142b17be669c58a1761c1.html b/dir_d328474a4d9142b17be669c58a1761c1.html new file mode 100644 index 00000000..93fa7dfb --- /dev/null +++ b/dir_d328474a4d9142b17be669c58a1761c1.html @@ -0,0 +1,114 @@ + + + + + + + +Recast Navigation: Include Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Include Directory Reference
+
+
+ + + + + + + + +

+Files

file  Recast.h [code]
 
file  RecastAlloc.h [code]
 
file  RecastAssert.h [code]
 
+
+
+ + + + + diff --git a/dir_d8b7533bea1f5af90996fa478721a9c1.html b/dir_d8b7533bea1f5af90996fa478721a9c1.html new file mode 100644 index 00000000..ee35a899 --- /dev/null +++ b/dir_d8b7533bea1f5af90996fa478721a9c1.html @@ -0,0 +1,112 @@ + + + + + + + +Recast Navigation: DetourCrowd Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DetourCrowd Directory Reference
+
+
+ + + + + + +

+Directories

directory  Include
 
directory  Source
 
+
+
+ + + + + diff --git a/dir_e6cf54c9d4d29ff4a28752d861cf44fa.html b/dir_e6cf54c9d4d29ff4a28752d861cf44fa.html new file mode 100644 index 00000000..004051ea --- /dev/null +++ b/dir_e6cf54c9d4d29ff4a28752d861cf44fa.html @@ -0,0 +1,112 @@ + + + + + + + +Recast Navigation: Recast Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Recast Directory Reference
+
+
+ + + + + + +

+Directories

directory  Include
 
directory  Source
 
+
+
+ + + + + diff --git a/dir_eb75ec87febd43797c051b14714d5644.html b/dir_eb75ec87febd43797c051b14714d5644.html new file mode 100644 index 00000000..0e1fe805 --- /dev/null +++ b/dir_eb75ec87febd43797c051b14714d5644.html @@ -0,0 +1,116 @@ + + + + + + + +Recast Navigation: Source Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Source Directory Reference
+
+
+ + + + + + + + + + +

+Files

file  DebugDraw.cpp
 
file  DetourDebugDraw.cpp
 
file  RecastDebugDraw.cpp
 
file  RecastDump.cpp
 
+
+
+ + + + + diff --git a/dir_f244c4afb4303a82689423998a79af95.html b/dir_f244c4afb4303a82689423998a79af95.html new file mode 100644 index 00000000..fa275f53 --- /dev/null +++ b/dir_f244c4afb4303a82689423998a79af95.html @@ -0,0 +1,148 @@ + + + + + + + +Recast Navigation: Include Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Include Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  ChunkyTriMesh.h [code]
 
file  ConvexVolumeTool.h [code]
 
file  CrowdTool.h [code]
 
file  Filelist.h [code]
 
file  imgui.h [code]
 
file  imguiRenderGL.h [code]
 
file  InputGeom.h [code]
 
file  MeshLoaderObj.h [code]
 
file  NavMeshPruneTool.h [code]
 
file  NavMeshTesterTool.h [code]
 
file  OffMeshConnectionTool.h [code]
 
file  PerfTimer.h [code]
 
file  Sample.h [code]
 
file  Sample_Debug.h [code]
 
file  Sample_SoloMesh.h [code]
 
file  Sample_TempObstacles.h [code]
 
file  Sample_TileMesh.h [code]
 
file  SampleInterfaces.h [code]
 
file  TestCase.h [code]
 
file  ValueHistory.h [code]
 
+
+
+ + + + + diff --git a/dir_f67adae8f6e31608bcf53cdf13e52b2c.html b/dir_f67adae8f6e31608bcf53cdf13e52b2c.html new file mode 100644 index 00000000..c841a7a7 --- /dev/null +++ b/dir_f67adae8f6e31608bcf53cdf13e52b2c.html @@ -0,0 +1,104 @@ + + + + + + + +Recast Navigation: Extern Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Extern Directory Reference
+
+
+
+
+ + + + + diff --git a/dir_fc5ead6dadc041a993e0b7f2ef9bc4fa.html b/dir_fc5ead6dadc041a993e0b7f2ef9bc4fa.html new file mode 100644 index 00000000..e48c1d74 --- /dev/null +++ b/dir_fc5ead6dadc041a993e0b7f2ef9bc4fa.html @@ -0,0 +1,112 @@ + + + + + + + +Recast Navigation: DebugUtils Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DebugUtils Directory Reference
+
+
+ + + + + + +

+Directories

directory  Include
 
directory  Source
 
+
+
+ + + + + diff --git a/dir_fe7f4084ac0458032f1df717ceae8313.html b/dir_fe7f4084ac0458032f1df717ceae8313.html new file mode 100644 index 00000000..bb8ea666 --- /dev/null +++ b/dir_fe7f4084ac0458032f1df717ceae8313.html @@ -0,0 +1,130 @@ + + + + + + + +Recast Navigation: Source Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Source Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  Recast.cpp
 
file  RecastAlloc.cpp
 
file  RecastArea.cpp
 
file  RecastAssert.cpp
 
file  RecastContour.cpp
 
file  RecastFilter.cpp
 
file  RecastLayers.cpp
 
file  RecastMesh.cpp
 
file  RecastMeshDetail.cpp
 
file  RecastRasterization.cpp
 
file  RecastRegion.cpp
 
+
+
+ + + + + diff --git a/doc.png b/doc.png new file mode 100644 index 00000000..17edabff Binary files /dev/null and b/doc.png differ diff --git a/doxygen-awesome-sidebar-only.css b/doxygen-awesome-sidebar-only.css new file mode 100644 index 00000000..656ebbf4 --- /dev/null +++ b/doxygen-awesome-sidebar-only.css @@ -0,0 +1,115 @@ +/** + +Doxygen Awesome +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2021 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + */ + +html { + /* side nav width. MUST be = `TREEVIEW_WIDTH`. + * Make sure it is wide enough to contain the page title (logo + title + version) + */ + --side-nav-fixed-width: 335px; + --menu-display: none; + + --top-height: 120px; + --toc-sticky-top: -25px; + --toc-max-height: calc(100vh - 2 * var(--spacing-medium) - 25px); +} + +#projectname { + white-space: nowrap; +} + + +@media screen and (min-width: 768px) { + html { + --searchbar-background: var(--page-background-color); + } + + #side-nav { + min-width: var(--side-nav-fixed-width); + max-width: var(--side-nav-fixed-width); + top: var(--top-height); + overflow: visible; + } + + #nav-tree, #side-nav { + height: calc(100vh - var(--top-height)) !important; + } + + #nav-tree { + padding: 0; + } + + #top { + display: block; + border-bottom: none; + height: var(--top-height); + margin-bottom: calc(0px - var(--top-height)); + max-width: var(--side-nav-fixed-width); + overflow: hidden; + background: var(--side-nav-background); + } + #main-nav { + float: left; + padding-right: 0; + } + + .ui-resizable-handle { + cursor: default; + width: 1px !important; + box-shadow: 0 calc(-2 * var(--top-height)) 0 0 var(--separator-color); + } + + #nav-path { + position: fixed; + right: 0; + left: var(--side-nav-fixed-width); + bottom: 0; + width: auto; + } + + #doc-content { + height: calc(100vh - 31px) !important; + padding-bottom: calc(3 * var(--spacing-large)); + padding-top: calc(var(--top-height) - 80px); + box-sizing: border-box; + margin-left: var(--side-nav-fixed-width) !important; + } + + #MSearchBox { + width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium))); + } + + #MSearchField { + width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - 65px); + } + + #MSearchResultsWindow { + left: var(--spacing-medium) !important; + right: auto; + } +} diff --git a/doxygen-awesome.css b/doxygen-awesome.css new file mode 100644 index 00000000..abd2893c --- /dev/null +++ b/doxygen-awesome.css @@ -0,0 +1,2405 @@ +/** + +Doxygen Awesome +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2021 - 2022 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +html { + /* primary theme color. This will affect the entire websites color scheme: links, arrows, labels, ... */ + --primary-color: #1779c4; + --primary-dark-color: #335c80; + --primary-light-color: #70b1e9; + + /* page base colors */ + --page-background-color: #ffffff; + --page-foreground-color: #2f4153; + --page-secondary-foreground-color: #6f7e8e; + + /* color for all separators on the website: hr, borders, ... */ + --separator-color: #dedede; + + /* border radius for all rounded components. Will affect many components, like dropdowns, memitems, codeblocks, ... */ + --border-radius-large: 8px; + --border-radius-small: 4px; + --border-radius-medium: 6px; + + /* default spacings. Most components reference these values for spacing, to provide uniform spacing on the page. */ + --spacing-small: 5px; + --spacing-medium: 10px; + --spacing-large: 16px; + + /* default box shadow used for raising an element above the normal content. Used in dropdowns, search result, ... */ + --box-shadow: 0 2px 8px 0 rgba(0,0,0,.075); + + --odd-color: rgba(0,0,0,.028); + + /* font-families. will affect all text on the website + * font-family: the normal font for text, headlines, menus + * font-family-monospace: used for preformatted text in memtitle, code, fragments + */ + --font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif; + --font-family-monospace: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; + + /* font sizes */ + --page-font-size: 15.6px; + --navigation-font-size: 14.4px; + --toc-font-size: 13.4px; + --code-font-size: 14px; /* affects code, fragment */ + --title-font-size: 22px; + + /* content text properties. These only affect the page content, not the navigation or any other ui elements */ + --content-line-height: 27px; + /* The content is centered and constraint in it's width. To make the content fill the whole page, set the variable to auto.*/ + --content-maxwidth: 1050px; + --table-line-height: 24px; + --toc-sticky-top: var(--spacing-medium); + --toc-width: 200px; + --toc-max-height: calc(100vh - 2 * var(--spacing-medium) - 85px); + + /* colors for various content boxes: @warning, @note, @deprecated @bug */ + --warning-color: #f8d1cc; + --warning-color-dark: #b61825; + --warning-color-darker: #75070f; + --note-color: #faf3d8; + --note-color-dark: #f3a600; + --note-color-darker: #5f4204; + --todo-color: #e4f3ff; + --todo-color-dark: #1879C4; + --todo-color-darker: #274a5c; + --deprecated-color: #ecf0f3; + --deprecated-color-dark: #5b6269; + --deprecated-color-darker: #43454a; + --bug-color: #e4dafd; + --bug-color-dark: #5b2bdd; + --bug-color-darker: #2a0d72; + --invariant-color: #d8f1e3; + --invariant-color-dark: #44b86f; + --invariant-color-darker: #265532; + + /* blockquote colors */ + --blockquote-background: #f8f9fa; + --blockquote-foreground: #636568; + + /* table colors */ + --tablehead-background: #f1f1f1; + --tablehead-foreground: var(--page-foreground-color); + + /* menu-display: block | none + * Visibility of the top navigation on screens >= 768px. On smaller screen the menu is always visible. + * `GENERATE_TREEVIEW` MUST be enabled! + */ + --menu-display: block; + + --menu-focus-foreground: var(--page-background-color); + --menu-focus-background: var(--primary-color); + --menu-selected-background: rgba(0,0,0,.05); + + + --header-background: var(--page-background-color); + --header-foreground: var(--page-foreground-color); + + /* searchbar colors */ + --searchbar-background: var(--side-nav-background); + --searchbar-foreground: var(--page-foreground-color); + + /* searchbar size + * (`searchbar-width` is only applied on screens >= 768px. + * on smaller screens the searchbar will always fill the entire screen width) */ + --searchbar-height: 33px; + --searchbar-width: 210px; + --searchbar-border-radius: var(--searchbar-height); + + /* code block colors */ + --code-background: #f5f5f5; + --code-foreground: var(--page-foreground-color); + + /* fragment colors */ + --fragment-background: #F8F9FA; + --fragment-foreground: #37474F; + --fragment-keyword: #bb6bb2; + --fragment-keywordtype: #8258b3; + --fragment-keywordflow: #d67c3b; + --fragment-token: #438a59; + --fragment-comment: #969696; + --fragment-link: #5383d6; + --fragment-preprocessor: #46aaa5; + --fragment-linenumber-color: #797979; + --fragment-linenumber-background: #f4f4f5; + --fragment-linenumber-border: #e3e5e7; + --fragment-lineheight: 20px; + + /* sidebar navigation (treeview) colors */ + --side-nav-background: #fbfbfb; + --side-nav-foreground: var(--page-foreground-color); + --side-nav-arrow-opacity: 0; + --side-nav-arrow-hover-opacity: 0.9; + + --toc-background: var(--side-nav-background); + --toc-foreground: var(--side-nav-foreground); + + /* height of an item in any tree / collapsable table */ + --tree-item-height: 30px; + + --memname-font-size: var(--code-font-size); + --memtitle-font-size: 18px; + + --webkit-scrollbar-size: 7px; + --webkit-scrollbar-padding: 4px; + --webkit-scrollbar-color: var(--separator-color); +} + +@media screen and (max-width: 767px) { + html { + --page-font-size: 16px; + --navigation-font-size: 16px; + --toc-font-size: 15px; + --code-font-size: 15px; /* affects code, fragment */ + --title-font-size: 22px; + } +} + +@media (prefers-color-scheme: dark) { + html:not(.light-mode) { + color-scheme: dark; + + --primary-color: #1982d2; + --primary-dark-color: #86a9c4; + --primary-light-color: #4779ac; + + --box-shadow: 0 2px 8px 0 rgba(0,0,0,.35); + + --odd-color: rgba(100,100,100,.06); + + --menu-selected-background: rgba(0,0,0,.4); + + --page-background-color: #1C1D1F; + --page-foreground-color: #d2dbde; + --page-secondary-foreground-color: #859399; + --separator-color: #38393b; + --side-nav-background: #252628; + + --code-background: #2a2c2f; + + --tablehead-background: #2a2c2f; + + --blockquote-background: #222325; + --blockquote-foreground: #7e8c92; + + --warning-color: #2e1917; + --warning-color-dark: #ad2617; + --warning-color-darker: #f5b1aa; + --note-color: #3b2e04; + --note-color-dark: #f1b602; + --note-color-darker: #ceb670; + --todo-color: #163750; + --todo-color-dark: #1982D2; + --todo-color-darker: #dcf0fa; + --deprecated-color: #2e323b; + --deprecated-color-dark: #738396; + --deprecated-color-darker: #abb0bd; + --bug-color: #2a2536; + --bug-color-dark: #7661b3; + --bug-color-darker: #ae9ed6; + --invariant-color: #303a35; + --invariant-color-dark: #76ce96; + --invariant-color-darker: #cceed5; + + --fragment-background: #282c34; + --fragment-foreground: #dbe4eb; + --fragment-keyword: #cc99cd; + --fragment-keywordtype: #ab99cd; + --fragment-keywordflow: #e08000; + --fragment-token: #7ec699; + --fragment-comment: #999999; + --fragment-link: #98c0e3; + --fragment-preprocessor: #65cabe; + --fragment-linenumber-color: #cccccc; + --fragment-linenumber-background: #35393c; + --fragment-linenumber-border: #1f1f1f; + } +} + +/* dark mode variables are defined twice, to support both the dark-mode without and with doxygen-awesome-darkmode-toggle.js */ +html.dark-mode { + color-scheme: dark; + + --primary-color: #1982d2; + --primary-dark-color: #86a9c4; + --primary-light-color: #4779ac; + + --box-shadow: 0 2px 8px 0 rgba(0,0,0,.30); + + --odd-color: rgba(100,100,100,.06); + + --menu-selected-background: rgba(0,0,0,.4); + + --page-background-color: #1C1D1F; + --page-foreground-color: #d2dbde; + --page-secondary-foreground-color: #859399; + --separator-color: #38393b; + --side-nav-background: #252628; + + --code-background: #2a2c2f; + + --tablehead-background: #2a2c2f; + + --blockquote-background: #222325; + --blockquote-foreground: #7e8c92; + + --warning-color: #2e1917; + --warning-color-dark: #ad2617; + --warning-color-darker: #f5b1aa; + --note-color: #3b2e04; + --note-color-dark: #f1b602; + --note-color-darker: #ceb670; + --todo-color: #163750; + --todo-color-dark: #1982D2; + --todo-color-darker: #dcf0fa; + --deprecated-color: #2e323b; + --deprecated-color-dark: #738396; + --deprecated-color-darker: #abb0bd; + --bug-color: #2a2536; + --bug-color-dark: #7661b3; + --bug-color-darker: #ae9ed6; + --invariant-color: #303a35; + --invariant-color-dark: #76ce96; + --invariant-color-darker: #cceed5; + + --fragment-background: #282c34; + --fragment-foreground: #dbe4eb; + --fragment-keyword: #cc99cd; + --fragment-keywordtype: #ab99cd; + --fragment-keywordflow: #e08000; + --fragment-token: #7ec699; + --fragment-comment: #999999; + --fragment-link: #98c0e3; + --fragment-preprocessor: #65cabe; + --fragment-linenumber-color: #cccccc; + --fragment-linenumber-background: #35393c; + --fragment-linenumber-border: #1f1f1f; +} + +body { + color: var(--page-foreground-color); + background-color: var(--page-background-color); + font-size: var(--page-font-size); +} + +body, table, div, p, dl, #nav-tree .label, .title, +.sm-dox a, .sm-dox a:hover, .sm-dox a:focus, #projectname, +.SelectItem, #MSearchField, .navpath li.navelem a, +.navpath li.navelem a:hover, p.reference, p.definition { + font-family: var(--font-family); +} + +h1, h2, h3, h4, h5 { + margin-top: .9em; + font-weight: 600; + line-height: initial; +} + +p, div, table, dl, p.reference, p.definition { + font-size: var(--page-font-size); +} + +p.reference, p.definition { + color: var(--page-secondary-foreground-color); +} + +a:link, a:visited, a:hover, a:focus, a:active { + color: var(--primary-color) !important; + font-weight: 500; +} + +a.anchor { + scroll-margin-top: var(--spacing-large); + display: block; +} + +/* + Title and top navigation + */ + +#top { + background: var(--header-background); + border-bottom: 1px solid var(--separator-color); +} + +@media screen and (min-width: 768px) { + #top { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + align-items: center; + } +} + +#main-nav { + flex-grow: 5; + padding: var(--spacing-small) var(--spacing-medium); +} + +#titlearea { + width: auto; + padding: var(--spacing-medium) var(--spacing-large); + background: none; + color: var(--header-foreground); + border-bottom: none; +} + +@media screen and (max-width: 767px) { + #titlearea { + padding-bottom: var(--spacing-small); + } +} + +#titlearea table tbody tr { + height: auto !important; +} + +#projectname { + font-size: var(--title-font-size); + font-weight: 600; +} + +#projectnumber { + font-family: inherit; + font-size: 60%; +} + +#projectbrief { + font-family: inherit; + font-size: 80%; +} + +#projectlogo { + vertical-align: middle; +} + +#projectlogo img { + max-height: calc(var(--title-font-size) * 2); + margin-right: var(--spacing-small); +} + +.sm-dox, .tabs, .tabs2, .tabs3 { + background: none; + padding: 0; +} + +.tabs, .tabs2, .tabs3 { + border-bottom: 1px solid var(--separator-color); + margin-bottom: -1px; +} + +.main-menu-btn-icon, .main-menu-btn-icon:before, .main-menu-btn-icon:after { + background: var(--page-secondary-foreground-color); +} + +@media screen and (max-width: 767px) { + .sm-dox a span.sub-arrow { + background: var(--code-background); + } + + #main-menu a.has-submenu span.sub-arrow { + color: var(--page-secondary-foreground-color); + border-radius: var(--border-radius-medium); + } + + #main-menu a.has-submenu:hover span.sub-arrow { + color: var(--page-foreground-color); + } +} + +@media screen and (min-width: 768px) { + .sm-dox li, .tablist li { + display: var(--menu-display); + } + + .sm-dox a span.sub-arrow { + border-color: var(--header-foreground) transparent transparent transparent; + } + + .sm-dox a:hover span.sub-arrow { + border-color: var(--menu-focus-foreground) transparent transparent transparent; + } + + .sm-dox ul a span.sub-arrow { + border-color: transparent transparent transparent var(--page-foreground-color); + } + + .sm-dox ul a:hover span.sub-arrow { + border-color: transparent transparent transparent var(--menu-focus-foreground); + } +} + +.sm-dox ul { + background: var(--page-background-color); + box-shadow: var(--box-shadow); + border: 1px solid var(--separator-color); + border-radius: var(--border-radius-medium) !important; + padding: var(--spacing-small); + animation: ease-out 150ms slideInMenu; +} + +@keyframes slideInMenu { + from { + opacity: 0; + transform: translate(0px, -2px); + } + + to { + opacity: 1; + transform: translate(0px, 0px); + } +} + +.sm-dox ul a { + color: var(--page-foreground-color) !important; + background: var(--page-background-color); + font-size: var(--navigation-font-size); +} + +.sm-dox>li>ul:after { + border-bottom-color: var(--page-background-color) !important; +} + +.sm-dox>li>ul:before { + border-bottom-color: var(--separator-color) !important; +} + +.sm-dox ul a:hover, .sm-dox ul a:active, .sm-dox ul a:focus { + font-size: var(--navigation-font-size) !important; + color: var(--menu-focus-foreground) !important; + text-shadow: none; + background-color: var(--menu-focus-background); + border-radius: var(--border-radius-small) !important; +} + +.sm-dox a, .sm-dox a:focus, .tablist li, .tablist li a, .tablist li.current a { + text-shadow: none; + background: transparent; + background-image: none !important; + color: var(--header-foreground) !important; + font-weight: normal; + font-size: var(--navigation-font-size); + border-radius: var(--border-radius-small) !important; +} + +.sm-dox a:focus { + outline: auto; +} + +.sm-dox a:hover, .sm-dox a:active, .tablist li a:hover { + text-shadow: none; + font-weight: normal; + background: var(--menu-focus-background); + color: var(--menu-focus-foreground) !important; + border-radius: var(--border-radius-small) !important; + font-size: var(--navigation-font-size); +} + +.tablist li.current { + border-radius: var(--border-radius-small); + background: var(--menu-selected-background); +} + +.tablist li { + margin: var(--spacing-small) 0 var(--spacing-small) var(--spacing-small); +} + +.tablist a { + padding: 0 var(--spacing-large); +} + + +/* + Search box + */ + +#MSearchBox { + height: var(--searchbar-height); + background: var(--searchbar-background); + border-radius: var(--searchbar-border-radius); + border: 1px solid var(--separator-color); + overflow: hidden; + width: var(--searchbar-width); + position: relative; + box-shadow: none; + display: block; + margin-top: 0; +} + +/* until Doxygen 1.9.4 */ +.left img#MSearchSelect { + left: 0; + user-select: none; + padding-left: 8px; +} + +/* Doxygen 1.9.5 */ +.left span#MSearchSelect { + left: 0; + user-select: none; + margin-left: 8px; + padding: 0; +} + +.left #MSearchSelect[src$=".png"] { + padding-left: 0 +} + +.SelectionMark { + user-select: none; +} + +.tabs .left #MSearchSelect { + padding-left: 0; +} + +.tabs #MSearchBox { + position: absolute; + right: var(--spacing-medium); +} + +@media screen and (max-width: 767px) { + .tabs #MSearchBox { + position: relative; + right: 0; + margin-left: var(--spacing-medium); + margin-top: 0; + } +} + +#MSearchSelectWindow, #MSearchResultsWindow { + z-index: 9999; +} + +#MSearchBox.MSearchBoxActive { + border-color: var(--primary-color); + box-shadow: inset 0 0 0 1px var(--primary-color); +} + +#main-menu > li:last-child { + margin-right: 0; +} + +@media screen and (max-width: 767px) { + #main-menu > li:last-child { + height: 50px; + } +} + +#MSearchField { + font-size: var(--navigation-font-size); + height: calc(var(--searchbar-height) - 2px); + background: transparent; + width: calc(var(--searchbar-width) - 64px); +} + +.MSearchBoxActive #MSearchField { + color: var(--searchbar-foreground); +} + +#MSearchSelect { + top: calc(calc(var(--searchbar-height) / 2) - 11px); +} + +#MSearchBox span.left, #MSearchBox span.right { + background: none; + background-image: none; +} + +#MSearchBox span.right { + padding-top: calc(calc(var(--searchbar-height) / 2) - 12px); + position: absolute; + right: var(--spacing-small); +} + +.tabs #MSearchBox span.right { + top: calc(calc(var(--searchbar-height) / 2) - 12px); +} + +@keyframes slideInSearchResults { + from { + opacity: 0; + transform: translate(0, 15px); + } + + to { + opacity: 1; + transform: translate(0, 20px); + } +} + +#MSearchResultsWindow { + left: auto !important; + right: var(--spacing-medium); + border-radius: var(--border-radius-large); + border: 1px solid var(--separator-color); + transform: translate(0, 20px); + box-shadow: var(--box-shadow); + animation: ease-out 280ms slideInSearchResults; + background: var(--page-background-color); +} + +iframe#MSearchResults { + margin: 4px; +} + +iframe { + color-scheme: normal; +} + +@media (prefers-color-scheme: dark) { + html:not(.light-mode) iframe#MSearchResults { + filter: invert() hue-rotate(180deg); + } +} + +html.dark-mode iframe#MSearchResults { + filter: invert() hue-rotate(180deg); +} + +#MSearchResults .SRPage { + background-color: transparent; +} + +#MSearchResults .SRPage .SREntry { + font-size: 10pt; + padding: var(--spacing-small) var(--spacing-medium); +} + +#MSearchSelectWindow { + border: 1px solid var(--separator-color); + border-radius: var(--border-radius-medium); + box-shadow: var(--box-shadow); + background: var(--page-background-color); + padding-top: var(--spacing-small); + padding-bottom: var(--spacing-small); +} + +#MSearchSelectWindow a.SelectItem { + font-size: var(--navigation-font-size); + line-height: var(--content-line-height); + margin: 0 var(--spacing-small); + border-radius: var(--border-radius-small); + color: var(--page-foreground-color) !important; + font-weight: normal; +} + +#MSearchSelectWindow a.SelectItem:hover { + background: var(--menu-focus-background); + color: var(--menu-focus-foreground) !important; +} + +@media screen and (max-width: 767px) { + #MSearchBox { + margin-top: var(--spacing-medium); + margin-bottom: var(--spacing-medium); + width: calc(100vw - 30px); + } + + #main-menu > li:last-child { + float: none !important; + } + + #MSearchField { + width: calc(100vw - 110px); + } + + @keyframes slideInSearchResultsMobile { + from { + opacity: 0; + transform: translate(0, 15px); + } + + to { + opacity: 1; + transform: translate(0, 20px); + } + } + + #MSearchResultsWindow { + left: var(--spacing-medium) !important; + right: var(--spacing-medium); + overflow: auto; + transform: translate(0, 20px); + animation: ease-out 280ms slideInSearchResultsMobile; + width: auto !important; + } + + /* + * Overwrites for fixing the searchbox on mobile in doxygen 1.9.2 + */ + label.main-menu-btn ~ #searchBoxPos1 { + top: 3px !important; + right: 6px !important; + left: 45px; + display: flex; + } + + label.main-menu-btn ~ #searchBoxPos1 > #MSearchBox { + margin-top: 0; + margin-bottom: 0; + flex-grow: 2; + float: left; + } +} + +/* + Tree view + */ + +#side-nav { + padding: 0 !important; + background: var(--side-nav-background); +} + +@media screen and (max-width: 767px) { + #side-nav { + display: none; + } + + #doc-content { + margin-left: 0 !important; + } +} + +#nav-tree { + background: transparent; +} + +#nav-tree .label { + font-size: var(--navigation-font-size); +} + +#nav-tree .item { + height: var(--tree-item-height); + line-height: var(--tree-item-height); +} + +#nav-sync { + bottom: 12px; + right: 12px; + top: auto !important; + user-select: none; +} + +#nav-tree .selected { + text-shadow: none; + background-image: none; + background-color: transparent; + position: relative; +} + +#nav-tree .selected::after { + content: ""; + position: absolute; + top: 1px; + bottom: 1px; + left: 0; + width: 4px; + border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0; + background: var(--primary-color); +} + + +#nav-tree a { + color: var(--side-nav-foreground) !important; + font-weight: normal; +} + +#nav-tree a:focus { + outline-style: auto; +} + +#nav-tree .arrow { + opacity: var(--side-nav-arrow-opacity); +} + +.arrow { + color: inherit; + cursor: pointer; + font-size: 45%; + vertical-align: middle; + margin-right: 2px; + font-family: serif; + height: auto; + text-align: right; +} + +#nav-tree div.item:hover .arrow, #nav-tree a:focus .arrow { + opacity: var(--side-nav-arrow-hover-opacity); +} + +#nav-tree .selected a { + color: var(--primary-color) !important; + font-weight: bolder; + font-weight: 600; +} + +.ui-resizable-e { + background: var(--separator-color); + width: 1px; +} + +/* + Contents + */ + +div.header { + border-bottom: 1px solid var(--separator-color); + background-color: var(--page-background-color); + background-image: none; +} + +@media screen and (min-width: 1000px) { + #doc-content > div > div.contents, + .PageDoc > div.contents { + display: flex; + flex-direction: row-reverse; + flex-wrap: nowrap; + align-items: flex-start; + } + + div.contents .textblock { + min-width: 200px; + flex-grow: 1; + } +} + +div.contents, div.header .title, div.header .summary { + max-width: var(--content-maxwidth); +} + +div.contents, div.header .title { + line-height: initial; + margin: calc(var(--spacing-medium) + .2em) auto var(--spacing-medium) auto; +} + +div.header .summary { + margin: var(--spacing-medium) auto 0 auto; +} + +div.headertitle { + padding: 0; +} + +div.header .title { + font-weight: 600; + font-size: 225%; + padding: var(--spacing-medium) var(--spacing-large); + word-break: break-word; +} + +div.header .summary { + width: auto; + display: block; + float: none; + padding: 0 var(--spacing-large); +} + +td.memSeparator { + border-color: var(--separator-color); +} + +span.mlabel { + background: var(--primary-color); + border: none; + padding: 4px 9px; + border-radius: 12px; + margin-right: var(--spacing-medium); +} + +span.mlabel:last-of-type { + margin-right: 2px; +} + +div.contents { + padding: 0 var(--spacing-large); +} + +div.contents p, div.contents li { + line-height: var(--content-line-height); +} + +div.contents div.dyncontent { + margin: var(--spacing-medium) 0; +} + +@media (prefers-color-scheme: dark) { + html:not(.light-mode) div.contents div.dyncontent img, + html:not(.light-mode) div.contents center img, + html:not(.light-mode) div.contents > table img, + html:not(.light-mode) div.contents div.dyncontent iframe, + html:not(.light-mode) div.contents center iframe, + html:not(.light-mode) div.contents table iframe { + filter: hue-rotate(180deg) invert(); + } +} + +html.dark-mode div.contents div.dyncontent img, +html.dark-mode div.contents center img, +html.dark-mode div.contents > table img, +html.dark-mode div.contents div.dyncontent iframe, +html.dark-mode div.contents center iframe, +html.dark-mode div.contents table iframe { + filter: hue-rotate(180deg) invert(); +} + +h2.groupheader { + border-bottom: 0px; + color: var(--page-foreground-color); + box-shadow: + 100px 0 var(--page-background-color), + -100px 0 var(--page-background-color), + 100px 0.75px var(--separator-color), + -100px 0.75px var(--separator-color), + 500px 0 var(--page-background-color), + -500px 0 var(--page-background-color), + 500px 0.75px var(--separator-color), + -500px 0.75px var(--separator-color), + 900px 0 var(--page-background-color), + -900px 0 var(--page-background-color), + 900px 0.75px var(--separator-color), + -900px 0.75px var(--separator-color), + 1400px 0 var(--page-background-color), + -1400px 0 var(--page-background-color), + 1400px 0.75px var(--separator-color), + -1400px 0.75px var(--separator-color), + 1900px 0 var(--page-background-color), + -1900px 0 var(--page-background-color), + 1900px 0.75px var(--separator-color), + -1900px 0.75px var(--separator-color); +} + +blockquote { + margin: 0 var(--spacing-medium) 0 var(--spacing-medium); + padding: var(--spacing-small) var(--spacing-large); + background: var(--blockquote-background); + color: var(--blockquote-foreground); + border-left: 0; + overflow: visible; + border-radius: var(--border-radius-medium); + overflow: visible; + position: relative; +} + +blockquote::before, blockquote::after { + font-weight: bold; + font-family: serif; + font-size: 360%; + opacity: .15; + position: absolute; +} + +blockquote::before { + content: "“"; + left: -10px; + top: 4px; +} + +blockquote::after { + content: "”"; + right: -8px; + bottom: -25px; +} + +blockquote p { + margin: var(--spacing-small) 0 var(--spacing-medium) 0; +} +.paramname { + font-weight: 600; + color: var(--primary-dark-color); +} + +.paramname > code { + border: 0; +} + +table.params .paramname { + font-weight: 600; + font-family: var(--font-family-monospace); + font-size: var(--code-font-size); + padding-right: var(--spacing-small); + line-height: var(--table-line-height); +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px var(--primary-light-color); +} + +.alphachar a { + color: var(--page-foreground-color); +} + +/* + Table of Contents + */ + +div.contents .toc { + max-height: var(--toc-max-height); + min-width: var(--toc-width); + border: 0; + border-left: 1px solid var(--separator-color); + border-radius: 0; + background-color: transparent; + box-shadow: none; + position: sticky; + top: var(--toc-sticky-top); + padding: 0 var(--spacing-large); + margin: var(--spacing-small) 0 var(--spacing-large) var(--spacing-large); +} + +div.toc h3 { + color: var(--toc-foreground); + font-size: var(--navigation-font-size); + margin: var(--spacing-large) 0 var(--spacing-medium) 0; +} + +div.toc li { + padding: 0; + background: none; + line-height: var(--toc-font-size); + margin: var(--toc-font-size) 0 0 0; +} + +div.toc li::before { + display: none; +} + +div.toc ul { + margin-top: 0 +} + +div.toc li a { + font-size: var(--toc-font-size); + color: var(--page-foreground-color) !important; + text-decoration: none; +} + +div.toc li a:hover, div.toc li a.active { + color: var(--primary-color) !important; +} + +div.toc li a.aboveActive { + color: var(--page-secondary-foreground-color) !important; +} + + +@media screen and (max-width: 999px) { + div.contents .toc { + max-height: 45vh; + float: none; + width: auto; + margin: 0 0 var(--spacing-medium) 0; + position: relative; + top: 0; + position: relative; + border: 1px solid var(--separator-color); + border-radius: var(--border-radius-medium); + background-color: var(--toc-background); + box-shadow: var(--box-shadow); + } + + div.contents .toc.interactive { + max-height: calc(var(--navigation-font-size) + 2 * var(--spacing-large)); + overflow: hidden; + } + + div.contents .toc > h3 { + -webkit-tap-highlight-color: transparent; + cursor: pointer; + position: sticky; + top: 0; + background-color: var(--toc-background); + margin: 0; + padding: var(--spacing-large) 0; + display: block; + } + + div.contents .toc.interactive > h3::before { + content: ""; + width: 0; + height: 0; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 5px solid var(--primary-color); + display: inline-block; + margin-right: var(--spacing-small); + margin-bottom: calc(var(--navigation-font-size) / 4); + transform: rotate(-90deg); + transition: transform 0.25s ease-out; + } + + div.contents .toc.interactive.open > h3::before { + transform: rotate(0deg); + } + + div.contents .toc.interactive.open { + max-height: 45vh; + overflow: auto; + transition: max-height 0.2s ease-in-out; + } + + div.contents .toc a, div.contents .toc a.active { + color: var(--primary-color) !important; + } + + div.contents .toc a:hover { + text-decoration: underline; + } +} + +/* + Code & Fragments + */ + +code, div.fragment, pre.fragment { + border-radius: var(--border-radius-small); + border: 1px solid var(--separator-color); + overflow: hidden; +} + +code { + display: inline; + background: var(--code-background); + color: var(--code-foreground); + padding: 2px 6px; +} + +div.fragment, pre.fragment { + margin: var(--spacing-medium) 0; + padding: calc(var(--spacing-large) - (var(--spacing-large) / 6)) var(--spacing-large); + background: var(--fragment-background); + color: var(--fragment-foreground); + overflow-x: auto; +} + +@media screen and (max-width: 767px) { + div.fragment, pre.fragment { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-right: 0; + } + + .contents > div.fragment, + .textblock > div.fragment, + .textblock > pre.fragment, + .contents > .doxygen-awesome-fragment-wrapper > div.fragment, + .textblock > .doxygen-awesome-fragment-wrapper > div.fragment, + .textblock > .doxygen-awesome-fragment-wrapper > pre.fragment { + margin: var(--spacing-medium) calc(0px - var(--spacing-large)); + border-radius: 0; + border-left: 0; + } + + .textblock li > .fragment, + .textblock li > .doxygen-awesome-fragment-wrapper > .fragment { + margin: var(--spacing-medium) calc(0px - var(--spacing-large)); + } + + .memdoc li > .fragment, + .memdoc li > .doxygen-awesome-fragment-wrapper > .fragment { + margin: var(--spacing-medium) calc(0px - var(--spacing-medium)); + } + + .textblock ul, .memdoc ul { + overflow: initial; + } + + .memdoc > div.fragment, + .memdoc > pre.fragment, + dl dd > div.fragment, + dl dd pre.fragment, + .memdoc > .doxygen-awesome-fragment-wrapper > div.fragment, + .memdoc > .doxygen-awesome-fragment-wrapper > pre.fragment, + dl dd > .doxygen-awesome-fragment-wrapper > div.fragment, + dl dd .doxygen-awesome-fragment-wrapper > pre.fragment { + margin: var(--spacing-medium) calc(0px - var(--spacing-medium)); + border-radius: 0; + border-left: 0; + } +} + +code, code a, pre.fragment, div.fragment, div.fragment .line, div.fragment span, div.fragment .line a, div.fragment .line span { + font-family: var(--font-family-monospace); + font-size: var(--code-font-size) !important; +} + +div.line:after { + margin-right: var(--spacing-medium); +} + +div.fragment .line, pre.fragment { + white-space: pre; + word-wrap: initial; + line-height: var(--fragment-lineheight); +} + +div.fragment span.keyword { + color: var(--fragment-keyword); +} + +div.fragment span.keywordtype { + color: var(--fragment-keywordtype); +} + +div.fragment span.keywordflow { + color: var(--fragment-keywordflow); +} + +div.fragment span.stringliteral { + color: var(--fragment-token) +} + +div.fragment span.comment { + color: var(--fragment-comment); +} + +div.fragment a.code { + color: var(--fragment-link) !important; +} + +div.fragment span.preprocessor { + color: var(--fragment-preprocessor); +} + +div.fragment span.lineno { + display: inline-block; + width: 27px; + border-right: none; + background: var(--fragment-linenumber-background); + color: var(--fragment-linenumber-color); +} + +div.fragment span.lineno a { + background: none; + color: var(--fragment-link) !important; +} + +div.fragment .line:first-child .lineno { + box-shadow: -999999px 0px 0 999999px var(--fragment-linenumber-background), -999998px 0px 0 999999px var(--fragment-linenumber-border); +} + +div.line { + border-radius: var(--border-radius-small); +} + +div.line.glow { + background-color: var(--primary-light-color); + box-shadow: none; +} + +/* + dl warning, attention, note, deprecated, bug, ... + */ + +dl.bug dt a, dl.deprecated dt a, dl.todo dt a { + font-weight: bold !important; +} + +dl.warning, dl.attention, dl.note, dl.deprecated, dl.bug, dl.invariant, dl.pre, dl.todo, dl.remark { + padding: var(--spacing-medium); + margin: var(--spacing-medium) 0; + color: var(--page-background-color); + overflow: hidden; + margin-left: 0; + border-radius: var(--border-radius-small); +} + +dl.section dd { + margin-bottom: 2px; +} + +dl.warning, dl.attention { + background: var(--warning-color); + border-left: 8px solid var(--warning-color-dark); + color: var(--warning-color-darker); +} + +dl.warning dt, dl.attention dt { + color: var(--warning-color-dark); +} + +dl.note, dl.remark { + background: var(--note-color); + border-left: 8px solid var(--note-color-dark); + color: var(--note-color-darker); +} + +dl.note dt, dl.remark dt { + color: var(--note-color-dark); +} + +dl.todo { + background: var(--todo-color); + border-left: 8px solid var(--todo-color-dark); + color: var(--todo-color-darker); +} + +dl.todo dt { + color: var(--todo-color-dark); +} + +dl.bug dt a { + color: var(--todo-color-dark) !important; +} + +dl.bug { + background: var(--bug-color); + border-left: 8px solid var(--bug-color-dark); + color: var(--bug-color-darker); +} + +dl.bug dt a { + color: var(--bug-color-dark) !important; +} + +dl.deprecated { + background: var(--deprecated-color); + border-left: 8px solid var(--deprecated-color-dark); + color: var(--deprecated-color-darker); +} + +dl.deprecated dt a { + color: var(--deprecated-color-dark) !important; +} + +dl.section dd, dl.bug dd, dl.deprecated dd, dl.todo dd { + margin-inline-start: 0px; +} + +dl.invariant, dl.pre { + background: var(--invariant-color); + border-left: 8px solid var(--invariant-color-dark); + color: var(--invariant-color-darker); +} + +dl.invariant dt, dl.pre dt { + color: var(--invariant-color-dark); +} + +/* + memitem + */ + +div.memdoc, div.memproto, h2.memtitle { + box-shadow: none; + background-image: none; + border: none; +} + +div.memdoc { + padding: 0 var(--spacing-medium); + background: var(--page-background-color); +} + +h2.memtitle, div.memitem { + border: 1px solid var(--separator-color); + box-shadow: var(--box-shadow); +} + +h2.memtitle { + box-shadow: 0px var(--spacing-medium) 0 -1px var(--fragment-background), var(--box-shadow); +} + +div.memitem { + transition: none; +} + +div.memproto, h2.memtitle { + background: var(--fragment-background); +} + +h2.memtitle { + font-weight: 500; + font-size: var(--memtitle-font-size); + font-family: var(--font-family-monospace); + border-bottom: none; + border-top-left-radius: var(--border-radius-medium); + border-top-right-radius: var(--border-radius-medium); + word-break: break-all; + position: relative; +} + +h2.memtitle:after { + content: ""; + display: block; + background: var(--fragment-background); + height: var(--spacing-medium); + bottom: calc(0px - var(--spacing-medium)); + left: 0; + right: -14px; + position: absolute; + border-top-right-radius: var(--border-radius-medium); +} + +h2.memtitle > span.permalink { + font-size: inherit; +} + +h2.memtitle > span.permalink > a { + text-decoration: none; + padding-left: 3px; + margin-right: -4px; + user-select: none; + display: inline-block; + margin-top: -6px; +} + +h2.memtitle > span.permalink > a:hover { + color: var(--primary-dark-color) !important; +} + +a:target + h2.memtitle, a:target + h2.memtitle + div.memitem { + border-color: var(--primary-light-color); +} + +div.memitem { + border-top-right-radius: var(--border-radius-medium); + border-bottom-right-radius: var(--border-radius-medium); + border-bottom-left-radius: var(--border-radius-medium); + overflow: hidden; + display: block !important; +} + +div.memdoc { + border-radius: 0; +} + +div.memproto { + border-radius: 0 var(--border-radius-small) 0 0; + overflow: auto; + border-bottom: 1px solid var(--separator-color); + padding: var(--spacing-medium); + margin-bottom: -1px; +} + +div.memtitle { + border-top-right-radius: var(--border-radius-medium); + border-top-left-radius: var(--border-radius-medium); +} + +div.memproto table.memname { + font-family: var(--font-family-monospace); + color: var(--page-foreground-color); + font-size: var(--memname-font-size); + text-shadow: none; +} + +div.memproto div.memtemplate { + font-family: var(--font-family-monospace); + color: var(--primary-dark-color); + font-size: var(--memname-font-size); + margin-left: 2px; + text-shadow: none; +} + +table.mlabels, table.mlabels > tbody { + display: block; +} + +td.mlabels-left { + width: auto; +} + +td.mlabels-right { + margin-top: 3px; + position: sticky; + left: 0; +} + +table.mlabels > tbody > tr:first-child { + display: flex; + justify-content: space-between; + flex-wrap: wrap; +} + +.memname, .memitem span.mlabels { + margin: 0 +} + +/* + reflist + */ + +dl.reflist { + box-shadow: var(--box-shadow); + border-radius: var(--border-radius-medium); + border: 1px solid var(--separator-color); + overflow: hidden; + padding: 0; +} + + +dl.reflist dt, dl.reflist dd { + box-shadow: none; + text-shadow: none; + background-image: none; + border: none; + padding: 12px; +} + + +dl.reflist dt { + font-weight: 500; + border-radius: 0; + background: var(--code-background); + border-bottom: 1px solid var(--separator-color); + color: var(--page-foreground-color) +} + + +dl.reflist dd { + background: none; +} + +/* + Table + */ + +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname), +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody { + display: inline-block; + max-width: 100%; +} + +.contents > table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname):not(.classindex) { + margin-left: calc(0px - var(--spacing-large)); + margin-right: calc(0px - var(--spacing-large)); + max-width: calc(100% + 2 * var(--spacing-large)); +} + +table.fieldtable, +table.markdownTable tbody, +table.doxtable tbody { + border: none; + margin: var(--spacing-medium) 0; + box-shadow: 0 0 0 1px var(--separator-color); + border-radius: var(--border-radius-small); +} + +table.doxtable caption { + display: block; +} + +table.fieldtable { + border-collapse: collapse; + width: 100%; +} + +th.markdownTableHeadLeft, +th.markdownTableHeadRight, +th.markdownTableHeadCenter, +th.markdownTableHeadNone, +table.doxtable th { + background: var(--tablehead-background); + color: var(--tablehead-foreground); + font-weight: 600; + font-size: var(--page-font-size); +} + +th.markdownTableHeadLeft:first-child, +th.markdownTableHeadRight:first-child, +th.markdownTableHeadCenter:first-child, +th.markdownTableHeadNone:first-child, +table.doxtable tr th:first-child { + border-top-left-radius: var(--border-radius-small); +} + +th.markdownTableHeadLeft:last-child, +th.markdownTableHeadRight:last-child, +th.markdownTableHeadCenter:last-child, +th.markdownTableHeadNone:last-child, +table.doxtable tr th:last-child { + border-top-right-radius: var(--border-radius-small); +} + +table.markdownTable td, +table.markdownTable th, +table.fieldtable td, +table.fieldtable th, +table.doxtable td, +table.doxtable th { + border: 1px solid var(--separator-color); + padding: var(--spacing-small) var(--spacing-medium); +} + +table.markdownTable td:last-child, +table.markdownTable th:last-child, +table.fieldtable td:last-child, +table.fieldtable th:last-child, +table.doxtable td:last-child, +table.doxtable th:last-child { + border-right: none; +} + +table.markdownTable td:first-child, +table.markdownTable th:first-child, +table.fieldtable td:first-child, +table.fieldtable th:first-child, +table.doxtable td:first-child, +table.doxtable th:first-child { + border-left: none; +} + +table.markdownTable tr:first-child td, +table.markdownTable tr:first-child th, +table.fieldtable tr:first-child td, +table.fieldtable tr:first-child th, +table.doxtable tr:first-child td, +table.doxtable tr:first-child th { + border-top: none; +} + +table.markdownTable tr:last-child td, +table.markdownTable tr:last-child th, +table.fieldtable tr:last-child td, +table.fieldtable tr:last-child th, +table.doxtable tr:last-child td, +table.doxtable tr:last-child th { + border-bottom: none; +} + +table.markdownTable tr, table.doxtable tr { + border-bottom: 1px solid var(--separator-color); +} + +table.markdownTable tr:last-child, table.doxtable tr:last-child { + border-bottom: none; +} + +table.fieldtable th { + font-size: var(--page-font-size); + font-weight: 600; + background-image: none; + background-color: var(--tablehead-background); + color: var(--tablehead-foreground); +} + +table.fieldtable td.fieldtype, .fieldtable td.fieldname, .fieldtable td.fielddoc, .fieldtable th { + border-bottom: 1px solid var(--separator-color); + border-right: 1px solid var(--separator-color); +} + +table.fieldtable tr:last-child td:first-child { + border-bottom-left-radius: var(--border-radius-small); +} + +table.fieldtable tr:last-child td:last-child { + border-bottom-right-radius: var(--border-radius-small); +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: var(--primary-light-color); + box-shadow: none; +} + +table.memberdecls { + display: block; + -webkit-tap-highlight-color: transparent; +} + +table.memberdecls tr[class^='memitem'] { + font-family: var(--font-family-monospace); + font-size: var(--code-font-size); +} + +table.memberdecls tr[class^='memitem'] .memTemplParams { + font-family: var(--font-family-monospace); + font-size: var(--code-font-size); + color: var(--primary-dark-color); + white-space: normal; +} + +table.memberdecls .memItemLeft, +table.memberdecls .memItemRight, +table.memberdecls .memTemplItemLeft, +table.memberdecls .memTemplItemRight, +table.memberdecls .memTemplParams { + transition: none; + padding-top: var(--spacing-small); + padding-bottom: var(--spacing-small); + border-top: 1px solid var(--separator-color); + border-bottom: 1px solid var(--separator-color); + background-color: var(--fragment-background); +} + +table.memberdecls .memTemplItemLeft, +table.memberdecls .memTemplItemRight { + padding-top: 2px; +} + +table.memberdecls .memTemplParams { + border-bottom: 0; + border-left: 1px solid var(--separator-color); + border-right: 1px solid var(--separator-color); + border-radius: var(--border-radius-small) var(--border-radius-small) 0 0; + padding-bottom: var(--spacing-small); +} + +table.memberdecls .memTemplItemLeft { + border-radius: 0 0 0 var(--border-radius-small); + border-left: 1px solid var(--separator-color); + border-top: 0; +} + +table.memberdecls .memTemplItemRight { + border-radius: 0 0 var(--border-radius-small) 0; + border-right: 1px solid var(--separator-color); + padding-left: 0; + border-top: 0; +} + +table.memberdecls .memItemLeft { + border-radius: var(--border-radius-small) 0 0 var(--border-radius-small); + border-left: 1px solid var(--separator-color); + padding-left: var(--spacing-medium); + padding-right: 0; +} + +table.memberdecls .memItemRight { + border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0; + border-right: 1px solid var(--separator-color); + padding-right: var(--spacing-medium); + padding-left: 0; + +} + +table.memberdecls .mdescLeft, table.memberdecls .mdescRight { + background: none; + color: var(--page-foreground-color); + padding: var(--spacing-small) 0; +} + +table.memberdecls .memItemLeft, +table.memberdecls .memTemplItemLeft { + padding-right: var(--spacing-medium); +} + +table.memberdecls .memSeparator { + background: var(--page-background-color); + height: var(--spacing-large); + border: 0; + transition: none; +} + +table.memberdecls .groupheader { + margin-bottom: var(--spacing-large); +} + +table.memberdecls .inherit_header td { + padding: 0 0 var(--spacing-medium) 0; + text-indent: -12px; + color: var(--page-secondary-foreground-color); +} + +table.memberdecls img[src="closed.png"], +table.memberdecls img[src="open.png"], +div.dynheader img[src="open.png"], +div.dynheader img[src="closed.png"] { + width: 0; + height: 0; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 5px solid var(--primary-color); + margin-top: 8px; + display: block; + float: left; + margin-left: -10px; + transition: transform 0.25s ease-out; +} + +table.memberdecls img { + margin-right: 10px; +} + +table.memberdecls img[src="closed.png"], +div.dynheader img[src="closed.png"] { + transform: rotate(-90deg); + +} + +.compoundTemplParams { + font-family: var(--font-family-monospace); + color: var(--primary-dark-color); + font-size: var(--code-font-size); +} + +@media screen and (max-width: 767px) { + + table.memberdecls .memItemLeft, + table.memberdecls .memItemRight, + table.memberdecls .mdescLeft, + table.memberdecls .mdescRight, + table.memberdecls .memTemplItemLeft, + table.memberdecls .memTemplItemRight, + table.memberdecls .memTemplParams { + display: block; + text-align: left; + padding-left: var(--spacing-large); + margin: 0 calc(0px - var(--spacing-large)) 0 calc(0px - var(--spacing-large)); + border-right: none; + border-left: none; + border-radius: 0; + white-space: normal; + } + + table.memberdecls .memItemLeft, + table.memberdecls .mdescLeft, + table.memberdecls .memTemplItemLeft { + border-bottom: 0; + padding-bottom: 0; + } + + table.memberdecls .memTemplItemLeft { + padding-top: 0; + } + + table.memberdecls .mdescLeft { + margin-bottom: calc(0px - var(--page-font-size)); + } + + table.memberdecls .memItemRight, + table.memberdecls .mdescRight, + table.memberdecls .memTemplItemRight { + border-top: 0; + padding-top: 0; + padding-right: var(--spacing-large); + overflow-x: auto; + } + + table.memberdecls tr[class^='memitem']:not(.inherit) { + display: block; + width: calc(100vw - 2 * var(--spacing-large)); + } + + table.memberdecls .mdescRight { + color: var(--page-foreground-color); + } + + table.memberdecls tr.inherit { + visibility: hidden; + } + + table.memberdecls tr[style="display: table-row;"] { + display: block !important; + visibility: visible; + width: calc(100vw - 2 * var(--spacing-large)); + animation: fade .5s; + } + + @keyframes fade { + 0% { + opacity: 0; + max-height: 0; + } + + 100% { + opacity: 1; + max-height: 200px; + } + } +} + + +/* + Horizontal Rule + */ + +hr { + margin-top: var(--spacing-large); + margin-bottom: var(--spacing-large); + height: 1px; + background-color: var(--separator-color); + border: 0; +} + +.contents hr { + box-shadow: 100px 0 0 var(--separator-color), + -100px 0 0 var(--separator-color), + 500px 0 0 var(--separator-color), + -500px 0 0 var(--separator-color), + 1500px 0 0 var(--separator-color), + -1500px 0 0 var(--separator-color), + 2000px 0 0 var(--separator-color), + -2000px 0 0 var(--separator-color); +} + +.contents img, .contents .center, .contents center, .contents div.image object { + max-width: 100%; + overflow: auto; +} + +@media screen and (max-width: 767px) { + .contents .dyncontent > .center, .contents > center { + margin-left: calc(0px - var(--spacing-large)); + margin-right: calc(0px - var(--spacing-large)); + max-width: calc(100% + 2 * var(--spacing-large)); + } +} + +/* + Directories + */ +div.directory { + border-top: 1px solid var(--separator-color); + border-bottom: 1px solid var(--separator-color); + width: auto; +} + +table.directory { + font-family: var(--font-family); + font-size: var(--page-font-size); + font-weight: normal; + width: 100%; +} + +table.directory td.entry, table.directory td.desc { + padding: calc(var(--spacing-small) / 2) var(--spacing-small); + line-height: var(--table-line-height); +} + +table.directory tr.even td:last-child { + border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0; +} + +table.directory tr.even td:first-child { + border-radius: var(--border-radius-small) 0 0 var(--border-radius-small); +} + +table.directory tr.even:last-child td:last-child { + border-radius: 0 var(--border-radius-small) 0 0; +} + +table.directory tr.even:last-child td:first-child { + border-radius: var(--border-radius-small) 0 0 0; +} + +table.directory td.desc { + min-width: 250px; +} + +table.directory tr.even { + background-color: var(--odd-color); +} + +table.directory tr.odd { + background-color: transparent; +} + +.icona { + width: auto; + height: auto; + margin: 0 var(--spacing-small); +} + +.icon { + background: var(--primary-color); + border-radius: var(--border-radius-small); + font-size: var(--page-font-size); + padding: calc(var(--page-font-size) / 5); + line-height: var(--page-font-size); + transform: scale(0.8); + height: auto; + width: var(--page-font-size); + user-select: none; +} + +.iconfopen, .icondoc, .iconfclosed { + background-position: center; + margin-bottom: 0; + height: var(--table-line-height); +} + +.icondoc { + filter: saturate(0.2); +} + +@media screen and (max-width: 767px) { + div.directory { + margin-left: calc(0px - var(--spacing-large)); + margin-right: calc(0px - var(--spacing-large)); + } +} + +@media (prefers-color-scheme: dark) { + html:not(.light-mode) .iconfopen, html:not(.light-mode) .iconfclosed { + filter: hue-rotate(180deg) invert(); + } +} + +html.dark-mode .iconfopen, html.dark-mode .iconfclosed { + filter: hue-rotate(180deg) invert(); +} + +/* + Class list + */ + +.classindex dl.odd { + background: var(--odd-color); + border-radius: var(--border-radius-small); +} + +.classindex dl.even { + background-color: transparent; +} + +/* + Class Index Doxygen 1.8 +*/ + +table.classindex { + margin-left: 0; + margin-right: 0; + width: 100%; +} + +table.classindex table div.ah { + background-image: none; + background-color: initial; + border-color: var(--separator-color); + color: var(--page-foreground-color); + box-shadow: var(--box-shadow); + border-radius: var(--border-radius-large); + padding: var(--spacing-small); +} + +div.qindex { + background-color: var(--odd-color); + border-radius: var(--border-radius-small); + border: 1px solid var(--separator-color); + padding: var(--spacing-small) 0; +} + +/* + Footer and nav-path + */ + +#nav-path { + width: 100%; +} + +#nav-path ul { + background-image: none; + background: var(--page-background-color); + border: none; + border-top: 1px solid var(--separator-color); + border-bottom: 1px solid var(--separator-color); + border-bottom: 0; + box-shadow: 0 0.75px 0 var(--separator-color); + font-size: var(--navigation-font-size); +} + +img.footer { + width: 60px; +} + +.navpath li.footer { + color: var(--page-secondary-foreground-color); +} + +address.footer { + color: var(--page-secondary-foreground-color); + margin-bottom: var(--spacing-large); +} + +#nav-path li.navelem { + background-image: none; + display: flex; + align-items: center; +} + +.navpath li.navelem a { + text-shadow: none; + display: inline-block; + color: var(--primary-color) !important; +} + +.navpath li.navelem b { + color: var(--primary-dark-color); + font-weight: 500; +} + +li.navelem { + padding: 0; + margin-left: -8px; +} + +li.navelem:first-child { + margin-left: var(--spacing-large); +} + +li.navelem:first-child:before { + display: none; +} + +#nav-path li.navelem:after { + content: ''; + border: 5px solid var(--page-background-color); + border-bottom-color: transparent; + border-right-color: transparent; + border-top-color: transparent; + transform: translateY(-1px) scaleY(4.2); + z-index: 10; + margin-left: 6px; +} + +#nav-path li.navelem:before { + content: ''; + border: 5px solid var(--separator-color); + border-bottom-color: transparent; + border-right-color: transparent; + border-top-color: transparent; + transform: translateY(-1px) scaleY(3.2); + margin-right: var(--spacing-small); +} + +.navpath li.navelem a:hover { + color: var(--primary-color); +} + +/* + Scrollbars for Webkit +*/ + +#nav-tree::-webkit-scrollbar, +div.fragment::-webkit-scrollbar, +pre.fragment::-webkit-scrollbar, +div.memproto::-webkit-scrollbar, +.contents center::-webkit-scrollbar, +.contents .center::-webkit-scrollbar, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar, +div.contents .toc::-webkit-scrollbar { + background: transparent; + width: calc(var(--webkit-scrollbar-size) + var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding)); + height: calc(var(--webkit-scrollbar-size) + var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding)); +} + +#nav-tree::-webkit-scrollbar-thumb, +div.fragment::-webkit-scrollbar-thumb, +pre.fragment::-webkit-scrollbar-thumb, +div.memproto::-webkit-scrollbar-thumb, +.contents center::-webkit-scrollbar-thumb, +.contents .center::-webkit-scrollbar-thumb, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar-thumb, +div.contents .toc::-webkit-scrollbar-thumb { + background-color: transparent; + border: var(--webkit-scrollbar-padding) solid transparent; + border-radius: calc(var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding)); + background-clip: padding-box; +} + +#nav-tree:hover::-webkit-scrollbar-thumb, +div.fragment:hover::-webkit-scrollbar-thumb, +pre.fragment:hover::-webkit-scrollbar-thumb, +div.memproto:hover::-webkit-scrollbar-thumb, +.contents center:hover::-webkit-scrollbar-thumb, +.contents .center:hover::-webkit-scrollbar-thumb, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody:hover::-webkit-scrollbar-thumb, +div.contents .toc:hover::-webkit-scrollbar-thumb { + background-color: var(--webkit-scrollbar-color); +} + +#nav-tree::-webkit-scrollbar-track, +div.fragment::-webkit-scrollbar-track, +pre.fragment::-webkit-scrollbar-track, +div.memproto::-webkit-scrollbar-track, +.contents center::-webkit-scrollbar-track, +.contents .center::-webkit-scrollbar-track, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar-track, +div.contents .toc::-webkit-scrollbar-track { + background: transparent; +} + +#nav-tree::-webkit-scrollbar-corner { + background-color: var(--side-nav-background); +} + +#nav-tree, +div.fragment, +pre.fragment, +div.memproto, +.contents center, +.contents .center, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody, +div.contents .toc { + overflow-x: auto; + overflow-x: overlay; +} + +#nav-tree { + overflow-x: auto; + overflow-y: auto; + overflow-y: overlay; +} + +/* + Scrollbars for Firefox +*/ + +#nav-tree, +div.fragment, +pre.fragment, +div.memproto, +.contents center, +.contents .center, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody, +div.contents .toc { + scrollbar-width: thin; +} + +/* + Optional Dark mode toggle button +*/ + +doxygen-awesome-dark-mode-toggle { + display: inline-block; + margin: 0 0 0 var(--spacing-small); + padding: 0; + width: var(--searchbar-height); + height: var(--searchbar-height); + background: none; + border: none; + border-radius: var(--searchbar-height); + vertical-align: middle; + text-align: center; + line-height: var(--searchbar-height); + font-size: 22px; + display: flex; + align-items: center; + justify-content: center; + user-select: none; + cursor: pointer; +} + +doxygen-awesome-dark-mode-toggle > svg { + transition: transform .1s ease-in-out; +} + +doxygen-awesome-dark-mode-toggle:active > svg { + transform: scale(.5); +} + +doxygen-awesome-dark-mode-toggle:hover { + background-color: rgba(0,0,0,.03); +} + +html.dark-mode doxygen-awesome-dark-mode-toggle:hover { + background-color: rgba(0,0,0,.18); +} + +/* + Optional fragment copy button +*/ +.doxygen-awesome-fragment-wrapper { + position: relative; +} + +doxygen-awesome-fragment-copy-button { + opacity: 0; + background: var(--fragment-background); + width: 28px; + height: 28px; + position: absolute; + right: calc(var(--spacing-large) - (var(--spacing-large) / 2.5)); + top: calc(var(--spacing-large) - (var(--spacing-large) / 2.5)); + border: 1px solid var(--fragment-foreground); + cursor: pointer; + border-radius: var(--border-radius-small); + display: flex; + justify-content: center; + align-items: center; +} + +.doxygen-awesome-fragment-wrapper:hover doxygen-awesome-fragment-copy-button, doxygen-awesome-fragment-copy-button.success { + opacity: .28; +} + +doxygen-awesome-fragment-copy-button:hover, doxygen-awesome-fragment-copy-button.success { + opacity: 1 !important; +} + +doxygen-awesome-fragment-copy-button:active:not([class~=success]) svg { + transform: scale(.91); +} + +doxygen-awesome-fragment-copy-button svg { + fill: var(--fragment-foreground); + width: 18px; + height: 18px; +} + +doxygen-awesome-fragment-copy-button.success svg { + fill: rgb(14, 168, 14); +} + +doxygen-awesome-fragment-copy-button.success { + border-color: rgb(14, 168, 14); +} + +@media screen and (max-width: 767px) { + .textblock > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button, + .textblock li > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button, + .memdoc li > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button, + .memdoc > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button, + dl dd > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button { + right: 0; + } +} + +/* + Optional paragraph link button +*/ + +a.anchorlink { + font-size: 90%; + margin-left: var(--spacing-small); + color: var(--page-foreground-color) !important; + text-decoration: none; + opacity: .15; + display: none; + transition: opacity .1s ease-in-out, color .1s ease-in-out; +} + +a.anchorlink svg { + fill: var(--page-foreground-color); +} + +h3 a.anchorlink svg, h4 a.anchorlink svg { + margin-bottom: -3px; + margin-top: -4px; +} + +a.anchorlink:hover { + opacity: .45; +} + +h2:hover a.anchorlink, h1:hover a.anchorlink, h3:hover a.anchorlink, h4:hover a.anchorlink { + display: inline-block; +} diff --git a/doxygen.css b/doxygen.css new file mode 100644 index 00000000..ffbff022 --- /dev/null +++ b/doxygen.css @@ -0,0 +1,1793 @@ +/* The standard CSS for doxygen 1.9.1 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +ul.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +th p.starttd, th p.intertd, th p.endtd { + font-size: 100%; + font-weight: 700; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +p.interli { +} + +p.interdd { +} + +p.intertd { +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.navtab { + border-right: 1px solid #A3B4D7; + padding-right: 15px; + text-align: right; + line-height: 110%; +} + +div.navtab table { + border-spacing: 0; +} + +td.navtab { + padding-right: 6px; + padding-left: 6px; +} +td.navtabHL { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL a, td.navtabHL a:visited { + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} + +a.navtab { + font-weight: bold; +} + +div.qindex{ + text-align: center; + width: 100%; + line-height: 140%; + font-size: 130%; + color: #A0A0A0; +} + +dt.alphachar{ + font-size: 180%; + font-weight: bold; +} + +.alphachar a{ + color: black; +} + +.alphachar a:hover, .alphachar a:visited{ + text-decoration: none; +} + +.classindex dl { + padding: 25px; + column-count:1 +} + +.classindex dd { + display:inline-block; + margin-left: 50px; + width: 90%; + line-height: 1.15em; +} + +.classindex dl.odd { + background-color: #F8F9FC; +} + +@media(min-width: 1120px) { + .classindex dl { + column-count:2 + } +} + +@media(min-width: 1320px) { + .classindex dl { + column-count:3 + } +} + + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +.contents a.qindexHL:visited { + color: #FFFFFF; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +ul { + overflow: hidden; /*Fixed: list item bullets overlap floating elements*/ +} + +#side-nav ul { + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ +} + +#main-nav ul { + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ +} + +.fragment { + text-align: left; + direction: ltr; + overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ + overflow-y: hidden; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #FFFFFF; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl, img.inline { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +blockquote.DocNodeRTL { + border-left: 0; + border-right: 2px solid #9CAFD4; + margin: 0 4px 0 24px; + padding: 0 16px 0 12px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight, .memTemplItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #E2E8F2; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #DFE5F1; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype, .tparams .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir, .tparams .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +.PageDocRTL-title div.headertitle { + text-align: right; + direction: rtl; +} + +dl { + padding: 0 0 0 0; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ +dl.section { + margin-left: 0px; + padding-left: 0px; +} + +dl.section.DocNodeRTL { + margin-right: 0px; + padding-right: 0px; +} + +dl.note { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #D0C000; +} + +dl.note.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #FF0000; +} + +dl.warning.DocNodeRTL, dl.attention.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00D000; +} + +dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00D000; +} + +dl.deprecated { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #505050; +} + +dl.deprecated.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #505050; +} + +dl.todo { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00C0E0; +} + +dl.todo.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00C0E0; +} + +dl.test { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #3030E0; +} + +dl.test.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #3030E0; +} + +dl.bug { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #C08050; +} + +dl.bug.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; + text-align:right; + width:52px; +} + +dl.citelist dd { + margin:2px 0 2px 72px; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +.PageDocRTL-title div.toc { + float: left !important; + text-align: right; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +.PageDocRTL-title div.toc li { + background-position-x: right !important; + padding-left: 0 !important; + padding-right: 10px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +span.emoji { + /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html + * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; + */ +} + +.PageDocRTL-title div.toc li.level1 { + margin-left: 0 !important; + margin-right: 0; +} + +.PageDocRTL-title div.toc li.level2 { + margin-left: 0 !important; + margin-right: 15px; +} + +.PageDocRTL-title div.toc li.level3 { + margin-left: 0 !important; + margin-right: 30px; +} + +.PageDocRTL-title div.toc li.level4 { + margin-left: 0 !important; + margin-right: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + +.DocNodeRTL { + text-align: right; + direction: rtl; +} + +.DocNodeLTR { + text-align: left; + direction: ltr; +} + +table.DocNodeRTL { + width: auto; + margin-right: 0; + margin-left: auto; +} + +table.DocNodeLTR { + width: auto; + margin-right: auto; + margin-left: 0; +} + +tt, code, kbd, samp +{ + display: inline-block; + direction:ltr; +} +/* @end */ + +u { + text-decoration: underline; +} + diff --git a/doxygen.svg b/doxygen.svg new file mode 100644 index 00000000..d42dad52 --- /dev/null +++ b/doxygen.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dynsections.js b/dynsections.js new file mode 100644 index 00000000..3174bd7b --- /dev/null +++ b/dynsections.js @@ -0,0 +1,121 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +Recast Navigation: File List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all files with brief descriptions:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 ChunkyTriMesh.cpp
 ChunkyTriMesh.h
 ConvexVolumeTool.cpp
 ConvexVolumeTool.h
 CrowdTool.cpp
 CrowdTool.h
 DebugDraw.cpp
 DebugDraw.h
 DetourAlloc.cpp
 DetourAlloc.h
 DetourAssert.cpp
 DetourAssert.h
 DetourCommon.cpp
 DetourCommon.h
 DetourCrowd.cpp
 DetourCrowd.h
 DetourDebugDraw.cpp
 DetourDebugDraw.h
 DetourLocalBoundary.cpp
 DetourLocalBoundary.h
 DetourMath.h
 DetourNavMesh.cpp
 DetourNavMesh.h
 DetourNavMeshBuilder.cpp
 DetourNavMeshBuilder.h
 DetourNavMeshQuery.cpp
 DetourNavMeshQuery.h
 DetourNode.cpp
 DetourNode.h
 DetourObstacleAvoidance.cpp
 DetourObstacleAvoidance.h
 DetourPathCorridor.cpp
 DetourPathCorridor.h
 DetourPathQueue.cpp
 DetourPathQueue.h
 DetourProximityGrid.cpp
 DetourProximityGrid.h
 DetourStatus.h
 DetourTileCache.cpp
 DetourTileCache.h
 DetourTileCacheBuilder.cpp
 DetourTileCacheBuilder.h
 Filelist.cpp
 Filelist.h
 imgui.cpp
 imgui.h
 imguiRenderGL.cpp
 imguiRenderGL.h
 InputGeom.cpp
 InputGeom.h
 main.cpp
 MeshLoaderObj.cpp
 MeshLoaderObj.h
 NavMeshPruneTool.cpp
 NavMeshPruneTool.h
 NavMeshTesterTool.cpp
 NavMeshTesterTool.h
 OffMeshConnectionTool.cpp
 OffMeshConnectionTool.h
 PerfTimer.cpp
 PerfTimer.h
 Recast.cpp
 Recast.h
 RecastAlloc.cpp
 RecastAlloc.h
 RecastArea.cpp
 RecastAssert.cpp
 RecastAssert.h
 RecastContour.cpp
 RecastDebugDraw.cpp
 RecastDebugDraw.h
 RecastDump.cpp
 RecastDump.h
 RecastFilter.cpp
 RecastLayers.cpp
 RecastMesh.cpp
 RecastMeshDetail.cpp
 RecastRasterization.cpp
 RecastRegion.cpp
 Sample.cpp
 Sample.h
 Sample_Debug.cpp
 Sample_Debug.h
 Sample_SoloMesh.cpp
 Sample_SoloMesh.h
 Sample_TempObstacles.cpp
 Sample_TempObstacles.h
 Sample_TileMesh.cpp
 Sample_TileMesh.h
 SampleInterfaces.cpp
 SampleInterfaces.h
 TestCase.cpp
 TestCase.h
 ValueHistory.cpp
 ValueHistory.h
+
+
+
+ + + + + diff --git a/files_dup.js b/files_dup.js new file mode 100644 index 00000000..f44bcb33 --- /dev/null +++ b/files_dup.js @@ -0,0 +1,128 @@ +var files_dup = +[ + [ "ChunkyTriMesh.cpp", "ChunkyTriMesh_8cpp.html", "ChunkyTriMesh_8cpp" ], + [ "ChunkyTriMesh.h", "ChunkyTriMesh_8h.html", "ChunkyTriMesh_8h" ], + [ "ConvexVolumeTool.cpp", "ConvexVolumeTool_8cpp.html", "ConvexVolumeTool_8cpp" ], + [ "ConvexVolumeTool.h", "ConvexVolumeTool_8h.html", [ + [ "ConvexVolumeTool", "classConvexVolumeTool.html", "classConvexVolumeTool" ] + ] ], + [ "CrowdTool.cpp", "CrowdTool_8cpp.html", "CrowdTool_8cpp" ], + [ "CrowdTool.h", "CrowdTool_8h.html", [ + [ "CrowdToolParams", "structCrowdToolParams.html", "structCrowdToolParams" ], + [ "CrowdToolState", "classCrowdToolState.html", "classCrowdToolState" ], + [ "CrowdTool", "classCrowdTool.html", "classCrowdTool" ] + ] ], + [ "DebugDraw.cpp", "DebugDraw_8cpp.html", "DebugDraw_8cpp" ], + [ "DebugDraw.h", "DebugDraw_8h.html", "DebugDraw_8h" ], + [ "DetourAlloc.cpp", "DetourAlloc_8cpp.html", "DetourAlloc_8cpp" ], + [ "DetourAlloc.h", "DetourAlloc_8h.html", "DetourAlloc_8h" ], + [ "DetourAssert.cpp", "DetourAssert_8cpp.html", "DetourAssert_8cpp" ], + [ "DetourAssert.h", "DetourAssert_8h.html", "DetourAssert_8h" ], + [ "DetourCommon.cpp", "DetourCommon_8cpp.html", "DetourCommon_8cpp" ], + [ "DetourCommon.h", "DetourCommon_8h.html", "DetourCommon_8h" ], + [ "DetourCrowd.cpp", "DetourCrowd_8cpp.html", "DetourCrowd_8cpp" ], + [ "DetourCrowd.h", "DetourCrowd_8h.html", "DetourCrowd_8h" ], + [ "DetourDebugDraw.cpp", "DetourDebugDraw_8cpp.html", "DetourDebugDraw_8cpp" ], + [ "DetourDebugDraw.h", "DetourDebugDraw_8h.html", "DetourDebugDraw_8h" ], + [ "DetourLocalBoundary.cpp", "DetourLocalBoundary_8cpp.html", null ], + [ "DetourLocalBoundary.h", "DetourLocalBoundary_8h.html", [ + [ "dtLocalBoundary", "classdtLocalBoundary.html", "classdtLocalBoundary" ] + ] ], + [ "DetourMath.h", "DetourMath_8h.html", "DetourMath_8h" ], + [ "DetourNavMesh.cpp", "DetourNavMesh_8cpp.html", "DetourNavMesh_8cpp" ], + [ "DetourNavMesh.h", "DetourNavMesh_8h.html", "DetourNavMesh_8h" ], + [ "DetourNavMeshBuilder.cpp", "DetourNavMeshBuilder_8cpp.html", "DetourNavMeshBuilder_8cpp" ], + [ "DetourNavMeshBuilder.h", "DetourNavMeshBuilder_8h.html", "DetourNavMeshBuilder_8h" ], + [ "DetourNavMeshQuery.cpp", "DetourNavMeshQuery_8cpp.html", "DetourNavMeshQuery_8cpp" ], + [ "DetourNavMeshQuery.h", "DetourNavMeshQuery_8h.html", "DetourNavMeshQuery_8h" ], + [ "DetourNode.cpp", "DetourNode_8cpp.html", "DetourNode_8cpp" ], + [ "DetourNode.h", "DetourNode_8h.html", "DetourNode_8h" ], + [ "DetourObstacleAvoidance.cpp", "DetourObstacleAvoidance_8cpp.html", "DetourObstacleAvoidance_8cpp" ], + [ "DetourObstacleAvoidance.h", "DetourObstacleAvoidance_8h.html", "DetourObstacleAvoidance_8h" ], + [ "DetourPathCorridor.cpp", "DetourPathCorridor_8cpp.html", "DetourPathCorridor_8cpp" ], + [ "DetourPathCorridor.h", "DetourPathCorridor_8h.html", "DetourPathCorridor_8h" ], + [ "DetourPathQueue.cpp", "DetourPathQueue_8cpp.html", null ], + [ "DetourPathQueue.h", "DetourPathQueue_8h.html", "DetourPathQueue_8h" ], + [ "DetourProximityGrid.cpp", "DetourProximityGrid_8cpp.html", "DetourProximityGrid_8cpp" ], + [ "DetourProximityGrid.h", "DetourProximityGrid_8h.html", "DetourProximityGrid_8h" ], + [ "DetourStatus.h", "DetourStatus_8h.html", "DetourStatus_8h" ], + [ "DetourTileCache.cpp", "DetourTileCache_8cpp.html", "DetourTileCache_8cpp" ], + [ "DetourTileCache.h", "DetourTileCache_8h.html", "DetourTileCache_8h" ], + [ "DetourTileCacheBuilder.cpp", "DetourTileCacheBuilder_8cpp.html", "DetourTileCacheBuilder_8cpp" ], + [ "DetourTileCacheBuilder.h", "DetourTileCacheBuilder_8h.html", "DetourTileCacheBuilder_8h" ], + [ "Filelist.cpp", "Filelist_8cpp.html", "Filelist_8cpp" ], + [ "Filelist.h", "Filelist_8h.html", "Filelist_8h" ], + [ "imgui.cpp", "imgui_8cpp.html", "imgui_8cpp" ], + [ "imgui.h", "imgui_8h.html", "imgui_8h" ], + [ "imguiRenderGL.cpp", "imguiRenderGL_8cpp.html", "imguiRenderGL_8cpp" ], + [ "imguiRenderGL.h", "imguiRenderGL_8h.html", "imguiRenderGL_8h" ], + [ "InputGeom.cpp", "InputGeom_8cpp.html", "InputGeom_8cpp" ], + [ "InputGeom.h", "InputGeom_8h.html", "InputGeom_8h" ], + [ "main.cpp", "main_8cpp.html", "main_8cpp" ], + [ "MeshLoaderObj.cpp", "MeshLoaderObj_8cpp.html", "MeshLoaderObj_8cpp" ], + [ "MeshLoaderObj.h", "MeshLoaderObj_8h.html", [ + [ "rcMeshLoaderObj", "classrcMeshLoaderObj.html", "classrcMeshLoaderObj" ] + ] ], + [ "NavMeshPruneTool.cpp", "NavMeshPruneTool_8cpp.html", "NavMeshPruneTool_8cpp" ], + [ "NavMeshPruneTool.h", "NavMeshPruneTool_8h.html", [ + [ "NavMeshPruneTool", "classNavMeshPruneTool.html", "classNavMeshPruneTool" ] + ] ], + [ "NavMeshTesterTool.cpp", "NavMeshTesterTool_8cpp.html", "NavMeshTesterTool_8cpp" ], + [ "NavMeshTesterTool.h", "NavMeshTesterTool_8h.html", [ + [ "NavMeshTesterTool", "classNavMeshTesterTool.html", "classNavMeshTesterTool" ] + ] ], + [ "OffMeshConnectionTool.cpp", "OffMeshConnectionTool_8cpp.html", null ], + [ "OffMeshConnectionTool.h", "OffMeshConnectionTool_8h.html", [ + [ "OffMeshConnectionTool", "classOffMeshConnectionTool.html", "classOffMeshConnectionTool" ] + ] ], + [ "PerfTimer.cpp", "PerfTimer_8cpp.html", "PerfTimer_8cpp" ], + [ "PerfTimer.h", "PerfTimer_8h.html", "PerfTimer_8h" ], + [ "Recast.cpp", "Recast_8cpp.html", "Recast_8cpp" ], + [ "Recast.h", "Recast_8h.html", "Recast_8h" ], + [ "RecastAlloc.cpp", "RecastAlloc_8cpp.html", "RecastAlloc_8cpp" ], + [ "RecastAlloc.h", "RecastAlloc_8h.html", "RecastAlloc_8h" ], + [ "RecastArea.cpp", "RecastArea_8cpp.html", "RecastArea_8cpp" ], + [ "RecastAssert.cpp", "RecastAssert_8cpp.html", "RecastAssert_8cpp" ], + [ "RecastAssert.h", "RecastAssert_8h.html", "RecastAssert_8h" ], + [ "RecastContour.cpp", "RecastContour_8cpp.html", "RecastContour_8cpp" ], + [ "RecastDebugDraw.cpp", "RecastDebugDraw_8cpp.html", "RecastDebugDraw_8cpp" ], + [ "RecastDebugDraw.h", "RecastDebugDraw_8h.html", "RecastDebugDraw_8h" ], + [ "RecastDump.cpp", "RecastDump_8cpp.html", "RecastDump_8cpp" ], + [ "RecastDump.h", "RecastDump_8h.html", "RecastDump_8h" ], + [ "RecastFilter.cpp", "RecastFilter_8cpp.html", "RecastFilter_8cpp" ], + [ "RecastLayers.cpp", "RecastLayers_8cpp.html", "RecastLayers_8cpp" ], + [ "RecastMesh.cpp", "RecastMesh_8cpp.html", "RecastMesh_8cpp" ], + [ "RecastMeshDetail.cpp", "RecastMeshDetail_8cpp.html", "RecastMeshDetail_8cpp" ], + [ "RecastRasterization.cpp", "RecastRasterization_8cpp.html", "RecastRasterization_8cpp" ], + [ "RecastRegion.cpp", "RecastRegion_8cpp.html", "RecastRegion_8cpp" ], + [ "Sample.cpp", "Sample_8cpp.html", "Sample_8cpp" ], + [ "Sample.h", "Sample_8h.html", "Sample_8h" ], + [ "Sample_Debug.cpp", "Sample__Debug_8cpp.html", null ], + [ "Sample_Debug.h", "Sample__Debug_8h.html", [ + [ "Sample_Debug", "classSample__Debug.html", "classSample__Debug" ] + ] ], + [ "Sample_SoloMesh.cpp", "Sample__SoloMesh_8cpp.html", null ], + [ "Sample_SoloMesh.h", "Sample__SoloMesh_8h.html", [ + [ "Sample_SoloMesh", "classSample__SoloMesh.html", "classSample__SoloMesh" ] + ] ], + [ "Sample_TempObstacles.cpp", "Sample__TempObstacles_8cpp.html", "Sample__TempObstacles_8cpp" ], + [ "Sample_TempObstacles.h", "Sample__TempObstacles_8h.html", [ + [ "Sample_TempObstacles", "classSample__TempObstacles.html", "classSample__TempObstacles" ] + ] ], + [ "Sample_TileMesh.cpp", "Sample__TileMesh_8cpp.html", "Sample__TileMesh_8cpp" ], + [ "Sample_TileMesh.h", "Sample__TileMesh_8h.html", [ + [ "Sample_TileMesh", "classSample__TileMesh.html", "classSample__TileMesh" ] + ] ], + [ "SampleInterfaces.cpp", "SampleInterfaces_8cpp.html", "SampleInterfaces_8cpp" ], + [ "SampleInterfaces.h", "SampleInterfaces_8h.html", [ + [ "BuildContext", "classBuildContext.html", "classBuildContext" ], + [ "DebugDrawGL", "classDebugDrawGL.html", "classDebugDrawGL" ], + [ "FileIO", "classFileIO.html", "classFileIO" ] + ] ], + [ "TestCase.cpp", "TestCase_8cpp.html", "TestCase_8cpp" ], + [ "TestCase.h", "TestCase_8h.html", [ + [ "TestCase", "classTestCase.html", "classTestCase" ] + ] ], + [ "ValueHistory.cpp", "ValueHistory_8cpp.html", "ValueHistory_8cpp" ], + [ "ValueHistory.h", "ValueHistory_8h.html", "ValueHistory_8h" ] +]; \ No newline at end of file diff --git a/folderclosed.png b/folderclosed.png new file mode 100644 index 00000000..bb8ab35e Binary files /dev/null and b/folderclosed.png differ diff --git a/folderopen.png b/folderopen.png new file mode 100644 index 00000000..d6c7f676 Binary files /dev/null and b/folderopen.png differ diff --git a/functions.html b/functions.html new file mode 100644 index 00000000..6d0db5d0 --- /dev/null +++ b/functions.html @@ -0,0 +1,205 @@ + + + + + + + +Recast Navigation: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- a -

+
+
+ + + + + diff --git a/functions_b.html b/functions_b.html new file mode 100644 index 00000000..b1e02ca6 --- /dev/null +++ b/functions_b.html @@ -0,0 +1,197 @@ + + + + + + + +Recast Navigation: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- b -

+
+
+ + + + + diff --git a/functions_c.html b/functions_c.html new file mode 100644 index 00000000..f64b61e5 --- /dev/null +++ b/functions_c.html @@ -0,0 +1,254 @@ + + + + + + + +Recast Navigation: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- c -

+
+
+ + + + + diff --git a/functions_d.html b/functions_d.html new file mode 100644 index 00000000..1a8bc85c --- /dev/null +++ b/functions_d.html @@ -0,0 +1,405 @@ + + + + + + + +Recast Navigation: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- d -

+
+
+ + + + + diff --git a/functions_dup.js b/functions_dup.js new file mode 100644 index 00000000..3a09c6a0 --- /dev/null +++ b/functions_dup.js @@ -0,0 +1,27 @@ +var functions_dup = +[ + [ "a", "functions.html", null ], + [ "b", "functions_b.html", null ], + [ "c", "functions_c.html", null ], + [ "d", "functions_d.html", null ], + [ "e", "functions_e.html", null ], + [ "f", "functions_f.html", null ], + [ "g", "functions_g.html", null ], + [ "h", "functions_h.html", null ], + [ "i", "functions_i.html", null ], + [ "l", "functions_l.html", null ], + [ "m", "functions_m.html", null ], + [ "n", "functions_n.html", null ], + [ "o", "functions_o.html", null ], + [ "p", "functions_p.html", null ], + [ "q", "functions_q.html", null ], + [ "r", "functions_r.html", null ], + [ "s", "functions_s.html", null ], + [ "t", "functions_t.html", null ], + [ "u", "functions_u.html", null ], + [ "v", "functions_v.html", null ], + [ "w", "functions_w.html", null ], + [ "x", "functions_x.html", null ], + [ "y", "functions_y.html", null ], + [ "~", "functions_~.html", null ] +]; \ No newline at end of file diff --git a/functions_e.html b/functions_e.html new file mode 100644 index 00000000..8b571210 --- /dev/null +++ b/functions_e.html @@ -0,0 +1,140 @@ + + + + + + + +Recast Navigation: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- e -

+
+
+ + + + + diff --git a/functions_enum.html b/functions_enum.html new file mode 100644 index 00000000..98e7804c --- /dev/null +++ b/functions_enum.html @@ -0,0 +1,106 @@ + + + + + + + +Recast Navigation: Class Members - Enumerations + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + + diff --git a/functions_eval.html b/functions_eval.html new file mode 100644 index 00000000..99b5e674 --- /dev/null +++ b/functions_eval.html @@ -0,0 +1,193 @@ + + + + + + + +Recast Navigation: Class Members - Enumerator + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- d -

+ + +

- m -

+
+
+ + + + + diff --git a/functions_f.html b/functions_f.html new file mode 100644 index 00000000..d790c33e --- /dev/null +++ b/functions_f.html @@ -0,0 +1,178 @@ + + + + + + + +Recast Navigation: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- f -

+
+
+ + + + + diff --git a/functions_func.html b/functions_func.html new file mode 100644 index 00000000..74f2ed3c --- /dev/null +++ b/functions_func.html @@ -0,0 +1,150 @@ + + + + + + + +Recast Navigation: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

+
+
+ + + + + diff --git a/functions_func.js b/functions_func.js new file mode 100644 index 00000000..2ccff10e --- /dev/null +++ b/functions_func.js @@ -0,0 +1,25 @@ +var functions_func = +[ + [ "a", "functions_func.html", null ], + [ "b", "functions_func_b.html", null ], + [ "c", "functions_func_c.html", null ], + [ "d", "functions_func_d.html", null ], + [ "e", "functions_func_e.html", null ], + [ "f", "functions_func_f.html", null ], + [ "g", "functions_func_g.html", null ], + [ "h", "functions_func_h.html", null ], + [ "i", "functions_func_i.html", null ], + [ "l", "functions_func_l.html", null ], + [ "m", "functions_func_m.html", null ], + [ "n", "functions_func_n.html", null ], + [ "o", "functions_func_o.html", null ], + [ "p", "functions_func_p.html", null ], + [ "q", "functions_func_q.html", null ], + [ "r", "functions_func_r.html", null ], + [ "s", "functions_func_s.html", null ], + [ "t", "functions_func_t.html", null ], + [ "u", "functions_func_u.html", null ], + [ "v", "functions_func_v.html", null ], + [ "w", "functions_func_w.html", null ], + [ "~", "functions_func_~.html", null ] +]; \ No newline at end of file diff --git a/functions_func_b.html b/functions_func_b.html new file mode 100644 index 00000000..df6168c2 --- /dev/null +++ b/functions_func_b.html @@ -0,0 +1,133 @@ + + + + + + + +Recast Navigation: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- b -

+
+
+ + + + + diff --git a/functions_func_c.html b/functions_func_c.html new file mode 100644 index 00000000..cb6b8e4a --- /dev/null +++ b/functions_func_c.html @@ -0,0 +1,153 @@ + + + + + + + +Recast Navigation: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- c -

+
+
+ + + + + diff --git a/functions_func_d.html b/functions_func_d.html new file mode 100644 index 00000000..78beac4a --- /dev/null +++ b/functions_func_d.html @@ -0,0 +1,244 @@ + + + + + + + +Recast Navigation: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- d -

+
+
+ + + + + diff --git a/functions_func_e.html b/functions_func_e.html new file mode 100644 index 00000000..f8de800d --- /dev/null +++ b/functions_func_e.html @@ -0,0 +1,128 @@ + + + + + + + +Recast Navigation: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- e -

+
+
+ + + + + diff --git a/functions_func_f.html b/functions_func_f.html new file mode 100644 index 00000000..61426c06 --- /dev/null +++ b/functions_func_f.html @@ -0,0 +1,158 @@ + + + + + + + +Recast Navigation: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- f -

+
+
+ + + + + diff --git a/functions_func_g.html b/functions_func_g.html new file mode 100644 index 00000000..6dac893e --- /dev/null +++ b/functions_func_g.html @@ -0,0 +1,509 @@ + + + + + + + +Recast Navigation: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- g -

+
+
+ + + + + diff --git a/functions_func_h.html b/functions_func_h.html new file mode 100644 index 00000000..f4a5dafc --- /dev/null +++ b/functions_func_h.html @@ -0,0 +1,249 @@ + + + + + + + +Recast Navigation: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- h -

+
+
+ + + + + diff --git a/functions_func_i.html b/functions_func_i.html new file mode 100644 index 00000000..ef689eda --- /dev/null +++ b/functions_func_i.html @@ -0,0 +1,161 @@ + + + + + + + +Recast Navigation: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- i -

+
+
+ + + + + diff --git a/functions_func_l.html b/functions_func_l.html new file mode 100644 index 00000000..442a6fcb --- /dev/null +++ b/functions_func_l.html @@ -0,0 +1,119 @@ + + + + + + + +Recast Navigation: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- l -

+
+
+ + + + + diff --git a/functions_func_m.html b/functions_func_m.html new file mode 100644 index 00000000..ab1c1fe2 --- /dev/null +++ b/functions_func_m.html @@ -0,0 +1,125 @@ + + + + + + + +Recast Navigation: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- m -

+
+
+ + + + + diff --git a/functions_func_n.html b/functions_func_n.html new file mode 100644 index 00000000..19fc762c --- /dev/null +++ b/functions_func_n.html @@ -0,0 +1,130 @@ + + + + + + + +Recast Navigation: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- n -

+
+
+ + + + + diff --git a/functions_func_o.html b/functions_func_o.html new file mode 100644 index 00000000..f2d1e0ea --- /dev/null +++ b/functions_func_o.html @@ -0,0 +1,132 @@ + + + + + + + +Recast Navigation: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- o -

+
+
+ + + + + diff --git a/functions_func_p.html b/functions_func_p.html new file mode 100644 index 00000000..40e35f04 --- /dev/null +++ b/functions_func_p.html @@ -0,0 +1,130 @@ + + + + + + + +Recast Navigation: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- p -

+
+
+ + + + + diff --git a/functions_func_q.html b/functions_func_q.html new file mode 100644 index 00000000..687b0ef2 --- /dev/null +++ b/functions_func_q.html @@ -0,0 +1,112 @@ + + + + + + + +Recast Navigation: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- q -

+
+
+ + + + + diff --git a/functions_func_r.html b/functions_func_r.html new file mode 100644 index 00000000..e5a21b65 --- /dev/null +++ b/functions_func_r.html @@ -0,0 +1,254 @@ + + + + + + + +Recast Navigation: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- r -

+
+
+ + + + + diff --git a/functions_func_s.html b/functions_func_s.html new file mode 100644 index 00000000..4b20afa9 --- /dev/null +++ b/functions_func_s.html @@ -0,0 +1,203 @@ + + + + + + + +Recast Navigation: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- s -

+
+
+ + + + + diff --git a/functions_func_t.html b/functions_func_t.html new file mode 100644 index 00000000..b79564e8 --- /dev/null +++ b/functions_func_t.html @@ -0,0 +1,133 @@ + + + + + + + +Recast Navigation: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- t -

+
+
+ + + + + diff --git a/functions_func_u.html b/functions_func_u.html new file mode 100644 index 00000000..e862a98e --- /dev/null +++ b/functions_func_u.html @@ -0,0 +1,124 @@ + + + + + + + +Recast Navigation: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- u -

+
+
+ + + + + diff --git a/functions_func_v.html b/functions_func_v.html new file mode 100644 index 00000000..af5e46e5 --- /dev/null +++ b/functions_func_v.html @@ -0,0 +1,111 @@ + + + + + + + +Recast Navigation: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- v -

+
+
+ + + + + diff --git a/functions_func_w.html b/functions_func_w.html new file mode 100644 index 00000000..2fe09efc --- /dev/null +++ b/functions_func_w.html @@ -0,0 +1,107 @@ + + + + + + + +Recast Navigation: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- w -

+
+
+ + + + + diff --git a/functions_func_~.html b/functions_func_~.html new file mode 100644 index 00000000..ab951d55 --- /dev/null +++ b/functions_func_~.html @@ -0,0 +1,274 @@ + + + + + + + +Recast Navigation: Class Members - Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- ~ -

+
+
+ + + + + diff --git a/functions_g.html b/functions_g.html new file mode 100644 index 00000000..be7a3728 --- /dev/null +++ b/functions_g.html @@ -0,0 +1,512 @@ + + + + + + + +Recast Navigation: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- g -

+
+
+ + + + + diff --git a/functions_h.html b/functions_h.html new file mode 100644 index 00000000..3b7be48b --- /dev/null +++ b/functions_h.html @@ -0,0 +1,309 @@ + + + + + + + +Recast Navigation: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- h -

+
+
+ + + + + diff --git a/functions_i.html b/functions_i.html new file mode 100644 index 00000000..533da28d --- /dev/null +++ b/functions_i.html @@ -0,0 +1,197 @@ + + + + + + + +Recast Navigation: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- i -

+
+
+ + + + + diff --git a/functions_l.html b/functions_l.html new file mode 100644 index 00000000..dbe858d8 --- /dev/null +++ b/functions_l.html @@ -0,0 +1,160 @@ + + + + + + + +Recast Navigation: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- l -

+
+
+ + + + + diff --git a/functions_m.html b/functions_m.html new file mode 100644 index 00000000..8033998f --- /dev/null +++ b/functions_m.html @@ -0,0 +1,493 @@ + + + + + + + +Recast Navigation: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- m -

+
+
+ + + + + diff --git a/functions_n.html b/functions_n.html new file mode 100644 index 00000000..8794b5a4 --- /dev/null +++ b/functions_n.html @@ -0,0 +1,247 @@ + + + + + + + +Recast Navigation: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- n -

+
+
+ + + + + diff --git a/functions_o.html b/functions_o.html new file mode 100644 index 00000000..d271799c --- /dev/null +++ b/functions_o.html @@ -0,0 +1,182 @@ + + + + + + + +Recast Navigation: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- o -

+
+
+ + + + + diff --git a/functions_p.html b/functions_p.html new file mode 100644 index 00000000..1c0bbfac --- /dev/null +++ b/functions_p.html @@ -0,0 +1,201 @@ + + + + + + + +Recast Navigation: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- p -

+
+
+ + + + + diff --git a/functions_q.html b/functions_q.html new file mode 100644 index 00000000..52f9a23c --- /dev/null +++ b/functions_q.html @@ -0,0 +1,118 @@ + + + + + + + +Recast Navigation: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- q -

+
+
+ + + + + diff --git a/functions_r.html b/functions_r.html new file mode 100644 index 00000000..24514192 --- /dev/null +++ b/functions_r.html @@ -0,0 +1,310 @@ + + + + + + + +Recast Navigation: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- r -

+
+
+ + + + + diff --git a/functions_rela.html b/functions_rela.html new file mode 100644 index 00000000..323b32c2 --- /dev/null +++ b/functions_rela.html @@ -0,0 +1,104 @@ + + + + + + + +Recast Navigation: Class Members - Related Functions + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + + diff --git a/functions_s.html b/functions_s.html new file mode 100644 index 00000000..851d9936 --- /dev/null +++ b/functions_s.html @@ -0,0 +1,246 @@ + + + + + + + +Recast Navigation: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- s -

+
+
+ + + + + diff --git a/functions_t.html b/functions_t.html new file mode 100644 index 00000000..d1ab8b45 --- /dev/null +++ b/functions_t.html @@ -0,0 +1,229 @@ + + + + + + + +Recast Navigation: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- t -

+
+
+ + + + + diff --git a/functions_type.html b/functions_type.html new file mode 100644 index 00000000..5de722c9 --- /dev/null +++ b/functions_type.html @@ -0,0 +1,107 @@ + + + + + + + +Recast Navigation: Class Members - Typedefs + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + + diff --git a/functions_u.html b/functions_u.html new file mode 100644 index 00000000..611ac849 --- /dev/null +++ b/functions_u.html @@ -0,0 +1,138 @@ + + + + + + + +Recast Navigation: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- u -

+
+
+ + + + + diff --git a/functions_v.html b/functions_v.html new file mode 100644 index 00000000..c8fa74c1 --- /dev/null +++ b/functions_v.html @@ -0,0 +1,168 @@ + + + + + + + +Recast Navigation: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- v -

+
+
+ + + + + diff --git a/functions_vars.html b/functions_vars.html new file mode 100644 index 00000000..c7510bc3 --- /dev/null +++ b/functions_vars.html @@ -0,0 +1,160 @@ + + + + + + + +Recast Navigation: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

+
+
+ + + + + diff --git a/functions_vars.js b/functions_vars.js new file mode 100644 index 00000000..23fcd969 --- /dev/null +++ b/functions_vars.js @@ -0,0 +1,26 @@ +var functions_vars = +[ + [ "a", "functions_vars.html", null ], + [ "b", "functions_vars_b.html", null ], + [ "c", "functions_vars_c.html", null ], + [ "d", "functions_vars_d.html", null ], + [ "e", "functions_vars_e.html", null ], + [ "f", "functions_vars_f.html", null ], + [ "g", "functions_vars_g.html", null ], + [ "h", "functions_vars_h.html", null ], + [ "i", "functions_vars_i.html", null ], + [ "l", "functions_vars_l.html", null ], + [ "m", "functions_vars_m.html", null ], + [ "n", "functions_vars_n.html", null ], + [ "o", "functions_vars_o.html", null ], + [ "p", "functions_vars_p.html", null ], + [ "q", "functions_vars_q.html", null ], + [ "r", "functions_vars_r.html", null ], + [ "s", "functions_vars_s.html", null ], + [ "t", "functions_vars_t.html", null ], + [ "u", "functions_vars_u.html", null ], + [ "v", "functions_vars_v.html", null ], + [ "w", "functions_vars_w.html", null ], + [ "x", "functions_vars_x.html", null ], + [ "y", "functions_vars_y.html", null ] +]; \ No newline at end of file diff --git a/functions_vars_b.html b/functions_vars_b.html new file mode 100644 index 00000000..a8711b7f --- /dev/null +++ b/functions_vars_b.html @@ -0,0 +1,167 @@ + + + + + + + +Recast Navigation: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + + diff --git a/functions_vars_c.html b/functions_vars_c.html new file mode 100644 index 00000000..3a6eb367 --- /dev/null +++ b/functions_vars_c.html @@ -0,0 +1,206 @@ + + + + + + + +Recast Navigation: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- c -

+
+
+ + + + + diff --git a/functions_vars_d.html b/functions_vars_d.html new file mode 100644 index 00000000..d33cf5c9 --- /dev/null +++ b/functions_vars_d.html @@ -0,0 +1,179 @@ + + + + + + + +Recast Navigation: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- d -

+
+
+ + + + + diff --git a/functions_vars_e.html b/functions_vars_e.html new file mode 100644 index 00000000..8a1fb94e --- /dev/null +++ b/functions_vars_e.html @@ -0,0 +1,115 @@ + + + + + + + +Recast Navigation: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- e -

+
+
+ + + + + diff --git a/functions_vars_f.html b/functions_vars_f.html new file mode 100644 index 00000000..292de4e9 --- /dev/null +++ b/functions_vars_f.html @@ -0,0 +1,123 @@ + + + + + + + +Recast Navigation: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- f -

+
+
+ + + + + diff --git a/functions_vars_g.html b/functions_vars_g.html new file mode 100644 index 00000000..0cf263af --- /dev/null +++ b/functions_vars_g.html @@ -0,0 +1,106 @@ + + + + + + + +Recast Navigation: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- g -

+
+
+ + + + + diff --git a/functions_vars_h.html b/functions_vars_h.html new file mode 100644 index 00000000..c7961ec9 --- /dev/null +++ b/functions_vars_h.html @@ -0,0 +1,163 @@ + + + + + + + +Recast Navigation: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + + diff --git a/functions_vars_i.html b/functions_vars_i.html new file mode 100644 index 00000000..2d3dea42 --- /dev/null +++ b/functions_vars_i.html @@ -0,0 +1,139 @@ + + + + + + + +Recast Navigation: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- i -

+
+
+ + + + + diff --git a/functions_vars_l.html b/functions_vars_l.html new file mode 100644 index 00000000..98c67e96 --- /dev/null +++ b/functions_vars_l.html @@ -0,0 +1,144 @@ + + + + + + + +Recast Navigation: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- l -

+
+
+ + + + + diff --git a/functions_vars_m.html b/functions_vars_m.html new file mode 100644 index 00000000..d98374db --- /dev/null +++ b/functions_vars_m.html @@ -0,0 +1,466 @@ + + + + + + + +Recast Navigation: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- m -

+
+
+ + + + + diff --git a/functions_vars_n.html b/functions_vars_n.html new file mode 100644 index 00000000..8e6ca93e --- /dev/null +++ b/functions_vars_n.html @@ -0,0 +1,220 @@ + + + + + + + +Recast Navigation: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + + diff --git a/functions_vars_o.html b/functions_vars_o.html new file mode 100644 index 00000000..d91d61ec --- /dev/null +++ b/functions_vars_o.html @@ -0,0 +1,153 @@ + + + + + + + +Recast Navigation: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- o -

+
+
+ + + + + diff --git a/functions_vars_p.html b/functions_vars_p.html new file mode 100644 index 00000000..fe32c5bd --- /dev/null +++ b/functions_vars_p.html @@ -0,0 +1,174 @@ + + + + + + + +Recast Navigation: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- p -

+
+
+ + + + + diff --git a/functions_vars_q.html b/functions_vars_q.html new file mode 100644 index 00000000..90f32d0f --- /dev/null +++ b/functions_vars_q.html @@ -0,0 +1,109 @@ + + + + + + + +Recast Navigation: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- q -

+
+
+ + + + + diff --git a/functions_vars_r.html b/functions_vars_r.html new file mode 100644 index 00000000..69a697ac --- /dev/null +++ b/functions_vars_r.html @@ -0,0 +1,159 @@ + + + + + + + +Recast Navigation: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- r -

+
+
+ + + + + diff --git a/functions_vars_s.html b/functions_vars_s.html new file mode 100644 index 00000000..e9a1744f --- /dev/null +++ b/functions_vars_s.html @@ -0,0 +1,143 @@ + + + + + + + +Recast Navigation: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- s -

+
+
+ + + + + diff --git a/functions_vars_t.html b/functions_vars_t.html new file mode 100644 index 00000000..40d038c3 --- /dev/null +++ b/functions_vars_t.html @@ -0,0 +1,203 @@ + + + + + + + +Recast Navigation: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- t -

+
+
+ + + + + diff --git a/functions_vars_u.html b/functions_vars_u.html new file mode 100644 index 00000000..5b60cbad --- /dev/null +++ b/functions_vars_u.html @@ -0,0 +1,117 @@ + + + + + + + +Recast Navigation: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- u -

+
+
+ + + + + diff --git a/functions_vars_v.html b/functions_vars_v.html new file mode 100644 index 00000000..d5dab6aa --- /dev/null +++ b/functions_vars_v.html @@ -0,0 +1,157 @@ + + + + + + + +Recast Navigation: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + + diff --git a/functions_vars_w.html b/functions_vars_w.html new file mode 100644 index 00000000..81b86747 --- /dev/null +++ b/functions_vars_w.html @@ -0,0 +1,167 @@ + + + + + + + +Recast Navigation: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- w -

+
+
+ + + + + diff --git a/functions_vars_x.html b/functions_vars_x.html new file mode 100644 index 00000000..b70f783a --- /dev/null +++ b/functions_vars_x.html @@ -0,0 +1,118 @@ + + + + + + + +Recast Navigation: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- x -

+
+
+ + + + + diff --git a/functions_vars_y.html b/functions_vars_y.html new file mode 100644 index 00000000..aa827814 --- /dev/null +++ b/functions_vars_y.html @@ -0,0 +1,125 @@ + + + + + + + +Recast Navigation: Class Members - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- y -

+
+
+ + + + + diff --git a/functions_w.html b/functions_w.html new file mode 100644 index 00000000..7dcb0c7a --- /dev/null +++ b/functions_w.html @@ -0,0 +1,171 @@ + + + + + + + +Recast Navigation: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- w -

+
+
+ + + + + diff --git a/functions_x.html b/functions_x.html new file mode 100644 index 00000000..dc413ab9 --- /dev/null +++ b/functions_x.html @@ -0,0 +1,118 @@ + + + + + + + +Recast Navigation: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- x -

+
+
+ + + + + diff --git a/functions_y.html b/functions_y.html new file mode 100644 index 00000000..375f051a --- /dev/null +++ b/functions_y.html @@ -0,0 +1,125 @@ + + + + + + + +Recast Navigation: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- y -

+
+
+ + + + + diff --git a/functions_~.html b/functions_~.html new file mode 100644 index 00000000..5f6f2954 --- /dev/null +++ b/functions_~.html @@ -0,0 +1,274 @@ + + + + + + + +Recast Navigation: Class Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- ~ -

+
+
+ + + + + diff --git a/globals.html b/globals.html new file mode 100644 index 00000000..2087d81b --- /dev/null +++ b/globals.html @@ -0,0 +1,181 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- a -

+
+
+ + + + + diff --git a/globals_b.html b/globals_b.html new file mode 100644 index 00000000..9587f903 --- /dev/null +++ b/globals_b.html @@ -0,0 +1,127 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- b -

+
+
+ + + + + diff --git a/globals_c.html b/globals_c.html new file mode 100644 index 00000000..fc028730 --- /dev/null +++ b/globals_c.html @@ -0,0 +1,247 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- c -

+
+
+ + + + + diff --git a/globals_d.html b/globals_d.html new file mode 100644 index 00000000..1bf69c0c --- /dev/null +++ b/globals_d.html @@ -0,0 +1,1150 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- d -

+
+
+ + + + + diff --git a/globals_defs.html b/globals_defs.html new file mode 100644 index 00000000..50ea82d4 --- /dev/null +++ b/globals_defs.html @@ -0,0 +1,128 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + + diff --git a/globals_dup.js b/globals_dup.js new file mode 100644 index 00000000..fb760537 --- /dev/null +++ b/globals_dup.js @@ -0,0 +1,24 @@ +var globals_dup = +[ + [ "a", "globals.html", null ], + [ "b", "globals_b.html", null ], + [ "c", "globals_c.html", null ], + [ "d", "globals_d.html", null ], + [ "e", "globals_e.html", null ], + [ "f", "globals_f.html", null ], + [ "g", "globals_g.html", null ], + [ "h", "globals_h.html", null ], + [ "i", "globals_i.html", null ], + [ "l", "globals_l.html", null ], + [ "m", "globals_m.html", null ], + [ "n", "globals_n.html", null ], + [ "o", "globals_o.html", null ], + [ "p", "globals_p.html", null ], + [ "r", "globals_r.html", null ], + [ "s", "globals_s.html", null ], + [ "t", "globals_t.html", null ], + [ "u", "globals_u.html", null ], + [ "v", "globals_v.html", null ], + [ "w", "globals_w.html", null ], + [ "x", "globals_x.html", null ] +]; \ No newline at end of file diff --git a/globals_e.html b/globals_e.html new file mode 100644 index 00000000..b1298c9d --- /dev/null +++ b/globals_e.html @@ -0,0 +1,121 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- e -

+
+
+ + + + + diff --git a/globals_enum.html b/globals_enum.html new file mode 100644 index 00000000..f194897c --- /dev/null +++ b/globals_enum.html @@ -0,0 +1,228 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- c -

+ + +

- d -

+ + +

- e -

+ + +

- i -

+ + +

- m -

+ + +

- o -

+ + +

- r -

+ + +

- s -

+ + +

- u -

+
+
+ + + + + diff --git a/globals_eval.html b/globals_eval.html new file mode 100644 index 00000000..ea9ed6a1 --- /dev/null +++ b/globals_eval.html @@ -0,0 +1,505 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- d -

+ + +

- e -

+ + +

- i -

+ + +

- m -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+
+
+ + + + + diff --git a/globals_f.html b/globals_f.html new file mode 100644 index 00000000..175b91f1 --- /dev/null +++ b/globals_f.html @@ -0,0 +1,133 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- f -

+
+
+ + + + + diff --git a/globals_func.html b/globals_func.html new file mode 100644 index 00000000..12468201 --- /dev/null +++ b/globals_func.html @@ -0,0 +1,178 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

+
+
+ + + + + diff --git a/globals_func.js b/globals_func.js new file mode 100644 index 00000000..e639e7d1 --- /dev/null +++ b/globals_func.js @@ -0,0 +1,24 @@ +var globals_func = +[ + [ "a", "globals_func.html", null ], + [ "b", "globals_func_b.html", null ], + [ "c", "globals_func_c.html", null ], + [ "d", "globals_func_d.html", null ], + [ "e", "globals_func_e.html", null ], + [ "f", "globals_func_f.html", null ], + [ "g", "globals_func_g.html", null ], + [ "h", "globals_func_h.html", null ], + [ "i", "globals_func_i.html", null ], + [ "l", "globals_func_l.html", null ], + [ "m", "globals_func_m.html", null ], + [ "n", "globals_func_n.html", null ], + [ "o", "globals_func_o.html", null ], + [ "p", "globals_func_p.html", null ], + [ "r", "globals_func_r.html", null ], + [ "s", "globals_func_s.html", null ], + [ "t", "globals_func_t.html", null ], + [ "u", "globals_func_u.html", null ], + [ "v", "globals_func_v.html", null ], + [ "w", "globals_func_w.html", null ], + [ "x", "globals_func_x.html", null ] +]; \ No newline at end of file diff --git a/globals_func_b.html b/globals_func_b.html new file mode 100644 index 00000000..730014e3 --- /dev/null +++ b/globals_func_b.html @@ -0,0 +1,124 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- b -

+
+
+ + + + + diff --git a/globals_func_c.html b/globals_func_c.html new file mode 100644 index 00000000..45e7e61a --- /dev/null +++ b/globals_func_c.html @@ -0,0 +1,226 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- c -

+
+
+ + + + + diff --git a/globals_func_d.html b/globals_func_d.html new file mode 100644 index 00000000..7d05dc6e --- /dev/null +++ b/globals_func_d.html @@ -0,0 +1,794 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- d -

+
+
+ + + + + diff --git a/globals_func_e.html b/globals_func_e.html new file mode 100644 index 00000000..bee6f5ef --- /dev/null +++ b/globals_func_e.html @@ -0,0 +1,109 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- e -

+
+
+ + + + + diff --git a/globals_func_f.html b/globals_func_f.html new file mode 100644 index 00000000..49d2f716 --- /dev/null +++ b/globals_func_f.html @@ -0,0 +1,133 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- f -

+
+
+ + + + + diff --git a/globals_func_g.html b/globals_func_g.html new file mode 100644 index 00000000..5de35afd --- /dev/null +++ b/globals_func_g.html @@ -0,0 +1,173 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- g -

+
+
+ + + + + diff --git a/globals_func_h.html b/globals_func_h.html new file mode 100644 index 00000000..3504bcdc --- /dev/null +++ b/globals_func_h.html @@ -0,0 +1,109 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- h -

+
+
+ + + + + diff --git a/globals_func_i.html b/globals_func_i.html new file mode 100644 index 00000000..6601e06a --- /dev/null +++ b/globals_func_i.html @@ -0,0 +1,276 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- i -

+
+
+ + + + + diff --git a/globals_func_l.html b/globals_func_l.html new file mode 100644 index 00000000..a7c073d0 --- /dev/null +++ b/globals_func_l.html @@ -0,0 +1,121 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + + diff --git a/globals_func_m.html b/globals_func_m.html new file mode 100644 index 00000000..fbbc8572 --- /dev/null +++ b/globals_func_m.html @@ -0,0 +1,127 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- m -

+
+
+ + + + + diff --git a/globals_func_n.html b/globals_func_n.html new file mode 100644 index 00000000..cc5ff665 --- /dev/null +++ b/globals_func_n.html @@ -0,0 +1,115 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- n -

+
+
+ + + + + diff --git a/globals_func_o.html b/globals_func_o.html new file mode 100644 index 00000000..04d5e5ad --- /dev/null +++ b/globals_func_o.html @@ -0,0 +1,131 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- o -

+
+
+ + + + + diff --git a/globals_func_p.html b/globals_func_p.html new file mode 100644 index 00000000..9cb4bb2c --- /dev/null +++ b/globals_func_p.html @@ -0,0 +1,141 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- p -

+
+
+ + + + + diff --git a/globals_func_r.html b/globals_func_r.html new file mode 100644 index 00000000..141c7c3d --- /dev/null +++ b/globals_func_r.html @@ -0,0 +1,404 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- r -

+
+
+ + + + + diff --git a/globals_func_s.html b/globals_func_s.html new file mode 100644 index 00000000..85931213 --- /dev/null +++ b/globals_func_s.html @@ -0,0 +1,134 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- s -

+
+
+ + + + + diff --git a/globals_func_t.html b/globals_func_t.html new file mode 100644 index 00000000..2c706f02 --- /dev/null +++ b/globals_func_t.html @@ -0,0 +1,113 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- t -

+
+
+ + + + + diff --git a/globals_func_u.html b/globals_func_u.html new file mode 100644 index 00000000..7a8830b5 --- /dev/null +++ b/globals_func_u.html @@ -0,0 +1,113 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- u -

+
+
+ + + + + diff --git a/globals_func_v.html b/globals_func_v.html new file mode 100644 index 00000000..f00920fc --- /dev/null +++ b/globals_func_v.html @@ -0,0 +1,135 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- v -

+
+
+ + + + + diff --git a/globals_func_w.html b/globals_func_w.html new file mode 100644 index 00000000..79350f24 --- /dev/null +++ b/globals_func_w.html @@ -0,0 +1,108 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- w -

+
+
+ + + + + diff --git a/globals_func_x.html b/globals_func_x.html new file mode 100644 index 00000000..5ab60de1 --- /dev/null +++ b/globals_func_x.html @@ -0,0 +1,108 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- x -

+
+
+ + + + + diff --git a/globals_g.html b/globals_g.html new file mode 100644 index 00000000..ecacf3cc --- /dev/null +++ b/globals_g.html @@ -0,0 +1,245 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- g -

+
+
+ + + + + diff --git a/globals_h.html b/globals_h.html new file mode 100644 index 00000000..faa07505 --- /dev/null +++ b/globals_h.html @@ -0,0 +1,112 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- h -

+
+
+ + + + + diff --git a/globals_i.html b/globals_i.html new file mode 100644 index 00000000..5b9f6e77 --- /dev/null +++ b/globals_i.html @@ -0,0 +1,318 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- i -

+
+
+ + + + + diff --git a/globals_l.html b/globals_l.html new file mode 100644 index 00000000..4fba25a4 --- /dev/null +++ b/globals_l.html @@ -0,0 +1,121 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- l -

+
+
+ + + + + diff --git a/globals_m.html b/globals_m.html new file mode 100644 index 00000000..f1ce1aeb --- /dev/null +++ b/globals_m.html @@ -0,0 +1,157 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- m -

+
+
+ + + + + diff --git a/globals_n.html b/globals_n.html new file mode 100644 index 00000000..3512e069 --- /dev/null +++ b/globals_n.html @@ -0,0 +1,121 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- n -

+
+
+ + + + + diff --git a/globals_o.html b/globals_o.html new file mode 100644 index 00000000..f8731e97 --- /dev/null +++ b/globals_o.html @@ -0,0 +1,137 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- o -

+
+
+ + + + + diff --git a/globals_p.html b/globals_p.html new file mode 100644 index 00000000..a6ee9940 --- /dev/null +++ b/globals_p.html @@ -0,0 +1,144 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- p -

+
+
+ + + + + diff --git a/globals_r.html b/globals_r.html new file mode 100644 index 00000000..2cf83bf8 --- /dev/null +++ b/globals_r.html @@ -0,0 +1,611 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- r -

+
+
+ + + + + diff --git a/globals_s.html b/globals_s.html new file mode 100644 index 00000000..a515a611 --- /dev/null +++ b/globals_s.html @@ -0,0 +1,227 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- s -

+
+
+ + + + + diff --git a/globals_t.html b/globals_t.html new file mode 100644 index 00000000..7d87cfdd --- /dev/null +++ b/globals_t.html @@ -0,0 +1,158 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- t -

+
+
+ + + + + diff --git a/globals_type.html b/globals_type.html new file mode 100644 index 00000000..8f3a2688 --- /dev/null +++ b/globals_type.html @@ -0,0 +1,146 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + + diff --git a/globals_u.html b/globals_u.html new file mode 100644 index 00000000..603692d4 --- /dev/null +++ b/globals_u.html @@ -0,0 +1,116 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- u -

+
+
+ + + + + diff --git a/globals_v.html b/globals_v.html new file mode 100644 index 00000000..33fed5ca --- /dev/null +++ b/globals_v.html @@ -0,0 +1,141 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- v -

+
+
+ + + + + diff --git a/globals_vars.html b/globals_vars.html new file mode 100644 index 00000000..205b591b --- /dev/null +++ b/globals_vars.html @@ -0,0 +1,525 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- d -

+ + +

- e -

+ + +

- g -

+ + +

- h -

+ + +

- i -

+ + +

- m -

+ + +

- n -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- v -

+
+
+ + + + + diff --git a/globals_w.html b/globals_w.html new file mode 100644 index 00000000..69a9ecc3 --- /dev/null +++ b/globals_w.html @@ -0,0 +1,108 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- w -

+
+
+ + + + + diff --git a/globals_x.html b/globals_x.html new file mode 100644 index 00000000..c6a04e7a --- /dev/null +++ b/globals_x.html @@ -0,0 +1,108 @@ + + + + + + + +Recast Navigation: File Members + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- x -

+
+
+ + + + + diff --git a/group__crowd.html b/group__crowd.html new file mode 100644 index 00000000..cc3b6182 --- /dev/null +++ b/group__crowd.html @@ -0,0 +1,387 @@ + + + + + + + +Recast Navigation: Crowd + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Crowd
+
+
+ +

Members in this module implement local steering and dynamic avoidance features. +More...

+ + + + + + + + + + + + + + + + + +

+Classes

struct  dtCrowdNeighbour
 Provides neighbor data for agents managed by the crowd. More...
 
struct  dtCrowdAgentParams
 Configuration parameters for a crowd agent. More...
 
struct  dtCrowdAgent
 Represents an agent managed by a dtCrowd object. More...
 
class  dtCrowd
 Provides local steering behaviors for a group of agents. More...
 
class  dtPathCorridor
 Represents a dynamic polygon corridor used to plan agent movement. More...
 
+ + + + + + + +

+Enumerations

enum  CrowdAgentState { DT_CROWDAGENT_STATE_INVALID +, DT_CROWDAGENT_STATE_WALKING +, DT_CROWDAGENT_STATE_OFFMESH + }
 The type of navigation mesh polygon the agent is currently traversing. More...
 
enum  UpdateFlags {
+  DT_CROWD_ANTICIPATE_TURNS = 1 +, DT_CROWD_OBSTACLE_AVOIDANCE = 2 +, DT_CROWD_SEPARATION = 4 +, DT_CROWD_OPTIMIZE_VIS = 8 +,
+  DT_CROWD_OPTIMIZE_TOPO = 16 +
+ }
 Crowd agent update flags. More...
 
+ + + + + + + +

+Functions

dtCrowddtAllocCrowd ()
 Allocates a crowd object using the Detour allocator. More...
 
void dtFreeCrowd (dtCrowd *ptr)
 Frees the specified crowd object using the Detour allocator. More...
 
+ + + + + + + + + + + + + +

+Variables

static const int DT_CROWDAGENT_MAX_NEIGHBOURS = 6
 The maximum number of neighbors that a crowd agent can take into account for steering decisions. More...
 
static const int DT_CROWDAGENT_MAX_CORNERS = 4
 The maximum number of corners a crowd agent will look ahead in the path. More...
 
static const int DT_CROWD_MAX_OBSTAVOIDANCE_PARAMS = 8
 The maximum number of crowd avoidance configurations supported by the crowd manager. More...
 
static const int DT_CROWD_MAX_QUERY_FILTER_TYPE = 16
 The maximum number of query filter types supported by the crowd manager. More...
 
+

Description

+

Members in this module implement local steering and dynamic avoidance features.

+

The crowd is the big beast of the navigation features. It not only handles a lot of the path management for you, but also local steering and dynamic avoidance between members of the crowd. I.e. It can keep your agents from running into each other.

+

Main class: dtCrowd

+

The dtNavMeshQuery and dtPathCorridor classes provide perfectly good, easy to use path planning features. But in the end they only give you points that your navigation client should be moving toward. When it comes to deciding things like agent velocity and steering to avoid other agents, that is up to you to implement. Unless, of course, you decide to use dtCrowd.

+

Basically, you add an agent to the crowd, providing various configuration settings such as maximum speed and acceleration. You also provide a local target to more toward. The crowd manager then provides, with every update, the new agent position and velocity for the frame. The movement will be constrained to the navigation mesh, and steering will be applied to ensure agents managed by the crowd do not collide with each other.

+

This is very powerful feature set. But it comes with limitations.

+

The biggest limitation is that you must give control of the agent's position completely over to the crowd manager. You can update things like maximum speed and acceleration. But in order for the crowd manager to do its thing, it can't allow you to constantly be giving it overrides to position and velocity. So you give up direct control of the agent's movement. It belongs to the crowd.

+

The second biggest limitation revolves around the fact that the crowd manager deals with local planning. So the agent's target should never be more than 256 polygons aways from its current position. If it is, you risk your agent failing to reach its target. So you may still need to do long distance planning and provide the crowd manager with intermediate targets.

+

Other significant limitations:

+
    +
  • All agents using the crowd manager will use the same dtQueryFilter.
  • +
  • Crowd management is relatively expensive. The maximum agents under crowd management at any one time is between 20 and 30. A good place to start is a maximum of 25 agents for 0.5ms per frame.
  • +
+
Note
This is a summary list of members. Use the index or search feature to find minor members.
+

Enumeration Type Documentation

+ +

◆ CrowdAgentState

+ +
+
+ + + + +
enum CrowdAgentState
+
+ +

The type of navigation mesh polygon the agent is currently traversing.

+ + + + +
Enumerator
DT_CROWDAGENT_STATE_INVALID 

The agent is not in a valid state.

+
DT_CROWDAGENT_STATE_WALKING 

The agent is traversing a normal navigation mesh polygon.

+
DT_CROWDAGENT_STATE_OFFMESH 

The agent is traversing an off-mesh connection.

+
+ +
+
+ +

◆ UpdateFlags

+ +
+
+ + + + +
enum UpdateFlags
+
+ +

Crowd agent update flags.

+
See also
dtCrowdAgentParams::updateFlags
+ + + + + + +
Enumerator
DT_CROWD_ANTICIPATE_TURNS 
DT_CROWD_OBSTACLE_AVOIDANCE 
DT_CROWD_SEPARATION 
DT_CROWD_OPTIMIZE_VIS 

Use dtPathCorridor::optimizePathVisibility() to optimize the agent path.

+
DT_CROWD_OPTIMIZE_TOPO 

Use dtPathCorridor::optimizePathTopology() to optimize the agent path.

+
+ +
+
+

Function Documentation

+ +

◆ dtAllocCrowd()

+ +
+
+ + + + + + + +
dtCrowd* dtAllocCrowd ()
+
+ +

Allocates a crowd object using the Detour allocator.

+
Returns
A crowd object that is ready for initialization, or null on failure.
+ +
+
+ +

◆ dtFreeCrowd()

+ +
+
+ + + + + + + + +
void dtFreeCrowd (dtCrowdptr)
+
+ +

Frees the specified crowd object using the Detour allocator.

+
Parameters
+ + +
[in]ptrA crowd object allocated using dtAllocCrowd
+
+
+ +
+
+

Variable Documentation

+ +

◆ DT_CROWD_MAX_OBSTAVOIDANCE_PARAMS

+ +
+
+ + + + + +
+ + + + +
const int DT_CROWD_MAX_OBSTAVOIDANCE_PARAMS = 8
+
+static
+
+ +

The maximum number of crowd avoidance configurations supported by the crowd manager.

+
See also
dtObstacleAvoidanceParams, dtCrowd::setObstacleAvoidanceParams(), dtCrowd::getObstacleAvoidanceParams(), dtCrowdAgentParams::obstacleAvoidanceType
+ +
+
+ +

◆ DT_CROWD_MAX_QUERY_FILTER_TYPE

+ +
+
+ + + + + +
+ + + + +
const int DT_CROWD_MAX_QUERY_FILTER_TYPE = 16
+
+static
+
+ +

The maximum number of query filter types supported by the crowd manager.

+
See also
dtQueryFilter, dtCrowd::getFilter() dtCrowd::getEditableFilter(), dtCrowdAgentParams::queryFilterType
+ +
+
+ +

◆ DT_CROWDAGENT_MAX_CORNERS

+ +
+
+ + + + + +
+ + + + +
const int DT_CROWDAGENT_MAX_CORNERS = 4
+
+static
+
+ +

The maximum number of corners a crowd agent will look ahead in the path.

+

This value is used for sizing the crowd agent corner buffers. Due to the behavior of the crowd manager, the actual number of useful corners will be one less than this number.

+ +
+
+ +

◆ DT_CROWDAGENT_MAX_NEIGHBOURS

+ +
+
+ + + + + +
+ + + + +
const int DT_CROWDAGENT_MAX_NEIGHBOURS = 6
+
+static
+
+ +

The maximum number of neighbors that a crowd agent can take into account for steering decisions.

+ +
+
+
+
+ + + + + diff --git a/group__crowd.js b/group__crowd.js new file mode 100644 index 00000000..b8ae3121 --- /dev/null +++ b/group__crowd.js @@ -0,0 +1,113 @@ +var group__crowd = +[ + [ "dtCrowdNeighbour", "structdtCrowdNeighbour.html", [ + [ "dist", "structdtCrowdNeighbour.html#aa3011f95ad242a684f2a79a1b41d5f6b", null ], + [ "idx", "structdtCrowdNeighbour.html#a6a4639002489c6b6e3709e2e6a217c7c", null ] + ] ], + [ "dtCrowdAgentParams", "structdtCrowdAgentParams.html", [ + [ "collisionQueryRange", "structdtCrowdAgentParams.html#a5e1c7373b02e2f926360e3d3130be068", null ], + [ "height", "structdtCrowdAgentParams.html#a762f702ee5339eebaf252d391f31a586", null ], + [ "maxAcceleration", "structdtCrowdAgentParams.html#a2d1b22f12d2faf77c052b1bae3a27ada", null ], + [ "maxSpeed", "structdtCrowdAgentParams.html#a2a023328c7266577eedeba25e480479f", null ], + [ "obstacleAvoidanceType", "structdtCrowdAgentParams.html#ae8be062f1d9616d17d8b536f7a501498", null ], + [ "pathOptimizationRange", "structdtCrowdAgentParams.html#ab390e7ccafffda667a1132917ad91b93", null ], + [ "queryFilterType", "structdtCrowdAgentParams.html#af5d15cba10237592b1766d7d82da1420", null ], + [ "radius", "structdtCrowdAgentParams.html#a780421355c73aecb187c1aa36de854d8", null ], + [ "separationWeight", "structdtCrowdAgentParams.html#a616534204934492b4f3bc7eb2ff49a0b", null ], + [ "updateFlags", "structdtCrowdAgentParams.html#a7066a4477bbfa53fc1c983e17aa3e5ae", null ], + [ "userData", "structdtCrowdAgentParams.html#a22dd9c496ce4404b8e2a836a14a01281", null ] + ] ], + [ "dtCrowdAgent", "structdtCrowdAgent.html", [ + [ "active", "structdtCrowdAgent.html#a6473f48354abf6f46f5b4d7ead9bca20", null ], + [ "boundary", "structdtCrowdAgent.html#a68fc2f237bd2ac88e4aed6afe6a77951", null ], + [ "cornerFlags", "structdtCrowdAgent.html#a0dbc76cfc32de7dfa2ddd72e8cbfd1a0", null ], + [ "cornerPolys", "structdtCrowdAgent.html#aa1e643c3106128708ca2c66535ac0bbd", null ], + [ "cornerVerts", "structdtCrowdAgent.html#aa63798503ee7acead84e16ce73d21419", null ], + [ "corridor", "structdtCrowdAgent.html#a65166bf21e82273168b4f6f4864044ef", null ], + [ "desiredSpeed", "structdtCrowdAgent.html#ac15a23fd617433db5be5544462ec34d8", null ], + [ "disp", "structdtCrowdAgent.html#a699caf263b79c394c34e31fb9e7c36d0", null ], + [ "dvel", "structdtCrowdAgent.html#add4a75252eb63b88fba66d9c4feb72d9", null ], + [ "ncorners", "structdtCrowdAgent.html#a74e6935a70f5a787f9e06481d9c2905b", null ], + [ "neis", "structdtCrowdAgent.html#a924fad92f7bfcf396a3340d0e518bedf", null ], + [ "nneis", "structdtCrowdAgent.html#a250ba2f5d9ebd40b88ad770aced4aeab", null ], + [ "npos", "structdtCrowdAgent.html#ab23be37267f7f72bf6f4e2e455a8bb6c", null ], + [ "nvel", "structdtCrowdAgent.html#aa0df33b4ae01bffe26adc2ea530cc49e", null ], + [ "params", "structdtCrowdAgent.html#acd1b22112639114ce05c793d178eb4b5", null ], + [ "partial", "structdtCrowdAgent.html#aeb06d7c34ab74696ebb125b0c409043d", null ], + [ "state", "structdtCrowdAgent.html#a091dd7851f63dbe00a59b54072152d5f", null ], + [ "targetPathqRef", "structdtCrowdAgent.html#a1e0f72d182c9cf391300840ab293976e", null ], + [ "targetPos", "structdtCrowdAgent.html#a118c511ca6807b818da75bcd320fb21f", null ], + [ "targetRef", "structdtCrowdAgent.html#a0f33325c1c0bc4050eefe2e0690f84c6", null ], + [ "targetReplan", "structdtCrowdAgent.html#a6300c91130b2690ac64e327e8909d2c8", null ], + [ "targetReplanTime", "structdtCrowdAgent.html#a58585d67fe18e987898f2d42405608b4", null ], + [ "targetState", "structdtCrowdAgent.html#a221a6da715a7e67bbe39e8263ed39948", null ], + [ "topologyOptTime", "structdtCrowdAgent.html#a6c9330e499ceb3df18e047130a29f8f8", null ], + [ "vel", "structdtCrowdAgent.html#a488e32669d4ed67a7945db9f79e45dca", null ] + ] ], + [ "dtCrowd", "classdtCrowd.html", [ + [ "dtCrowd", "classdtCrowd.html#a2210ecc99a80dfda29e1b57f22b3f8a8", null ], + [ "~dtCrowd", "classdtCrowd.html#a9a6817150b328d1646e58713cef9d9b4", null ], + [ "addAgent", "classdtCrowd.html#ae8c89febfd979a6b963c62d8cdb60653", null ], + [ "getActiveAgents", "classdtCrowd.html#a15a4b9b9fb72a358514489ea8f755405", null ], + [ "getAgent", "classdtCrowd.html#aeef39643256ddad7ae421c78dda0ce06", null ], + [ "getAgentCount", "classdtCrowd.html#a87dc2372038ee12d9043a65737880b78", null ], + [ "getEditableAgent", "classdtCrowd.html#aa6b571af2a8c628063b904c7b1a5e910", null ], + [ "getEditableFilter", "classdtCrowd.html#a170a9c4cc9f88a7ee3d560abce9ad552", null ], + [ "getFilter", "classdtCrowd.html#ae712fb6e6e907454ec0a827d11957373", null ], + [ "getGrid", "classdtCrowd.html#a1d1534a46f29afd4ab82ac37080c5ad0", null ], + [ "getNavMeshQuery", "classdtCrowd.html#ae58e2252287003e9b7226936cf8b4ea7", null ], + [ "getObstacleAvoidanceParams", "classdtCrowd.html#a4da076dabe04b63d801c63c99d2fb5bb", null ], + [ "getPathQueue", "classdtCrowd.html#a5300bc081c832dde048affb6bd077afb", null ], + [ "getQueryExtents", "classdtCrowd.html#a6a37c9f57844d91e46fd4c8ef9de17b0", null ], + [ "getQueryHalfExtents", "classdtCrowd.html#a24dd5232d34c87b80b75a6ae2729fd27", null ], + [ "getVelocitySampleCount", "classdtCrowd.html#a22ceec36962e3fdaccfbe4e84a8b24b3", null ], + [ "init", "classdtCrowd.html#a2f670cde9e10d07e3ed189ea861f37e4", null ], + [ "removeAgent", "classdtCrowd.html#ae958ada7790a718a2887114264010f62", null ], + [ "requestMoveTarget", "classdtCrowd.html#aa30c34a65535118989ccd86542e96797", null ], + [ "requestMoveVelocity", "classdtCrowd.html#a4fe7e43e63d857e77f9db1f20b904806", null ], + [ "resetMoveTarget", "classdtCrowd.html#a81405dee71882d0a21a4defd6087a270", null ], + [ "setObstacleAvoidanceParams", "classdtCrowd.html#a96338b9a99e8d58a3051a9ce7934e8b1", null ], + [ "update", "classdtCrowd.html#ae3f041e335ca87c323e7340e73113919", null ], + [ "updateAgentParameters", "classdtCrowd.html#a6ed4aa0026c21593daa9ea12c71f84c2", null ] + ] ], + [ "dtPathCorridor", "classdtPathCorridor.html", [ + [ "dtPathCorridor", "classdtPathCorridor.html#a2e7ceb397b60be4ff6e839206e6ef571", null ], + [ "~dtPathCorridor", "classdtPathCorridor.html#a10dc98697fb9f6e60063ab49a41c391b", null ], + [ "findCorners", "classdtPathCorridor.html#aa1076957ddf987a274a756fbf8202cab", null ], + [ "fixPathStart", "classdtPathCorridor.html#ae2e11d477d193c79197fa28acae824b8", null ], + [ "getFirstPoly", "classdtPathCorridor.html#a1328df3808790d4bedec54112b0fab43", null ], + [ "getLastPoly", "classdtPathCorridor.html#a4d23baaf31661832ea81fd5a6fcc0a59", null ], + [ "getPath", "classdtPathCorridor.html#adc4aee4a1867ce60e6b319edc686661f", null ], + [ "getPathCount", "classdtPathCorridor.html#a16bfdb275fb8f385c269cd06236f8213", null ], + [ "getPos", "classdtPathCorridor.html#a607e96864c9cb68386d57e90d8681159", null ], + [ "getTarget", "classdtPathCorridor.html#aa1ea66fedbbab0cabfb279287aee392b", null ], + [ "init", "classdtPathCorridor.html#a85b4c98157b68a57b9c3302f45d0ed7f", null ], + [ "isValid", "classdtPathCorridor.html#aeb23d3697b0e17837b06b13ae5be4e52", null ], + [ "moveOverOffmeshConnection", "classdtPathCorridor.html#ae44344d2404b1d06f74c15f6748ad48d", null ], + [ "movePosition", "classdtPathCorridor.html#a320a804c422fdb9b58f677b9b42ebf22", null ], + [ "moveTargetPosition", "classdtPathCorridor.html#a66f8097a4f49c077b6c6da5c727c6877", null ], + [ "optimizePathTopology", "classdtPathCorridor.html#a69288d28ab5d23b2c2654e45c5a33c25", null ], + [ "optimizePathVisibility", "classdtPathCorridor.html#a3970b6cd229731debe6beb41d9885463", null ], + [ "reset", "classdtPathCorridor.html#abe057e7b5e1d6677e3d9eadb558df2b0", null ], + [ "setCorridor", "classdtPathCorridor.html#af26a1205a7e38f0389a2dcb2dc23ca9b", null ], + [ "trimInvalidPath", "classdtPathCorridor.html#a5ed6daf1e663f2b0a854794e431514c8", null ] + ] ], + [ "CrowdAgentState", "group__crowd.html#ga59bc9aa54705292d8f0f1ad9ca48ca82", [ + [ "DT_CROWDAGENT_STATE_INVALID", "group__crowd.html#gga59bc9aa54705292d8f0f1ad9ca48ca82ac2abcf7abcdba5abeda5801fc771baa8", null ], + [ "DT_CROWDAGENT_STATE_WALKING", "group__crowd.html#gga59bc9aa54705292d8f0f1ad9ca48ca82ab165ebb808ee9390c7f7ec9f5ea277ec", null ], + [ "DT_CROWDAGENT_STATE_OFFMESH", "group__crowd.html#gga59bc9aa54705292d8f0f1ad9ca48ca82a4194d4934f447526177f505e93c96fec", null ] + ] ], + [ "UpdateFlags", "group__crowd.html#gaa94b67d2fdcc390690c523f28019e52f", [ + [ "DT_CROWD_ANTICIPATE_TURNS", "group__crowd.html#ggaa94b67d2fdcc390690c523f28019e52fafeecd3363350e50041dca39352c3e268", null ], + [ "DT_CROWD_OBSTACLE_AVOIDANCE", "group__crowd.html#ggaa94b67d2fdcc390690c523f28019e52fad5d5d50e0b623e78e0dd68eb816bcc00", null ], + [ "DT_CROWD_SEPARATION", "group__crowd.html#ggaa94b67d2fdcc390690c523f28019e52fa07d463e4e35cd6ca1f16e6bede02856e", null ], + [ "DT_CROWD_OPTIMIZE_VIS", "group__crowd.html#ggaa94b67d2fdcc390690c523f28019e52fad11f447facf1bf42c09de64e9483f3aa", null ], + [ "DT_CROWD_OPTIMIZE_TOPO", "group__crowd.html#ggaa94b67d2fdcc390690c523f28019e52fa89c6f7f2e49254e775cb2b85259a0a93", null ] + ] ], + [ "dtAllocCrowd", "group__crowd.html#ga01a53c9d76d1b61678ab1944dfbfac55", null ], + [ "dtFreeCrowd", "group__crowd.html#ga9475313642645070e78c359e0fc02b7a", null ], + [ "DT_CROWD_MAX_OBSTAVOIDANCE_PARAMS", "group__crowd.html#gaca1e1a9395fd4406de712dc4330c60c5", null ], + [ "DT_CROWD_MAX_QUERY_FILTER_TYPE", "group__crowd.html#ga1686003d07121541db2ee11074e1b3af", null ], + [ "DT_CROWDAGENT_MAX_CORNERS", "group__crowd.html#gab745b43d81519294efcfe7449faff3de", null ], + [ "DT_CROWDAGENT_MAX_NEIGHBOURS", "group__crowd.html#ga70106a906d993ec6c39ef91d81c0f40e", null ] +]; \ No newline at end of file diff --git a/group__detour.html b/group__detour.html new file mode 100644 index 00000000..e7754301 --- /dev/null +++ b/group__detour.html @@ -0,0 +1,424 @@ + + + + + + + +Recast Navigation: Detour + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Detour
+
+
+ +

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

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...
 
bool dtCreateNavMeshData (dtNavMeshCreateParams *params, unsigned char **outData, int *outDataSize)
 Builds navigation mesh tile data from the provided tile creation data. More...
 
dtNavMeshQuerydtAllocNavMeshQuery ()
 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...
 
+

Description

+

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

+

Members in this module are wrappers around the standard math library.

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

Typedef Documentation

+ +

◆ dtPolyRef

+ +
+
+ + + + +
dtPolyRef
+
+ +

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.

+ +
+
+ +

◆ dtTileRef

+ +
+
+ + + + +
dtTileRef
+
+ +

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.

+ +
+
+

Function Documentation

+ +

◆ dtAllocNavMesh()

+ +
+
+ + + + + + + +
dtNavMesh* dtAllocNavMesh ()
+
+ +

Allocates a navigation mesh object using the Detour allocator.

+
Returns
A navigation mesh that is ready for initialization, or null on failure.
+ +
+
+ +

◆ dtAllocNavMeshQuery()

+ +
+
+ + + + + + + +
dtNavMeshQuery* dtAllocNavMeshQuery ()
+
+ +

Allocates a query object using the Detour allocator.

+
Returns
An allocated query object, or null on failure.
+ +
+
+ +

◆ dtCreateNavMeshData()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool dtCreateNavMeshData (dtNavMeshCreateParamsparams,
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.
+
+

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.

+
See also
dtNavMesh, dtNavMesh::addTile()
+ +
+
+ +

◆ dtFreeNavMesh()

+ +
+
+ + + + + + + + +
void dtFreeNavMesh (dtNavMeshnavmesh)
+
+ +

Frees the specified navigation mesh object using the Detour allocator.

+
Parameters
+ + +
[in]navmeshA navigation mesh allocated using dtAllocNavMesh
+
+
+
+

This function will only free the memory for tiles with the DT_TILE_FREE_DATA flag set.

+ +
+
+ +

◆ dtFreeNavMeshQuery()

+ +
+
+ + + + + + + + +
void dtFreeNavMeshQuery (dtNavMeshQueryquery)
+
+ +

Frees the specified query object using the Detour allocator.

+
Parameters
+ + +
[in]queryA query object allocated using dtAllocNavMeshQuery
+
+
+ +
+
+

Variable Documentation

+ +

◆ DT_MAX_AREAS

+ +
+
+ + + + + +
+ + + + +
const int DT_MAX_AREAS = 64
+
+static
+
+ +

The maximum number of user defined area ids.

+ +
+
+ +

◆ DT_VERTS_PER_POLYGON

+ +
+
+ + + + + +
+ + + + +
const int DT_VERTS_PER_POLYGON = 6
+
+static
+
+ +

The maximum number of vertices per navigation polygon.

+ +
+
+
+
+ + + + + diff --git a/group__detour.js b/group__detour.js new file mode 100644 index 00000000..777d0c2a --- /dev/null +++ b/group__detour.js @@ -0,0 +1,227 @@ +var group__detour = +[ + [ "dtPoly", "structdtPoly.html", [ + [ "Nav Volumes & 3D Navigation", "md_Roadmap.html#autotoc_md40", null ], + [ "Climbing Markup & Navigation", "md_Roadmap.html#autotoc_md41", null ], + [ "Tooling", "md_Roadmap.html#autotoc_md42", null ], + [ "More spatial querying abilities", "md_Roadmap.html#autotoc_md43", null ], + [ "Auto-markup system", "md_Roadmap.html#autotoc_md44", null ], + [ "Formations, Group behaviors", "md_Roadmap.html#autotoc_md45", null ], + [ "Vehicle Navigation & Movement", "md_Roadmap.html#autotoc_md46", null ], + [ "Crowd Simulation and Flowfield movement systems", "md_Roadmap.html#autotoc_md47", null ], + [ "getArea", "structdtPoly.html#ab5e97720847977aa7a4caf8c75e73792", null ], + [ "getType", "structdtPoly.html#a12a7d5dcd2f1d7164531be4ecb5f35a4", null ], + [ "setArea", "structdtPoly.html#a84f05dcf69d70b26323b65a0c1c66954", null ], + [ "setType", "structdtPoly.html#ac625b3f1acf8df354a50464e210300dc", null ], + [ "areaAndtype", "structdtPoly.html#af3caa090f5d4776766bf56f82c27a899", null ], + [ "firstLink", "structdtPoly.html#a671fd6893087936e80fcd17f7f666c0e", null ], + [ "flags", "structdtPoly.html#a47312e2c5dfd1ff1a729580c339f0d7d", null ], + [ "neis", "structdtPoly.html#ac4f5aa32df32aa5b1385f76f697376af", null ], + [ "vertCount", "structdtPoly.html#af940c431464c022f844e61130f83d9c2", null ], + [ "verts", "structdtPoly.html#acff94eb19526d33ef3c966b583d1d73f", null ] + ] ], + [ "dtMeshHeader", "structdtMeshHeader.html", [ + [ "bmax", "structdtMeshHeader.html#a81fc3bf970078d4c4411919204f9ce10", null ], + [ "bmin", "structdtMeshHeader.html#ac1a8890add6666f54407cb8e1abc1179", null ], + [ "bvNodeCount", "structdtMeshHeader.html#a266e9ad927fe5cbbd3c3c0ffd4e9f5f0", null ], + [ "bvQuantFactor", "structdtMeshHeader.html#ab415943e0064a6ed0501e8e7da0e5d26", null ], + [ "detailMeshCount", "structdtMeshHeader.html#a79ce7145dd4854c55cd94d5c57faf392", null ], + [ "detailTriCount", "structdtMeshHeader.html#a008cebda05907508cf862d18945d8459", null ], + [ "detailVertCount", "structdtMeshHeader.html#abe1c10b7e925b0b31adf72f8f2d1d7e9", null ], + [ "layer", "structdtMeshHeader.html#ad47558eb925bae065e741742e5c62ea0", null ], + [ "magic", "structdtMeshHeader.html#a3e7a9662d94d08b62ca84d44e150facc", null ], + [ "maxLinkCount", "structdtMeshHeader.html#ab9f95d40e21c8710f59e78ef89ce1cc0", null ], + [ "offMeshBase", "structdtMeshHeader.html#ac8f24275024a40076976e024677dc54d", null ], + [ "offMeshConCount", "structdtMeshHeader.html#af48a70c7ce5f5fd586eb8e66dfe8ea36", null ], + [ "polyCount", "structdtMeshHeader.html#ab36d94238505dbf5370c69c8e5276d74", null ], + [ "userId", "structdtMeshHeader.html#a12351c24b7a9fc6456353c22960b6769", null ], + [ "version", "structdtMeshHeader.html#a22f4453e3e449586b26d71d8153bfb02", null ], + [ "vertCount", "structdtMeshHeader.html#aad331f09586b0959eeb0826152315b92", null ], + [ "walkableClimb", "structdtMeshHeader.html#abd05a74e3a83474d0073118059f11273", null ], + [ "walkableHeight", "structdtMeshHeader.html#a841dd28baa87ecf4a67868d44d212349", null ], + [ "walkableRadius", "structdtMeshHeader.html#af46713cd7140c9cea829730c246e146d", null ], + [ "x", "structdtMeshHeader.html#ae577ca0c9fba95254b699a51483e374c", null ], + [ "y", "structdtMeshHeader.html#a9969f562faa5990fec5ff27c9d2b50b9", null ] + ] ], + [ "dtMeshTile", "structdtMeshTile.html", [ + [ "bvTree", "structdtMeshTile.html#a1e1f626924faa6974363c142c40e632e", null ], + [ "data", "structdtMeshTile.html#ae5ecafb2319029b216f739b2be537f98", null ], + [ "dataSize", "structdtMeshTile.html#a18351bec79954247bef6e22745d5515f", null ], + [ "detailMeshes", "structdtMeshTile.html#a9de7d1fd0dd0c6f46878bc910dec4f90", null ], + [ "detailTris", "structdtMeshTile.html#a237f7f0d938875062b22b42abdff6ab1", null ], + [ "detailVerts", "structdtMeshTile.html#a60928b85578a99aacf71eed721c103d8", null ], + [ "flags", "structdtMeshTile.html#a610bc670e7bd056f31d8629d9c2100a1", null ], + [ "header", "structdtMeshTile.html#a5051ce89a829f53969be9ac3fae9d4c3", null ], + [ "links", "structdtMeshTile.html#a09ec6812e47b7e63f035abd0b7753554", null ], + [ "linksFreeList", "structdtMeshTile.html#ad010d9daba37865a4065248745e0b4a0", null ], + [ "next", "structdtMeshTile.html#a3c02fb96379627a32e596035f5ad9231", null ], + [ "offMeshCons", "structdtMeshTile.html#aaab8cd6559e004f4e39e297ffdd1c5f9", null ], + [ "polys", "structdtMeshTile.html#abd8ed5dcf003464a7d8c456f671e6c1e", null ], + [ "salt", "structdtMeshTile.html#a21bccdc0f5d778d886eaa5aae72b400f", null ], + [ "verts", "structdtMeshTile.html#abee62e6320aff3e2d0cdce239ec2c549", null ] + ] ], + [ "dtNavMeshParams", "structdtNavMeshParams.html", [ + [ "maxPolys", "structdtNavMeshParams.html#a4f44babd04fff4f8300ecd15d4237375", null ], + [ "maxTiles", "structdtNavMeshParams.html#ad6027d623e81058f0d9b2a2adf803f00", null ], + [ "orig", "structdtNavMeshParams.html#a188d95f6d6dbd714b952578d71e3e115", null ], + [ "tileHeight", "structdtNavMeshParams.html#acca8c83bab38cd8c7da8f10103e2c45a", null ], + [ "tileWidth", "structdtNavMeshParams.html#a53836f7c15d5e483209e01e9e1386e7e", null ] + ] ], + [ "dtNavMesh", "classdtNavMesh.html", [ + [ "dtNavMesh", "classdtNavMesh.html#a2c0a9164f97121d8d6fc5d48d3b2c544", null ], + [ "~dtNavMesh", "classdtNavMesh.html#a08ff0da5bc8c2d01d26535f67d0f4726", null ], + [ "addTile", "classdtNavMesh.html#a5b5a7c4fa72c08d9a6d4cc4d8cd3bb89", null ], + [ "calcTileLoc", "classdtNavMesh.html#a609d55c59062910ff645dbbd4c72fed1", null ], + [ "decodePolyId", "classdtNavMesh.html#afaaf5c22864cdf4a61d5e40a4efce43f", null ], + [ "decodePolyIdPoly", "classdtNavMesh.html#a936c3779e6cb7484e57dd106911eccc2", null ], + [ "decodePolyIdSalt", "classdtNavMesh.html#a588b6f839fd249430cff02cea71f347c", null ], + [ "decodePolyIdTile", "classdtNavMesh.html#a94cfcf0015d7d6d856acaf96126cd349", null ], + [ "encodePolyId", "classdtNavMesh.html#a168a479840e7e32613f4b68ee4662d78", null ], + [ "getMaxTiles", "classdtNavMesh.html#a17672fe19464d55eb66dc69f5f2f2b3f", null ], + [ "getOffMeshConnectionByRef", "classdtNavMesh.html#a1db2c979241da0b6e0fda278206678de", null ], + [ "getOffMeshConnectionPolyEndPoints", "classdtNavMesh.html#a5f4c392080406146805f674489feac4a", null ], + [ "getParams", "classdtNavMesh.html#a9202ff1b571f26d948c0ee2f07c9bce8", null ], + [ "getPolyArea", "classdtNavMesh.html#aac53c07a2ab699b15228c91a17b3bafd", null ], + [ "getPolyFlags", "classdtNavMesh.html#a8d5d33030fc21afa6b1be3c80689f9b7", null ], + [ "getPolyRefBase", "classdtNavMesh.html#a0741871ed1357c51e3847f22673fcc9c", null ], + [ "getTile", "classdtNavMesh.html#a52bb4f57b24a139600cfb6aeec1d9bcd", null ], + [ "getTileAndPolyByRef", "classdtNavMesh.html#a36a84aa7296d5cc257eb3ddc38181253", null ], + [ "getTileAndPolyByRefUnsafe", "classdtNavMesh.html#ac5c5b89a6af63b7de29089ae83091e0f", null ], + [ "getTileAt", "classdtNavMesh.html#aecd08fb7ce20324cd18de51a834ff2ef", null ], + [ "getTileByRef", "classdtNavMesh.html#ac7924d8eeed5c67b04d2d23d0cc766ad", null ], + [ "getTileRef", "classdtNavMesh.html#a6027a9a6f032dfd6a3b72563f17d80d7", null ], + [ "getTileRefAt", "classdtNavMesh.html#a88f53f80fa95524b1e7197dface10948", null ], + [ "getTilesAt", "classdtNavMesh.html#a1a89053de47c9ed459d598fc7f739670", null ], + [ "getTileStateSize", "classdtNavMesh.html#aaf6f0b0ce2bd81c5e6cd8ac67f6a8638", null ], + [ "init", "classdtNavMesh.html#a020702938951249972b955a65967234a", null ], + [ "init", "classdtNavMesh.html#a3cbc598755db0d1e9541b15f0f464318", null ], + [ "isValidPolyRef", "classdtNavMesh.html#a84ce3e44a2a97c5377b3b308825fcd37", null ], + [ "removeTile", "classdtNavMesh.html#a5ca09946d00f1cee4987ed5e2f999fdb", null ], + [ "restoreTileState", "classdtNavMesh.html#aef336a67e552a9d031d669ec84029fb8", null ], + [ "setPolyArea", "classdtNavMesh.html#a74a6e65e04a87a1b6abf837349f214fb", null ], + [ "setPolyFlags", "classdtNavMesh.html#af11a9e69fa88b6d5cf66c376d46b8889", null ], + [ "storeTileState", "classdtNavMesh.html#a141e01263950382365468ea265f48758", null ], + [ "dtNavMeshQuery", "classdtNavMesh.html#a43ead93bfa93182d47caf9c6be597376", null ] + ] ], + [ "dtNavMeshCreateParams", "structdtNavMeshCreateParams.html", [ + [ "bmax", "structdtNavMeshCreateParams.html#a980d42a666c5a707ffccff68e0b4a2ae", null ], + [ "bmin", "structdtNavMeshCreateParams.html#a31a2596a43445e9219666d44cb5e32ab", null ], + [ "buildBvTree", "structdtNavMeshCreateParams.html#a3c0dab8176f42294bd87c07a4fcce519", null ], + [ "ch", "structdtNavMeshCreateParams.html#aabc87cedcd783bdd16b8b4377fdb8ccf", null ], + [ "cs", "structdtNavMeshCreateParams.html#a2297125898dd39b19c515638d31cacfc", null ], + [ "detailMeshes", "structdtNavMeshCreateParams.html#a1e164d8ad19c20a3cd7a04352738c2e2", null ], + [ "detailTriCount", "structdtNavMeshCreateParams.html#a2516fa677dad99e0859ed46615d64730", null ], + [ "detailTris", "structdtNavMeshCreateParams.html#a4146c9631643c9d42339933a1a160864", null ], + [ "detailVerts", "structdtNavMeshCreateParams.html#abb88208b052c3ef84d60683bf889a88f", null ], + [ "detailVertsCount", "structdtNavMeshCreateParams.html#af3b5721cfa7cc46e508c5756116f7e10", null ], + [ "nvp", "structdtNavMeshCreateParams.html#aa0cacf292dd206fe7da335461c3af65c", null ], + [ "offMeshConAreas", "structdtNavMeshCreateParams.html#a3a3aa99e495e64204ebeb1b1cd831259", null ], + [ "offMeshConCount", "structdtNavMeshCreateParams.html#adf244929dceba81df29f80f8869097c0", null ], + [ "offMeshConDir", "structdtNavMeshCreateParams.html#a4e497665c7f79fb93211503ebc8069be", null ], + [ "offMeshConFlags", "structdtNavMeshCreateParams.html#ab1339cb28aa32fd7fe2410322cbd187b", null ], + [ "offMeshConRad", "structdtNavMeshCreateParams.html#a42c0de18949baa70762b83f6aaff0bf8", null ], + [ "offMeshConUserID", "structdtNavMeshCreateParams.html#a5d4b0e452b998375f06cd6a3103ea042", null ], + [ "offMeshConVerts", "structdtNavMeshCreateParams.html#a9b075503ee6bfbb71e1b206b249e260d", null ], + [ "polyAreas", "structdtNavMeshCreateParams.html#a6968dabec88b5fc3f549f675b7a40eed", null ], + [ "polyCount", "structdtNavMeshCreateParams.html#ade05d506a6505335142d06f18a35cc45", null ], + [ "polyFlags", "structdtNavMeshCreateParams.html#a61193891d27672918981c8e9447baf47", null ], + [ "polys", "structdtNavMeshCreateParams.html#a32129adb089b24ce7f328f780bbf35a7", null ], + [ "tileLayer", "structdtNavMeshCreateParams.html#a537e0bee7d1ddf992dc540d46fa337de", null ], + [ "tileX", "structdtNavMeshCreateParams.html#ac3cd5e08f533bfd9767f70dd02f1cb33", null ], + [ "tileY", "structdtNavMeshCreateParams.html#afc178088f515787cc8dec214559358e9", null ], + [ "userId", "structdtNavMeshCreateParams.html#aeb8e8fb9fed1e6f47292f5016f9eee0a", null ], + [ "vertCount", "structdtNavMeshCreateParams.html#a5cc3d74f4b38715cb1adf01c7d118c3f", null ], + [ "verts", "structdtNavMeshCreateParams.html#a000f1bbb0fbc2dbd9d34e73bcb50ae3f", null ], + [ "walkableClimb", "structdtNavMeshCreateParams.html#a2ccf071ca70fe5566ddd2f214bac7779", null ], + [ "walkableHeight", "structdtNavMeshCreateParams.html#a1d7c8d3ae651371b0ce5acbc19f9221e", null ], + [ "walkableRadius", "structdtNavMeshCreateParams.html#a5c467f6297663e0ed82c49d768bc3b12", null ] + ] ], + [ "dtQueryFilter", "classdtQueryFilter.html", [ + [ "dtQueryFilter", "classdtQueryFilter.html#ad686b0d14e2826de3b674c663f7f1456", null ], + [ "getAreaCost", "classdtQueryFilter.html#a1e41582a45d2a10eb7e68740475e5665", null ], + [ "getCost", "classdtQueryFilter.html#a11d016505b732a1a013c3771a4157dea", null ], + [ "getExcludeFlags", "classdtQueryFilter.html#ac3e2d16755c3510003f0580e27ce4897", null ], + [ "getIncludeFlags", "classdtQueryFilter.html#a5bae688840167576dc6ab7913dda1b34", null ], + [ "passFilter", "classdtQueryFilter.html#aaf072b8617dfbd4701a8e07f0f10be9c", null ], + [ "setAreaCost", "classdtQueryFilter.html#a36063c39d5c391a393412108a8a33927", null ], + [ "setExcludeFlags", "classdtQueryFilter.html#a18c1b888c9b2c3b30703d6861a793600", null ], + [ "setIncludeFlags", "classdtQueryFilter.html#ab9783c92a30e41df84ebfd2f68338970", null ] + ] ], + [ "dtRaycastHit", "structdtRaycastHit.html", [ + [ "hitEdgeIndex", "structdtRaycastHit.html#a27f1d665cde84889338ef4634c017c39", null ], + [ "hitNormal", "structdtRaycastHit.html#a35b5d410f632591db3f0a7d7f5c235b8", null ], + [ "maxPath", "structdtRaycastHit.html#a62b75cb350d9ace5e47887c7c1add9b3", null ], + [ "path", "structdtRaycastHit.html#afaec74eedaf7e62a4fcc9b2bc2ce7006", null ], + [ "pathCost", "structdtRaycastHit.html#aa545333016e4844923a022263ab6a5fa", null ], + [ "pathCount", "structdtRaycastHit.html#ae1b9b3893e653ce5a1ecf8d8415f5a93", null ], + [ "t", "structdtRaycastHit.html#a890c2216ded62ca0932cd6ee27cc7ea9", null ] + ] ], + [ "dtPolyQuery", "classdtPolyQuery.html", [ + [ "~dtPolyQuery", "classdtPolyQuery.html#a9ad241119b015028dc392b33b1b32d68", null ], + [ "process", "classdtPolyQuery.html#a21184a157b5762bc558ac49e43a1131e", null ] + ] ], + [ "dtNavMeshQuery", "classdtNavMeshQuery.html", [ + [ "dtNavMeshQuery", "classdtNavMeshQuery.html#aa5adfa9c92f7d77bb144c3283bf76d2e", null ], + [ "~dtNavMeshQuery", "classdtNavMeshQuery.html#a157a41114dab708dabb05eebe8dc07a2", null ], + [ "closestPointOnPoly", "classdtNavMeshQuery.html#a07a90efe5d1a2b4b530aa236370574d9", null ], + [ "closestPointOnPolyBoundary", "classdtNavMeshQuery.html#aa53b9573e61eda951213ea9e4354e744", null ], + [ "finalizeSlicedFindPath", "classdtNavMeshQuery.html#a98673bb238fbb139ec8407e266fa76fd", null ], + [ "finalizeSlicedFindPathPartial", "classdtNavMeshQuery.html#a01b18dcb5d25fc392b6030ae5d4f310e", null ], + [ "findDistanceToWall", "classdtNavMeshQuery.html#a1576a980ae29e44ad4809a25974fbd40", null ], + [ "findLocalNeighbourhood", "classdtNavMeshQuery.html#a9864032da48ba6f1055deab90633ffd6", null ], + [ "findNearestPoly", "classdtNavMeshQuery.html#a5317939092cb4b55fed4b0bb61afc74a", null ], + [ "findNearestPoly", "classdtNavMeshQuery.html#a0b5d26748dfa4bd9f3d8ba0c1d972b56", null ], + [ "findPath", "classdtNavMeshQuery.html#a9d86502949fcd4f96ffd350d4ef69e3c", null ], + [ "findPolysAroundCircle", "classdtNavMeshQuery.html#a1131b39f205440349e7efe7f2d9b0ef9", null ], + [ "findPolysAroundShape", "classdtNavMeshQuery.html#aa142b8c1e54bdefc39ab41507fe931d1", null ], + [ "findRandomPoint", "classdtNavMeshQuery.html#af86c392a14bd788b0caecf21d9fb4b3d", null ], + [ "findRandomPointAroundCircle", "classdtNavMeshQuery.html#abfb87531eb962cbd51c649469de2e4fa", null ], + [ "findStraightPath", "classdtNavMeshQuery.html#ac160434c85bdf9edec24fa621f120d2d", null ], + [ "getAttachedNavMesh", "classdtNavMeshQuery.html#a05ddaa41019804494be7da66207882de", null ], + [ "getNodePool", "classdtNavMeshQuery.html#a5f5baaa868aad36ba023ea81b10e70bd", null ], + [ "getPathFromDijkstraSearch", "classdtNavMeshQuery.html#af0eadf81ceef919bd502469529b02fd0", null ], + [ "getPolyHeight", "classdtNavMeshQuery.html#af8303a12749e252c6688c15c5c887b69", null ], + [ "getPolyWallSegments", "classdtNavMeshQuery.html#a2c49662f07e52f1488622089952a154c", null ], + [ "init", "classdtNavMeshQuery.html#acb51d0d2798d0bc7c669ac38c25d4116", null ], + [ "initSlicedFindPath", "classdtNavMeshQuery.html#ae9a478194f14f1a4591f8b6528007d82", null ], + [ "isInClosedList", "classdtNavMeshQuery.html#ad1de0c0d7cc527905d3f83c613897eb3", null ], + [ "isValidPolyRef", "classdtNavMeshQuery.html#ac76164ed97fdedd9ea8abbe52f6c2c8a", null ], + [ "moveAlongSurface", "classdtNavMeshQuery.html#a95f6d7c92a75c7773ababeb144206968", null ], + [ "queryPolygons", "classdtNavMeshQuery.html#aed2fc9071ca182a548baf5158cd4f441", null ], + [ "queryPolygons", "classdtNavMeshQuery.html#a06e46d57afad3f07380d82bb8d4a6720", null ], + [ "raycast", "classdtNavMeshQuery.html#a96bd4282df1e863d1c813b2fe881a262", null ], + [ "raycast", "classdtNavMeshQuery.html#a7509a4bf31a215f20478c5050ef25913", null ], + [ "updateSlicedFindPath", "classdtNavMeshQuery.html#aa0c147e3da7fd0b59342da0fc456afc7", null ] + ] ], + [ "dtPathCorridor", "classdtPathCorridor.html", [ + [ "dtPathCorridor", "classdtPathCorridor.html#a2e7ceb397b60be4ff6e839206e6ef571", null ], + [ "~dtPathCorridor", "classdtPathCorridor.html#a10dc98697fb9f6e60063ab49a41c391b", null ], + [ "findCorners", "classdtPathCorridor.html#aa1076957ddf987a274a756fbf8202cab", null ], + [ "fixPathStart", "classdtPathCorridor.html#ae2e11d477d193c79197fa28acae824b8", null ], + [ "getFirstPoly", "classdtPathCorridor.html#a1328df3808790d4bedec54112b0fab43", null ], + [ "getLastPoly", "classdtPathCorridor.html#a4d23baaf31661832ea81fd5a6fcc0a59", null ], + [ "getPath", "classdtPathCorridor.html#adc4aee4a1867ce60e6b319edc686661f", null ], + [ "getPathCount", "classdtPathCorridor.html#a16bfdb275fb8f385c269cd06236f8213", null ], + [ "getPos", "classdtPathCorridor.html#a607e96864c9cb68386d57e90d8681159", null ], + [ "getTarget", "classdtPathCorridor.html#aa1ea66fedbbab0cabfb279287aee392b", null ], + [ "init", "classdtPathCorridor.html#a85b4c98157b68a57b9c3302f45d0ed7f", null ], + [ "isValid", "classdtPathCorridor.html#aeb23d3697b0e17837b06b13ae5be4e52", null ], + [ "moveOverOffmeshConnection", "classdtPathCorridor.html#ae44344d2404b1d06f74c15f6748ad48d", null ], + [ "movePosition", "classdtPathCorridor.html#a320a804c422fdb9b58f677b9b42ebf22", null ], + [ "moveTargetPosition", "classdtPathCorridor.html#a66f8097a4f49c077b6c6da5c727c6877", null ], + [ "optimizePathTopology", "classdtPathCorridor.html#a69288d28ab5d23b2c2654e45c5a33c25", null ], + [ "optimizePathVisibility", "classdtPathCorridor.html#a3970b6cd229731debe6beb41d9885463", null ], + [ "reset", "classdtPathCorridor.html#abe057e7b5e1d6677e3d9eadb558df2b0", null ], + [ "setCorridor", "classdtPathCorridor.html#af26a1205a7e38f0389a2dcb2dc23ca9b", null ], + [ "trimInvalidPath", "classdtPathCorridor.html#a5ed6daf1e663f2b0a854794e431514c8", null ] + ] ], + [ "dtPolyRef", "group__detour.html#gab4e0b2257a670c1a800057999612b466", null ], + [ "dtTileRef", "group__detour.html#ga7ea56cfe01bd7c34a81d821d94cbeea5", null ], + [ "dtAllocNavMesh", "group__detour.html#ga73648d53c5a414855a2aa264aab9263c", null ], + [ "dtAllocNavMeshQuery", "group__detour.html#gae547f165feefc955136130c8e22f207a", null ], + [ "dtCreateNavMeshData", "group__detour.html#gaf56ac19e79e5948fdb1051158577e648", null ], + [ "dtFreeNavMesh", "group__detour.html#gad938af5675a2f62c7c3830b38ea9a184", null ], + [ "dtFreeNavMeshQuery", "group__detour.html#ga24ccc133f15a0aa85f06f1c1ead2e6c4", null ], + [ "DT_MAX_AREAS", "group__detour.html#ga954dc85eacf41248ee76968957484a9e", null ], + [ "DT_VERTS_PER_POLYGON", "group__detour.html#ga8591fdac662dbfabb580de626c64c9f3", null ] +]; \ No newline at end of file diff --git a/group__recast.html b/group__recast.html new file mode 100644 index 00000000..32081600 --- /dev/null +++ b/group__recast.html @@ -0,0 +1,2806 @@ + + + + + + + +Recast Navigation: Recast + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Recast
+
+
+ +

Members in this module are used to create mesh data that is then used to create Detour navigation meshes. +More...

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Classes

class  rcContext
 Provides an interface for optional logging and performance tracking of the Recast build process. More...
 
struct  rcConfig
 Specifies a configuration to use when performing Recast builds. More...
 
struct  rcHeightfield
 A dynamic heightfield representing obstructed space. More...
 
struct  rcCompactHeightfield
 A compact, static heightfield representing unobstructed space. More...
 
struct  rcHeightfieldLayerSet
 Represents a set of heightfield layers. More...
 
struct  rcContourSet
 Represents a group of related contours. More...
 
struct  rcPolyMesh
 Represents a polygon mesh suitable for use in building a navigation mesh. More...
 
struct  rcPolyMeshDetail
 Contains triangle meshes that represent detailed height data associated with the polygons in its associated polygon mesh object. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Allocation Functions

Functions used to allocate and de-allocate Recast objects.

+
See also
rcAllocSetCustom
+
rcHeightfieldrcAllocHeightfield ()
 Allocates a heightfield object using the Recast allocator. More...
 
void rcFreeHeightField (rcHeightfield *heightfield)
 Frees the specified heightfield object using the Recast allocator. More...
 
rcCompactHeightfieldrcAllocCompactHeightfield ()
 Allocates a compact heightfield object using the Recast allocator. More...
 
void rcFreeCompactHeightfield (rcCompactHeightfield *compactHeightfield)
 Frees the specified compact heightfield object using the Recast allocator. More...
 
rcHeightfieldLayerSetrcAllocHeightfieldLayerSet ()
 Allocates a heightfield layer set using the Recast allocator. More...
 
void rcFreeHeightfieldLayerSet (rcHeightfieldLayerSet *layerSet)
 Frees the specified heightfield layer set using the Recast allocator. More...
 
rcContourSetrcAllocContourSet ()
 Allocates a contour set object using the Recast allocator. More...
 
void rcFreeContourSet (rcContourSet *contourSet)
 Frees the specified contour set using the Recast allocator. More...
 
rcPolyMeshrcAllocPolyMesh ()
 Allocates a polygon mesh object using the Recast allocator. More...
 
void rcFreePolyMesh (rcPolyMesh *polyMesh)
 Frees the specified polygon mesh using the Recast allocator. More...
 
rcPolyMeshDetailrcAllocPolyMeshDetail ()
 Allocates a detail mesh object using the Recast allocator. More...
 
void rcFreePolyMeshDetail (rcPolyMeshDetail *detailMesh)
 Frees the specified detail mesh using the Recast allocator. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Heightfield Functions

See also
rcHeightfield
+
void rcCalcBounds (const float *verts, int numVerts, float *minBounds, float *maxBounds)
 Calculates the bounding box of an array of vertices. More...
 
void rcCalcGridSize (const float *minBounds, const float *maxBounds, float cellSize, int *sizeX, int *sizeZ)
 Calculates the grid size based on the bounding box and grid cell size. More...
 
bool rcCreateHeightfield (rcContext *context, rcHeightfield &heightfield, int sizeX, int sizeZ, const float *minBounds, const float *maxBounds, float cellSize, float cellHeight)
 Initializes a new heightfield. More...
 
void rcMarkWalkableTriangles (rcContext *context, float walkableSlopeAngle, const float *verts, int numVerts, const int *tris, int numTris, unsigned char *triAreaIDs)
 Sets the area id of all triangles with a slope below the specified value to RC_WALKABLE_AREA. More...
 
void rcClearUnwalkableTriangles (rcContext *context, float walkableSlopeAngle, const float *verts, int numVerts, const int *tris, int numTris, unsigned char *triAreaIDs)
 Sets the area id of all triangles with a slope greater than or equal to the specified value to RC_NULL_AREA. More...
 
bool rcAddSpan (rcContext *context, rcHeightfield &heightfield, int x, int z, unsigned short spanMin, unsigned short spanMax, unsigned char areaID, int flagMergeThreshold)
 Adds a span to the specified heightfield. More...
 
bool rcRasterizeTriangle (rcContext *context, const float *v0, const float *v1, const float *v2, unsigned char areaID, rcHeightfield &heightfield, int flagMergeThreshold=1)
 Rasterizes a single triangle into the specified heightfield. More...
 
bool rcRasterizeTriangles (rcContext *context, const float *verts, int numVerts, const int *tris, const unsigned char *triAreaIDs, int numTris, rcHeightfield &heightfield, int flagMergeThreshold=1)
 Rasterizes an indexed triangle mesh into the specified heightfield. More...
 
bool rcRasterizeTriangles (rcContext *context, const float *verts, int numVerts, const unsigned short *tris, const unsigned char *triAreaIDs, int numTris, rcHeightfield &heightfield, int flagMergeThreshold=1)
 Rasterizes an indexed triangle mesh into the specified heightfield. More...
 
bool rcRasterizeTriangles (rcContext *context, const float *verts, const unsigned char *triAreaIDs, int numTris, rcHeightfield &heightfield, int flagMergeThreshold=1)
 Rasterizes a triangle list into the specified heightfield. More...
 
void rcFilterLowHangingWalkableObstacles (rcContext *context, int walkableClimb, rcHeightfield &heightfield)
 Marks non-walkable spans as walkable if their maximum is within walkableClimb of a walkable neighbor. More...
 
void rcFilterLedgeSpans (rcContext *context, int walkableHeight, int walkableClimb, rcHeightfield &heightfield)
 Marks spans that are ledges as not-walkable. More...
 
void rcFilterWalkableLowHeightSpans (rcContext *context, int walkableHeight, rcHeightfield &heightfield)
 Marks walkable spans as not walkable if the clearance above the span is less than the specified height. More...
 
int rcGetHeightFieldSpanCount (rcContext *context, const rcHeightfield &heightfield)
 Returns the number of spans contained in the specified heightfield. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Compact Heightfield Functions

See also
rcCompactHeightfield
+
bool rcBuildCompactHeightfield (rcContext *context, int walkableHeight, int walkableClimb, rcHeightfield &heightfield, rcCompactHeightfield &compactHeightfield)
 Builds a compact heightfield representing open space, from a heightfield representing solid space. More...
 
bool rcErodeWalkableArea (rcContext *ctx, int radius, rcCompactHeightfield &chf)
 Erodes the walkable area within the heightfield by the specified radius. More...
 
bool rcMedianFilterWalkableArea (rcContext *ctx, rcCompactHeightfield &chf)
 Applies a median filter to walkable area types (based on area id), removing noise. More...
 
void rcMarkBoxArea (rcContext *ctx, const float *bmin, const float *bmax, unsigned char areaId, rcCompactHeightfield &chf)
 Applies an area id to all spans within the specified bounding box. More...
 
void rcMarkConvexPolyArea (rcContext *ctx, const float *verts, const int nverts, const float hmin, const float hmax, unsigned char areaId, rcCompactHeightfield &chf)
 Applies the area id to the all spans within the specified convex polygon. More...
 
int rcOffsetPoly (const float *verts, const int nverts, const float offset, float *outVerts, const int maxOutVerts)
 Helper function to offset voncex polygons for rcMarkConvexPolyArea. More...
 
void rcMarkCylinderArea (rcContext *ctx, const float *pos, const float r, const float h, unsigned char areaId, rcCompactHeightfield &chf)
 Applies the area id to all spans within the specified cylinder. More...
 
bool rcBuildDistanceField (rcContext *ctx, rcCompactHeightfield &chf)
 Builds the distance field for the specified compact heightfield. More...
 
bool rcBuildRegions (rcContext *ctx, rcCompactHeightfield &chf, int borderSize, int minRegionArea, int mergeRegionArea)
 Builds region data for the heightfield using watershed partitioning. More...
 
bool rcBuildLayerRegions (rcContext *ctx, rcCompactHeightfield &chf, int borderSize, int minRegionArea)
 Builds region data for the heightfield by partitioning the heightfield in non-overlapping layers. More...
 
bool rcBuildRegionsMonotone (rcContext *ctx, rcCompactHeightfield &chf, int borderSize, int minRegionArea, int mergeRegionArea)
 Builds region data for the heightfield using simple monotone partitioning. More...
 
void rcSetCon (rcCompactSpan &span, int direction, int neighborIndex)
 Sets the neighbor connection data for the specified direction. More...
 
int rcGetCon (const rcCompactSpan &span, int direction)
 Gets neighbor connection data for the specified direction. More...
 
int rcGetDirOffsetX (int direction)
 Gets the standard width (x-axis) offset for the specified direction. More...
 
int rcGetDirOffsetY (int direction)
 Gets the standard height (z-axis) offset for the specified direction. More...
 
int rcGetDirForOffset (int offsetX, int offsetZ)
 Gets the direction for the specified offset. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + +

Layer, Contour, Polymesh, and Detail Mesh Functions

See also
rcHeightfieldLayer, rcContourSet, rcPolyMesh, rcPolyMeshDetail
+
bool rcBuildHeightfieldLayers (rcContext *ctx, rcCompactHeightfield &chf, int borderSize, int walkableHeight, rcHeightfieldLayerSet &lset)
 Builds a layer set from the specified compact heightfield. More...
 
bool rcBuildContours (rcContext *ctx, rcCompactHeightfield &chf, float maxError, int maxEdgeLen, rcContourSet &cset, int buildFlags=RC_CONTOUR_TESS_WALL_EDGES)
 Builds a contour set from the region outlines in the provided compact heightfield. More...
 
bool rcBuildPolyMesh (rcContext *ctx, rcContourSet &cset, const int nvp, rcPolyMesh &mesh)
 Builds a polygon mesh from the provided contours. More...
 
bool rcMergePolyMeshes (rcContext *ctx, rcPolyMesh **meshes, const int nmeshes, rcPolyMesh &mesh)
 Merges multiple polygon meshes into a single mesh. More...
 
bool rcBuildPolyMeshDetail (rcContext *ctx, const rcPolyMesh &mesh, const rcCompactHeightfield &chf, float sampleDist, float sampleMaxError, rcPolyMeshDetail &dmesh)
 Builds a detail mesh from the provided polygon mesh. More...
 
bool rcCopyPolyMesh (rcContext *ctx, const rcPolyMesh &src, rcPolyMesh &dst)
 Copies the poly mesh data from src to dst. More...
 
bool rcMergePolyMeshDetails (rcContext *ctx, rcPolyMeshDetail **meshes, const int nmeshes, rcPolyMeshDetail &mesh)
 Merges multiple detail meshes into a single detail mesh. More...
 
+

Description

+

Members in this module are used to create mesh data that is then used to create Detour navigation meshes.

+

The are a large number of possible ways to building navigation mesh data. One of the simple piplines is as follows:

+
    +
  1. Prepare the input triangle mesh.
  2. +
  3. Build a rcHeightfield.
  4. +
  5. Build a rcCompactHeightfield.
  6. +
  7. Build a rcContourSet.
  8. +
  9. Build a rcPolyMesh.
  10. +
  11. Build a rcPolyMeshDetail.
  12. +
  13. Use the rcPolyMesh and rcPolyMeshDetail to build a Detour navigation mesh tile.
  14. +
+

The general life-cycle of the main classes is as follows:

+
    +
  1. Allocate the object using the Recast allocator. (E.g. rcAllocHeightfield)
  2. +
  3. Initialize or build the object. (E.g. rcCreateHeightfield)
  4. +
  5. Update the object as needed. (E.g. rcRasterizeTriangles)
  6. +
  7. Use the object as part of the pipeline.
  8. +
  9. Free the object using the Recast allocator. (E.g. rcFreeHeightField)
  10. +
+

Function Documentation

+ +

◆ rcAddSpan()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool rcAddSpan (rcContextcontext,
rcHeightfieldheightfield,
int x,
int z,
unsigned short spanMin,
unsigned short spanMax,
unsigned char areaID,
int flagMergeThreshold 
)
+
+ +

Adds a span to the specified heightfield.

+

The span addition can be set to favor flags. If the span is merged to another span and the new spanMax is within flagMergeThreshold units from the existing span, the span flags are merged.

+
Parameters
+ + + + + + + + + +
[in,out]contextThe build context to use during the operation.
[in,out]heightfieldAn initialized heightfield.
[in]xThe column x index where the span is to be added. [Limits: 0 <= value < rcHeightfield::width]
[in]zThe column z index where the span is to be added. [Limits: 0 <= value < rcHeightfield::height]
[in]spanMinThe minimum height of the span. [Limit: < spanMax] [Units: vx]
[in]spanMaxThe maximum height of the span. [Limit: <= RC_SPAN_MAX_HEIGHT] [Units: vx]
[in]areaIDThe area id of the span. [Limit: <= RC_WALKABLE_AREA)
[in]flagMergeThresholdThe merge threshold. [Limit: >= 0] [Units: vx]
+
+
+
Returns
True if the operation completed successfully.
+ +
+
+ +

◆ rcAllocCompactHeightfield()

+ +
+
+ + + + + + + +
rcCompactHeightfield* rcAllocCompactHeightfield ()
+
+ +

Allocates a compact heightfield object using the Recast allocator.

+
Returns
A compact heightfield that is ready for initialization, or null on failure.
+
See also
rcBuildCompactHeightfield, rcFreeCompactHeightfield
+ +
+
+ +

◆ rcAllocContourSet()

+ +
+
+ + + + + + + +
rcContourSet* rcAllocContourSet ()
+
+ +

Allocates a contour set object using the Recast allocator.

+
Returns
A contour set that is ready for initialization, or null on failure.
+
See also
rcBuildContours, rcFreeContourSet
+ +
+
+ +

◆ rcAllocHeightfield()

+ +
+
+ + + + + + + +
rcHeightfield* rcAllocHeightfield ()
+
+ +

Allocates a heightfield object using the Recast allocator.

+
Returns
A heightfield that is ready for initialization, or null on failure.
+
See also
rcCreateHeightfield, rcFreeHeightField
+ +
+
+ +

◆ rcAllocHeightfieldLayerSet()

+ +
+
+ + + + + + + +
rcHeightfieldLayerSet* rcAllocHeightfieldLayerSet ()
+
+ +

Allocates a heightfield layer set using the Recast allocator.

+
Returns
A heightfield layer set that is ready for initialization, or null on failure.
+
See also
rcBuildHeightfieldLayers, rcFreeHeightfieldLayerSet
+ +
+
+ +

◆ rcAllocPolyMesh()

+ +
+
+ + + + + + + +
rcPolyMesh* rcAllocPolyMesh ()
+
+ +

Allocates a polygon mesh object using the Recast allocator.

+
Returns
A polygon mesh that is ready for initialization, or null on failure.
+
See also
rcBuildPolyMesh, rcFreePolyMesh
+ +
+
+ +

◆ rcAllocPolyMeshDetail()

+ +
+
+ + + + + + + +
rcPolyMeshDetail* rcAllocPolyMeshDetail ()
+
+ +

Allocates a detail mesh object using the Recast allocator.

+
Returns
A detail mesh that is ready for initialization, or null on failure.
+
See also
rcBuildPolyMeshDetail, rcFreePolyMeshDetail
+ +
+
+ +

◆ rcBuildCompactHeightfield()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool rcBuildCompactHeightfield (rcContextcontext,
int walkableHeight,
int walkableClimb,
rcHeightfieldheightfield,
rcCompactHeightfieldcompactHeightfield 
)
+
+ +

Builds a compact heightfield representing open space, from a heightfield representing solid space.

+

This is just the beginning of the process of fully building a compact heightfield. Various filters may be applied, then the distance field and regions built. E.g: rcBuildDistanceField and rcBuildRegions

+

See the rcConfig documentation for more information on the configuration parameters.

+
See also
rcAllocCompactHeightfield, rcHeightfield, rcCompactHeightfield, rcConfig
+
Parameters
+ + + + + + +
[in,out]contextThe build context to use during the operation.
[in]walkableHeightMinimum floor to 'ceiling' height that will still allow the floor area to be considered walkable. [Limit: >= 3] [Units: vx]
[in]walkableClimbMaximum ledge height that is considered to still be traversable. [Limit: >=0] [Units: vx]
[in]heightfieldThe heightfield to be compacted.
[out]compactHeightfieldThe resulting compact heightfield. (Must be pre-allocated.)
+
+
+
Returns
True if the operation completed successfully.
+ +
+
+ +

◆ rcBuildContours()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool rcBuildContours (rcContextctx,
rcCompactHeightfieldchf,
const float maxError,
const int maxEdgeLen,
rcContourSetcset,
const int buildFlags 
)
+
+ +

Builds a contour set from the region outlines in the provided compact heightfield.

+
Parameters
+ + + + + + + +
[in,out]ctxThe build context to use during the operation.
[in]chfA fully built compact heightfield.
[in]maxErrorThe maximum distance a simplified contour's border edges should deviate the original raw contour. [Limit: >=0] [Units: wu]
[in]maxEdgeLenThe maximum allowed length for contour edges along the border of the mesh. [Limit: >=0] [Units: vx]
[out]csetThe resulting contour set. (Must be pre-allocated.)
[in]buildFlagsThe build flags. (See: rcBuildContoursFlags)
+
+
+
Returns
True if the operation completed successfully.
+
+

The raw contours will match the region outlines exactly. The maxError and maxEdgeLen parameters control how closely the simplified contours will match the raw contours.

+

Simplified contours are generated such that the vertices for portals between areas match up. (They are considered mandatory vertices.)

+

Setting maxEdgeLength to zero will disabled the edge length feature.

+

See the rcConfig documentation for more information on the configuration parameters.

+
See also
rcAllocContourSet, rcCompactHeightfield, rcContourSet, rcConfig
+ +
+
+ +

◆ rcBuildDistanceField()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool rcBuildDistanceField (rcContextctx,
rcCompactHeightfieldchf 
)
+
+ +

Builds the distance field for the specified compact heightfield.

+
Parameters
+ + + +
[in,out]ctxThe build context to use during the operation.
[in,out]chfA populated compact heightfield.
+
+
+
Returns
True if the operation completed successfully.
+
+

This is usually the second to the last step in creating a fully built compact heightfield. This step is required before regions are built using rcBuildRegions or rcBuildRegionsMonotone.

+

After this step, the distance data is available via the rcCompactHeightfield::maxDistance and rcCompactHeightfield::dist fields.

+
See also
rcCompactHeightfield, rcBuildRegions, rcBuildRegionsMonotone
+ +
+
+ +

◆ rcBuildHeightfieldLayers()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool rcBuildHeightfieldLayers (rcContextctx,
rcCompactHeightfieldchf,
const int borderSize,
const int walkableHeight,
rcHeightfieldLayerSetlset 
)
+
+ +

Builds a layer set from the specified compact heightfield.

+
Parameters
+ + + + + + +
[in,out]ctxThe build context to use during the operation.
[in]chfA fully built compact heightfield.
[in]borderSizeThe size of the non-navigable border around the heightfield. [Limit: >=0] [Units: vx]
[in]walkableHeightMinimum floor to 'ceiling' height that will still allow the floor area to be considered walkable. [Limit: >= 3] [Units: vx]
[out]lsetThe resulting layer set. (Must be pre-allocated.)
+
+
+
Returns
True if the operation completed successfully.
+
+

See the rcConfig documentation for more information on the configuration parameters.

+
See also
rcAllocHeightfieldLayerSet, rcCompactHeightfield, rcHeightfieldLayerSet, rcConfig
+ +
+
+ +

◆ rcBuildLayerRegions()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool rcBuildLayerRegions (rcContextctx,
rcCompactHeightfieldchf,
int borderSize,
int minRegionArea 
)
+
+ +

Builds region data for the heightfield by partitioning the heightfield in non-overlapping layers.

+
Parameters
+ + + + + +
[in,out]ctxThe build context to use during the operation.
[in,out]chfA populated compact heightfield.
[in]borderSizeThe size of the non-navigable border around the heightfield. [Limit: >=0] [Units: vx]
[in]minRegionAreaThe minimum number of cells allowed to form isolated island areas. [Limit: >=0] [Units: vx].
+
+
+
Returns
True if the operation completed successfully.
+ +
+
+ +

◆ rcBuildPolyMesh()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool rcBuildPolyMesh (rcContextctx,
rcContourSetcset,
const int nvp,
rcPolyMeshmesh 
)
+
+ +

Builds a polygon mesh from the provided contours.

+
Parameters
+ + + + + +
[in,out]ctxThe build context to use during the operation.
[in]csetA fully built contour set.
[in]nvpThe maximum number of vertices allowed for polygons generated during the contour to polygon conversion process. [Limit: >= 3]
[out]meshThe resulting polygon mesh. (Must be re-allocated.)
+
+
+
Returns
True if the operation completed successfully.
+
+
Note
If the mesh data is to be used to construct a Detour navigation mesh, then the upper limit must be retricted to <= DT_VERTS_PER_POLYGON.
+
See also
rcAllocPolyMesh, rcContourSet, rcPolyMesh, rcConfig
+ +
+
+ +

◆ rcBuildPolyMeshDetail()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool rcBuildPolyMeshDetail (rcContextctx,
const rcPolyMeshmesh,
const rcCompactHeightfieldchf,
const float sampleDist,
const float sampleMaxError,
rcPolyMeshDetaildmesh 
)
+
+ +

Builds a detail mesh from the provided polygon mesh.

+
Parameters
+ + + + + + + +
[in,out]ctxThe build context to use during the operation.
[in]meshA fully built polygon mesh.
[in]chfThe compact heightfield used to build the polygon mesh.
[in]sampleDistSets the distance to use when sampling the heightfield. [Limit: >=0] [Units: wu]
[in]sampleMaxErrorThe maximum distance the detail mesh surface should deviate from heightfield data. [Limit: >=0] [Units: wu]
[out]dmeshThe resulting detail mesh. (Must be pre-allocated.)
+
+
+
Returns
True if the operation completed successfully.
+
+

See the rcConfig documentation for more information on the configuration parameters.

+
See also
rcAllocPolyMeshDetail, rcPolyMesh, rcCompactHeightfield, rcPolyMeshDetail, rcConfig
+ +
+
+ +

◆ rcBuildRegions()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool rcBuildRegions (rcContextctx,
rcCompactHeightfieldchf,
const int borderSize,
const int minRegionArea,
const int mergeRegionArea 
)
+
+ +

Builds region data for the heightfield using watershed partitioning.

+
Parameters
+ + + + + + +
[in,out]ctxThe build context to use during the operation.
[in,out]chfA populated compact heightfield.
[in]borderSizeThe size of the non-navigable border around the heightfield. [Limit: >=0] [Units: vx]
[in]minRegionAreaThe minimum number of cells allowed to form isolated island areas. [Limit: >=0] [Units: vx].
[in]mergeRegionAreaAny regions with a span count smaller than this value will, if possible, be merged with larger regions. [Limit: >=0] [Units: vx]
+
+
+
Returns
True if the operation completed successfully.
+
+

Non-null regions will consist of connected, non-overlapping walkable spans that form a single contour. Contours will form simple polygons.

+

If multiple regions form an area that is smaller than minRegionArea, then all spans will be re-assigned to the zero (null) region.

+

Watershed partitioning can result in smaller than necessary regions, especially in diagonal corridors. mergeRegionArea helps reduce unecessarily small regions.

+

See the rcConfig documentation for more information on the configuration parameters.

+

The region data will be available via the rcCompactHeightfield::maxRegions and rcCompactSpan::reg fields.

+
Warning
The distance field must be created using rcBuildDistanceField before attempting to build regions.
+
See also
rcCompactHeightfield, rcCompactSpan, rcBuildDistanceField, rcBuildRegionsMonotone, rcConfig
+ +
+
+ +

◆ rcBuildRegionsMonotone()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool rcBuildRegionsMonotone (rcContextctx,
rcCompactHeightfieldchf,
const int borderSize,
const int minRegionArea,
const int mergeRegionArea 
)
+
+ +

Builds region data for the heightfield using simple monotone partitioning.

+
Parameters
+ + + + + + +
[in,out]ctxThe build context to use during the operation.
[in,out]chfA populated compact heightfield.
[in]borderSizeThe size of the non-navigable border around the heightfield. [Limit: >=0] [Units: vx]
[in]minRegionAreaThe minimum number of cells allowed to form isolated island areas. [Limit: >=0] [Units: vx].
[in]mergeRegionAreaAny regions with a span count smaller than this value will, if possible, be merged with larger regions. [Limit: >=0] [Units: vx]
+
+
+
Returns
True if the operation completed successfully.
+
+

Non-null regions will consist of connected, non-overlapping walkable spans that form a single contour. Contours will form simple polygons.

+

If multiple regions form an area that is smaller than minRegionArea, then all spans will be re-assigned to the zero (null) region.

+

Partitioning can result in smaller than necessary regions. mergeRegionArea helps reduce unecessarily small regions.

+

See the rcConfig documentation for more information on the configuration parameters.

+

The region data will be available via the rcCompactHeightfield::maxRegions and rcCompactSpan::reg fields.

+
Warning
The distance field must be created using rcBuildDistanceField before attempting to build regions.
+
See also
rcCompactHeightfield, rcCompactSpan, rcBuildDistanceField, rcBuildRegionsMonotone, rcConfig
+ +
+
+ +

◆ rcCalcBounds()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void rcCalcBounds (const float * verts,
int numVerts,
float * minBounds,
float * maxBounds 
)
+
+ +

Calculates the bounding box of an array of vertices.

+
Parameters
+ + + + + +
[in]vertsAn array of vertices. [(x, y, z) * nv]
[in]numVertsThe number of vertices in the verts array.
[out]minBoundsThe minimum bounds of the AABB. [(x, y, z)] [Units: wu]
[out]maxBoundsThe maximum bounds of the AABB. [(x, y, z)] [Units: wu]
+
+
+ +
+
+ +

◆ rcCalcGridSize()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void rcCalcGridSize (const float * minBounds,
const float * maxBounds,
float cellSize,
int * sizeX,
int * sizeZ 
)
+
+ +

Calculates the grid size based on the bounding box and grid cell size.

+
Parameters
+ + + + + + +
[in]minBoundsThe minimum bounds of the AABB. [(x, y, z)] [Units: wu]
[in]maxBoundsThe maximum bounds of the AABB. [(x, y, z)] [Units: wu]
[in]cellSizeThe xz-plane cell size. [Limit: > 0] [Units: wu]
[out]sizeXThe width along the x-axis. [Limit: >= 0] [Units: vx]
[out]sizeZThe height along the z-axis. [Limit: >= 0] [Units: vx]
+
+
+ +
+
+ +

◆ rcClearUnwalkableTriangles()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void rcClearUnwalkableTriangles (rcContextcontext,
float walkableSlopeAngle,
const float * verts,
int numVerts,
const int * tris,
int numTris,
unsigned char * triAreaIDs 
)
+
+ +

Sets the area id of all triangles with a slope greater than or equal to the specified value to RC_NULL_AREA.

+

Only sets the area id's for the un-walkable triangles. Does not alter the area id's for walkable triangles.

+

See the rcConfig documentation for more information on the configuration parameters.

+
See also
rcHeightfield, rcClearUnwalkableTriangles, rcRasterizeTriangles
+
Parameters
+ + + + + + + + +
[in,out]contextThe build context to use during the operation.
[in]walkableSlopeAngleThe maximum slope that is considered walkable. [Limits: 0 <= value < 90] [Units: Degrees]
[in]vertsThe vertices. [(x, y, z) * nv]
[in]numVertsThe number of vertices.
[in]trisThe triangle vertex indices. [(vertA, vertB, vertC) * nt]
[in]numTrisThe number of triangles.
[out]triAreaIDsThe triangle area ids. [Length: >= nt]
+
+
+ +
+
+ +

◆ rcCopyPolyMesh()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool rcCopyPolyMesh (rcContextctx,
const rcPolyMeshsrc,
rcPolyMeshdst 
)
+
+ +

Copies the poly mesh data from src to dst.

+
Parameters
+ + + + +
[in,out]ctxThe build context to use during the operation.
[in]srcThe source mesh to copy from.
[out]dstThe resulting detail mesh. (Must be pre-allocated, must be empty mesh.)
+
+
+
Returns
True if the operation completed successfully.
+ +
+
+ +

◆ rcCreateHeightfield()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool rcCreateHeightfield (rcContextcontext,
rcHeightfieldheightfield,
int sizeX,
int sizeZ,
const float * minBounds,
const float * maxBounds,
float cellSize,
float cellHeight 
)
+
+ +

Initializes a new heightfield.

+

See the rcConfig documentation for more information on the configuration parameters.

+
See also
rcAllocHeightfield, rcHeightfield
+
Parameters
+ + + + + + + + + +
[in,out]contextThe build context to use during the operation.
[in,out]heightfieldThe allocated heightfield to initialize.
[in]sizeXThe width of the field along the x-axis. [Limit: >= 0] [Units: vx]
[in]sizeZThe height of the field along the z-axis. [Limit: >= 0] [Units: vx]
[in]minBoundsThe minimum bounds of the field's AABB. [(x, y, z)] [Units: wu]
[in]maxBoundsThe maximum bounds of the field's AABB. [(x, y, z)] [Units: wu]
[in]cellSizeThe xz-plane cell size to use for the field. [Limit: > 0] [Units: wu]
[in]cellHeightThe y-axis cell size to use for field. [Limit: > 0] [Units: wu]
+
+
+
Returns
True if the operation completed successfully.
+ +
+
+ +

◆ rcErodeWalkableArea()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool rcErodeWalkableArea (rcContextctx,
int radius,
rcCompactHeightfieldchf 
)
+
+ +

Erodes the walkable area within the heightfield by the specified radius.

+
Parameters
+ + + + +
[in,out]ctxThe build context to use during the operation.
[in]radiusThe radius of erosion. [Limits: 0 < value < 255] [Units: vx]
[in,out]chfThe populated compact heightfield to erode.
+
+
+
Returns
True if the operation completed successfully.
+
+

Basically, any spans that are closer to a boundary or obstruction than the specified radius are marked as unwalkable.

+

This method is usually called immediately after the heightfield has been built.

+
See also
rcCompactHeightfield, rcBuildCompactHeightfield, rcConfig::walkableRadius
+ +
+
+ +

◆ rcFilterLedgeSpans()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void rcFilterLedgeSpans (rcContextcontext,
int walkableHeight,
int walkableClimb,
rcHeightfieldheightfield 
)
+
+ +

Marks spans that are ledges as not-walkable.

+

A ledge is a span with one or more neighbors whose maximum is further away than walkableClimb from the current span's maximum. This method removes the impact of the overestimation of conservative voxelization so the resulting mesh will not have regions hanging in the air over ledges.

+

A span is a ledge if: rcAbs(currentSpan.smax - neighborSpan.smax) > walkableClimb

+
See also
rcHeightfield, rcConfig
+
Parameters
+ + + + + +
[in,out]contextThe build context to use during the operation.
[in]walkableHeightMinimum floor to 'ceiling' height that will still allow the floor area to be considered walkable. [Limit: >= 3] [Units: vx]
[in]walkableClimbMaximum ledge height that is considered to still be traversable. [Limit: >=0] [Units: vx]
[in,out]heightfieldA fully built heightfield. (All spans have been added.)
+
+
+ +
+
+ +

◆ rcFilterLowHangingWalkableObstacles()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void rcFilterLowHangingWalkableObstacles (rcContextcontext,
int walkableClimb,
rcHeightfieldheightfield 
)
+
+ +

Marks non-walkable spans as walkable if their maximum is within walkableClimb of a walkable neighbor.

+

Allows the formation of walkable regions that will flow over low lying objects such as curbs, and up structures such as stairways.

+

Two neighboring spans are walkable if: rcAbs(currentSpan.smax - neighborSpan.smax) < waklableClimb

+
Warning
Will override the effect of rcFilterLedgeSpans. So if both filters are used, call rcFilterLedgeSpans after calling this filter.
+
See also
rcHeightfield, rcConfig
+
Parameters
+ + + + +
[in,out]contextThe build context to use during the operation.
[in]walkableClimbMaximum ledge height that is considered to still be traversable. [Limit: >=0] [Units: vx]
[in,out]heightfieldA fully built heightfield. (All spans have been added.)
+
+
+ +
+
+ +

◆ rcFilterWalkableLowHeightSpans()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void rcFilterWalkableLowHeightSpans (rcContextcontext,
int walkableHeight,
rcHeightfieldheightfield 
)
+
+ +

Marks walkable spans as not walkable if the clearance above the span is less than the specified height.

+

For this filter, the clearance above the span is the distance from the span's maximum to the next higher span's minimum. (Same grid column.)

+
See also
rcHeightfield, rcConfig
+
Parameters
+ + + + +
[in,out]contextThe build context to use during the operation.
[in]walkableHeightMinimum floor to 'ceiling' height that will still allow the floor area to be considered walkable. [Limit: >= 3] [Units: vx]
[in,out]heightfieldA fully built heightfield. (All spans have been added.)
+
+
+ +
+
+ +

◆ rcFreeCompactHeightfield()

+ +
+
+ + + + + + + + +
void rcFreeCompactHeightfield (rcCompactHeightfieldcompactHeightfield)
+
+ +

Frees the specified compact heightfield object using the Recast allocator.

+
Parameters
+ + +
[in]compactHeightfieldA compact heightfield allocated using rcAllocCompactHeightfield
+
+
+
See also
rcAllocCompactHeightfield
+ +
+
+ +

◆ rcFreeContourSet()

+ +
+
+ + + + + + + + +
void rcFreeContourSet (rcContourSetcontourSet)
+
+ +

Frees the specified contour set using the Recast allocator.

+
Parameters
+ + +
[in]contourSetA contour set allocated using rcAllocContourSet
+
+
+
See also
rcAllocContourSet
+ +
+
+ +

◆ rcFreeHeightField()

+ +
+
+ + + + + + + + +
void rcFreeHeightField (rcHeightfieldheightfield)
+
+ +

Frees the specified heightfield object using the Recast allocator.

+
Parameters
+ + +
[in]heightfieldA heightfield allocated using rcAllocHeightfield
+
+
+
See also
rcAllocHeightfield
+ +
+
+ +

◆ rcFreeHeightfieldLayerSet()

+ +
+
+ + + + + + + + +
void rcFreeHeightfieldLayerSet (rcHeightfieldLayerSetlayerSet)
+
+ +

Frees the specified heightfield layer set using the Recast allocator.

+
Parameters
+ + +
[in]layerSetA heightfield layer set allocated using rcAllocHeightfieldLayerSet
+
+
+
See also
rcAllocHeightfieldLayerSet
+ +
+
+ +

◆ rcFreePolyMesh()

+ +
+
+ + + + + + + + +
void rcFreePolyMesh (rcPolyMeshpolyMesh)
+
+ +

Frees the specified polygon mesh using the Recast allocator.

+
Parameters
+ + +
[in]polyMeshA polygon mesh allocated using rcAllocPolyMesh
+
+
+
See also
rcAllocPolyMesh
+ +
+
+ +

◆ rcFreePolyMeshDetail()

+ +
+
+ + + + + + + + +
void rcFreePolyMeshDetail (rcPolyMeshDetaildetailMesh)
+
+ +

Frees the specified detail mesh using the Recast allocator.

+
Parameters
+ + +
[in]detailMeshA detail mesh allocated using rcAllocPolyMeshDetail
+
+
+
See also
rcAllocPolyMeshDetail
+ +
+
+ +

◆ rcGetCon()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int rcGetCon (const rcCompactSpans,
int dir 
)
+
+inline
+
+ +

Gets neighbor connection data for the specified direction.

+
Parameters
+ + + +
[in]spanThe span to check.
[in]directionThe direction to check. [Limits: 0 <= value < 4]
+
+
+
Returns
The neighbor connection data for the specified direction, or RC_NOT_CONNECTED if there is no connection.
+
+

Can be used to locate neighbor spans in a compact heightfield. See the rcCompactHeightfield documentation for details on its use.

+
See also
rcCompactHeightfield, rcCompactSpan
+ +
+
+ +

◆ rcGetDirForOffset()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int rcGetDirForOffset (int offsetX,
int offsetZ 
)
+
+inline
+
+ +

Gets the direction for the specified offset.

+

One of x and y should be 0.

Parameters
+ + + +
[in]offsetXThe x offset. [Limits: -1 <= value <= 1]
[in]offsetZThe z offset. [Limits: -1 <= value <= 1]
+
+
+
Returns
The direction that represents the offset.
+ +
+
+ +

◆ rcGetDirOffsetX()

+ +
+
+ + + + + +
+ + + + + + + + +
int rcGetDirOffsetX (int dir)
+
+inline
+
+ +

Gets the standard width (x-axis) offset for the specified direction.

+
Parameters
+ + +
[in]directionThe direction. [Limits: 0 <= value < 4]
+
+
+
Returns
The width offset to apply to the current cell position to move in the direction.
+
+

The value of dir will be automatically wrapped. So a value of 6 will be interpreted as 2.

+

See the rcCompactHeightfield documentation for usage details.

+ +
+
+ +

◆ rcGetDirOffsetY()

+ +
+
+ + + + + +
+ + + + + + + + +
int rcGetDirOffsetY (int dir)
+
+inline
+
+ +

Gets the standard height (z-axis) offset for the specified direction.

+
Parameters
+ + +
[in]directionThe direction. [Limits: 0 <= value < 4]
+
+
+
Returns
The height offset to apply to the current cell position to move in the direction.
+
+

The value of dir will be automatically wrapped. So a value of 6 will be interpreted as 2.

+

See the rcCompactHeightfield documentation for usage details.

+ +
+
+ +

◆ rcGetHeightFieldSpanCount()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int rcGetHeightFieldSpanCount (rcContextcontext,
const rcHeightfieldheightfield 
)
+
+ +

Returns the number of spans contained in the specified heightfield.

+
Parameters
+ + + +
[in,out]contextThe build context to use during the operation.
[in]heightfieldAn initialized heightfield.
+
+
+
Returns
The number of spans in the heightfield.
+ +
+
+ +

◆ rcMarkBoxArea()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void rcMarkBoxArea (rcContextctx,
const float * bmin,
const float * bmax,
unsigned char areaId,
rcCompactHeightfieldchf 
)
+
+ +

Applies an area id to all spans within the specified bounding box.

+

(AABB)

+
Parameters
+ + + + + + +
[in,out]ctxThe build context to use during the operation.
[in]bminThe minimum of the bounding box. [(x, y, z)]
[in]bmaxThe maximum of the bounding box. [(x, y, z)]
[in]areaIdThe area id to apply. [Limit: <= RC_WALKABLE_AREA]
[in,out]chfA populated compact heightfield.
+
+
+
+

The value of spacial parameters are in world units.

+
See also
rcCompactHeightfield, rcMedianFilterWalkableArea
+ +
+
+ +

◆ rcMarkConvexPolyArea()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void rcMarkConvexPolyArea (rcContextctx,
const float * verts,
const int nverts,
const float hmin,
const float hmax,
unsigned char areaId,
rcCompactHeightfieldchf 
)
+
+ +

Applies the area id to the all spans within the specified convex polygon.

+
Parameters
+ + + + + + + + +
[in,out]ctxThe build context to use during the operation.
[in]vertsThe vertices of the polygon [Fomr: (x, y, z) * nverts]
[in]nvertsThe number of vertices in the polygon.
[in]hminThe height of the base of the polygon.
[in]hmaxThe height of the top of the polygon.
[in]areaIdThe area id to apply. [Limit: <= RC_WALKABLE_AREA]
[in,out]chfA populated compact heightfield.
+
+
+
+

The value of spacial parameters are in world units.

+

The y-values of the polygon vertices are ignored. So the polygon is effectively projected onto the xz-plane at hmin, then extruded to hmax.

+
See also
rcCompactHeightfield, rcMedianFilterWalkableArea
+ +
+
+ +

◆ rcMarkCylinderArea()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void rcMarkCylinderArea (rcContextctx,
const float * pos,
const float r,
const float h,
unsigned char areaId,
rcCompactHeightfieldchf 
)
+
+ +

Applies the area id to all spans within the specified cylinder.

+
Parameters
+ + + + + + + +
[in,out]ctxThe build context to use during the operation.
[in]posThe center of the base of the cylinder. [Form: (x, y, z)]
[in]rThe radius of the cylinder.
[in]hThe height of the cylinder.
[in]areaIdThe area id to apply. [Limit: <= RC_WALKABLE_AREA]
[in,out]chfA populated compact heightfield.
+
+
+
+

The value of spacial parameters are in world units.

+
See also
rcCompactHeightfield, rcMedianFilterWalkableArea
+ +
+
+ +

◆ rcMarkWalkableTriangles()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void rcMarkWalkableTriangles (rcContextcontext,
float walkableSlopeAngle,
const float * verts,
int numVerts,
const int * tris,
int numTris,
unsigned char * triAreaIDs 
)
+
+ +

Sets the area id of all triangles with a slope below the specified value to RC_WALKABLE_AREA.

+

Only sets the area id's for the walkable triangles. Does not alter the area id's for un-walkable triangles.

+

See the rcConfig documentation for more information on the configuration parameters.

+
See also
rcHeightfield, rcClearUnwalkableTriangles, rcRasterizeTriangles
+
Parameters
+ + + + + + + + +
[in,out]contextThe build context to use during the operation.
[in]walkableSlopeAngleThe maximum slope that is considered walkable. [Limits: 0 <= value < 90] [Units: Degrees]
[in]vertsThe vertices. [(x, y, z) * nv]
[in]numVertsThe number of vertices.
[in]trisThe triangle vertex indices. [(vertA, vertB, vertC) * nt]
[in]numTrisThe number of triangles.
[out]triAreaIDsThe triangle area ids. [Length: >= nt]
+
+
+ +
+
+ +

◆ rcMedianFilterWalkableArea()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool rcMedianFilterWalkableArea (rcContextctx,
rcCompactHeightfieldchf 
)
+
+ +

Applies a median filter to walkable area types (based on area id), removing noise.

+
Parameters
+ + + +
[in,out]ctxThe build context to use during the operation.
[in,out]chfA populated compact heightfield.
+
+
+
Returns
True if the operation completed successfully.
+
+

This filter is usually applied after applying area id's using functions such as rcMarkBoxArea, rcMarkConvexPolyArea, and rcMarkCylinderArea.

+
See also
rcCompactHeightfield
+ +
+
+ +

◆ rcMergePolyMeshDetails()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool rcMergePolyMeshDetails (rcContextctx,
rcPolyMeshDetail ** meshes,
const int nmeshes,
rcPolyMeshDetailmesh 
)
+
+ +

Merges multiple detail meshes into a single detail mesh.

+
Parameters
+ + + + + +
[in,out]ctxThe build context to use during the operation.
[in]meshesAn array of detail meshes to merge. [Size: nmeshes]
[in]nmeshesThe number of detail meshes in the meshes array.
[out]meshThe resulting detail mesh. (Must be pre-allocated.)
+
+
+
Returns
True if the operation completed successfully.
+
See also
rcAllocPolyMeshDetail, rcPolyMeshDetail
+ +
+
+ +

◆ rcMergePolyMeshes()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool rcMergePolyMeshes (rcContextctx,
rcPolyMesh ** meshes,
const int nmeshes,
rcPolyMeshmesh 
)
+
+ +

Merges multiple polygon meshes into a single mesh.

+
Parameters
+ + + + + +
[in,out]ctxThe build context to use during the operation.
[in]meshesAn array of polygon meshes to merge. [Size: nmeshes]
[in]nmeshesThe number of polygon meshes in the meshes array.
[in]meshThe resulting polygon mesh. (Must be pre-allocated.)
+
+
+
Returns
True if the operation completed successfully.
+
See also
rcAllocPolyMesh, rcPolyMesh
+ +
+
+ +

◆ rcOffsetPoly()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int rcOffsetPoly (const float * verts,
const int nverts,
const float offset,
float * outVerts,
const int maxOutVerts 
)
+
+ +

Helper function to offset voncex polygons for rcMarkConvexPolyArea.

+
Parameters
+ + + + + + +
[in]vertsThe vertices of the polygon [Form: (x, y, z) * nverts]
[in]nvertsThe number of vertices in the polygon.
[in]offsetHow much to offset the polygon by. [Units: wu]
[out]outVertsThe offset vertices (should hold up to 2 * nverts) [Form: (x, y, z) * return value]
[in]maxOutVertsThe max number of vertices that can be stored to outVerts.
+
+
+
Returns
Number of vertices in the offset polygon or 0 if too few vertices in outVerts.
+ +
+
+ +

◆ rcRasterizeTriangle()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool rcRasterizeTriangle (rcContextcontext,
const float * v0,
const float * v1,
const float * v2,
unsigned char areaID,
rcHeightfieldheightfield,
int flagMergeThreshold = 1 
)
+
+ +

Rasterizes a single triangle into the specified heightfield.

+

Calling this for each triangle in a mesh is less efficient than calling rcRasterizeTriangles

+

No spans will be added if the triangle does not overlap the heightfield grid.

+
See also
rcHeightfield
+
Parameters
+ + + + + + + + +
[in,out]contextThe build context to use during the operation.
[in]v0Triangle vertex 0 [(x, y, z)]
[in]v1Triangle vertex 1 [(x, y, z)]
[in]v2Triangle vertex 2 [(x, y, z)]
[in]areaIDThe area id of the triangle. [Limit: <= RC_WALKABLE_AREA]
[in,out]heightfieldAn initialized heightfield.
[in]flagMergeThresholdThe distance where the walkable flag is favored over the non-walkable flag. [Limit: >= 0] [Units: vx]
+
+
+
Returns
True if the operation completed successfully.
+ +
+
+ +

◆ rcRasterizeTriangles() [1/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool rcRasterizeTriangles (rcContextcontext,
const float * verts,
const unsigned char * triAreaIDs,
int numTris,
rcHeightfieldheightfield,
int flagMergeThreshold = 1 
)
+
+ +

Rasterizes a triangle list into the specified heightfield.

+

Expects each triangle to be specified as three sequential vertices of 3 floats.

+

Spans will only be added for triangles that overlap the heightfield grid.

+
See also
rcHeightfield
+
Parameters
+ + + + + + + +
[in,out]contextThe build context to use during the operation.
[in]vertsThe triangle vertices. [(ax, ay, az, bx, by, bz, cx, by, cx) * nt]
[in]triAreaIDsThe area id's of the triangles. [Limit: <= RC_WALKABLE_AREA] [Size: nt]
[in]numTrisThe number of triangles.
[in,out]heightfieldAn initialized heightfield.
[in]flagMergeThresholdThe distance where the walkable flag is favored over the non-walkable flag. [Limit: >= 0] [Units: vx]
+
+
+
Returns
True if the operation completed successfully.
+ +
+
+ +

◆ rcRasterizeTriangles() [2/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool rcRasterizeTriangles (rcContextcontext,
const float * verts,
int numVerts,
const int * tris,
const unsigned char * triAreaIDs,
int numTris,
rcHeightfieldheightfield,
int flagMergeThreshold = 1 
)
+
+ +

Rasterizes an indexed triangle mesh into the specified heightfield.

+

Spans will only be added for triangles that overlap the heightfield grid.

+
See also
rcHeightfield
+
Parameters
+ + + + + + + + + +
[in,out]contextThe build context to use during the operation.
[in]vertsThe vertices. [(x, y, z) * nv]
[in]numVertsThe number of vertices. (unused) TODO (graham): Remove in next major release
[in]trisThe triangle indices. [(vertA, vertB, vertC) * nt]
[in]triAreaIDsThe area id's of the triangles. [Limit: <= RC_WALKABLE_AREA] [Size: nt]
[in]numTrisThe number of triangles.
[in,out]heightfieldAn initialized heightfield.
[in]flagMergeThresholdThe distance where the walkable flag is favored over the non-walkable flag. [Limit: >= 0] [Units: vx]
+
+
+
Returns
True if the operation completed successfully.
+ +
+
+ +

◆ rcRasterizeTriangles() [3/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool rcRasterizeTriangles (rcContextcontext,
const float * verts,
int numVerts,
const unsigned short * tris,
const unsigned char * triAreaIDs,
int numTris,
rcHeightfieldheightfield,
int flagMergeThreshold = 1 
)
+
+ +

Rasterizes an indexed triangle mesh into the specified heightfield.

+

Spans will only be added for triangles that overlap the heightfield grid.

+
See also
rcHeightfield
+
Parameters
+ + + + + + + + + +
[in,out]contextThe build context to use during the operation.
[in]vertsThe vertices. [(x, y, z) * nv]
[in]numVertsThe number of vertices. (unused) TODO (graham): Remove in next major release
[in]trisThe triangle indices. [(vertA, vertB, vertC) * nt]
[in]triAreaIDsThe area id's of the triangles. [Limit: <= RC_WALKABLE_AREA] [Size: nt]
[in]numTrisThe number of triangles.
[in,out]heightfieldAn initialized heightfield.
[in]flagMergeThresholdThe distance where the walkable flag is favored over the non-walkable flag. [Limit: >= 0] [Units: vx]
+
+
+
Returns
True if the operation completed successfully.
+ +
+
+ +

◆ rcSetCon()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void rcSetCon (rcCompactSpans,
int dir,
int i 
)
+
+inline
+
+ +

Sets the neighbor connection data for the specified direction.

+
Parameters
+ + + + +
[in]spanThe span to update.
[in]directionThe direction to set. [Limits: 0 <= value < 4]
[in]neighborIndexThe index of the neighbor span.
+
+
+
+

This function is used by the build process. It is rarely of use to end users.

+
See also
rcCompactHeightfield, rcCompactSpan
+ +
+
+
+
+ + + + + diff --git a/group__recast.js b/group__recast.js new file mode 100644 index 00000000..27b0add9 --- /dev/null +++ b/group__recast.js @@ -0,0 +1,174 @@ +var group__recast = +[ + [ "rcContext", "classrcContext.html", [ + [ "rcContext", "classrcContext.html#ae405295998d6c1db0ceb60d0f64559bc", null ], + [ "~rcContext", "classrcContext.html#a02204e324a8ebcf81f489681e80bc61c", null ], + [ "doGetAccumulatedTime", "classrcContext.html#aa974806b3533f3ce7bcd8c42715e8d93", null ], + [ "doLog", "classrcContext.html#a82cccfe74cb76b021acdca506df224e0", null ], + [ "doResetLog", "classrcContext.html#ae1e5eb9146a011c1f51de76b849d9ec2", null ], + [ "doResetTimers", "classrcContext.html#a57a97f408dac1438d6eae0993fa68570", null ], + [ "doStartTimer", "classrcContext.html#aff09f57cc5db39be3cf80c7c0a1457a2", null ], + [ "doStopTimer", "classrcContext.html#a3510678ae74a930e6d4e492d44fe80c0", null ], + [ "enableLog", "classrcContext.html#a03dcf9240dc69a7c329c15e32be12d8e", null ], + [ "enableTimer", "classrcContext.html#aa4680430d751824f83634ac753df9669", null ], + [ "getAccumulatedTime", "classrcContext.html#a17e7b79afff2f042961698aa1c818c3d", null ], + [ "log", "classrcContext.html#ae3cc278477b1b923d03ea50e3ae96013", null ], + [ "resetLog", "classrcContext.html#a68403737730ee112c523890a9fdc237d", null ], + [ "resetTimers", "classrcContext.html#a2fcc58bb1e29bbb9a7dfb834efff4a6d", null ], + [ "startTimer", "classrcContext.html#a3c8d3035e1046dd8907b10b7d9c8de57", null ], + [ "stopTimer", "classrcContext.html#a3f7042723b8d99d486575eb3d592af25", null ], + [ "m_logEnabled", "classrcContext.html#af3690c070989bc399cd39e2da2b0fbad", null ], + [ "m_timerEnabled", "classrcContext.html#a851ba8cc41ee2185be82fe11e847c846", null ] + ] ], + [ "rcConfig", "structrcConfig.html", [ + [ "bmax", "structrcConfig.html#ab33657eac12a119d583422c4c00c6892", null ], + [ "bmin", "structrcConfig.html#afb77489af4eb0cd75ceb8b46db2c4341", null ], + [ "borderSize", "structrcConfig.html#a473ec0f080862d2593099d8ee207da57", null ], + [ "ch", "structrcConfig.html#acdde0dfdbb39611966ece78ef473d861", null ], + [ "cs", "structrcConfig.html#ae74c4bd2b0477f29a65a53ca9c59196d", null ], + [ "detailSampleDist", "structrcConfig.html#abdc131d1c8f5e4c1f09a68702efba604", null ], + [ "detailSampleMaxError", "structrcConfig.html#ae53de5fcf0777c0be9e3cd91c9da3d1f", null ], + [ "height", "structrcConfig.html#a25cdb5fcddc1d2813eca2462f60c13d1", null ], + [ "maxEdgeLen", "structrcConfig.html#a2149036442bf38b9ec9615549aa48fd4", null ], + [ "maxSimplificationError", "structrcConfig.html#a3421826332c0acfbbdfa34ee6c7183d1", null ], + [ "maxVertsPerPoly", "structrcConfig.html#a055d0ed71c79c9af29424de5d0cf3d2d", null ], + [ "mergeRegionArea", "structrcConfig.html#ac2385e0a316304cd7b1c563cf9f7dd59", null ], + [ "minRegionArea", "structrcConfig.html#af91c92dd5bb5ebf51a85b194917062ec", null ], + [ "tileSize", "structrcConfig.html#ac011c6166e1c722dd07427a7c301a601", null ], + [ "walkableClimb", "structrcConfig.html#a9b6bbabb4857e3f4bf4428af86ee7673", null ], + [ "walkableHeight", "structrcConfig.html#a2483649686584b9d696ac00b968dedaa", null ], + [ "walkableRadius", "structrcConfig.html#a57a961a919d76559d6124d60ddf73864", null ], + [ "walkableSlopeAngle", "structrcConfig.html#a689373b55bb5fab1d3284b716e972fe0", null ], + [ "width", "structrcConfig.html#aa870882b1addeb37535185740838eb32", null ] + ] ], + [ "rcHeightfield", "structrcHeightfield.html", [ + [ "rcHeightfield", "structrcHeightfield.html#acfb6e103d887102196c69f1e28954cd4", null ], + [ "~rcHeightfield", "structrcHeightfield.html#aa8ba94f263c970d09881d362c0a1b38a", null ], + [ "bmax", "structrcHeightfield.html#a4da9e52fc907522aae0364fad9e865f7", null ], + [ "bmin", "structrcHeightfield.html#a0158658d3487f7531364a84887fc2bce", null ], + [ "ch", "structrcHeightfield.html#a23488349cb552d5410e29d089234effc", null ], + [ "cs", "structrcHeightfield.html#a3f28962585b2f726d809b1a86b925edb", null ], + [ "freelist", "structrcHeightfield.html#a05dd56e279148e65e9b6820e6c02b908", null ], + [ "height", "structrcHeightfield.html#a568ceeea7acb4ddf67dd78ec4fee7672", null ], + [ "pools", "structrcHeightfield.html#a9808fdf31203f60447a3b9d693a6efc7", null ], + [ "spans", "structrcHeightfield.html#a0fea35ab8365dfcb38c63566abf7f261", null ], + [ "width", "structrcHeightfield.html#a9dd6e386c167f1537e3c7638f6b9a752", null ] + ] ], + [ "rcCompactHeightfield", "structrcCompactHeightfield.html", [ + [ "rcCompactHeightfield", "structrcCompactHeightfield.html#a33d0846cef5f90e605f272b61277ffb0", null ], + [ "~rcCompactHeightfield", "structrcCompactHeightfield.html#aea6121b36d3fb1cab5955a7915c68809", null ], + [ "areas", "structrcCompactHeightfield.html#abcdf0d737779779376bce23d1c0be910", null ], + [ "bmax", "structrcCompactHeightfield.html#a5d175954135840be9d4e4fc3b36d8067", null ], + [ "bmin", "structrcCompactHeightfield.html#ae73d55ffeafd659c189bf14e440b902f", null ], + [ "borderSize", "structrcCompactHeightfield.html#a675418d81ce6ade83fbd18be2dfd1647", null ], + [ "cells", "structrcCompactHeightfield.html#ab497c9a9f6e0f1b8882fada13ce880a5", null ], + [ "ch", "structrcCompactHeightfield.html#a39baf56bf3baf2b026aae0a309facaf4", null ], + [ "cs", "structrcCompactHeightfield.html#a75ee8e198d672db29a2f98c7463c0b31", null ], + [ "dist", "structrcCompactHeightfield.html#af345442d6b49e71a2191c5e2dac3ca97", null ], + [ "height", "structrcCompactHeightfield.html#a25d9e16e5d82cf698e47b18a5740b639", null ], + [ "maxDistance", "structrcCompactHeightfield.html#a38921b347d72bdc07487d07e7608ffc7", null ], + [ "maxRegions", "structrcCompactHeightfield.html#a6bfb7a2fdb06a64b03f0fffa885edd94", null ], + [ "spanCount", "structrcCompactHeightfield.html#a7206a15efe8a9e2a8e28b8c7d89b45bd", null ], + [ "spans", "structrcCompactHeightfield.html#a20f5a93095dfd199b0a9baad4127bec3", null ], + [ "walkableClimb", "structrcCompactHeightfield.html#ae403555331ef3d2624ca9433226bd683", null ], + [ "walkableHeight", "structrcCompactHeightfield.html#a04baed5c41b0e19e525e3136b138dc1a", null ], + [ "width", "structrcCompactHeightfield.html#a98868c1df2523cd724696ed1d223ba13", null ] + ] ], + [ "rcHeightfieldLayerSet", "structrcHeightfieldLayerSet.html", [ + [ "rcHeightfieldLayerSet", "structrcHeightfieldLayerSet.html#a5c4ff4d898a2f7e014439ac1c8e98e6f", null ], + [ "~rcHeightfieldLayerSet", "structrcHeightfieldLayerSet.html#ac54454771247c643b7978a347051a523", null ], + [ "layers", "structrcHeightfieldLayerSet.html#a9ce20a3ccd65f24b6704e57768c2ea5c", null ], + [ "nlayers", "structrcHeightfieldLayerSet.html#aee43327ad152d5dea25ed5299f38101a", null ] + ] ], + [ "rcContourSet", "structrcContourSet.html", [ + [ "rcContourSet", "structrcContourSet.html#a01481af6f568ea6098fc5fa4fc5140f7", null ], + [ "~rcContourSet", "structrcContourSet.html#ab94de9c515eac08480d33cadc50a5a2b", null ], + [ "bmax", "structrcContourSet.html#ae756cdf05388b7455768011841c0f6a1", null ], + [ "bmin", "structrcContourSet.html#a6528f1d81286f5bff26ae217c33da654", null ], + [ "borderSize", "structrcContourSet.html#adb04d1277e815ed89b156714bad3c17a", null ], + [ "ch", "structrcContourSet.html#ada4d5c2916f351065c6f5a382f087ebc", null ], + [ "conts", "structrcContourSet.html#ad737b7220701eeae5aa9c488d4d4f18d", null ], + [ "cs", "structrcContourSet.html#a1dbf04db7e828a3757e951e4f8499c95", null ], + [ "height", "structrcContourSet.html#a18be0e9d84b65e8688153b0adb517124", null ], + [ "maxError", "structrcContourSet.html#af657b46878e8fff2dd731ee066e4e1b2", null ], + [ "nconts", "structrcContourSet.html#aa751e5adb077b2ea7a9c8795e7a2fa99", null ], + [ "width", "structrcContourSet.html#af165415f9e2ef3cf446786040864e6d2", null ] + ] ], + [ "rcPolyMesh", "structrcPolyMesh.html", [ + [ "rcPolyMesh", "structrcPolyMesh.html#a219af1d7c18ebc7cea0d845c76166123", null ], + [ "~rcPolyMesh", "structrcPolyMesh.html#a414a3bc052e13abf77d731da160823d4", null ], + [ "areas", "structrcPolyMesh.html#aa08d7da4e0c97f57151f93d9a7d46bde", null ], + [ "bmax", "structrcPolyMesh.html#aabdf91f888b1c2dacd077a339a6df3a4", null ], + [ "bmin", "structrcPolyMesh.html#a63625dd55ca66c97ca29a87a5455cc27", null ], + [ "borderSize", "structrcPolyMesh.html#a9f367a88b878ce8029b9709fb27b878b", null ], + [ "ch", "structrcPolyMesh.html#aa1ba795ddbb893da041b2a5273716ac5", null ], + [ "cs", "structrcPolyMesh.html#a4c3ca520c55f96037cffcf6a92809563", null ], + [ "flags", "structrcPolyMesh.html#ab91ec949432297f7d0341a6ba9c88288", null ], + [ "maxEdgeError", "structrcPolyMesh.html#ab26e9ea24492a2c45b1a2d71ccdb091d", null ], + [ "maxpolys", "structrcPolyMesh.html#afc6261e7cee3e3ff2a83b6ee8baf14a9", null ], + [ "npolys", "structrcPolyMesh.html#abd3e50c1eb0aba7157aa3e2902ae019e", null ], + [ "nverts", "structrcPolyMesh.html#ac9c762a21343c45649638e02332e53eb", null ], + [ "nvp", "structrcPolyMesh.html#ab0c55272b556ffc9db9e643b463cb66a", null ], + [ "polys", "structrcPolyMesh.html#a74e59a4854036ac66dfac9761b9f59b2", null ], + [ "regs", "structrcPolyMesh.html#a9ae584e99de152fb89d957d43b7becd8", null ], + [ "verts", "structrcPolyMesh.html#ac8cdf528edb57061e975eae22d45c4b7", null ] + ] ], + [ "rcPolyMeshDetail", "structrcPolyMeshDetail.html", [ + [ "rcPolyMeshDetail", "structrcPolyMeshDetail.html#ac19c2eb106a9a9bd40e15f16fd847c84", null ], + [ "meshes", "structrcPolyMeshDetail.html#a39a0a4bdfaf81025dfd5c6efc17a9f02", null ], + [ "nmeshes", "structrcPolyMeshDetail.html#afbe7e21cf0f9dca429c6762f457f61b6", null ], + [ "ntris", "structrcPolyMeshDetail.html#a80041af5ae32e618d4980cd81a08c9e3", null ], + [ "nverts", "structrcPolyMeshDetail.html#a5424a45b24c43d49d93d89e89f11b59f", null ], + [ "tris", "structrcPolyMeshDetail.html#a05e186a92fad184179c726debb033979", null ], + [ "verts", "structrcPolyMeshDetail.html#a14af552d094aa71551d296f278861806", null ] + ] ], + [ "rcAddSpan", "group__recast.html#ga86f63cef2e174a1f4cb050767090beeb", null ], + [ "rcAllocCompactHeightfield", "group__recast.html#ga63ec2ca68dc897018b8b013507b9714d", null ], + [ "rcAllocContourSet", "group__recast.html#ga2b1a22ec58d51570e352c19cb2cb22a2", null ], + [ "rcAllocHeightfield", "group__recast.html#ga3e717cb2fa2ef5d123f0fa218f0630a9", null ], + [ "rcAllocHeightfieldLayerSet", "group__recast.html#gadc45406abb9ac9d1efddee04054207f5", null ], + [ "rcAllocPolyMesh", "group__recast.html#ga1b6942363f019860984263c0f8f62b9d", null ], + [ "rcAllocPolyMeshDetail", "group__recast.html#ga617834c1759867250e21569c204f1410", null ], + [ "rcBuildCompactHeightfield", "group__recast.html#gae8f77a45a6ca7fef19afcca7420b340d", null ], + [ "rcBuildContours", "group__recast.html#ga9ce76e55cf94a30c017fe3b039e1cbb2", null ], + [ "rcBuildDistanceField", "group__recast.html#ga255c830cc0d30fa0229a05033242e77d", null ], + [ "rcBuildHeightfieldLayers", "group__recast.html#ga21dd089dcfc243ed949a28727dc41010", null ], + [ "rcBuildLayerRegions", "group__recast.html#ga44a9272ded073492dd74b1a871d9d1a0", null ], + [ "rcBuildPolyMesh", "group__recast.html#ga6ccf68fa67b52296071764bddf19dd9f", null ], + [ "rcBuildPolyMeshDetail", "group__recast.html#ga27bbc4ef9f8c09b68ec63ebe908521a2", null ], + [ "rcBuildRegions", "group__recast.html#gaf89da5f503884e43f955639343333cea", null ], + [ "rcBuildRegionsMonotone", "group__recast.html#gac750ac6caa254759ef0bccf8afc7f67f", null ], + [ "rcCalcBounds", "group__recast.html#ga8d3d926002b6df3a5100a1f1e4086026", null ], + [ "rcCalcGridSize", "group__recast.html#ga89dd61f0c62938be9ae41aaf026794c2", null ], + [ "rcClearUnwalkableTriangles", "group__recast.html#gad293e95cc9b22e4305ad2c6fbf946622", null ], + [ "rcCopyPolyMesh", "group__recast.html#gadd16ae360ef930c3ba8c4839e3065d40", null ], + [ "rcCreateHeightfield", "group__recast.html#ga47eca35f60dbd7ddc1cb18fdb2493833", null ], + [ "rcErodeWalkableArea", "group__recast.html#ga466672bb756c401fbf6dd1e99c920ebb", null ], + [ "rcFilterLedgeSpans", "group__recast.html#gad40c996631bc70091d7355dc4c950655", null ], + [ "rcFilterLowHangingWalkableObstacles", "group__recast.html#ga009f5e462077cc2f6d1f5fff57f2e412", null ], + [ "rcFilterWalkableLowHeightSpans", "group__recast.html#ga0dbfbeebd642c1b79323ba7723d91a49", null ], + [ "rcFreeCompactHeightfield", "group__recast.html#ga914ed7cee333a9c29513d917f6bb4716", null ], + [ "rcFreeContourSet", "group__recast.html#gae3a9621529cb8d471a95161bd7d0ca96", null ], + [ "rcFreeHeightField", "group__recast.html#ga63549624426821904ecf1a92ddcccaea", null ], + [ "rcFreeHeightfieldLayerSet", "group__recast.html#ga657ea6ef521e4caadc4467bd61e26016", null ], + [ "rcFreePolyMesh", "group__recast.html#ga34925f90f2e5da1f84c383bfb0ff8e9f", null ], + [ "rcFreePolyMeshDetail", "group__recast.html#ga3efa77f1a8305250471c2ac09672d9ae", null ], + [ "rcGetCon", "group__recast.html#gad3ccc7652b12db58c8e58c976bb34b1b", null ], + [ "rcGetDirForOffset", "group__recast.html#gaf7827d43d6b3e24ab5aba552343bce26", null ], + [ "rcGetDirOffsetX", "group__recast.html#ga7f308c34d7d5beb73eca24fe30033064", null ], + [ "rcGetDirOffsetY", "group__recast.html#ga7d225822d057252755aeeebdc2388cf2", null ], + [ "rcGetHeightFieldSpanCount", "group__recast.html#gabade813042a8c79ddb2f4ecf84620cf8", null ], + [ "rcMarkBoxArea", "group__recast.html#ga527b4c24537e47bcc472f28965c7b7bf", null ], + [ "rcMarkConvexPolyArea", "group__recast.html#ga1e8f3c9c2cb664fb2874d01448a1f223", null ], + [ "rcMarkCylinderArea", "group__recast.html#gac2de1bc06b5804dd4304a90f39829948", null ], + [ "rcMarkWalkableTriangles", "group__recast.html#ga63e7b847422bfd78acea724088da6561", null ], + [ "rcMedianFilterWalkableArea", "group__recast.html#ga793672ade7833e916dd3c0e7a5bd6cc5", null ], + [ "rcMergePolyMeshDetails", "group__recast.html#ga6ef022fcf6dabdb0437b979304c0defe", null ], + [ "rcMergePolyMeshes", "group__recast.html#gaa28c3eb627ca7d96015c7978ff0eb8f7", null ], + [ "rcOffsetPoly", "group__recast.html#gad71d03bb37c1a16700d57c5f7dff4057", null ], + [ "rcRasterizeTriangle", "group__recast.html#ga23a98560fac96a1d2eb9f01c6617e927", null ], + [ "rcRasterizeTriangles", "group__recast.html#gaebc5f38893ede7ee5d107a9ad2dbd369", null ], + [ "rcRasterizeTriangles", "group__recast.html#gadac24191b69876017ed01d85e0a44645", null ], + [ "rcRasterizeTriangles", "group__recast.html#ga40ce03082b89fd8d890fa65d9b3d64d9", null ], + [ "rcSetCon", "group__recast.html#ga8cdbebeeb64de5fc7b4b36281f165fc4", null ] +]; \ No newline at end of file diff --git a/hierarchy.html b/hierarchy.html new file mode 100644 index 00000000..a01ba55f --- /dev/null +++ b/hierarchy.html @@ -0,0 +1,250 @@ + + + + + + + +Recast Navigation: Class Hierarchy + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class Hierarchy
+
+
+
This inheritance list is sorted roughly, but not completely, alphabetically:
+
[detail level 123]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 CBoundsItem
 CBuildSettings
 CBVItem
 CConvexVolume
 CCrowdToolParams
 CDirtyEntry
 CdtBVNodeBounding volume node
 CdtCompressedTile
 CdtCrowdProvides local steering behaviors for a group of agents
 CdtCrowdAgentRepresents an agent managed by a dtCrowd object
 CdtCrowdAgentAnimation
 CdtCrowdAgentDebugInfo
 CdtCrowdAgentParamsConfiguration parameters for a crowd agent
 CdtCrowdNeighbourProvides neighbor data for agents managed by the crowd
 CdtFixedArray< T >
 CdtLayerMonotoneRegion
 CdtLayerSweepSpan
 CdtLinkDefines a link between polygons
 CdtLocalBoundary
 CdtMeshHeaderProvides high level information related to a dtMeshTile object
 CdtMeshTileDefines a navigation mesh tile
 CdtNavMeshA navigation mesh based on tiles of convex polygons
 CdtNavMeshCreateParamsRepresents the source data used to build an navigation mesh tile
 CdtNavMeshParamsConfiguration parameters used to define multi-tile navigation meshes
 CdtNavMeshQueryProvides the ability to perform pathfinding related queries against a navigation mesh
 CdtNode
 CdtNodePool
 CdtNodeQueue
 CdtObstacleAvoidanceDebugData
 CdtObstacleAvoidanceParams
 CdtObstacleAvoidanceQuery
 CdtObstacleBox
 CdtObstacleCircle
 CdtObstacleCylinder
 CdtObstacleOrientedBox
 CdtObstacleSegment
 CdtOffMeshConnectionDefines an navigation mesh off-mesh connection within a dtMeshTile object
 CdtPathCorridorRepresents a dynamic polygon corridor used to plan agent movement
 CdtPathQueue
 CdtPolyDefines a polygon within a dtMeshTile object
 CdtPolyDetailDefines the location of detail sub-mesh data within a dtMeshTile
 CdtPolyQueryProvides custom polygon query behavior
 CdtPolyState
 CdtProximityGrid
 CdtQueryFilterDefines polygon filtering and traversal costs for navigation mesh query operations
 CdtRaycastHitProvides information about raycast hit filled by dtNavMeshQuery::raycast
 CdtSegInterval
 CdtTempContour
 CdtTileCache
 CdtTileCacheAlloc
 CdtTileCacheCompressor
 CdtTileCacheContour
 CdtTileCacheContourSet
 CdtTileCacheLayer
 CdtTileCacheLayerHeader
 CdtTileCacheMeshProcess
 CdtTileCacheObstacle
 CdtTileCacheParams
 CdtTileCachePolyMesh
 CdtTileState
 CduDebugDrawAbstract debug draw interface
 CduFileIO
 CGLCheckerTexture
 CGraphParams
 CGuiState
 CimguiGfxCmd
 CimguiGfxLine
 CimguiGfxRect
 CimguiGfxText
 CInputGeom
 CNavmeshFlags
 CNavMeshSetHeader
 CNavMeshTileBuildContext
 CNavMeshTileHeader
 CRasterizationContext
 CrcChunkyTriMesh
 CrcChunkyTriMeshNode
 CrcCompactCellProvides information on the content of a cell column in a compact heightfield
 CrcCompactHeightfieldA compact, static heightfield representing unobstructed space
 CrcCompactSpanRepresents a span of unobstructed space within a compact heightfield
 CrcConfigSpecifies a configuration to use when performing Recast builds
 CrcContextProvides an interface for optional logging and performance tracking of the Recast build process
 CrcContourRepresents a simple, non-overlapping contour in field space
 CrcContourHole
 CrcContourRegion
 CrcContourSetRepresents a group of related contours
 CrcEdge
 CrcHeightfieldA dynamic heightfield representing obstructed space
 CrcHeightfieldLayerRepresents a heightfield layer within a layer set
 CrcHeightfieldLayerSetRepresents a set of heightfield layers
 CrcHeightPatch
 CrcIntArrayLegacy class. Prefer rcVector<int>
 CrcLayerRegion
 CrcLayerSweepSpan
 CrcMeshLoaderObj
 CrcNewTagAn implementation of operator new usable for placement new
 CrcPolyMeshRepresents a polygon mesh suitable for use in building a navigation mesh
 CrcPolyMeshDetailContains triangle meshes that represent detailed height data associated with the polygons in its associated polygon mesh object
 CrcPotentialDiagonal
 CrcRegion
 CrcScopedDelete< T >A simple helper class used to delete an array when it goes out of scope
 CrcScopedTimerA helper to first start a timer and then stop it when this helper goes out of scope
 CrcSpanRepresents a span in a heightfield
 CrcSpanPoolA memory pool used for quick allocation of spans within a heightfield
 CrcSweepSpan
 CrcVectorBase< T, H >Variable-sized storage type
 CrcVectorBase< T, RC_ALLOC_PERM >
 CrcVectorBase< T, RC_ALLOC_TEMP >
 CSample
 CSampleItem
 CSampleTool
 CSampleToolState
 CTestCase
 CTileCacheData
 CTileCacheSetHeader
 CTileCacheTileHeader
 CValueHistory
+
+
+
+ + + + + diff --git a/hierarchy.js b/hierarchy.js new file mode 100644 index 00000000..beadd07c --- /dev/null +++ b/hierarchy.js @@ -0,0 +1,160 @@ +var hierarchy = +[ + [ "BoundsItem", "structBoundsItem.html", null ], + [ "BuildSettings", "structBuildSettings.html", null ], + [ "BVItem", "structBVItem.html", null ], + [ "ConvexVolume", "structConvexVolume.html", null ], + [ "CrowdToolParams", "structCrowdToolParams.html", null ], + [ "DirtyEntry", "structDirtyEntry.html", null ], + [ "dtBVNode", "structdtBVNode.html", null ], + [ "dtCompressedTile", "structdtCompressedTile.html", null ], + [ "dtCrowd", "classdtCrowd.html", null ], + [ "dtCrowdAgent", "structdtCrowdAgent.html", null ], + [ "dtCrowdAgentAnimation", "structdtCrowdAgentAnimation.html", null ], + [ "dtCrowdAgentDebugInfo", "structdtCrowdAgentDebugInfo.html", null ], + [ "dtCrowdAgentParams", "structdtCrowdAgentParams.html", null ], + [ "dtCrowdNeighbour", "structdtCrowdNeighbour.html", null ], + [ "dtFixedArray< T >", "classdtFixedArray.html", null ], + [ "dtLayerMonotoneRegion", "structdtLayerMonotoneRegion.html", null ], + [ "dtLayerSweepSpan", "structdtLayerSweepSpan.html", null ], + [ "dtLink", "structdtLink.html", null ], + [ "dtLocalBoundary", "classdtLocalBoundary.html", null ], + [ "dtMeshHeader", "structdtMeshHeader.html", null ], + [ "dtMeshTile", "structdtMeshTile.html", null ], + [ "dtNavMesh", "classdtNavMesh.html", null ], + [ "dtNavMeshCreateParams", "structdtNavMeshCreateParams.html", null ], + [ "dtNavMeshParams", "structdtNavMeshParams.html", null ], + [ "dtNavMeshQuery", "classdtNavMeshQuery.html", null ], + [ "dtNode", "structdtNode.html", null ], + [ "dtNodePool", "classdtNodePool.html", null ], + [ "dtNodeQueue", "classdtNodeQueue.html", null ], + [ "dtObstacleAvoidanceDebugData", "classdtObstacleAvoidanceDebugData.html", null ], + [ "dtObstacleAvoidanceParams", "structdtObstacleAvoidanceParams.html", null ], + [ "dtObstacleAvoidanceQuery", "classdtObstacleAvoidanceQuery.html", null ], + [ "dtObstacleBox", "structdtObstacleBox.html", null ], + [ "dtObstacleCircle", "structdtObstacleCircle.html", null ], + [ "dtObstacleCylinder", "structdtObstacleCylinder.html", null ], + [ "dtObstacleOrientedBox", "structdtObstacleOrientedBox.html", null ], + [ "dtObstacleSegment", "structdtObstacleSegment.html", null ], + [ "dtOffMeshConnection", "structdtOffMeshConnection.html", null ], + [ "dtPathCorridor", "classdtPathCorridor.html", null ], + [ "dtPathQueue", "classdtPathQueue.html", null ], + [ "dtPoly", "structdtPoly.html", null ], + [ "dtPolyDetail", "structdtPolyDetail.html", null ], + [ "dtPolyQuery", "classdtPolyQuery.html", [ + [ "dtCollectPolysQuery", "classdtCollectPolysQuery.html", null ], + [ "dtFindNearestPolyQuery", "classdtFindNearestPolyQuery.html", null ] + ] ], + [ "dtPolyState", "structdtPolyState.html", null ], + [ "dtProximityGrid", "classdtProximityGrid.html", null ], + [ "dtQueryFilter", "classdtQueryFilter.html", null ], + [ "dtRaycastHit", "structdtRaycastHit.html", null ], + [ "dtSegInterval", "structdtSegInterval.html", null ], + [ "dtTempContour", "structdtTempContour.html", null ], + [ "dtTileCache", "classdtTileCache.html", null ], + [ "dtTileCacheAlloc", "structdtTileCacheAlloc.html", [ + [ "LinearAllocator", "structLinearAllocator.html", null ] + ] ], + [ "dtTileCacheCompressor", "structdtTileCacheCompressor.html", [ + [ "FastLZCompressor", "structFastLZCompressor.html", null ] + ] ], + [ "dtTileCacheContour", "structdtTileCacheContour.html", null ], + [ "dtTileCacheContourSet", "structdtTileCacheContourSet.html", null ], + [ "dtTileCacheLayer", "structdtTileCacheLayer.html", null ], + [ "dtTileCacheLayerHeader", "structdtTileCacheLayerHeader.html", null ], + [ "dtTileCacheMeshProcess", "structdtTileCacheMeshProcess.html", [ + [ "MeshProcess", "structMeshProcess.html", null ] + ] ], + [ "dtTileCacheObstacle", "structdtTileCacheObstacle.html", null ], + [ "dtTileCacheParams", "structdtTileCacheParams.html", null ], + [ "dtTileCachePolyMesh", "structdtTileCachePolyMesh.html", null ], + [ "dtTileState", "structdtTileState.html", null ], + [ "duDebugDraw", "structduDebugDraw.html", [ + [ "DebugDrawGL", "classDebugDrawGL.html", [ + [ "SampleDebugDraw", "classSampleDebugDraw.html", null ] + ] ], + [ "duDisplayList", "classduDisplayList.html", null ] + ] ], + [ "duFileIO", "structduFileIO.html", [ + [ "FileIO", "classFileIO.html", null ] + ] ], + [ "GLCheckerTexture", "classGLCheckerTexture.html", null ], + [ "GraphParams", "structGraphParams.html", null ], + [ "GuiState", "structGuiState.html", null ], + [ "imguiGfxCmd", "structimguiGfxCmd.html", null ], + [ "imguiGfxLine", "structimguiGfxLine.html", null ], + [ "imguiGfxRect", "structimguiGfxRect.html", null ], + [ "imguiGfxText", "structimguiGfxText.html", null ], + [ "InputGeom", "classInputGeom.html", null ], + [ "NavmeshFlags", "classNavmeshFlags.html", null ], + [ "NavMeshSetHeader", "structNavMeshSetHeader.html", null ], + [ "NavMeshTileBuildContext", "structNavMeshTileBuildContext.html", null ], + [ "NavMeshTileHeader", "structNavMeshTileHeader.html", null ], + [ "RasterizationContext", "structRasterizationContext.html", null ], + [ "rcChunkyTriMesh", "structrcChunkyTriMesh.html", null ], + [ "rcChunkyTriMeshNode", "structrcChunkyTriMeshNode.html", null ], + [ "rcCompactCell", "structrcCompactCell.html", null ], + [ "rcCompactHeightfield", "structrcCompactHeightfield.html", null ], + [ "rcCompactSpan", "structrcCompactSpan.html", null ], + [ "rcConfig", "structrcConfig.html", null ], + [ "rcContext", "classrcContext.html", [ + [ "BuildContext", "classBuildContext.html", null ] + ] ], + [ "rcContour", "structrcContour.html", null ], + [ "rcContourHole", "structrcContourHole.html", null ], + [ "rcContourRegion", "structrcContourRegion.html", null ], + [ "rcContourSet", "structrcContourSet.html", null ], + [ "rcEdge", "structrcEdge.html", null ], + [ "rcHeightfield", "structrcHeightfield.html", null ], + [ "rcHeightfieldLayer", "structrcHeightfieldLayer.html", null ], + [ "rcHeightfieldLayerSet", "structrcHeightfieldLayerSet.html", null ], + [ "rcHeightPatch", "structrcHeightPatch.html", null ], + [ "rcIntArray", "classrcIntArray.html", null ], + [ "rcLayerRegion", "structrcLayerRegion.html", null ], + [ "rcLayerSweepSpan", "structrcLayerSweepSpan.html", null ], + [ "rcMeshLoaderObj", "classrcMeshLoaderObj.html", null ], + [ "rcNewTag", "structrcNewTag.html", null ], + [ "rcPolyMesh", "structrcPolyMesh.html", null ], + [ "rcPolyMeshDetail", "structrcPolyMeshDetail.html", null ], + [ "rcPotentialDiagonal", "structrcPotentialDiagonal.html", null ], + [ "rcRegion", "structrcRegion.html", null ], + [ "rcScopedDelete< T >", "classrcScopedDelete.html", null ], + [ "rcScopedTimer", "classrcScopedTimer.html", null ], + [ "rcSpan", "structrcSpan.html", null ], + [ "rcSpanPool", "structrcSpanPool.html", null ], + [ "rcSweepSpan", "structrcSweepSpan.html", null ], + [ "rcVectorBase< T, H >", "classrcVectorBase.html", [ + [ "rcTempVector< int >", "classrcTempVector.html", null ] + ] ], + [ "rcVectorBase< T, RC_ALLOC_PERM >", "classrcVectorBase.html", [ + [ "rcPermVector< T >", "classrcPermVector.html", null ] + ] ], + [ "rcVectorBase< T, RC_ALLOC_TEMP >", "classrcVectorBase.html", [ + [ "rcTempVector< T >", "classrcTempVector.html", null ] + ] ], + [ "Sample", "classSample.html", [ + [ "Sample_Debug", "classSample__Debug.html", null ], + [ "Sample_SoloMesh", "classSample__SoloMesh.html", null ], + [ "Sample_TempObstacles", "classSample__TempObstacles.html", null ], + [ "Sample_TileMesh", "classSample__TileMesh.html", null ] + ] ], + [ "SampleItem", "structSampleItem.html", null ], + [ "SampleTool", "structSampleTool.html", [ + [ "ConvexVolumeTool", "classConvexVolumeTool.html", null ], + [ "CrowdTool", "classCrowdTool.html", null ], + [ "NavMeshPruneTool", "classNavMeshPruneTool.html", null ], + [ "NavMeshTesterTool", "classNavMeshTesterTool.html", null ], + [ "NavMeshTileTool", "classNavMeshTileTool.html", null ], + [ "OffMeshConnectionTool", "classOffMeshConnectionTool.html", null ], + [ "TempObstacleCreateTool", "classTempObstacleCreateTool.html", null ], + [ "TempObstacleHilightTool", "classTempObstacleHilightTool.html", null ] + ] ], + [ "SampleToolState", "structSampleToolState.html", [ + [ "CrowdToolState", "classCrowdToolState.html", null ] + ] ], + [ "TestCase", "classTestCase.html", null ], + [ "TileCacheData", "structTileCacheData.html", null ], + [ "TileCacheSetHeader", "structTileCacheSetHeader.html", null ], + [ "TileCacheTileHeader", "structTileCacheTileHeader.html", null ], + [ "ValueHistory", "classValueHistory.html", null ] +]; \ No newline at end of file diff --git a/imguiRenderGL_8cpp.html b/imguiRenderGL_8cpp.html new file mode 100644 index 00000000..8b413c55 --- /dev/null +++ b/imguiRenderGL_8cpp.html @@ -0,0 +1,997 @@ + + + + + + + +Recast Navigation: imguiRenderGL.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
imguiRenderGL.cpp File Reference
+
+
+
#include <cmath>
+#include <cstdio>
+#include "imgui.h"
+#include "SDL.h"
+#include "SDL_opengl.h"
+#include "stb_truetype.h"
+
+ + + + + + + +

+Macros

#define STBTT_malloc(x, y)   imguimalloc(x,y)
 
#define STBTT_free(x, y)   imguifree(x,y)
 
#define STB_TRUETYPE_IMPLEMENTATION
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void imguifree (void *ptr, void *userptr)
 
void * imguimalloc (size_t size, void *userptr)
 
unsigned int RGBA (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
 
static void drawPolygon (const float *coords, unsigned numCoords, float r, unsigned int col)
 
static void drawRect (float x, float y, float w, float h, float fth, unsigned int col)
 
static void drawRoundedRect (float x, float y, float w, float h, float r, float fth, unsigned int col)
 
static void drawLine (float x0, float y0, float x1, float y1, float r, float fth, unsigned int col)
 
bool imguiRenderGLInit (const char *fontpath)
 
void imguiRenderGLDestroy ()
 
static void getBakedQuad (stbtt_bakedchar *chardata, int pw, int ph, int char_index, float *xpos, float *ypos, stbtt_aligned_quad *q)
 
static float getTextLength (stbtt_bakedchar *chardata, const char *text)
 
static void drawText (float x, float y, const char *text, int align, unsigned int col)
 
void imguiRenderGLDraw ()
 
+ + + + + + + + + + + + + + + + + + + +

+Variables

static const float PI = 3.14159265f
 
static const unsigned TEMP_COORD_COUNT = 100
 
static float g_tempCoords [TEMP_COORD_COUNT *2]
 
static float g_tempNormals [TEMP_COORD_COUNT *2]
 
static const int CIRCLE_VERTS = 8*4
 
static float g_circleVerts [CIRCLE_VERTS *2]
 
static stbtt_bakedchar g_cdata [96]
 
static GLuint g_ftex = 0
 
static const float g_tabStops [4] = {150, 210, 270, 330}
 
+

Macro Definition Documentation

+ +

◆ STB_TRUETYPE_IMPLEMENTATION

+ +
+
+ + + + +
#define STB_TRUETYPE_IMPLEMENTATION
+
+ +
+
+ +

◆ STBTT_free

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define STBTT_free( x,
 
)   imguifree(x,y)
+
+ +
+
+ +

◆ STBTT_malloc

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define STBTT_malloc( x,
 
)   imguimalloc(x,y)
+
+ +
+
+

Function Documentation

+ +

◆ drawLine()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void drawLine (float x0,
float y0,
float x1,
float y1,
float r,
float fth,
unsigned int col 
)
+
+static
+
+ +
+
+ +

◆ drawPolygon()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void drawPolygon (const float * coords,
unsigned numCoords,
float r,
unsigned int col 
)
+
+static
+
+ +
+
+ +

◆ drawRect()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void drawRect (float x,
float y,
float w,
float h,
float fth,
unsigned int col 
)
+
+static
+
+ +
+
+ +

◆ drawRoundedRect()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void drawRoundedRect (float x,
float y,
float w,
float h,
float r,
float fth,
unsigned int col 
)
+
+static
+
+ +
+
+ +

◆ drawText()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void drawText (float x,
float y,
const char * text,
int align,
unsigned int col 
)
+
+static
+
+ +
+
+ +

◆ getBakedQuad()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void getBakedQuad (stbtt_bakedchar * chardata,
int pw,
int ph,
int char_index,
float * xpos,
float * ypos,
stbtt_aligned_quad * q 
)
+
+static
+
+ +
+
+ +

◆ getTextLength()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static float getTextLength (stbtt_bakedchar * chardata,
const char * text 
)
+
+static
+
+ +
+
+ +

◆ imguifree()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void imguifree (void * ptr,
void * userptr 
)
+
+ +
+
+ +

◆ imguimalloc()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void * imguimalloc (size_t size,
void * userptr 
)
+
+ +
+
+ +

◆ imguiRenderGLDestroy()

+ +
+
+ + + + + + + +
void imguiRenderGLDestroy ()
+
+ +
+
+ +

◆ imguiRenderGLDraw()

+ +
+
+ + + + + + + +
void imguiRenderGLDraw ()
+
+ +
+
+ +

◆ imguiRenderGLInit()

+ +
+
+ + + + + + + + +
bool imguiRenderGLInit (const char * fontpath)
+
+ +
+
+ +

◆ RGBA()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
unsigned int RGBA (unsigned char r,
unsigned char g,
unsigned char b,
unsigned char a 
)
+
+inline
+
+ +
+
+

Variable Documentation

+ +

◆ CIRCLE_VERTS

+ +
+
+ + + + + +
+ + + + +
const int CIRCLE_VERTS = 8*4
+
+static
+
+ +
+
+ +

◆ g_cdata

+ +
+
+ + + + + +
+ + + + +
stbtt_bakedchar g_cdata[96]
+
+static
+
+ +
+
+ +

◆ g_circleVerts

+ +
+
+ + + + + +
+ + + + +
float g_circleVerts[CIRCLE_VERTS *2]
+
+static
+
+ +
+
+ +

◆ g_ftex

+ +
+
+ + + + + +
+ + + + +
GLuint g_ftex = 0
+
+static
+
+ +
+
+ +

◆ g_tabStops

+ +
+
+ + + + + +
+ + + + +
const float g_tabStops[4] = {150, 210, 270, 330}
+
+static
+
+ +
+
+ +

◆ g_tempCoords

+ +
+
+ + + + + +
+ + + + +
float g_tempCoords[TEMP_COORD_COUNT *2]
+
+static
+
+ +
+
+ +

◆ g_tempNormals

+ +
+
+ + + + + +
+ + + + +
float g_tempNormals[TEMP_COORD_COUNT *2]
+
+static
+
+ +
+
+ +

◆ PI

+ +
+
+ + + + + +
+ + + + +
const float PI = 3.14159265f
+
+static
+
+ +
+
+ +

◆ TEMP_COORD_COUNT

+ +
+
+ + + + + +
+ + + + +
const unsigned TEMP_COORD_COUNT = 100
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/imguiRenderGL_8cpp.js b/imguiRenderGL_8cpp.js new file mode 100644 index 00000000..ed7726a0 --- /dev/null +++ b/imguiRenderGL_8cpp.js @@ -0,0 +1,28 @@ +var imguiRenderGL_8cpp = +[ + [ "STB_TRUETYPE_IMPLEMENTATION", "imguiRenderGL_8cpp.html#afaa2f2d0d9d6726cfae6da070e736347", null ], + [ "STBTT_free", "imguiRenderGL_8cpp.html#ac2d83c500a591ce9b5ff9ca5681caa59", null ], + [ "STBTT_malloc", "imguiRenderGL_8cpp.html#afe7147641c31bc94935e5711c81087d0", null ], + [ "drawLine", "imguiRenderGL_8cpp.html#a0c56d5717a692e41cf3f66a459ef589a", null ], + [ "drawPolygon", "imguiRenderGL_8cpp.html#ac942be741579139e88992ba1d5037480", null ], + [ "drawRect", "imguiRenderGL_8cpp.html#a5a436da38db73ddd2a5ceb6e440d5b4e", null ], + [ "drawRoundedRect", "imguiRenderGL_8cpp.html#ac510a2126cccc18d9b72a46b22e41140", null ], + [ "drawText", "imguiRenderGL_8cpp.html#a06ae1ffc6ae4adb308416ab8480327a9", null ], + [ "getBakedQuad", "imguiRenderGL_8cpp.html#aa0edb56b070edf4da63eb716e7c32bc6", null ], + [ "getTextLength", "imguiRenderGL_8cpp.html#ae0f324fe5e1454b8bdcdb05e2eb17762", null ], + [ "imguifree", "imguiRenderGL_8cpp.html#a2a8b3b95948bc4017c04c7454cb5d473", null ], + [ "imguimalloc", "imguiRenderGL_8cpp.html#a7b5a4a87dc42e0c5df76f683dfd784e4", null ], + [ "imguiRenderGLDestroy", "imguiRenderGL_8cpp.html#aa62b85e5def48a3e96598436d1895ebf", null ], + [ "imguiRenderGLDraw", "imguiRenderGL_8cpp.html#a3c498095a81d3da8fb16a39d5584f184", null ], + [ "imguiRenderGLInit", "imguiRenderGL_8cpp.html#a516f5ccccb1ddc6bcea43fba89f1fd57", null ], + [ "RGBA", "imguiRenderGL_8cpp.html#a413aaddb1ddea117f86218f2ca0234fe", null ], + [ "CIRCLE_VERTS", "imguiRenderGL_8cpp.html#a27fc87775d88c51445a4dd1b7e67d513", null ], + [ "g_cdata", "imguiRenderGL_8cpp.html#a63d7bf2519c08a3169707cec1cbab429", null ], + [ "g_circleVerts", "imguiRenderGL_8cpp.html#a829fc56af6c08c9170e8f42a4551bfe9", null ], + [ "g_ftex", "imguiRenderGL_8cpp.html#a35e41818e96c0e65083e53b0757c046d", null ], + [ "g_tabStops", "imguiRenderGL_8cpp.html#a8c37700196ed88412783b7c1f7d307fb", null ], + [ "g_tempCoords", "imguiRenderGL_8cpp.html#ad10ff27565173e7b5d5ff243399dae14", null ], + [ "g_tempNormals", "imguiRenderGL_8cpp.html#abc052698b25d3a19fb6eb715bfad5975", null ], + [ "PI", "imguiRenderGL_8cpp.html#aa08a577393243b86dfd2a97e61443673", null ], + [ "TEMP_COORD_COUNT", "imguiRenderGL_8cpp.html#ae718683d9ce63c75123ec0c2305c006b", null ] +]; \ No newline at end of file diff --git a/imguiRenderGL_8h.html b/imguiRenderGL_8h.html new file mode 100644 index 00000000..7365d7a9 --- /dev/null +++ b/imguiRenderGL_8h.html @@ -0,0 +1,171 @@ + + + + + + + +Recast Navigation: imguiRenderGL.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
imguiRenderGL.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + +

+Functions

bool imguiRenderGLInit (const char *fontpath)
 
void imguiRenderGLDestroy ()
 
void imguiRenderGLDraw ()
 
+

Function Documentation

+ +

◆ imguiRenderGLDestroy()

+ +
+
+ + + + + + + +
void imguiRenderGLDestroy ()
+
+ +
+
+ +

◆ imguiRenderGLDraw()

+ +
+
+ + + + + + + +
void imguiRenderGLDraw ()
+
+ +
+
+ +

◆ imguiRenderGLInit()

+ +
+
+ + + + + + + + +
bool imguiRenderGLInit (const char * fontpath)
+
+ +
+
+
+
+ + + + + diff --git a/imguiRenderGL_8h.js b/imguiRenderGL_8h.js new file mode 100644 index 00000000..628bf8d7 --- /dev/null +++ b/imguiRenderGL_8h.js @@ -0,0 +1,6 @@ +var imguiRenderGL_8h = +[ + [ "imguiRenderGLDestroy", "imguiRenderGL_8h.html#aa62b85e5def48a3e96598436d1895ebf", null ], + [ "imguiRenderGLDraw", "imguiRenderGL_8h.html#a3c498095a81d3da8fb16a39d5584f184", null ], + [ "imguiRenderGLInit", "imguiRenderGL_8h.html#a516f5ccccb1ddc6bcea43fba89f1fd57", null ] +]; \ No newline at end of file diff --git a/imguiRenderGL_8h_source.html b/imguiRenderGL_8h_source.html new file mode 100644 index 00000000..e5a5c4d4 --- /dev/null +++ b/imguiRenderGL_8h_source.html @@ -0,0 +1,134 @@ + + + + + + + +Recast Navigation: imguiRenderGL.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
imguiRenderGL.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 IMGUI_RENDER_GL_H
+
20 #define IMGUI_RENDER_GL_H
+
21 
+
22 bool imguiRenderGLInit(const char* fontpath);
+ +
24 void imguiRenderGLDraw();
+
25 
+
26 #endif // IMGUI_RENDER_GL_H
+
27 
+
void imguiRenderGLDraw()
Definition: imguiRenderGL.cpp:428
+
bool imguiRenderGLInit(const char *fontpath)
Definition: imguiRenderGL.cpp:237
+
void imguiRenderGLDestroy()
Definition: imguiRenderGL.cpp:305
+
+
+ + + + + diff --git a/imgui_8cpp.html b/imgui_8cpp.html new file mode 100644 index 00000000..e9b5fa1d --- /dev/null +++ b/imgui_8cpp.html @@ -0,0 +1,2150 @@ + + + + + + + +Recast Navigation: imgui.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
imgui.cpp File Reference
+
+
+
#include <stdio.h>
+#include <string.h>
+#include <math.h>
+#include "imgui.h"
+
+ + + +

+Classes

struct  GuiState
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

static const char * allocText (const char *text)
 
static void resetGfxCmdQueue ()
 
static void addGfxCmdScissor (int x, int y, int w, int h)
 
static void addGfxCmdRect (float x, float y, float w, float h, unsigned int color)
 
static void addGfxCmdLine (float x0, float y0, float x1, float y1, float r, unsigned int color)
 
static void addGfxCmdRoundedRect (float x, float y, float w, float h, float r, unsigned int color)
 
static void addGfxCmdTriangle (int x, int y, int w, int h, int flags, unsigned int color)
 
static void addGfxCmdText (int x, int y, int align, const char *text, unsigned int color)
 
bool anyActive ()
 
bool isActive (unsigned int id)
 
bool isHot (unsigned int id)
 
bool inRect (int x, int y, int w, int h, bool checkScroll=true)
 
void clearInput ()
 
void clearActive ()
 
void setActive (unsigned int id)
 
void setHot (unsigned int id)
 
static bool buttonLogic (unsigned int id, bool over)
 
static void updateInput (int mx, int my, unsigned char mbut, int scroll)
 
void imguiBeginFrame (int mx, int my, unsigned char mbut, int scroll)
 
void imguiEndFrame ()
 
const imguiGfxCmdimguiGetRenderQueue ()
 
int imguiGetRenderQueueSize ()
 
bool imguiBeginScrollArea (const char *name, int x, int y, int w, int h, int *scroll)
 
void imguiEndScrollArea ()
 
bool imguiButton (const char *text, bool enabled)
 
bool imguiItem (const char *text, bool enabled)
 
bool imguiCheck (const char *text, bool checked, bool enabled)
 
bool imguiCollapse (const char *text, const char *subtext, bool checked, bool enabled)
 
void imguiLabel (const char *text)
 
void imguiValue (const char *text)
 
bool imguiSlider (const char *text, float *val, float vmin, float vmax, float vinc, bool enabled)
 
void imguiIndent ()
 
void imguiUnindent ()
 
void imguiSeparator ()
 
void imguiSeparatorLine ()
 
void imguiDrawText (int x, int y, int align, const char *text, unsigned int color)
 
void imguiDrawLine (float x0, float y0, float x1, float y1, float r, unsigned int color)
 
void imguiDrawRect (float x, float y, float w, float h, unsigned int color)
 
void imguiDrawRoundedRect (float x, float y, float w, float h, float r, unsigned int color)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Variables

static const unsigned TEXT_POOL_SIZE = 50000
 
static char g_textPool [TEXT_POOL_SIZE]
 
static unsigned g_textPoolSize = 0
 
static const unsigned GFXCMD_QUEUE_SIZE = 5000
 
static imguiGfxCmd g_gfxCmdQueue [GFXCMD_QUEUE_SIZE]
 
static unsigned g_gfxCmdQueueSize = 0
 
static GuiState g_state
 
static const int BUTTON_HEIGHT = 20
 
static const int SLIDER_HEIGHT = 20
 
static const int SLIDER_MARKER_WIDTH = 10
 
static const int CHECK_SIZE = 8
 
static const int DEFAULT_SPACING = 4
 
static const int TEXT_HEIGHT = 8
 
static const int SCROLL_AREA_PADDING = 6
 
static const int INDENT_SIZE = 16
 
static const int AREA_HEADER = 28
 
static int g_scrollTop = 0
 
static int g_scrollBottom = 0
 
static int g_scrollRight = 0
 
static int g_scrollAreaTop = 0
 
static int * g_scrollVal = 0
 
static int g_focusTop = 0
 
static int g_focusBottom = 0
 
static unsigned int g_scrollId = 0
 
static bool g_insideScrollArea = false
 
+

Function Documentation

+ +

◆ addGfxCmdLine()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void addGfxCmdLine (float x0,
float y0,
float x1,
float y1,
float r,
unsigned int color 
)
+
+static
+
+ +
+
+ +

◆ addGfxCmdRect()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void addGfxCmdRect (float x,
float y,
float w,
float h,
unsigned int color 
)
+
+static
+
+ +
+
+ +

◆ addGfxCmdRoundedRect()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void addGfxCmdRoundedRect (float x,
float y,
float w,
float h,
float r,
unsigned int color 
)
+
+static
+
+ +
+
+ +

◆ addGfxCmdScissor()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void addGfxCmdScissor (int x,
int y,
int w,
int h 
)
+
+static
+
+ +
+
+ +

◆ addGfxCmdText()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void addGfxCmdText (int x,
int y,
int align,
const char * text,
unsigned int color 
)
+
+static
+
+ +
+
+ +

◆ addGfxCmdTriangle()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void addGfxCmdTriangle (int x,
int y,
int w,
int h,
int flags,
unsigned int color 
)
+
+static
+
+ +
+
+ +

◆ allocText()

+ +
+
+ + + + + +
+ + + + + + + + +
static const char* allocText (const char * text)
+
+static
+
+ +
+
+ +

◆ anyActive()

+ +
+
+ + + + + +
+ + + + + + + +
bool anyActive ()
+
+inline
+
+ +
+
+ +

◆ buttonLogic()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static bool buttonLogic (unsigned int id,
bool over 
)
+
+static
+
+ +
+
+ +

◆ clearActive()

+ +
+
+ + + + + +
+ + + + + + + +
void clearActive ()
+
+inline
+
+ +
+
+ +

◆ clearInput()

+ +
+
+ + + + + +
+ + + + + + + +
void clearInput ()
+
+inline
+
+ +
+
+ +

◆ imguiBeginFrame()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void imguiBeginFrame (int mx,
int my,
unsigned char mbut,
int scroll 
)
+
+ +
+
+ +

◆ imguiBeginScrollArea()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool imguiBeginScrollArea (const char * name,
int x,
int y,
int w,
int h,
int * scroll 
)
+
+ +
+
+ +

◆ imguiButton()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool imguiButton (const char * text,
bool enabled 
)
+
+ +
+
+ +

◆ imguiCheck()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool imguiCheck (const char * text,
bool checked,
bool enabled 
)
+
+ +
+
+ +

◆ imguiCollapse()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool imguiCollapse (const char * text,
const char * subtext,
bool checked,
bool enabled 
)
+
+ +
+
+ +

◆ imguiDrawLine()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void imguiDrawLine (float x0,
float y0,
float x1,
float y1,
float r,
unsigned int color 
)
+
+ +
+
+ +

◆ imguiDrawRect()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void imguiDrawRect (float x,
float y,
float w,
float h,
unsigned int color 
)
+
+ +
+
+ +

◆ imguiDrawRoundedRect()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void imguiDrawRoundedRect (float x,
float y,
float w,
float h,
float r,
unsigned int color 
)
+
+ +
+
+ +

◆ imguiDrawText()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void imguiDrawText (int x,
int y,
int align,
const char * text,
unsigned int color 
)
+
+ +
+
+ +

◆ imguiEndFrame()

+ +
+
+ + + + + + + +
void imguiEndFrame ()
+
+ +
+
+ +

◆ imguiEndScrollArea()

+ +
+
+ + + + + + + +
void imguiEndScrollArea ()
+
+ +
+
+ +

◆ imguiGetRenderQueue()

+ +
+
+ + + + + + + +
const imguiGfxCmd* imguiGetRenderQueue ()
+
+ +
+
+ +

◆ imguiGetRenderQueueSize()

+ +
+
+ + + + + + + +
int imguiGetRenderQueueSize ()
+
+ +
+
+ +

◆ imguiIndent()

+ +
+
+ + + + + + + +
void imguiIndent ()
+
+ +
+
+ +

◆ imguiItem()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool imguiItem (const char * text,
bool enabled 
)
+
+ +
+
+ +

◆ imguiLabel()

+ +
+
+ + + + + + + + +
void imguiLabel (const char * text)
+
+ +
+
+ +

◆ imguiSeparator()

+ +
+
+ + + + + + + +
void imguiSeparator ()
+
+ +
+
+ +

◆ imguiSeparatorLine()

+ +
+
+ + + + + + + +
void imguiSeparatorLine ()
+
+ +
+
+ +

◆ imguiSlider()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool imguiSlider (const char * text,
float * val,
float vmin,
float vmax,
float vinc,
bool enabled 
)
+
+ +
+
+ +

◆ imguiUnindent()

+ +
+
+ + + + + + + +
void imguiUnindent ()
+
+ +
+
+ +

◆ imguiValue()

+ +
+
+ + + + + + + + +
void imguiValue (const char * text)
+
+ +
+
+ +

◆ inRect()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool inRect (int x,
int y,
int w,
int h,
bool checkScroll = true 
)
+
+inline
+
+ +
+
+ +

◆ isActive()

+ +
+
+ + + + + +
+ + + + + + + + +
bool isActive (unsigned int id)
+
+inline
+
+ +
+
+ +

◆ isHot()

+ +
+
+ + + + + +
+ + + + + + + + +
bool isHot (unsigned int id)
+
+inline
+
+ +
+
+ +

◆ resetGfxCmdQueue()

+ +
+
+ + + + + +
+ + + + + + + +
static void resetGfxCmdQueue ()
+
+static
+
+ +
+
+ +

◆ setActive()

+ +
+
+ + + + + +
+ + + + + + + + +
void setActive (unsigned int id)
+
+inline
+
+ +
+
+ +

◆ setHot()

+ +
+
+ + + + + +
+ + + + + + + + +
void setHot (unsigned int id)
+
+inline
+
+ +
+
+ +

◆ updateInput()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void updateInput (int mx,
int my,
unsigned char mbut,
int scroll 
)
+
+static
+
+ +
+
+

Variable Documentation

+ +

◆ AREA_HEADER

+ +
+
+ + + + + +
+ + + + +
const int AREA_HEADER = 28
+
+static
+
+ +
+
+ +

◆ BUTTON_HEIGHT

+ +
+
+ + + + + +
+ + + + +
const int BUTTON_HEIGHT = 20
+
+static
+
+ +
+
+ +

◆ CHECK_SIZE

+ +
+
+ + + + + +
+ + + + +
const int CHECK_SIZE = 8
+
+static
+
+ +
+
+ +

◆ DEFAULT_SPACING

+ +
+
+ + + + + +
+ + + + +
const int DEFAULT_SPACING = 4
+
+static
+
+ +
+
+ +

◆ g_focusBottom

+ +
+
+ + + + + +
+ + + + +
int g_focusBottom = 0
+
+static
+
+ +
+
+ +

◆ g_focusTop

+ +
+
+ + + + + +
+ + + + +
int g_focusTop = 0
+
+static
+
+ +
+
+ +

◆ g_gfxCmdQueue

+ +
+
+ + + + + +
+ + + + +
imguiGfxCmd g_gfxCmdQueue[GFXCMD_QUEUE_SIZE]
+
+static
+
+ +
+
+ +

◆ g_gfxCmdQueueSize

+ +
+
+ + + + + +
+ + + + +
unsigned g_gfxCmdQueueSize = 0
+
+static
+
+ +
+
+ +

◆ g_insideScrollArea

+ +
+
+ + + + + +
+ + + + +
bool g_insideScrollArea = false
+
+static
+
+ +
+
+ +

◆ g_scrollAreaTop

+ +
+
+ + + + + +
+ + + + +
int g_scrollAreaTop = 0
+
+static
+
+ +
+
+ +

◆ g_scrollBottom

+ +
+
+ + + + + +
+ + + + +
int g_scrollBottom = 0
+
+static
+
+ +
+
+ +

◆ g_scrollId

+ +
+
+ + + + + +
+ + + + +
unsigned int g_scrollId = 0
+
+static
+
+ +
+
+ +

◆ g_scrollRight

+ +
+
+ + + + + +
+ + + + +
int g_scrollRight = 0
+
+static
+
+ +
+
+ +

◆ g_scrollTop

+ +
+
+ + + + + +
+ + + + +
int g_scrollTop = 0
+
+static
+
+ +
+
+ +

◆ g_scrollVal

+ +
+
+ + + + + +
+ + + + +
int* g_scrollVal = 0
+
+static
+
+ +
+
+ +

◆ g_state

+ +
+
+ + + + + +
+ + + + +
GuiState g_state
+
+static
+
+ +
+
+ +

◆ g_textPool

+ +
+
+ + + + + +
+ + + + +
char g_textPool[TEXT_POOL_SIZE]
+
+static
+
+ +
+
+ +

◆ g_textPoolSize

+ +
+
+ + + + + +
+ + + + +
unsigned g_textPoolSize = 0
+
+static
+
+ +
+
+ +

◆ GFXCMD_QUEUE_SIZE

+ +
+
+ + + + + +
+ + + + +
const unsigned GFXCMD_QUEUE_SIZE = 5000
+
+static
+
+ +
+
+ +

◆ INDENT_SIZE

+ +
+
+ + + + + +
+ + + + +
const int INDENT_SIZE = 16
+
+static
+
+ +
+
+ +

◆ SCROLL_AREA_PADDING

+ +
+
+ + + + + +
+ + + + +
const int SCROLL_AREA_PADDING = 6
+
+static
+
+ +
+
+ +

◆ SLIDER_HEIGHT

+ +
+
+ + + + + +
+ + + + +
const int SLIDER_HEIGHT = 20
+
+static
+
+ +
+
+ +

◆ SLIDER_MARKER_WIDTH

+ +
+
+ + + + + +
+ + + + +
const int SLIDER_MARKER_WIDTH = 10
+
+static
+
+ +
+
+ +

◆ TEXT_HEIGHT

+ +
+
+ + + + + +
+ + + + +
const int TEXT_HEIGHT = 8
+
+static
+
+ +
+
+ +

◆ TEXT_POOL_SIZE

+ +
+
+ + + + + +
+ + + + +
const unsigned TEXT_POOL_SIZE = 50000
+
+static
+
+ +
+
+
+
+ + + + + diff --git a/imgui_8cpp.js b/imgui_8cpp.js new file mode 100644 index 00000000..87e6d117 --- /dev/null +++ b/imgui_8cpp.js @@ -0,0 +1,68 @@ +var imgui_8cpp = +[ + [ "GuiState", "structGuiState.html", "structGuiState" ], + [ "addGfxCmdLine", "imgui_8cpp.html#a7b983f52f1ccf9ca4783c08d6c1a8493", null ], + [ "addGfxCmdRect", "imgui_8cpp.html#a7ba380198ec6ab2a5e8eb7ca82b391e6", null ], + [ "addGfxCmdRoundedRect", "imgui_8cpp.html#a7e0d57d6085430adc31d7a573b3f323a", null ], + [ "addGfxCmdScissor", "imgui_8cpp.html#a879ceedaee511a3e6d030cf558c62bb8", null ], + [ "addGfxCmdText", "imgui_8cpp.html#a7d2823f41544c3976bd2194bd9b3ae9a", null ], + [ "addGfxCmdTriangle", "imgui_8cpp.html#af0a1cd491d202cd5a080758f36814b3b", null ], + [ "allocText", "imgui_8cpp.html#a965984c12ad3f79efa5f337bda81f7dd", null ], + [ "anyActive", "imgui_8cpp.html#a6b421af801049347c033e93202b93cc7", null ], + [ "buttonLogic", "imgui_8cpp.html#a455558f382e7dcbbc1b3b983d35c349e", null ], + [ "clearActive", "imgui_8cpp.html#a323f894b86639f571ec7e44fb20fbfea", null ], + [ "clearInput", "imgui_8cpp.html#a5d555657ce648c1a47abb70f1029589d", null ], + [ "imguiBeginFrame", "imgui_8cpp.html#a9460df9e45ac62863d44e7bbdbc6ef8e", null ], + [ "imguiBeginScrollArea", "imgui_8cpp.html#ac46e2e3ac3f6a80586b929729d4e5f25", null ], + [ "imguiButton", "imgui_8cpp.html#a779167e54c89f3a7d6933bbf8db28eb7", null ], + [ "imguiCheck", "imgui_8cpp.html#a454a21faadb504d01fa808a26d088e8f", null ], + [ "imguiCollapse", "imgui_8cpp.html#ae14ee3ea48895226a937d4736da38aa8", null ], + [ "imguiDrawLine", "imgui_8cpp.html#ab0f80a70d63e95f64a1cdfc5ed07923e", null ], + [ "imguiDrawRect", "imgui_8cpp.html#aaa13f28c04e5a32a07c0589a2026eefe", null ], + [ "imguiDrawRoundedRect", "imgui_8cpp.html#a64be6cac61a161fa9d0c16b5034b6c5e", null ], + [ "imguiDrawText", "imgui_8cpp.html#abdd0d158d1fcab4dbfcf9ea50f202136", null ], + [ "imguiEndFrame", "imgui_8cpp.html#afd1f5eaee9f7475255c6fba75ff5123c", null ], + [ "imguiEndScrollArea", "imgui_8cpp.html#ac2bccc89a7e0b94592623961cb21b257", null ], + [ "imguiGetRenderQueue", "imgui_8cpp.html#ad73e6a0f683a0a8e8f303ad61580c32d", null ], + [ "imguiGetRenderQueueSize", "imgui_8cpp.html#ab99959262f3e219c6a0f18aeafd432b0", null ], + [ "imguiIndent", "imgui_8cpp.html#ae3d00934ccb219ffa9316b252d8afba0", null ], + [ "imguiItem", "imgui_8cpp.html#ab395b1e1bb0892f71ed1da579c98a3e7", null ], + [ "imguiLabel", "imgui_8cpp.html#a802803d550d65e826d6addbf0a3d333b", null ], + [ "imguiSeparator", "imgui_8cpp.html#ad77cd8c7e79231bf99358e8766845ac1", null ], + [ "imguiSeparatorLine", "imgui_8cpp.html#ad1692a47ae3a3393f459c5dcf8b78651", null ], + [ "imguiSlider", "imgui_8cpp.html#a3128854184c44a3ee570bea05290cdbb", null ], + [ "imguiUnindent", "imgui_8cpp.html#a509b76e72688bbb9b319c778b753c11d", null ], + [ "imguiValue", "imgui_8cpp.html#ad123f3fb8a3840a3f6ce8caa41a3f80b", null ], + [ "inRect", "imgui_8cpp.html#ad1245cfa79f31678c1eb8d84d1ff30af", null ], + [ "isActive", "imgui_8cpp.html#ad612f89ba9d6ea959eee8617f3c00bc8", null ], + [ "isHot", "imgui_8cpp.html#a6ed5b5cfe3ffe15f70a564d87e13a2a8", null ], + [ "resetGfxCmdQueue", "imgui_8cpp.html#a7b4f83dac967ed4fec237068a1ad2760", null ], + [ "setActive", "imgui_8cpp.html#a19d012d43ace20552ff625a6bf7d7552", null ], + [ "setHot", "imgui_8cpp.html#a5bef8420adcaae489e55a652b4c1f14e", null ], + [ "updateInput", "imgui_8cpp.html#a5cd0710bb09b88cad4cb053553d5bc24", null ], + [ "AREA_HEADER", "imgui_8cpp.html#a9f1d65be567b55080074ad626c08cf0c", null ], + [ "BUTTON_HEIGHT", "imgui_8cpp.html#a83f45a813d7a4cde3f8a9bb8a5a7d163", null ], + [ "CHECK_SIZE", "imgui_8cpp.html#a9a4e4d92b84c20d87d22cd139b0781d9", null ], + [ "DEFAULT_SPACING", "imgui_8cpp.html#a03b57ae9b56748416c59dbebd15b6897", null ], + [ "g_focusBottom", "imgui_8cpp.html#ac365049df91f1a6f044a1cf941d99b86", null ], + [ "g_focusTop", "imgui_8cpp.html#aa91169c33606d569c026366edda9881f", null ], + [ "g_gfxCmdQueue", "imgui_8cpp.html#a9abda3631ae545a933711b38b51d73b1", null ], + [ "g_gfxCmdQueueSize", "imgui_8cpp.html#a1e10295502683256e4b84177f0631ba1", null ], + [ "g_insideScrollArea", "imgui_8cpp.html#aa35d7274201fdfbabcfa8a383cda40e7", null ], + [ "g_scrollAreaTop", "imgui_8cpp.html#af694309b5965732a7517b3a64317d368", null ], + [ "g_scrollBottom", "imgui_8cpp.html#a85885b3ff60d48c2fa48c97967b9754c", null ], + [ "g_scrollId", "imgui_8cpp.html#ab1c52a1d375390099ea2a8ee290c2d4b", null ], + [ "g_scrollRight", "imgui_8cpp.html#ac83ebebaf5c5c7fee5c8ef8b00d79263", null ], + [ "g_scrollTop", "imgui_8cpp.html#a3cbb6cb470c5eb82ca27461c33e38bd7", null ], + [ "g_scrollVal", "imgui_8cpp.html#a9ae0fa12c8e7a4bf0ee1ea8dc2778528", null ], + [ "g_state", "imgui_8cpp.html#a91dda354a7eaf0ce9c3bbb7c51251038", null ], + [ "g_textPool", "imgui_8cpp.html#a224cbb3648a6d4ff641cf31bc84f2573", null ], + [ "g_textPoolSize", "imgui_8cpp.html#ab73dcd239059b5a220e9e0277a568169", null ], + [ "GFXCMD_QUEUE_SIZE", "imgui_8cpp.html#a5c5f4e46b037c54179262552c59aabb9", null ], + [ "INDENT_SIZE", "imgui_8cpp.html#a9a41113cc28a2b67396add06da86a18c", null ], + [ "SCROLL_AREA_PADDING", "imgui_8cpp.html#a9834182fe5c469ee992dc99bc00ab90e", null ], + [ "SLIDER_HEIGHT", "imgui_8cpp.html#a75d709f0fb77b92df65419efafffca99", null ], + [ "SLIDER_MARKER_WIDTH", "imgui_8cpp.html#add618dc9080f5b272f78837c844c933b", null ], + [ "TEXT_HEIGHT", "imgui_8cpp.html#aba34c2b3d4cfdc352d28fde0d1ca54cd", null ], + [ "TEXT_POOL_SIZE", "imgui_8cpp.html#aef2d6f9e49bc61336d50b80f94138977", null ] +]; \ No newline at end of file diff --git a/imgui_8h.html b/imgui_8h.html new file mode 100644 index 00000000..d8b0cfe1 --- /dev/null +++ b/imgui_8h.html @@ -0,0 +1,941 @@ + + + + + + + +Recast Navigation: imgui.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
imgui.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + +

+Classes

struct  imguiGfxRect
 
struct  imguiGfxText
 
struct  imguiGfxLine
 
struct  imguiGfxCmd
 
+ + + + + + + +

+Enumerations

enum  imguiMouseButton { IMGUI_MBUT_LEFT = 0x01 +, IMGUI_MBUT_RIGHT = 0x02 + }
 
enum  imguiTextAlign { IMGUI_ALIGN_LEFT +, IMGUI_ALIGN_CENTER +, IMGUI_ALIGN_RIGHT + }
 
enum  imguiGfxCmdType {
+  IMGUI_GFXCMD_RECT +, IMGUI_GFXCMD_TRIANGLE +, IMGUI_GFXCMD_LINE +, IMGUI_GFXCMD_TEXT +,
+  IMGUI_GFXCMD_SCISSOR +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

unsigned int imguiRGBA (unsigned char r, unsigned char g, unsigned char b, unsigned char a=255)
 
void imguiBeginFrame (int mx, int my, unsigned char mbut, int scroll)
 
void imguiEndFrame ()
 
bool imguiBeginScrollArea (const char *name, int x, int y, int w, int h, int *scroll)
 
void imguiEndScrollArea ()
 
void imguiIndent ()
 
void imguiUnindent ()
 
void imguiSeparator ()
 
void imguiSeparatorLine ()
 
bool imguiButton (const char *text, bool enabled=true)
 
bool imguiItem (const char *text, bool enabled=true)
 
bool imguiCheck (const char *text, bool checked, bool enabled=true)
 
bool imguiCollapse (const char *text, const char *subtext, bool checked, bool enabled=true)
 
void imguiLabel (const char *text)
 
void imguiValue (const char *text)
 
bool imguiSlider (const char *text, float *val, float vmin, float vmax, float vinc, bool enabled=true)
 
void imguiDrawText (int x, int y, int align, const char *text, unsigned int color)
 
void imguiDrawLine (float x0, float y0, float x1, float y1, float r, unsigned int color)
 
void imguiDrawRoundedRect (float x, float y, float w, float h, float r, unsigned int color)
 
void imguiDrawRect (float x, float y, float w, float h, unsigned int color)
 
const imguiGfxCmdimguiGetRenderQueue ()
 
int imguiGetRenderQueueSize ()
 
+

Enumeration Type Documentation

+ +

◆ imguiGfxCmdType

+ +
+
+ + + + +
enum imguiGfxCmdType
+
+ + + + + + +
Enumerator
IMGUI_GFXCMD_RECT 
IMGUI_GFXCMD_TRIANGLE 
IMGUI_GFXCMD_LINE 
IMGUI_GFXCMD_TEXT 
IMGUI_GFXCMD_SCISSOR 
+ +
+
+ +

◆ imguiMouseButton

+ +
+
+ + + + +
enum imguiMouseButton
+
+ + + +
Enumerator
IMGUI_MBUT_LEFT 
IMGUI_MBUT_RIGHT 
+ +
+
+ +

◆ imguiTextAlign

+ +
+
+ + + + +
enum imguiTextAlign
+
+ + + + +
Enumerator
IMGUI_ALIGN_LEFT 
IMGUI_ALIGN_CENTER 
IMGUI_ALIGN_RIGHT 
+ +
+
+

Function Documentation

+ +

◆ imguiBeginFrame()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void imguiBeginFrame (int mx,
int my,
unsigned char mbut,
int scroll 
)
+
+ +
+
+ +

◆ imguiBeginScrollArea()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool imguiBeginScrollArea (const char * name,
int x,
int y,
int w,
int h,
int * scroll 
)
+
+ +
+
+ +

◆ imguiButton()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool imguiButton (const char * text,
bool enabled = true 
)
+
+ +
+
+ +

◆ imguiCheck()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool imguiCheck (const char * text,
bool checked,
bool enabled = true 
)
+
+ +
+
+ +

◆ imguiCollapse()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool imguiCollapse (const char * text,
const char * subtext,
bool checked,
bool enabled = true 
)
+
+ +
+
+ +

◆ imguiDrawLine()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void imguiDrawLine (float x0,
float y0,
float x1,
float y1,
float r,
unsigned int color 
)
+
+ +
+
+ +

◆ imguiDrawRect()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void imguiDrawRect (float x,
float y,
float w,
float h,
unsigned int color 
)
+
+ +
+
+ +

◆ imguiDrawRoundedRect()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void imguiDrawRoundedRect (float x,
float y,
float w,
float h,
float r,
unsigned int color 
)
+
+ +
+
+ +

◆ imguiDrawText()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void imguiDrawText (int x,
int y,
int align,
const char * text,
unsigned int color 
)
+
+ +
+
+ +

◆ imguiEndFrame()

+ +
+
+ + + + + + + +
void imguiEndFrame ()
+
+ +
+
+ +

◆ imguiEndScrollArea()

+ +
+
+ + + + + + + +
void imguiEndScrollArea ()
+
+ +
+
+ +

◆ imguiGetRenderQueue()

+ +
+
+ + + + + + + +
const imguiGfxCmd* imguiGetRenderQueue ()
+
+ +
+
+ +

◆ imguiGetRenderQueueSize()

+ +
+
+ + + + + + + +
int imguiGetRenderQueueSize ()
+
+ +
+
+ +

◆ imguiIndent()

+ +
+
+ + + + + + + +
void imguiIndent ()
+
+ +
+
+ +

◆ imguiItem()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool imguiItem (const char * text,
bool enabled = true 
)
+
+ +
+
+ +

◆ imguiLabel()

+ +
+
+ + + + + + + + +
void imguiLabel (const char * text)
+
+ +
+
+ +

◆ imguiRGBA()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
unsigned int imguiRGBA (unsigned char r,
unsigned char g,
unsigned char b,
unsigned char a = 255 
)
+
+inline
+
+ +
+
+ +

◆ imguiSeparator()

+ +
+
+ + + + + + + +
void imguiSeparator ()
+
+ +
+
+ +

◆ imguiSeparatorLine()

+ +
+
+ + + + + + + +
void imguiSeparatorLine ()
+
+ +
+
+ +

◆ imguiSlider()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool imguiSlider (const char * text,
float * val,
float vmin,
float vmax,
float vinc,
bool enabled = true 
)
+
+ +
+
+ +

◆ imguiUnindent()

+ +
+
+ + + + + + + +
void imguiUnindent ()
+
+ +
+
+ +

◆ imguiValue()

+ +
+
+ + + + + + + + +
void imguiValue (const char * text)
+
+ +
+
+
+
+ + + + + diff --git a/imgui_8h.js b/imgui_8h.js new file mode 100644 index 00000000..54bf8951 --- /dev/null +++ b/imgui_8h.js @@ -0,0 +1,45 @@ +var imgui_8h = +[ + [ "imguiGfxRect", "structimguiGfxRect.html", "structimguiGfxRect" ], + [ "imguiGfxText", "structimguiGfxText.html", "structimguiGfxText" ], + [ "imguiGfxLine", "structimguiGfxLine.html", "structimguiGfxLine" ], + [ "imguiGfxCmd", "structimguiGfxCmd.html", "structimguiGfxCmd" ], + [ "imguiGfxCmdType", "imgui_8h.html#abe78cb20eb0e742c2ebc6008bc4f885c", [ + [ "IMGUI_GFXCMD_RECT", "imgui_8h.html#abe78cb20eb0e742c2ebc6008bc4f885ca8c0cf32cd9b15b75f537590b22ddb923", null ], + [ "IMGUI_GFXCMD_TRIANGLE", "imgui_8h.html#abe78cb20eb0e742c2ebc6008bc4f885ca80b6621628493473156532a1204c033a", null ], + [ "IMGUI_GFXCMD_LINE", "imgui_8h.html#abe78cb20eb0e742c2ebc6008bc4f885ca8605796c258c7a0607f7cedc1f5492b1", null ], + [ "IMGUI_GFXCMD_TEXT", "imgui_8h.html#abe78cb20eb0e742c2ebc6008bc4f885ca92881daa45ec0ae49b9f48802f22c5c6", null ], + [ "IMGUI_GFXCMD_SCISSOR", "imgui_8h.html#abe78cb20eb0e742c2ebc6008bc4f885ca9e92c9da0e7ff64db67b78b213e444ee", null ] + ] ], + [ "imguiMouseButton", "imgui_8h.html#a10190d2044a9d17a87554f32126b6b75", [ + [ "IMGUI_MBUT_LEFT", "imgui_8h.html#a10190d2044a9d17a87554f32126b6b75adf72e4161c47f203b5849e21f38d2217", null ], + [ "IMGUI_MBUT_RIGHT", "imgui_8h.html#a10190d2044a9d17a87554f32126b6b75ab8eb180e6a19ec10ec09f1f6584945f8", null ] + ] ], + [ "imguiTextAlign", "imgui_8h.html#a81f4e8d4b43d08839e074dd84da74d75", [ + [ "IMGUI_ALIGN_LEFT", "imgui_8h.html#a81f4e8d4b43d08839e074dd84da74d75aea56e4d2752754d8d377c79dc9bd8720", null ], + [ "IMGUI_ALIGN_CENTER", "imgui_8h.html#a81f4e8d4b43d08839e074dd84da74d75ac5715ea606af0cc4a0f07f9a8aee41dd", null ], + [ "IMGUI_ALIGN_RIGHT", "imgui_8h.html#a81f4e8d4b43d08839e074dd84da74d75a4ffe66465428f5149caf83926a4b85d5", null ] + ] ], + [ "imguiBeginFrame", "imgui_8h.html#a9460df9e45ac62863d44e7bbdbc6ef8e", null ], + [ "imguiBeginScrollArea", "imgui_8h.html#ac46e2e3ac3f6a80586b929729d4e5f25", null ], + [ "imguiButton", "imgui_8h.html#ab10551ffe075e95d5cb0881fb7345f58", null ], + [ "imguiCheck", "imgui_8h.html#a97ae70b1967fbbf4d6dea1d345750f38", null ], + [ "imguiCollapse", "imgui_8h.html#a877133157a9abfed999e0bc6a9e738a0", null ], + [ "imguiDrawLine", "imgui_8h.html#ab0f80a70d63e95f64a1cdfc5ed07923e", null ], + [ "imguiDrawRect", "imgui_8h.html#aaa13f28c04e5a32a07c0589a2026eefe", null ], + [ "imguiDrawRoundedRect", "imgui_8h.html#a64be6cac61a161fa9d0c16b5034b6c5e", null ], + [ "imguiDrawText", "imgui_8h.html#abdd0d158d1fcab4dbfcf9ea50f202136", null ], + [ "imguiEndFrame", "imgui_8h.html#afd1f5eaee9f7475255c6fba75ff5123c", null ], + [ "imguiEndScrollArea", "imgui_8h.html#ac2bccc89a7e0b94592623961cb21b257", null ], + [ "imguiGetRenderQueue", "imgui_8h.html#ad73e6a0f683a0a8e8f303ad61580c32d", null ], + [ "imguiGetRenderQueueSize", "imgui_8h.html#ab99959262f3e219c6a0f18aeafd432b0", null ], + [ "imguiIndent", "imgui_8h.html#ae3d00934ccb219ffa9316b252d8afba0", null ], + [ "imguiItem", "imgui_8h.html#a7175c05bac766e0145e4cf30c295bfbd", null ], + [ "imguiLabel", "imgui_8h.html#a802803d550d65e826d6addbf0a3d333b", null ], + [ "imguiRGBA", "imgui_8h.html#a2f4ea8a34347c398796cee6d7808e8c3", null ], + [ "imguiSeparator", "imgui_8h.html#ad77cd8c7e79231bf99358e8766845ac1", null ], + [ "imguiSeparatorLine", "imgui_8h.html#ad1692a47ae3a3393f459c5dcf8b78651", null ], + [ "imguiSlider", "imgui_8h.html#ac98bd34b3bc36a13373045083c90d4f1", null ], + [ "imguiUnindent", "imgui_8h.html#a509b76e72688bbb9b319c778b753c11d", null ], + [ "imguiValue", "imgui_8h.html#ad123f3fb8a3840a3f6ce8caa41a3f80b", null ] +]; \ No newline at end of file diff --git a/imgui_8h_source.html b/imgui_8h_source.html new file mode 100644 index 00000000..43daa824 --- /dev/null +++ b/imgui_8h_source.html @@ -0,0 +1,272 @@ + + + + + + + +Recast Navigation: imgui.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
imgui.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 IMGUI_H
+
20 #define IMGUI_H
+
21 
+ +
23 {
+
24  IMGUI_MBUT_LEFT = 0x01,
+
25  IMGUI_MBUT_RIGHT = 0x02
+
26 };
+
27 
+ +
29 {
+ + + +
33 };
+
34 
+
35 inline unsigned int imguiRGBA(unsigned char r, unsigned char g, unsigned char b, unsigned char a=255)
+
36 {
+
37  return (r) | (g << 8) | (b << 16) | (a << 24);
+
38 }
+
39 
+
40 void imguiBeginFrame(int mx, int my, unsigned char mbut, int scroll);
+
41 void imguiEndFrame();
+
42 
+
43 bool imguiBeginScrollArea(const char* name, int x, int y, int w, int h, int* scroll);
+
44 void imguiEndScrollArea();
+
45 
+
46 void imguiIndent();
+
47 void imguiUnindent();
+
48 void imguiSeparator();
+
49 void imguiSeparatorLine();
+
50 
+
51 bool imguiButton(const char* text, bool enabled = true);
+
52 bool imguiItem(const char* text, bool enabled = true);
+
53 bool imguiCheck(const char* text, bool checked, bool enabled = true);
+
54 bool imguiCollapse(const char* text, const char* subtext, bool checked, bool enabled = true);
+
55 void imguiLabel(const char* text);
+
56 void imguiValue(const char* text);
+
57 bool imguiSlider(const char* text, float* val, float vmin, float vmax, float vinc, bool enabled = true);
+
58 
+
59 void imguiDrawText(int x, int y, int align, const char* text, unsigned int color);
+
60 void imguiDrawLine(float x0, float y0, float x1, float y1, float r, unsigned int color);
+
61 void imguiDrawRoundedRect(float x, float y, float w, float h, float r, unsigned int color);
+
62 void imguiDrawRect(float x, float y, float w, float h, unsigned int color);
+
63 
+
64 // Pull render interface.
+ +
66 {
+ + + + + +
72 };
+
73 
+ +
75 {
+
76  short x,y,w,h,r;
+
77 };
+
78 
+ +
80 {
+
81  short x,y,align;
+
82  const char* text;
+
83 };
+
84 
+ +
86 {
+
87  short x0,y0,x1,y1,r;
+
88 };
+
89 
+ +
91 {
+
92  char type;
+
93  char flags;
+
94  char pad[2];
+
95  unsigned int col;
+
96  union
+
97  {
+ + + +
101  };
+
102 };
+
103 
+ + +
106 
+
107 
+
108 #endif // IMGUI_H
+
imguiMouseButton
Definition: imgui.h:23
+
@ IMGUI_MBUT_RIGHT
Definition: imgui.h:25
+
@ IMGUI_MBUT_LEFT
Definition: imgui.h:24
+
unsigned int imguiRGBA(unsigned char r, unsigned char g, unsigned char b, unsigned char a=255)
Definition: imgui.h:35
+
void imguiUnindent()
Definition: imgui.cpp:634
+
void imguiDrawRoundedRect(float x, float y, float w, float h, float r, unsigned int color)
Definition: imgui.cpp:671
+
bool imguiItem(const char *text, bool enabled=true)
Definition: imgui.cpp:449
+
void imguiLabel(const char *text)
Definition: imgui.cpp:540
+
imguiTextAlign
Definition: imgui.h:29
+
@ IMGUI_ALIGN_RIGHT
Definition: imgui.h:32
+
@ IMGUI_ALIGN_CENTER
Definition: imgui.h:31
+
@ IMGUI_ALIGN_LEFT
Definition: imgui.h:30
+
bool imguiCollapse(const char *text, const char *subtext, bool checked, bool enabled=true)
Definition: imgui.cpp:507
+
void imguiBeginFrame(int mx, int my, unsigned char mbut, int scroll)
Definition: imgui.cpp:265
+
bool imguiCheck(const char *text, bool checked, bool enabled=true)
Definition: imgui.cpp:474
+
void imguiDrawRect(float x, float y, float w, float h, unsigned int color)
Definition: imgui.cpp:666
+
void imguiDrawLine(float x0, float y0, float x1, float y1, float r, unsigned int color)
Definition: imgui.cpp:661
+
bool imguiButton(const char *text, bool enabled=true)
Definition: imgui.cpp:426
+
int imguiGetRenderQueueSize()
Definition: imgui.cpp:296
+
void imguiDrawText(int x, int y, int align, const char *text, unsigned int color)
Definition: imgui.cpp:656
+
imguiGfxCmdType
Definition: imgui.h:66
+
@ IMGUI_GFXCMD_TRIANGLE
Definition: imgui.h:68
+
@ IMGUI_GFXCMD_LINE
Definition: imgui.h:69
+
@ IMGUI_GFXCMD_RECT
Definition: imgui.h:67
+
@ IMGUI_GFXCMD_TEXT
Definition: imgui.h:70
+
@ IMGUI_GFXCMD_SCISSOR
Definition: imgui.h:71
+
void imguiEndScrollArea()
Definition: imgui.cpp:354
+
bool imguiBeginScrollArea(const char *name, int x, int y, int w, int h, int *scroll)
Definition: imgui.cpp:323
+
bool imguiSlider(const char *text, float *val, float vmin, float vmax, float vinc, bool enabled=true)
Definition: imgui.cpp:558
+
void imguiValue(const char *text)
Definition: imgui.cpp:548
+
void imguiSeparatorLine()
Definition: imgui.cpp:645
+
const imguiGfxCmd * imguiGetRenderQueue()
Definition: imgui.cpp:291
+
void imguiSeparator()
Definition: imgui.cpp:640
+
void imguiIndent()
Definition: imgui.cpp:628
+
void imguiEndFrame()
Definition: imgui.cpp:286
+
Definition: imgui.h:91
+
char type
Definition: imgui.h:92
+
unsigned int col
Definition: imgui.h:95
+
imguiGfxLine line
Definition: imgui.h:98
+
imguiGfxRect rect
Definition: imgui.h:99
+
char flags
Definition: imgui.h:93
+
imguiGfxText text
Definition: imgui.h:100
+
char pad[2]
Definition: imgui.h:94
+
Definition: imgui.h:86
+
short y0
Definition: imgui.h:87
+
short r
Definition: imgui.h:87
+
short x0
Definition: imgui.h:87
+
short y1
Definition: imgui.h:87
+
short x1
Definition: imgui.h:87
+
Definition: imgui.h:75
+
short h
Definition: imgui.h:76
+
short y
Definition: imgui.h:76
+
short x
Definition: imgui.h:76
+
short r
Definition: imgui.h:76
+
short w
Definition: imgui.h:76
+
Definition: imgui.h:80
+
const char * text
Definition: imgui.h:82
+
short y
Definition: imgui.h:81
+
short x
Definition: imgui.h:81
+
short align
Definition: imgui.h:81
+
+
+ + + + + diff --git a/index.html b/index.html new file mode 100644 index 00000000..2ff4f50a --- /dev/null +++ b/index.html @@ -0,0 +1,182 @@ + + + + + + + +Recast Navigation: Recast & Detour + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Recast & Detour
+
+
+

+

Build Tests

+

+

+Recast

+

Recast is state of the art navigation mesh construction toolset for games.

+

Recast is...

    +
  • 🤖 Automatic - throw any level geometry at it and you will get a robust navmesh out
  • +
  • 🏎️ Fast - swift turnaround times for level designers
  • +
  • 🧘 Flexible - easily customize the navmesh generation and runtime navigation systems to suit your specific game's needs.
  • +
+

Recast constructs a navmesh through a multi-step rasterization process:

+
    +
  1. First Recast voxelizes the input triangle mesh by rasterizing the triangles into a multi-layer heightfield.
  2. +
  3. Voxels in areas where the character would not be able to move are removed by applying simple voxel data filters.
  4. +
  5. The walkable areas described by the voxel grid are then divided into sets of 2D polygonal regions.
  6. +
  7. The navigation polygons are generated by triangulating and stiching together the generated 2d plygonal regions.
  8. +
+

+Detour

+

Recast is accompanied by Detour, a path-finding and spatial reasoning toolkit. You can use any navigation mesh with Detour, but of course the data generated with Recast fits perfectly.

+

Detour offers a simple static navmesh data representation which is suitable for many simple cases. It also provides a tiled navigation mesh representation, which allows you to stream of navigation data in and out as the player progresses through the world and regenerate sections of the navmesh data as the world changes.

+

+RecastDemo

+

You can find a comprehensive demo project in the RecastDemo folder. It's a kitchen sink demo showcasing all the functionality of the library. If you are new to Recast & Detour, check out Sample_SoloMesh.cpp to get started with building navmeshes and NavMeshTesterTool.cpp to see how Detour can be used to find paths.

+

+Building RecastDemo

+

RecastDemo uses premake5 to build platform specific projects. Download it and make sure it's available on your path, or specify the path to it.

+

+Linux

+
    +
  • Install SDL2 and its dependencies according to your distro's guidelines.
  • +
  • Navigate to the RecastDemo folder and run premake5 gmake2
  • +
  • Navigate to RecastDemo/Build/gmake2 and run make
  • +
  • Navigate to RecastDemo/Bin and run ./RecastDemo
  • +
+

+macOS

+
    +
  • Grab the latest SDL2 development library dmg from here and place SDL2.framework in RecastDemo/Bin
  • +
  • Navigate to the RecastDemo folder and run premake5 xcode4
  • +
  • Open Build/xcode4/recastnavigation.xcworkspace
  • +
  • Set the RecastDemo project as the target and build.
  • +
+

+Windows

+
    +
  • Grab the latest SDL2 development library release from here and unzip it RecastDemo\Contrib. Rename the SDL folder such that the path RecastDemo\Contrib\SDL\lib\x86 is valid.
  • +
  • Navigate to the RecastDemo folder and run premake5 vs2022
  • +
  • Open Build/vs2022/recastnavigation.sln.
  • +
  • Set RecastDemo as the startup project, build, and run.
  • +
+

+Running Unit tests

+
    +
  • Follow the instructions to build RecastDemo above. Premake should generate another build target called "Tests".
  • +
  • Build the "Tests" project. This will generate an executable named "Tests" in RecastDemo/Bin/
  • +
  • Run the "Tests" executable. It will execute all the unit tests, indicate those that failed, and display a count of those that succeeded.
  • +
+

+Integrating with your game or engine

+

It is recommended to add the source directories DebugUtils, Detour, DetourCrowd, DetourTileCache, and Recast into your own project depending on which parts of the project you need. For example your level building tool could include DebugUtils, Recast, and Detour, and your game runtime could just include Detour.

+

+Install through vcpkg

+

If you are using the vcpkg dependency manager you can download and install Recast with:

+
vcpkg install recast
+

+Contribute

+

Check out the Project Roadmap to see what features and functionality you might be able to help with, and the Contributing doc for guidance on making contributions.

+

+Discuss

+ +

+License

+

Recast & Detour is licensed under ZLib license, see License.txt for more information.

+
+
+
+ + + + + diff --git a/jquery.js b/jquery.js new file mode 100644 index 00000000..103c32d7 --- /dev/null +++ b/jquery.js @@ -0,0 +1,35 @@ +/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("
"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidtht.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element +},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/** + * Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler + * Licensed under MIT + * @author Ariel Flesler + * @version 2.1.2 + */ +;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 + * http://www.smartmenus.org/ + * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file diff --git a/main_8cpp.html b/main_8cpp.html new file mode 100644 index 00000000..484d80d1 --- /dev/null +++ b/main_8cpp.html @@ -0,0 +1,303 @@ + + + + + + + +Recast Navigation: main.cpp File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
main.cpp File Reference
+
+
+
#include <cstdio>
+#include <cmath>
+#include "SDL.h"
+#include "SDL_opengl.h"
+#include <GL/glu.h>
+#include <vector>
+#include <string>
+#include "imgui.h"
+#include "imguiRenderGL.h"
+#include "Recast.h"
+#include "RecastDebugDraw.h"
+#include "InputGeom.h"
+#include "TestCase.h"
+#include "Filelist.h"
+#include "Sample_SoloMesh.h"
+#include "Sample_TileMesh.h"
+#include "Sample_TempObstacles.h"
+#include "Sample_Debug.h"
+
+ + + +

+Classes

struct  SampleItem
 
+ + + + + + + + + + + +

+Functions

SamplecreateSolo ()
 
SamplecreateTile ()
 
SamplecreateTempObstacle ()
 
SamplecreateDebug ()
 
int main (int, char **)
 
+ + + + + +

+Variables

static SampleItem g_samples []
 
static const int g_nsamples = sizeof(g_samples) / sizeof(SampleItem)
 
+

Function Documentation

+ +

◆ createDebug()

+ +
+
+ + + + + + + +
Sample* createDebug ()
+
+ +
+
+ +

◆ createSolo()

+ +
+
+ + + + + + + +
Sample* createSolo ()
+
+ +
+
+ +

◆ createTempObstacle()

+ +
+
+ + + + + + + +
Sample* createTempObstacle ()
+
+ +
+
+ +

◆ createTile()

+ +
+
+ + + + + + + +
Sample* createTile ()
+
+ +
+
+ +

◆ main()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int main (int ,
char **  
)
+
+ +
+
+

Variable Documentation

+ +

◆ g_nsamples

+ +
+
+ + + + + +
+ + + + +
const int g_nsamples = sizeof(g_samples) / sizeof(SampleItem)
+
+static
+
+ +
+
+ +

◆ g_samples

+ +
+
+ + + + + +
+ + + + +
SampleItem g_samples[]
+
+static
+
+Initial value:
=
+
{
+
{ createSolo, "Solo Mesh" },
+
{ createTile, "Tile Mesh" },
+
{ createTempObstacle, "Temp Obstacles" },
+
}
+
Sample * createTempObstacle()
Definition: main.cpp:61
+
Sample * createSolo()
Definition: main.cpp:59
+
Sample * createTile()
Definition: main.cpp:60
+
+
+
+
+
+ + + + + diff --git a/main_8cpp.js b/main_8cpp.js new file mode 100644 index 00000000..d6814689 --- /dev/null +++ b/main_8cpp.js @@ -0,0 +1,11 @@ +var main_8cpp = +[ + [ "SampleItem", "structSampleItem.html", "structSampleItem" ], + [ "createDebug", "main_8cpp.html#af4336c7a2c0e2345c02f74c70092c4ff", null ], + [ "createSolo", "main_8cpp.html#a241d5048537d6cfe972e82c3a6011828", null ], + [ "createTempObstacle", "main_8cpp.html#a03a5b1a1ab5c4274dd911f3ff3844bea", null ], + [ "createTile", "main_8cpp.html#a8ea952f8e0c040f95a23f5f8ce3e684f", null ], + [ "main", "main_8cpp.html#a2c3f6775325c30275d11c6abee2db6a0", null ], + [ "g_nsamples", "main_8cpp.html#a60e01056b56609c9984c7f9dee5084cd", null ], + [ "g_samples", "main_8cpp.html#adf355327e327a55707483da0fb936165", null ] +]; \ No newline at end of file diff --git a/md_CONTRIBUTING.html b/md_CONTRIBUTING.html new file mode 100644 index 00000000..2f180430 --- /dev/null +++ b/md_CONTRIBUTING.html @@ -0,0 +1,212 @@ + + + + + + + +Recast Navigation: Contributing to Recast and Detour + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Contributing to Recast and Detour
+
+
+

We'd love for you to contribute to our source code and to make Recast and Detour even better than they are today! Here are the guidelines we'd like you to follow:

+

+Code of Conduct

+

This project adheres to the Open Code of Conduct. By participating, you are expected to honor this code.

+

+Got a Question or Problem?

+

If you have questions about how to use Recast or Detour, please direct these to the Google Group discussion list. We are also available on Gitter.

+

+Found an Issue?

+

If you find a bug in the source code or a mistake in the documentation, you can help us by submitting an issue to our GitHub Repository. Even better you can submit a Pull Request with a fix.

+

Please see the Submission Guidelines below.

+

+Want a Feature?

+

You can request a new feature by submitting an issue to our GitHub Repository. If you would like to implement a new feature then consider what kind of change it is:

+
    +
  • Major Changes that you wish to contribute to the project should be discussed first on our Google Group or in GitHub Issues so that we can better coordinate our efforts, prevent duplication of work, and help you to craft the change so that it is successfully accepted into the project.
  • +
  • Small Changes can be crafted and submitted to the GitHub Repository as a Pull Request.
  • +
+

+Submission Guidelines

+

+Submitting an Issue

+

Before you submit your issue search the GitHub Issues archive, maybe your question was already answered.

+

If your issue appears to be a bug, and hasn't been reported, open a new issue. Help us to maximize the effort we can spend fixing issues and adding new features, by not reporting duplicate issues. Providing the following information will increase the chances of your issue being dealt with quickly:

+
    +
  • Overview of the Issue - what type of issue is it, and why is it an issue for you?
  • +
  • Callstack - if it's a crash or other runtime error, a callstack will help diagnosis
  • +
  • Screenshots - for navmesh generation problems, a picture really is worth a thousand words. Implement duDebugDraw and call some methods from DetourDebugDraw.h. Seriously, just do it, we'll definitely ask you to if you haven't!
  • +
  • Logs - stdout and stderr from the console, or log files if there are any. If integrating into your own codebase, be sure to implement the log callbacks in rcContext.
  • +
  • Reproduction steps - a minimal, unambigious set of steps including input, that causes the error for you. e.g. input geometry and settings you can use to input into RecastDemo to get it to fail. Note: These can be saved by pressing the 9 key in RecastDemo, and the resulting .gset file can be shared (with the .obj if it is not one of the default ones).
  • +
  • Recast version(s) and/or git commit hash - particularly if you can find the point at which the error first started happening
  • +
  • Environment - operating system, compiler etc.
  • +
  • Related issues - has a similar issue been reported before?
  • +
  • Suggest a Fix - if you can't fix the bug yourself, perhaps you can point to what might be causing the problem (line of code or commit)
  • +
+

Here is a great example of a well defined issue: https://github.com/recastnavigation/recastnavigation/issues/12

+

If you get help, help others. Good karma rulez!

+

+Submitting a Pull Request

+

Before you submit your pull request consider the following guidelines:

+
    +
  • Search GitHub Pull Requests for an open or closed Pull Request that relates to your submission. You don't want to duplicate effort.
  • +
  • Make your changes in a new git branch:

    +

    ```shell git checkout -b my-fix-branch master ```

    +
  • +
  • Implement your changes, including appropriate tests if appropriate/possible.
  • +
  • Commit your changes using a descriptive commit message that follows our commit message conventions (see below).

    +

    ```shell git commit -a `` Note: the optional commit-a` command line option will automatically "add" and "rm" edited files.

    +
  • +
  • Squash any work-in-progress commits (by rebasing) to form a series of commits that make sense individually. Ideally the pull request will be small and focused enough that it fits sensibly in one commit.

    +

    ```shell git rebase -i origin/master ```

    +
  • +
  • Push your branch to GitHub:

    +

    ```shell git push origin my-fix-branch ```

    +
  • +
  • In GitHub, send a pull request to recastnavigation:master.
  • +
  • If we suggest changes then:
      +
    • Make the required updates.
    • +
    • Commit your changes to your branch (e.g. my-fix-branch).
    • +
    • Squash the changes, overwriting history in your fix branch - we don't want history to include incomplete work.
    • +
    • Push the changes to your GitHub repository (this will update your Pull Request).
    • +
    +
  • +
+

If you have rebased to squash commits together, you will need to force push to update the PR:

+
git rebase master -i
+
git push origin my-fix-branch -f
+

That's it! Thank you for your contribution!

+

+After your pull request is merged

+

After your pull request is merged, you can safely delete your branch and pull the changes from the main (upstream) repository:

+
    +
  • Delete the remote branch on GitHub either through the GitHub web UI or your local shell as follows:

    +

    ```shell git push origin –delete my-fix-branch ```

    +
  • +
  • Check out the master branch:

    +

    ```shell git checkout master -f ```

    +
  • +
  • Delete the local branch:

    +

    ```shell git branch -D my-fix-branch ```

    +
  • +
  • Update your master with the latest upstream version:

    +

    ```shell git pull –ff upstream master ```

    +
  • +
+

+Git Commit Guidelines

+

+Commit content

+

Do your best to factor commits appropriately, i.e not too large with unrelated things in the same commit, and not too small with the same small change applied N times in N different commits. If there was some accidental reformatting or whitespace changes during the course of your commits, please rebase them away before submitting the PR.

+

+Commit Message Format

+

Please format commit messages as follows (based on this excellent post):

+
Summarize change in 50 characters or less
+
+
Provide more detail after the first line. Leave one blank line below the
+
summary and wrap all lines at 72 characters or less.
+
+
If the change fixes an issue, leave another blank line after the final
+
paragraph and indicate which issue is fixed in the specific format
+
below.
+
+
Fix #42
+

Important things you should try to include in commit messages include:

    +
  • Motivation for the change
  • +
  • Difference from previous behaviour
  • +
  • Whether the change alters the public API, or affects existing behaviour significantly
  • +
+
+
+
+ + + + + diff --git a/md_Roadmap.html b/md_Roadmap.html new file mode 100644 index 00000000..702ebcaa --- /dev/null +++ b/md_Roadmap.html @@ -0,0 +1,177 @@ + + + + + + + +Recast Navigation: Recast Development Roadmap + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Recast Navigation +
+
Navigation-mesh Toolset for Games
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Recast Development Roadmap
+
+
+

This document describes the current development roadmap for Recast and Detour. It is initially focused on maintaining and polishing the current functionality in a way that makes it more appealing and easier to use. There are a number of large areas of new functionality that are appealing as well.
+

+

If you're excited about contributing to Recast or want to understand what its future looks like, this roadmap is a great place to start.

+

+Short Term

+

+Documentation & Web Presence

+
    +
  • Project website (GitHub pages). A home for docs, info, tutorials, etc. that's easy to find and navigate. There's stuff like the wiki system in GitHub that can serve this purpose, but it's not the greatest.
  • +
  • Hosted API Reference: We have extensive doxygen docs that we should also host on github pages. Ideally this would be implemented as a job for the CI process.
  • +
  • High-level design/overview. Basically taking a lot of the "how does Recast work?" docs we have (and stuff on Mikko's blog) and surfacing them in a place that's easier to find. e.g. this information should be integrated to the documentation.
  • +
  • FAQ to include answers to common questions like "can I use Recast on a spherical world?" etc. The small group of questions that come up often.
  • +
  • Expand on configuration parameter docstrings. Expand on the docstrings for the fields in rcConfig.
  • +
  • Projects using recast page. A place to show off integrations of Recast into different games and engines. Having this visible will help give people confidence in the quality of Recast.
  • +
+

+More explicit variable names

+

There's quite a few variables that are single-letter or very condensed acronyms. Stuff like uvcsnnei etc. These are certainly easier to type than more descriptive names, and can allow for some nice code formatting, but the readability gains of less condensed names outweigh that. These should be updated to be more easily maintainable and less of a hurdle for newcomers.

+

+Opt-in config value validation system

+

There's a number of documentation-defined valid value ranges, as well as some suggested value ranges for config values like those in rcConfig. Recast should have an opt-in system for validating value ranges and value relationships. Some implementations like Godot's include similar configuration value checks already. This would help alert users to potential problems arising from misconfiguration. Recast shouldn't restrict people from going outside the recommended bounds, but for the majority of users values that are out of bounds are likely a mistake and Recast should at least raise the concern when prompted.

+

+Medium Term

+

+STB-Style Single-Header Release Packaging

+

For ease of integration. This should probably be implemented as a build packaging script, similar to the release packaging process for the Catch unit testing library.

+

+Ensure there's a good threading story

+

Currently Recast provides no specific threading support. Many aspects of navmesh generation (especialy with tile generation) can be easily multithreaded, as can parts of detour (threaded pathfinding, etc). This likely requires a good example integration to work with - it probably shouldn't be designed in isolation.

+

+More Tests

+

This is a good place to start when making any changes to the internals or fixing bugs. It's important to have a way to validate that bugfixes or enhancements are not adversely affecting the base Recast functionality. Lots of parts of the code are fairly simple to test, but some would require some extra effort with mocking data or similar.

+

+More POD structs for clarity in internals

+

Small structs like a simple 3-float POD vector would go a long way to help clarify a lot of the internals. Any changes here shouldn't impact performance or functionality. They should just be simple POD structs that get optimized away but make the code a bit clearer to read and work with.

+

+Revisit structural organization

+

There some number of generally low-level geometry functions that are implemented both in Recast and in Detour. We should probably take stock of the general library layout and determine if there's enough of a benefit to slightly restructuring things to better share core functionality. There may not be enough code like this to be worth it, so it might not be a net win. Organization and re-use benefits should vastly outweighing the cost of defining a shared dependency to make this worthwhile. There's likely just minimal gains here since things are already laid out logically, but it's worth looking into.

+

+Longer-Term

+

+Higher-Level APIs

+

The current API level is excellent for providing maximum control over the entire navmesh building process. For many people, integrating Recast involves copying over all the code from the tiled mesh demo with minimal tweaks. Recast can better serve these people, and hopefully boost adoption by providing some higher-level API calls.

+

+C API

+

This would help tremendously with adoption. There are a number of integrations of Recast to other languages right now, and a number of them are using their own C API wrappers around the existing Recast API. Providing a first-party C API would help normalize the different integrations of Recast out there, as well as improve the integration process for people with engines written in C or other languages with C interop.

+

There's enough cases where we pass around object pointers in API calls that may cause this to be a bit more work than it seems.

+

+Roadmap for New Recast/Detour Functionality

+

+Nav Volumes & 3D Navigation

+

Obviously a big feature that would enable flying agents. Probably not terribly difficult to integrate due to the voxelization process, but it's probably a lot of detailed geometric processes and challenges. We'd at least need to retain unwalkable polygons longer in the process (they get thrown away pretty early) so we should ensure it doesn't have any adversarial affects to the perf or capabilities of the normal navmesh process. 3d navigation should be a separate set of APIs, as the considerations and use cases are quite different than normal navmesh navigation.

+

+Climbing Markup & Navigation

+

This is a common problem with many modern games. There's a number of ways to solve this, so we should make sure to consult with people who are actively using Recast and building games with climbing to understand their needs.

+

+Tooling

+

Recast Demo already has a number of sample tools to explore and test the generated navmesh data. There's a number of middleware providers that tout workflow features and tooling for generating and manipulating navmesh data. RecastDemo could be expanded (and maybe re-named) to be a more fully fleshed out standalone tool, rather than be mostly focused as an integration demo and feature showcase. There's almost certainly a ton of custom data and markup most people will want to add to the generated navmeshes, so there should be a reasonable way for people to integrate their customizations and markup with any tooling Recast provide.

+

+More spatial querying abilities

+

There's already a number of spatial query functions, and fleshing out that set some more is likely quite easy and useful.

+

+Auto-markup system

+

This is something recast already gives you access to add yourself, thanks to its low-level API and how each step in the process is explicit. It is worthwhile to consider what kind of help other middleware systems provide in this process. For example, are other navigation middleware solutions providing a structured way to define spatial queries that result in nav markup? Some easy examples of useful features here might be automatic jump point or cover annotations. It would be good to talk to people in the AAA FPS space to see what markup types are most useful to them.

+

+Formations, Group behaviors

+

Extending DetourCrowd to support formations, group navigation, group behaviors and similar beyond what's it's already capable of.

+

+Vehicle Navigation & Movement

+

A feature set centered on pathfinding and movement planning for characters with kinematic movement constraints.

+

+Crowd Simulation and Flowfield movement systems

+

Movement systems for large crowds that leverage flowfields or other highly-scalable navigation and movement approaches.

+
+
+
+ + + + + diff --git a/menu.js b/menu.js new file mode 100644 index 00000000..2fe2214f --- /dev/null +++ b/menu.js @@ -0,0 +1,51 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { + function makeTree(data,relPath) { + var result=''; + if ('children' in data) { + result+=''; + } + return result; + } + + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchEnabled) { + if (serverSide) { + $('#main-menu').append('
  • '); + } else { + $('#main-menu').append('
  • '); + } + } + $('#main-menu').smartmenus(); +} +/* @license-end */ diff --git a/menudata.js b/menudata.js new file mode 100644 index 00000000..903991a1 --- /dev/null +++ b/menudata.js @@ -0,0 +1,194 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file +*/ +var menudata={children:[ +{text:"Main Page",url:"index.html"}, +{text:"Related Pages",url:"pages.html"}, +{text:"Modules",url:"modules.html"}, +{text:"Classes",url:"annotated.html",children:[ +{text:"Class List",url:"annotated.html"}, +{text:"Class Index",url:"classes.html"}, +{text:"Class Hierarchy",url:"hierarchy.html"}, +{text:"Class Members",url:"functions.html",children:[ +{text:"All",url:"functions.html",children:[ +{text:"a",url:"functions.html#index_a"}, +{text:"b",url:"functions_b.html#index_b"}, +{text:"c",url:"functions_c.html#index_c"}, +{text:"d",url:"functions_d.html#index_d"}, +{text:"e",url:"functions_e.html#index_e"}, +{text:"f",url:"functions_f.html#index_f"}, +{text:"g",url:"functions_g.html#index_g"}, +{text:"h",url:"functions_h.html#index_h"}, +{text:"i",url:"functions_i.html#index_i"}, +{text:"l",url:"functions_l.html#index_l"}, +{text:"m",url:"functions_m.html#index_m"}, +{text:"n",url:"functions_n.html#index_n"}, +{text:"o",url:"functions_o.html#index_o"}, +{text:"p",url:"functions_p.html#index_p"}, +{text:"q",url:"functions_q.html#index_q"}, +{text:"r",url:"functions_r.html#index_r"}, +{text:"s",url:"functions_s.html#index_s"}, +{text:"t",url:"functions_t.html#index_t"}, +{text:"u",url:"functions_u.html#index_u"}, +{text:"v",url:"functions_v.html#index_v"}, +{text:"w",url:"functions_w.html#index_w"}, +{text:"x",url:"functions_x.html#index_x"}, +{text:"y",url:"functions_y.html#index_y"}, +{text:"~",url:"functions_~.html#index__7E"}]}, +{text:"Functions",url:"functions_func.html",children:[ +{text:"a",url:"functions_func.html#index_a"}, +{text:"b",url:"functions_func_b.html#index_b"}, +{text:"c",url:"functions_func_c.html#index_c"}, +{text:"d",url:"functions_func_d.html#index_d"}, +{text:"e",url:"functions_func_e.html#index_e"}, +{text:"f",url:"functions_func_f.html#index_f"}, +{text:"g",url:"functions_func_g.html#index_g"}, +{text:"h",url:"functions_func_h.html#index_h"}, +{text:"i",url:"functions_func_i.html#index_i"}, +{text:"l",url:"functions_func_l.html#index_l"}, +{text:"m",url:"functions_func_m.html#index_m"}, +{text:"n",url:"functions_func_n.html#index_n"}, +{text:"o",url:"functions_func_o.html#index_o"}, +{text:"p",url:"functions_func_p.html#index_p"}, +{text:"q",url:"functions_func_q.html#index_q"}, +{text:"r",url:"functions_func_r.html#index_r"}, +{text:"s",url:"functions_func_s.html#index_s"}, +{text:"t",url:"functions_func_t.html#index_t"}, +{text:"u",url:"functions_func_u.html#index_u"}, +{text:"v",url:"functions_func_v.html#index_v"}, +{text:"w",url:"functions_func_w.html#index_w"}, +{text:"~",url:"functions_func_~.html#index__7E"}]}, +{text:"Variables",url:"functions_vars.html",children:[ +{text:"a",url:"functions_vars.html#index_a"}, +{text:"b",url:"functions_vars_b.html#index_b"}, +{text:"c",url:"functions_vars_c.html#index_c"}, +{text:"d",url:"functions_vars_d.html#index_d"}, +{text:"e",url:"functions_vars_e.html#index_e"}, +{text:"f",url:"functions_vars_f.html#index_f"}, +{text:"g",url:"functions_vars_g.html#index_g"}, +{text:"h",url:"functions_vars_h.html#index_h"}, +{text:"i",url:"functions_vars_i.html#index_i"}, +{text:"l",url:"functions_vars_l.html#index_l"}, +{text:"m",url:"functions_vars_m.html#index_m"}, +{text:"n",url:"functions_vars_n.html#index_n"}, +{text:"o",url:"functions_vars_o.html#index_o"}, +{text:"p",url:"functions_vars_p.html#index_p"}, +{text:"q",url:"functions_vars_q.html#index_q"}, +{text:"r",url:"functions_vars_r.html#index_r"}, +{text:"s",url:"functions_vars_s.html#index_s"}, +{text:"t",url:"functions_vars_t.html#index_t"}, +{text:"u",url:"functions_vars_u.html#index_u"}, +{text:"v",url:"functions_vars_v.html#index_v"}, +{text:"w",url:"functions_vars_w.html#index_w"}, +{text:"x",url:"functions_vars_x.html#index_x"}, +{text:"y",url:"functions_vars_y.html#index_y"}]}, +{text:"Typedefs",url:"functions_type.html"}, +{text:"Enumerations",url:"functions_enum.html"}, +{text:"Enumerator",url:"functions_eval.html",children:[ +{text:"d",url:"functions_eval.html#index_d"}, +{text:"m",url:"functions_eval.html#index_m"}]}, +{text:"Related Functions",url:"functions_rela.html"}]}]}, +{text:"Files",url:"files.html",children:[ +{text:"File List",url:"files.html"}, +{text:"File Members",url:"globals.html",children:[ +{text:"All",url:"globals.html",children:[ +{text:"a",url:"globals.html#index_a"}, +{text:"b",url:"globals_b.html#index_b"}, +{text:"c",url:"globals_c.html#index_c"}, +{text:"d",url:"globals_d.html#index_d"}, +{text:"e",url:"globals_e.html#index_e"}, +{text:"f",url:"globals_f.html#index_f"}, +{text:"g",url:"globals_g.html#index_g"}, +{text:"h",url:"globals_h.html#index_h"}, +{text:"i",url:"globals_i.html#index_i"}, +{text:"l",url:"globals_l.html#index_l"}, +{text:"m",url:"globals_m.html#index_m"}, +{text:"n",url:"globals_n.html#index_n"}, +{text:"o",url:"globals_o.html#index_o"}, +{text:"p",url:"globals_p.html#index_p"}, +{text:"r",url:"globals_r.html#index_r"}, +{text:"s",url:"globals_s.html#index_s"}, +{text:"t",url:"globals_t.html#index_t"}, +{text:"u",url:"globals_u.html#index_u"}, +{text:"v",url:"globals_v.html#index_v"}, +{text:"w",url:"globals_w.html#index_w"}, +{text:"x",url:"globals_x.html#index_x"}]}, +{text:"Functions",url:"globals_func.html",children:[ +{text:"a",url:"globals_func.html#index_a"}, +{text:"b",url:"globals_func_b.html#index_b"}, +{text:"c",url:"globals_func_c.html#index_c"}, +{text:"d",url:"globals_func_d.html#index_d"}, +{text:"e",url:"globals_func_e.html#index_e"}, +{text:"f",url:"globals_func_f.html#index_f"}, +{text:"g",url:"globals_func_g.html#index_g"}, +{text:"h",url:"globals_func_h.html#index_h"}, +{text:"i",url:"globals_func_i.html#index_i"}, +{text:"l",url:"globals_func_l.html#index_l"}, +{text:"m",url:"globals_func_m.html#index_m"}, +{text:"n",url:"globals_func_n.html#index_n"}, +{text:"o",url:"globals_func_o.html#index_o"}, +{text:"p",url:"globals_func_p.html#index_p"}, +{text:"r",url:"globals_func_r.html#index_r"}, +{text:"s",url:"globals_func_s.html#index_s"}, +{text:"t",url:"globals_func_t.html#index_t"}, +{text:"u",url:"globals_func_u.html#index_u"}, +{text:"v",url:"globals_func_v.html#index_v"}, +{text:"w",url:"globals_func_w.html#index_w"}, +{text:"x",url:"globals_func_x.html#index_x"}]}, +{text:"Variables",url:"globals_vars.html",children:[ +{text:"a",url:"globals_vars.html#index_a"}, +{text:"b",url:"globals_vars.html#index_b"}, +{text:"c",url:"globals_vars.html#index_c"}, +{text:"d",url:"globals_vars.html#index_d"}, +{text:"e",url:"globals_vars.html#index_e"}, +{text:"g",url:"globals_vars.html#index_g"}, +{text:"h",url:"globals_vars.html#index_h"}, +{text:"i",url:"globals_vars.html#index_i"}, +{text:"m",url:"globals_vars.html#index_m"}, +{text:"n",url:"globals_vars.html#index_n"}, +{text:"p",url:"globals_vars.html#index_p"}, +{text:"r",url:"globals_vars.html#index_r"}, +{text:"s",url:"globals_vars.html#index_s"}, +{text:"t",url:"globals_vars.html#index_t"}, +{text:"v",url:"globals_vars.html#index_v"}]}, +{text:"Typedefs",url:"globals_type.html"}, +{text:"Enumerations",url:"globals_enum.html",children:[ +{text:"c",url:"globals_enum.html#index_c"}, +{text:"d",url:"globals_enum.html#index_d"}, +{text:"e",url:"globals_enum.html#index_e"}, +{text:"i",url:"globals_enum.html#index_i"}, +{text:"m",url:"globals_enum.html#index_m"}, +{text:"o",url:"globals_enum.html#index_o"}, +{text:"r",url:"globals_enum.html#index_r"}, +{text:"s",url:"globals_enum.html#index_s"}, +{text:"u",url:"globals_enum.html#index_u"}]}, +{text:"Enumerator",url:"globals_eval.html",children:[ +{text:"d",url:"globals_eval.html#index_d"}, +{text:"e",url:"globals_eval.html#index_e"}, +{text:"i",url:"globals_eval.html#index_i"}, +{text:"m",url:"globals_eval.html#index_m"}, +{text:"r",url:"globals_eval.html#index_r"}, +{text:"s",url:"globals_eval.html#index_s"}, +{text:"t",url:"globals_eval.html#index_t"}]}, +{text:"Macros",url:"globals_defs.html"}]}]}]} diff --git a/modules.html b/modules.html new file mode 100644 index 00000000..98c73dcd --- /dev/null +++ b/modules.html @@ -0,0 +1,110 @@ + + + + + + + +Recast Navigation: Modules + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Modules
    +
    +
    +
    Here is a list of all modules:
    + + + + +
     DetourMembers in this module are used to create, manipulate, and query navigation meshes
     CrowdMembers in this module implement local steering and dynamic avoidance features
     RecastMembers in this module are used to create mesh data that is then used to create Detour navigation meshes
    +
    +
    +
    + + + + + diff --git a/modules.js b/modules.js new file mode 100644 index 00000000..2faadb61 --- /dev/null +++ b/modules.js @@ -0,0 +1,6 @@ +var modules = +[ + [ "Detour", "group__detour.html", "group__detour" ], + [ "Crowd", "group__crowd.html", "group__crowd" ], + [ "Recast", "group__recast.html", "group__recast" ] +]; \ No newline at end of file diff --git a/nav_f.png b/nav_f.png new file mode 100644 index 00000000..72a58a52 Binary files /dev/null and b/nav_f.png differ diff --git a/nav_g.png b/nav_g.png new file mode 100644 index 00000000..2093a237 Binary files /dev/null and b/nav_g.png differ diff --git a/nav_h.png b/nav_h.png new file mode 100644 index 00000000..33389b10 Binary files /dev/null and b/nav_h.png differ diff --git a/navtree.css b/navtree.css new file mode 100644 index 00000000..33341a67 --- /dev/null +++ b/navtree.css @@ -0,0 +1,146 @@ +#nav-tree .children_ul { + margin:0; + padding:4px; +} + +#nav-tree ul { + list-style:none outside none; + margin:0px; + padding:0px; +} + +#nav-tree li { + white-space:nowrap; + margin:0px; + padding:0px; +} + +#nav-tree .plus { + margin:0px; +} + +#nav-tree .selected { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} + +#nav-tree img { + margin:0px; + padding:0px; + border:0px; + vertical-align: middle; +} + +#nav-tree a { + text-decoration:none; + padding:0px; + margin:0px; + outline:none; +} + +#nav-tree .label { + margin:0px; + padding:0px; + font: 12px 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +#nav-tree .label a { + padding:2px; +} + +#nav-tree .selected a { + text-decoration:none; + color:#fff; +} + +#nav-tree .children_ul { + margin:0px; + padding:0px; +} + +#nav-tree .item { + margin:0px; + padding:0px; +} + +#nav-tree { + padding: 0px 0px; + background-color: #FAFAFF; + font-size:14px; + overflow:auto; +} + +#doc-content { + overflow:auto; + display:block; + padding:0px; + margin:0px; + -webkit-overflow-scrolling : touch; /* iOS 5+ */ +} + +#side-nav { + padding:0 6px 0 0; + margin: 0px; + display:block; + position: absolute; + left: 0px; + width: 250px; +} + +.ui-resizable .ui-resizable-handle { + display:block; +} + +.ui-resizable-e { + background-image:url("splitbar.png"); + background-size:100%; + background-repeat:repeat-y; + background-attachment: scroll; + cursor:ew-resize; + height:100%; + right:0; + top:0; + width:6px; +} + +.ui-resizable-handle { + display:none; + font-size:0.1px; + position:absolute; + z-index:1; +} + +#nav-tree-contents { + margin: 6px 0px 0px 0px; +} + +#nav-tree { + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + -webkit-overflow-scrolling : touch; /* iOS 5+ */ +} + +#nav-sync { + position:absolute; + top:5px; + right:24px; + z-index:0; +} + +#nav-sync img { + opacity:0.3; +} + +#nav-sync img:hover { + opacity:0.9; +} + +@media print +{ + #nav-tree { display: none; } + div.ui-resizable-handle { display: none; position: relative; } +} + diff --git a/navtree.js b/navtree.js new file mode 100644 index 00000000..1e272d31 --- /dev/null +++ b/navtree.js @@ -0,0 +1,546 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +var navTreeSubIndices = new Array(); +var arrowDown = '▼'; +var arrowRight = '►'; + +function getData(varName) +{ + var i = varName.lastIndexOf('/'); + var n = i>=0 ? varName.substring(i+1) : varName; + return eval(n.replace(/\-/g,'_')); +} + +function stripPath(uri) +{ + return uri.substring(uri.lastIndexOf('/')+1); +} + +function stripPath2(uri) +{ + var i = uri.lastIndexOf('/'); + var s = uri.substring(i+1); + var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/); + return m ? uri.substring(i-6) : s; +} + +function hashValue() +{ + return $(location).attr('hash').substring(1).replace(/[^\w\-]/g,''); +} + +function hashUrl() +{ + return '#'+hashValue(); +} + +function pathName() +{ + return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;\(\)]/g, ''); +} + +function localStorageSupported() +{ + try { + return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem; + } + catch(e) { + return false; + } +} + +function storeLink(link) +{ + if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) { + window.localStorage.setItem('navpath',link); + } +} + +function deleteLink() +{ + if (localStorageSupported()) { + window.localStorage.setItem('navpath',''); + } +} + +function cachedLink() +{ + if (localStorageSupported()) { + return window.localStorage.getItem('navpath'); + } else { + return ''; + } +} + +function getScript(scriptName,func,show) +{ + var head = document.getElementsByTagName("head")[0]; + var script = document.createElement('script'); + script.id = scriptName; + script.type = 'text/javascript'; + script.onload = func; + script.src = scriptName+'.js'; + head.appendChild(script); +} + +function createIndent(o,domNode,node,level) +{ + var level=-1; + var n = node; + while (n.parentNode) { level++; n=n.parentNode; } + if (node.childrenData) { + var imgNode = document.createElement("span"); + imgNode.className = 'arrow'; + imgNode.style.paddingLeft=(16*level).toString()+'px'; + imgNode.innerHTML=arrowRight; + node.plus_img = imgNode; + node.expandToggle = document.createElement("a"); + node.expandToggle.href = "javascript:void(0)"; + node.expandToggle.onclick = function() { + if (node.expanded) { + $(node.getChildrenUL()).slideUp("fast"); + node.plus_img.innerHTML=arrowRight; + node.expanded = false; + } else { + expandNode(o, node, false, false); + } + } + node.expandToggle.appendChild(imgNode); + domNode.appendChild(node.expandToggle); + } else { + var span = document.createElement("span"); + span.className = 'arrow'; + span.style.width = 16*(level+1)+'px'; + span.innerHTML = ' '; + domNode.appendChild(span); + } +} + +var animationInProgress = false; + +function gotoAnchor(anchor,aname,updateLocation) +{ + var pos, docContent = $('#doc-content'); + var ancParent = $(anchor.parent()); + if (ancParent.hasClass('memItemLeft') || + ancParent.hasClass('memtitle') || + ancParent.hasClass('fieldname') || + ancParent.hasClass('fieldtype') || + ancParent.is(':header')) + { + pos = ancParent.position().top; + } else if (anchor.position()) { + pos = anchor.position().top; + } + if (pos) { + var dist = Math.abs(Math.min( + pos-docContent.offset().top, + docContent[0].scrollHeight- + docContent.height()-docContent.scrollTop())); + animationInProgress=true; + docContent.animate({ + scrollTop: pos + docContent.scrollTop() - docContent.offset().top + },Math.max(50,Math.min(500,dist)),function(){ + if (updateLocation) window.location.href=aname; + animationInProgress=false; + }); + } +} + +function newNode(o, po, text, link, childrenData, lastNode) +{ + var node = new Object(); + node.children = Array(); + node.childrenData = childrenData; + node.depth = po.depth + 1; + node.relpath = po.relpath; + node.isLast = lastNode; + + node.li = document.createElement("li"); + po.getChildrenUL().appendChild(node.li); + node.parentNode = po; + + node.itemDiv = document.createElement("div"); + node.itemDiv.className = "item"; + + node.labelSpan = document.createElement("span"); + node.labelSpan.className = "label"; + + createIndent(o,node.itemDiv,node,0); + node.itemDiv.appendChild(node.labelSpan); + node.li.appendChild(node.itemDiv); + + var a = document.createElement("a"); + node.labelSpan.appendChild(a); + node.label = document.createTextNode(text); + node.expanded = false; + a.appendChild(node.label); + if (link) { + var url; + if (link.substring(0,1)=='^') { + url = link.substring(1); + link = url; + } else { + url = node.relpath+link; + } + a.className = stripPath(link.replace('#',':')); + if (link.indexOf('#')!=-1) { + var aname = '#'+link.split('#')[1]; + var srcPage = stripPath(pathName()); + var targetPage = stripPath(link.split('#')[0]); + a.href = srcPage!=targetPage ? url : "javascript:void(0)"; + a.onclick = function(){ + storeLink(link); + if (!$(a).parent().parent().hasClass('selected')) + { + $('.item').removeClass('selected'); + $('.item').removeAttr('id'); + $(a).parent().parent().addClass('selected'); + $(a).parent().parent().attr('id','selected'); + } + var anchor = $(aname); + gotoAnchor(anchor,aname,true); + }; + } else { + a.href = url; + a.onclick = function() { storeLink(link); } + } + } else { + if (childrenData != null) + { + a.className = "nolink"; + a.href = "javascript:void(0)"; + a.onclick = node.expandToggle.onclick; + } + } + + node.childrenUL = null; + node.getChildrenUL = function() { + if (!node.childrenUL) { + node.childrenUL = document.createElement("ul"); + node.childrenUL.className = "children_ul"; + node.childrenUL.style.display = "none"; + node.li.appendChild(node.childrenUL); + } + return node.childrenUL; + }; + + return node; +} + +function showRoot() +{ + var headerHeight = $("#top").height(); + var footerHeight = $("#nav-path").height(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + (function (){ // retry until we can scroll to the selected item + try { + var navtree=$('#nav-tree'); + navtree.scrollTo('#selected',100,{offset:-windowHeight/2}); + } catch (err) { + setTimeout(arguments.callee, 0); + } + })(); +} + +function expandNode(o, node, imm, showRoot) +{ + if (node.childrenData && !node.expanded) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + expandNode(o, node, imm, showRoot); + }, showRoot); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).slideDown("fast"); + node.plus_img.innerHTML = arrowDown; + node.expanded = true; + } + } +} + +function glowEffect(n,duration) +{ + n.addClass('glow').delay(duration).queue(function(next){ + $(this).removeClass('glow');next(); + }); +} + +function highlightAnchor() +{ + var aname = hashUrl(); + var anchor = $(aname); + if (anchor.parent().attr('class')=='memItemLeft'){ + var rows = $('.memberdecls tr[class$="'+hashValue()+'"]'); + glowEffect(rows.children(),300); // member without details + } else if (anchor.parent().attr('class')=='fieldname'){ + glowEffect(anchor.parent().parent(),1000); // enum value + } else if (anchor.parent().attr('class')=='fieldtype'){ + glowEffect(anchor.parent().parent(),1000); // struct field + } else if (anchor.parent().is(":header")) { + glowEffect(anchor.parent(),1000); // section header + } else { + glowEffect(anchor.next(),1000); // normal member + } +} + +function selectAndHighlight(hash,n) +{ + var a; + if (hash) { + var link=stripPath(pathName())+':'+hash.substring(1); + a=$('.item a[class$="'+link+'"]'); + } + if (a && a.length) { + a.parent().parent().addClass('selected'); + a.parent().parent().attr('id','selected'); + highlightAnchor(); + } else if (n) { + $(n.itemDiv).addClass('selected'); + $(n.itemDiv).attr('id','selected'); + } + if ($('#nav-tree-contents .item:first').hasClass('selected')) { + $('#nav-sync').css('top','30px'); + } else { + $('#nav-sync').css('top','5px'); + } + showRoot(); +} + +function showNode(o, node, index, hash) +{ + if (node && node.childrenData) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + showNode(o,node,index,hash); + },true); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).css({'display':'block'}); + node.plus_img.innerHTML = arrowDown; + node.expanded = true; + var n = node.children[o.breadcrumbs[index]]; + if (index+11) hash = '#'+parts[1].replace(/[^\w\-]/g,''); + else hash=''; + } + if (hash.match(/^#l\d+$/)) { + var anchor=$('a[name='+hash.substring(1)+']'); + glowEffect(anchor.parent(),1000); // line number + hash=''; // strip line number anchors + } + var url=root+hash; + var i=-1; + while (NAVTREEINDEX[i+1]<=url) i++; + if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath) + } else { + getScript(relpath+'navtreeindex'+i,function(){ + navTreeSubIndices[i] = eval('NAVTREEINDEX'+i); + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath); + } + },true); + } +} + +function showSyncOff(n,relpath) +{ + n.html(''); +} + +function showSyncOn(n,relpath) +{ + n.html(''); +} + +function toggleSyncButton(relpath) +{ + var navSync = $('#nav-sync'); + if (navSync.hasClass('sync')) { + navSync.removeClass('sync'); + showSyncOff(navSync,relpath); + storeLink(stripPath2(pathName())+hashUrl()); + } else { + navSync.addClass('sync'); + showSyncOn(navSync,relpath); + deleteLink(); + } +} + +var loadTriggered = false; +var readyTriggered = false; +var loadObject,loadToRoot,loadUrl,loadRelPath; + +$(window).on('load',function(){ + if (readyTriggered) { // ready first + navTo(loadObject,loadToRoot,loadUrl,loadRelPath); + showRoot(); + } + loadTriggered=true; +}); + +function initNavTree(toroot,relpath) +{ + var o = new Object(); + o.toroot = toroot; + o.node = new Object(); + o.node.li = document.getElementById("nav-tree-contents"); + o.node.childrenData = NAVTREE; + o.node.children = new Array(); + o.node.childrenUL = document.createElement("ul"); + o.node.getChildrenUL = function() { return o.node.childrenUL; }; + o.node.li.appendChild(o.node.childrenUL); + o.node.depth = 0; + o.node.relpath = relpath; + o.node.expanded = false; + o.node.isLast = true; + o.node.plus_img = document.createElement("span"); + o.node.plus_img.className = 'arrow'; + o.node.plus_img.innerHTML = arrowRight; + + if (localStorageSupported()) { + var navSync = $('#nav-sync'); + if (cachedLink()) { + showSyncOff(navSync,relpath); + navSync.removeClass('sync'); + } else { + showSyncOn(navSync,relpath); + } + navSync.click(function(){ toggleSyncButton(relpath); }); + } + + if (loadTriggered) { // load before ready + navTo(o,toroot,hashUrl(),relpath); + showRoot(); + } else { // ready before load + loadObject = o; + loadToRoot = toroot; + loadUrl = hashUrl(); + loadRelPath = relpath; + readyTriggered=true; + } + + $(window).bind('hashchange', function(){ + if (window.location.hash && window.location.hash.length>1){ + var a; + if ($(location).attr('hash')){ + var clslink=stripPath(pathName())+':'+hashValue(); + a=$('.item a[class$="'+clslink.replace(/ + + + + + + +Recast Navigation: Related Pages + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Related Pages
    +
    +
    +
    Here is a list of all related documentation pages:
    +
    +
    + + + + + diff --git a/resize.js b/resize.js new file mode 100644 index 00000000..e1ad0fe3 --- /dev/null +++ b/resize.js @@ -0,0 +1,140 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function initResizable() +{ + var cookie_namespace = 'doxygen'; + var sidenav,navtree,content,header,collapsed,collapsedWidth=0,barWidth=6,desktop_vp=768,titleHeight; + + function readCookie(cookie) + { + var myCookie = cookie_namespace+"_"+cookie+"="; + if (document.cookie) { + var index = document.cookie.indexOf(myCookie); + if (index != -1) { + var valStart = index + myCookie.length; + var valEnd = document.cookie.indexOf(";", valStart); + if (valEnd == -1) { + valEnd = document.cookie.length; + } + var val = document.cookie.substring(valStart, valEnd); + return val; + } + } + return 0; + } + + function writeCookie(cookie, val, expiration) + { + if (val==undefined) return; + if (expiration == null) { + var date = new Date(); + date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week + expiration = date.toGMTString(); + } + document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; expires=" + expiration+"; path=/"; + } + + function resizeWidth() + { + var windowWidth = $(window).width() + "px"; + var sidenavWidth = $(sidenav).outerWidth(); + content.css({marginLeft:parseInt(sidenavWidth)+"px"}); + writeCookie('width',sidenavWidth-barWidth, null); + } + + function restoreWidth(navWidth) + { + var windowWidth = $(window).width() + "px"; + content.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); + sidenav.css({width:navWidth + "px"}); + } + + function resizeHeight() + { + var headerHeight = header.outerHeight(); + var footerHeight = footer.outerHeight(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + content.css({height:windowHeight + "px"}); + navtree.css({height:windowHeight + "px"}); + sidenav.css({height:windowHeight + "px"}); + var width=$(window).width(); + if (width!=collapsedWidth) { + if (width=desktop_vp) { + if (!collapsed) { + collapseExpand(); + } + } else if (width>desktop_vp && collapsedWidth0) { + restoreWidth(0); + collapsed=true; + } + else { + var width = readCookie('width'); + if (width>200 && width<$(window).width()) { restoreWidth(width); } else { restoreWidth(200); } + collapsed=false; + } + } + + header = $("#top"); + sidenav = $("#side-nav"); + content = $("#doc-content"); + navtree = $("#nav-tree"); + footer = $("#nav-path"); + $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); + $(sidenav).resizable({ minWidth: 0 }); + $(window).resize(function() { resizeHeight(); }); + var device = navigator.userAgent.toLowerCase(); + var touch_device = device.match(/(iphone|ipod|ipad|android)/); + if (touch_device) { /* wider split bar for touch only devices */ + $(sidenav).css({ paddingRight:'20px' }); + $('.ui-resizable-e').css({ width:'20px' }); + $('#nav-sync').css({ right:'34px' }); + barWidth=20; + } + var width = readCookie('width'); + if (width) { restoreWidth(width); } else { resizeWidth(); } + resizeHeight(); + var url = location.href; + var i=url.indexOf("#"); + if (i>=0) window.location.hash=url.substr(i); + var _preventDefault = function(evt) { evt.preventDefault(); }; + $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); + $(".ui-resizable-handle").dblclick(collapseExpand); + $(window).on('load',resizeHeight); +} +/* @license-end */ diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 00000000..54e532e7 Binary files /dev/null and b/screenshot.png differ diff --git a/search/all_0.html b/search/all_0.html new file mode 100644 index 00000000..1ec5b2d5 --- /dev/null +++ b/search/all_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_0.js b/search/all_0.js new file mode 100644 index 00000000..05d87ad3 --- /dev/null +++ b/search/all_0.js @@ -0,0 +1,56 @@ +var searchData= +[ + ['active_0',['active',['../structdtCrowdAgentAnimation.html#a063331d0a657ca1e138dde68ad6375f4',1,'dtCrowdAgentAnimation::active()'],['../structdtCrowdAgent.html#a6473f48354abf6f46f5b4d7ead9bca20',1,'dtCrowdAgent::active()'],['../structGuiState.html#a8182ed7ea717727bd7ae4b6bd906f89d',1,'GuiState::active()']]], + ['adaptivedepth_1',['adaptiveDepth',['../structdtObstacleAvoidanceParams.html#a673b877b64fb47f5bb30f44eae61e5b2',1,'dtObstacleAvoidanceParams']]], + ['adaptivedivs_2',['adaptiveDivs',['../structdtObstacleAvoidanceParams.html#a8725d0bb382f789d2dec1d9a0f28187f',1,'dtObstacleAvoidanceParams']]], + ['adaptiverings_3',['adaptiveRings',['../structdtObstacleAvoidanceParams.html#ae463a1999935511e7a0467ccedcaff6d',1,'dtObstacleAvoidanceParams']]], + ['addagent_4',['addAgent',['../classdtCrowd.html#ae8c89febfd979a6b963c62d8cdb60653',1,'dtCrowd::addAgent()'],['../classCrowdToolState.html#aa9104be644522ca092091108506ca29c',1,'CrowdToolState::addAgent()']]], + ['addboxobstacle_5',['addBoxObstacle',['../classdtTileCache.html#a7bc032ae2bfec09d3ede528841c80ac6',1,'dtTileCache::addBoxObstacle(const float *bmin, const float *bmax, dtObstacleRef *result)'],['../classdtTileCache.html#ac37b6e2373ec3994e87b19606b135522',1,'dtTileCache::addBoxObstacle(const float *center, const float *halfExtents, const float yRadians, dtObstacleRef *result)']]], + ['addcircle_6',['addCircle',['../classdtObstacleAvoidanceQuery.html#aca861fb3e13b8785124b655b8313de45',1,'dtObstacleAvoidanceQuery']]], + ['addconvexvolume_7',['addConvexVolume',['../classInputGeom.html#a4656c55e1db085cd7b5bbd90a3770dc7',1,'InputGeom']]], + ['addedge_8',['addEdge',['../RecastMeshDetail_8cpp.html#aff810577b2aaf1338c7051ad08435ce7',1,'RecastMeshDetail.cpp']]], + ['addgfxcmdline_9',['addGfxCmdLine',['../imgui_8cpp.html#a7b983f52f1ccf9ca4783c08d6c1a8493',1,'imgui.cpp']]], + ['addgfxcmdrect_10',['addGfxCmdRect',['../imgui_8cpp.html#a7ba380198ec6ab2a5e8eb7ca82b391e6',1,'imgui.cpp']]], + ['addgfxcmdroundedrect_11',['addGfxCmdRoundedRect',['../imgui_8cpp.html#a7e0d57d6085430adc31d7a573b3f323a',1,'imgui.cpp']]], + ['addgfxcmdscissor_12',['addGfxCmdScissor',['../imgui_8cpp.html#a879ceedaee511a3e6d030cf558c62bb8',1,'imgui.cpp']]], + ['addgfxcmdtext_13',['addGfxCmdText',['../imgui_8cpp.html#a7d2823f41544c3976bd2194bd9b3ae9a',1,'imgui.cpp']]], + ['addgfxcmdtriangle_14',['addGfxCmdTriangle',['../imgui_8cpp.html#af0a1cd491d202cd5a080758f36814b3b',1,'imgui.cpp']]], + ['additem_15',['addItem',['../classdtProximityGrid.html#ad19f5adb495c35e386c6e1ba314a2b59',1,'dtProximityGrid']]], + ['addneighbour_16',['addNeighbour',['../DetourCrowd_8cpp.html#a9e5491a91f795b81e724a48f8a4ee942',1,'DetourCrowd.cpp']]], + ['addobstacle_17',['addObstacle',['../classdtTileCache.html#a5744412c3e291c0d4dcab91329449466',1,'dtTileCache']]], + ['addoffmeshconnection_18',['addOffMeshConnection',['../classInputGeom.html#a80409ad925dbb6271d7a3ea67c1b5f6f',1,'InputGeom']]], + ['addsample_19',['addSample',['../classValueHistory.html#a825b88cef49901ec8da5eccbbcd3afaa',1,'ValueHistory::addSample()'],['../classdtObstacleAvoidanceDebugData.html#a54b01ec0a47c6efd95ebde459791b788',1,'dtObstacleAvoidanceDebugData::addSample()']]], + ['addsegment_20',['addSegment',['../classdtObstacleAvoidanceQuery.html#ab0abab88b2cba7747e6ed38470ca6eff',1,'dtObstacleAvoidanceQuery']]], + ['addspan_21',['addSpan',['../RecastRasterization_8cpp.html#a99ae97dd732c3528b730ba714afa9098',1,'RecastRasterization.cpp']]], + ['addtempobstacle_22',['addTempObstacle',['../classSample__TempObstacles.html#aaac948b9a430a591600c007e6b255aac',1,'Sample_TempObstacles']]], + ['addtile_23',['addTile',['../classdtNavMesh.html#a5b5a7c4fa72c08d9a6d4cc4d8cd3bb89',1,'dtNavMesh::addTile()'],['../classdtTileCache.html#ace9cbc6f688769c9314d453f5cac2432',1,'dtTileCache::addTile()']]], + ['addtooptqueue_24',['addToOptQueue',['../DetourCrowd_8cpp.html#a260333ea7db3d2f49d9fdfd9ed4d078c',1,'DetourCrowd.cpp']]], + ['addtopathqueue_25',['addToPathQueue',['../DetourCrowd_8cpp.html#ad6e17a3fb0a88bbdb9f36d4d1eb483e8',1,'DetourCrowd.cpp']]], + ['addunique_26',['addUnique',['../RecastLayers_8cpp.html#adc2593ebcf70cf17029ab4a28013c29b',1,'RecastLayers.cpp']]], + ['adduniqueconnection_27',['addUniqueConnection',['../RecastRegion_8cpp.html#abc58499e6aeb21a4cd58d048c06f2ec0',1,'RecastRegion.cpp']]], + ['adduniquefloorregion_28',['addUniqueFloorRegion',['../RecastRegion_8cpp.html#a2c802a2c5fc0d5e7e5d95a19539ff9a6',1,'RecastRegion.cpp']]], + ['adduniquelast_29',['addUniqueLast',['../DetourTileCacheBuilder_8cpp.html#ab94d170b47f0f1d0fa11002939e57bd5',1,'DetourTileCacheBuilder.cpp']]], + ['addvertex_30',['addVertex',['../DetourTileCacheBuilder_8cpp.html#a3a9cbf7fe498e49c6bf63e46c5d8ae8f',1,'addVertex(unsigned short x, unsigned short y, unsigned short z, unsigned short *verts, unsigned short *firstVert, unsigned short *nextVert, int &nv): DetourTileCacheBuilder.cpp'],['../RecastMesh_8cpp.html#a80775c4842d1c1c9f9acbe1c99e0ccd5',1,'addVertex(unsigned short x, unsigned short y, unsigned short z, unsigned short *verts, int *firstVert, int *nextVert, int &nv): RecastMesh.cpp']]], + ['agentheight_31',['agentHeight',['../structBuildSettings.html#a0c915a250455abe4d5bbfe8411533fe8',1,'BuildSettings']]], + ['agentmaxclimb_32',['agentMaxClimb',['../structBuildSettings.html#a83e53cfc86be5ed82d845ef9487f963e',1,'BuildSettings']]], + ['agentmaxslope_33',['agentMaxSlope',['../structBuildSettings.html#a5b8f1ba1531e71e839b1a5f340a674e4',1,'BuildSettings']]], + ['agentradius_34',['agentRadius',['../structBuildSettings.html#a931732fe8e5fd099eff774610f315a29',1,'BuildSettings']]], + ['align_35',['align',['../structimguiGfxText.html#aeed4f7559be7abbfa0b5a49adaedbd0f',1,'imguiGfxText']]], + ['alloc_36',['alloc',['../structNavMeshTileBuildContext.html#a85d141fbb7dc5198ff2fdd211e3bec69',1,'NavMeshTileBuildContext::alloc()'],['../structdtTileCacheAlloc.html#a39388622f5af120cf1d32d5794da940b',1,'dtTileCacheAlloc::alloc()'],['../structLinearAllocator.html#aeb98c5c6f9e8c97fd41759b6f0ebd1e2',1,'LinearAllocator::alloc()']]], + ['alloclink_37',['allocLink',['../DetourNavMesh_8cpp.html#aa74dd7666e6d665dd48779e18f5d4ed9',1,'DetourNavMesh.cpp']]], + ['allocspan_38',['allocSpan',['../RecastRasterization_8cpp.html#aa11b8335cd3e2dfd39972a4e9046467c',1,'RecastRasterization.cpp']]], + ['alloctext_39',['allocText',['../imgui_8cpp.html#a965984c12ad3f79efa5f337bda81f7dd',1,'imgui.cpp']]], + ['anyactive_40',['anyActive',['../imgui_8cpp.html#a6b421af801049347c033e93202b93cc7',1,'imgui.cpp']]], + ['appendarrowhead_41',['appendArrowHead',['../DebugDraw_8cpp.html#a92fe9ab381b78d4826302d41f9e3445a',1,'DebugDraw.cpp']]], + ['appendstacks_42',['appendStacks',['../RecastRegion_8cpp.html#acae78c0a97b367d4ace3294d6dcb8216',1,'RecastRegion.cpp']]], + ['appendvertex_43',['appendVertex',['../DetourTileCacheBuilder_8cpp.html#a7b70b108373f83e39073cd995c83342e',1,'DetourTileCacheBuilder.cpp']]], + ['area_44',['area',['../structrcSpan.html#a8bf133cf1e7ccf3d69f1ba365cb0c1ca',1,'rcSpan::area()'],['../structdtPolyState.html#afd684e7c95d1048ace6dc198457b7c69',1,'dtPolyState::area()'],['../structdtTileCacheContour.html#a3ab1d658278d4dcc482dcb7f17be6b3b',1,'dtTileCacheContour::area()'],['../structdtLayerMonotoneRegion.html#a1ac6f67259d70c25d55f1c0fc05077bf',1,'dtLayerMonotoneRegion::area()'],['../structrcContour.html#a1052e9ac2da6e515cbb12908a58fca78',1,'rcContour::area()'],['../structConvexVolume.html#ad09f975cd0398b4503c90c00f2d20371',1,'ConvexVolume::area()']]], + ['area2_45',['area2',['../RecastContour_8cpp.html#a09ae1f04327bcd46a12ace0769a8f266',1,'area2(const int *a, const int *b, const int *c): RecastContour.cpp'],['../DetourTileCacheBuilder_8cpp.html#a4026446823c064e1eee76b85985e82cd',1,'area2(const unsigned char *a, const unsigned char *b, const unsigned char *c): DetourTileCacheBuilder.cpp'],['../RecastMesh_8cpp.html#a09ae1f04327bcd46a12ace0769a8f266',1,'area2(const int *a, const int *b, const int *c): RecastMesh.cpp']]], + ['area_5fheader_46',['AREA_HEADER',['../imgui_8cpp.html#a9f1d65be567b55080074ad626c08cf0c',1,'imgui.cpp']]], + ['areaandtype_47',['areaAndtype',['../structdtPoly.html#af3caa090f5d4776766bf56f82c27a899',1,'dtPoly']]], + ['areaid_48',['areaId',['../structGuiState.html#a335822c00941a3b0ac836338fdad5af5',1,'GuiState::areaId()'],['../structdtLayerMonotoneRegion.html#a9e0572100cbcf847291716b3b1008e6d',1,'dtLayerMonotoneRegion::areaId()']]], + ['areas_49',['areas',['../structrcPolyMesh.html#aa08d7da4e0c97f57151f93d9a7d46bde',1,'rcPolyMesh::areas()'],['../structrcHeightfieldLayer.html#a82606c7d0d590c924d49e84698452353',1,'rcHeightfieldLayer::areas()'],['../structrcCompactHeightfield.html#abcdf0d737779779376bce23d1c0be910',1,'rcCompactHeightfield::areas()'],['../structdtTileCachePolyMesh.html#a6536adffe42fc5c4c6591347f1af7b0c',1,'dtTileCachePolyMesh::areas()'],['../structdtTileCacheLayer.html#afeb17050bbd75d6c31fc4601dcff8045',1,'dtTileCacheLayer::areas()']]], + ['areatocol_50',['areaToCol',['../classSampleDebugDraw.html#ae30775c5bef8b739d5c25a10e3603571',1,'SampleDebugDraw::areaToCol()'],['../structduDebugDraw.html#aabdd9cd0f4381c686c3e0beaf50d3d13',1,'duDebugDraw::areaToCol()']]], + ['areatype_51',['areaType',['../structrcRegion.html#a35bfc8470602b06a1a09c519582b821a',1,'rcRegion']]], + ['assign_52',['assign',['../classrcVectorBase.html#a55225c4d52eda5e77c10b41c34deab95',1,'rcVectorBase::assign(const T *begin, const T *end)'],['../classrcVectorBase.html#af2d02ea6aea5354a3954a5902527a7ab',1,'rcVectorBase::assign(rcSizeType count, const T &value)']]] +]; diff --git a/search/all_1.html b/search/all_1.html new file mode 100644 index 00000000..9f80e904 --- /dev/null +++ b/search/all_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_1.js b/search/all_1.js new file mode 100644 index 00000000..fe5d240d --- /dev/null +++ b/search/all_1.js @@ -0,0 +1,33 @@ +var searchData= +[ + ['back_53',['back',['../classrcVectorBase.html#a86784ed19e1fa89f16135f27aa87b7ee',1,'rcVectorBase::back() const'],['../classrcVectorBase.html#af153bfe84b00d8d36651e69252750714',1,'rcVectorBase::back()']]], + ['base_54',['base',['../structrcLayerRegion.html#ad49bf74284d20c2d7c3ef56f6b4c589f',1,'rcLayerRegion']]], + ['begin_55',['begin',['../classDebugDrawGL.html#ad7f56b0a3ab7c29b6a58e4cf72c78568',1,'DebugDrawGL::begin()'],['../classrcVectorBase.html#ab920e47406cddfec669c07942b715eb7',1,'rcVectorBase::begin()'],['../structduDebugDraw.html#a6403932173f27503e05cd258f5837d17',1,'duDebugDraw::begin()'],['../classduDisplayList.html#a9b22850cbe77c3e59f00ceda818563ea',1,'duDisplayList::begin()'],['../classrcVectorBase.html#aad94cf6d0ea00bfe36419e4c8fa7e14f',1,'rcVectorBase::begin()']]], + ['between_56',['between',['../DetourTileCacheBuilder_8cpp.html#a836449fc0a0e562494f018c093fa5e73',1,'between(const unsigned char *a, const unsigned char *b, const unsigned char *c): DetourTileCacheBuilder.cpp'],['../RecastMesh_8cpp.html#a32119d50d88bb48bcab862a57ef86425',1,'between(const int *a, const int *b, const int *c): RecastMesh.cpp'],['../RecastContour_8cpp.html#a32119d50d88bb48bcab862a57ef86425',1,'between(const int *a, const int *b, const int *c): RecastContour.cpp']]], + ['bind_57',['bind',['../classGLCheckerTexture.html#a6867fb461e1ebdfb5ffaf8572678ef22',1,'GLCheckerTexture']]], + ['bit_58',['bit',['../DebugDraw_8cpp.html#a540a122c002c99d142af5bfaac50b43d',1,'DebugDraw.cpp']]], + ['bmax_59',['bmax',['../structBoundsItem.html#af82c7df2f187f99e29ead8ccc049409f',1,'BoundsItem::bmax()'],['../structrcChunkyTriMeshNode.html#a8bf02576089ffe146ce180799b313fb1',1,'rcChunkyTriMeshNode::bmax()'],['../structrcPolyMesh.html#aabdf91f888b1c2dacd077a339a6df3a4',1,'rcPolyMesh::bmax()'],['../structrcContourSet.html#ae756cdf05388b7455768011841c0f6a1',1,'rcContourSet::bmax()'],['../structrcHeightfieldLayer.html#a11c82fbf9e04182a0be7b6c877f7029c',1,'rcHeightfieldLayer::bmax()'],['../structrcCompactHeightfield.html#a5d175954135840be9d4e4fc3b36d8067',1,'rcCompactHeightfield::bmax()'],['../structrcHeightfield.html#a4da9e52fc907522aae0364fad9e865f7',1,'rcHeightfield::bmax()'],['../structdtTileCacheLayerHeader.html#abd60dc6572c7b80e43985c75b5477eee',1,'dtTileCacheLayerHeader::bmax()'],['../structdtObstacleBox.html#a69fba4f382232b19086228feda8e4cf6',1,'dtObstacleBox::bmax()'],['../structBVItem.html#a93bd79d5cff1032583c104c06c1496ec',1,'BVItem::bmax()'],['../structdtNavMeshCreateParams.html#a980d42a666c5a707ffccff68e0b4a2ae',1,'dtNavMeshCreateParams::bmax()'],['../structdtMeshHeader.html#a81fc3bf970078d4c4411919204f9ce10',1,'dtMeshHeader::bmax()'],['../structdtBVNode.html#aba981174ad61a601f743d986142ee504',1,'dtBVNode::bmax()'],['../structdtLink.html#ac8a3afc341614707afb915d2822ffdc7',1,'dtLink::bmax()'],['../structrcConfig.html#ab33657eac12a119d583422c4c00c6892',1,'rcConfig::bmax()']]], + ['bmin_60',['bmin',['../structrcCompactHeightfield.html#ae73d55ffeafd659c189bf14e440b902f',1,'rcCompactHeightfield::bmin()'],['../structBoundsItem.html#afae2ec3ddbeb2a0c5080b76c97385773',1,'BoundsItem::bmin()'],['../structrcChunkyTriMeshNode.html#a948fbc71343377493524d56fd67ba937',1,'rcChunkyTriMeshNode::bmin()'],['../structrcPolyMesh.html#a63625dd55ca66c97ca29a87a5455cc27',1,'rcPolyMesh::bmin()'],['../structrcContourSet.html#a6528f1d81286f5bff26ae217c33da654',1,'rcContourSet::bmin()'],['../structrcHeightfieldLayer.html#aaca8964dd736b356e4ee2c0dcd4b1208',1,'rcHeightfieldLayer::bmin()'],['../structrcHeightfield.html#a0158658d3487f7531364a84887fc2bce',1,'rcHeightfield::bmin()'],['../structdtTileCacheLayerHeader.html#a83848b7b2936f0cc2c029351b0f4251a',1,'dtTileCacheLayerHeader::bmin()'],['../structdtObstacleBox.html#ac0fa4403899b528ae6c2c8b7efcdff51',1,'dtObstacleBox::bmin()'],['../structBVItem.html#a40e595a0791532d1f41ada14843bc087',1,'BVItem::bmin()'],['../structdtNavMeshCreateParams.html#a31a2596a43445e9219666d44cb5e32ab',1,'dtNavMeshCreateParams::bmin()'],['../structdtMeshHeader.html#ac1a8890add6666f54407cb8e1abc1179',1,'dtMeshHeader::bmin()'],['../structdtBVNode.html#a4f03eda2f4ae838eed627db41ebea292',1,'dtBVNode::bmin()'],['../structdtLink.html#a0123fe6375fa414a48b2e73c3b23a1ce',1,'dtLink::bmin()'],['../structrcConfig.html#afb77489af4eb0cd75ceb8b46db2c4341',1,'rcConfig::bmin()']]], + ['bordersize_61',['borderSize',['../structrcContourSet.html#adb04d1277e815ed89b156714bad3c17a',1,'rcContourSet::borderSize()'],['../structrcPolyMesh.html#a9f367a88b878ce8029b9709fb27b878b',1,'rcPolyMesh::borderSize()'],['../structrcCompactHeightfield.html#a675418d81ce6ade83fbd18be2dfd1647',1,'rcCompactHeightfield::borderSize()'],['../structrcConfig.html#a473ec0f080862d2593099d8ee207da57',1,'rcConfig::borderSize()']]], + ['boundary_62',['boundary',['../structdtCrowdAgent.html#a68fc2f237bd2ac88e4aed6afe6a77951',1,'dtCrowdAgent']]], + ['boundsitem_63',['BoundsItem',['../structBoundsItem.html',1,'']]], + ['box_64',['box',['../structdtTileCacheObstacle.html#a0e31025b2911c006f4a16d9f634b812a',1,'dtTileCacheObstacle']]], + ['boxblur_65',['boxBlur',['../RecastRegion_8cpp.html#a68b94f221565ed5b4e80e34272f43ef0',1,'RecastRegion.cpp']]], + ['buffer_66',['buffer',['../structLinearAllocator.html#afe41eebd4eb6b666f7154c86bd66fb81',1,'LinearAllocator']]], + ['buildalltiles_67',['buildAllTiles',['../classSample__TileMesh.html#aea5e79d067a5b8120a857653f40fa608',1,'Sample_TileMesh']]], + ['buildbvtree_68',['buildBvTree',['../structdtNavMeshCreateParams.html#a3c0dab8176f42294bd87c07a4fcce519',1,'dtNavMeshCreateParams']]], + ['buildcontext_69',['BuildContext',['../classBuildContext.html',1,'BuildContext'],['../classBuildContext.html#a3103b5538cfde15052e20019018fb3de',1,'BuildContext::BuildContext()']]], + ['buildmeshadjacency_70',['buildMeshAdjacency',['../DetourTileCacheBuilder_8cpp.html#a3cb207997a33b83726f260fe5f0715d4',1,'buildMeshAdjacency(dtTileCacheAlloc *alloc, unsigned short *polys, const int npolys, const unsigned short *verts, const int nverts, const dtTileCacheContourSet &lcset): DetourTileCacheBuilder.cpp'],['../RecastMesh_8cpp.html#a256e19cca110edc31cb96adf9a52521d',1,'buildMeshAdjacency(unsigned short *polys, const int npolys, const int nverts, const int vertsPerPoly): RecastMesh.cpp']]], + ['buildnavmeshtile_71',['buildNavMeshTile',['../classdtTileCache.html#a58de8a233915bc3aa553d4cf4e10084d',1,'dtTileCache']]], + ['buildnavmeshtilesat_72',['buildNavMeshTilesAt',['../classdtTileCache.html#ae501e709b8c918b9c60d87816d54bbab',1,'dtTileCache']]], + ['buildpolydetail_73',['buildPolyDetail',['../RecastMeshDetail_8cpp.html#a71ca10a7c35e12de63aebe7f7cba59b0',1,'RecastMeshDetail.cpp']]], + ['buildsettings_74',['BuildSettings',['../structBuildSettings.html',1,'']]], + ['buildtile_75',['buildTile',['../classSample__TileMesh.html#ab0edd032cb95581c65cd6db2bbcda4c4',1,'Sample_TileMesh']]], + ['buildtilemesh_76',['buildTileMesh',['../classSample__TileMesh.html#af2d9ae49dfb292df3aa05fe545dde136',1,'Sample_TileMesh']]], + ['button_5fheight_77',['BUTTON_HEIGHT',['../imgui_8cpp.html#a83f45a813d7a4cde3f8a9bb8a5a7d163',1,'imgui.cpp']]], + ['buttonlogic_78',['buttonLogic',['../imgui_8cpp.html#a455558f382e7dcbbc1b3b983d35c349e',1,'imgui.cpp']]], + ['bvitem_79',['BVItem',['../structBVItem.html',1,'']]], + ['bvnodecount_80',['bvNodeCount',['../structdtMeshHeader.html#a266e9ad927fe5cbbd3c3c0ffd4e9f5f0',1,'dtMeshHeader']]], + ['bvquantfactor_81',['bvQuantFactor',['../structdtMeshHeader.html#ab415943e0064a6ed0501e8e7da0e5d26',1,'dtMeshHeader']]], + ['bvtree_82',['bvTree',['../structdtMeshTile.html#a1e1f626924faa6974363c142c40e632e',1,'dtMeshTile']]] +]; diff --git a/search/all_10.html b/search/all_10.html new file mode 100644 index 00000000..3bf11961 --- /dev/null +++ b/search/all_10.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_10.js b/search/all_10.js new file mode 100644 index 00000000..966ae508 --- /dev/null +++ b/search/all_10.js @@ -0,0 +1,103 @@ +var searchData= +[ + ['sallocfunc_1555',['sAllocFunc',['../DetourAlloc_8cpp.html#a0f08afad9e7466f3ccbddf92700b5342',1,'DetourAlloc.cpp']]], + ['salt_1556',['salt',['../structdtTileCacheObstacle.html#aaed7d123d0feb3efcfa735968c478fe3',1,'dtTileCacheObstacle::salt()'],['../structdtCompressedTile.html#a9df1de3328c707f4fb75d15522ec8ec3',1,'dtCompressedTile::salt()'],['../structdtMeshTile.html#a21bccdc0f5d778d886eaa5aae72b400f',1,'dtMeshTile::salt()']]], + ['sample_1557',['Sample',['../classSample.html',1,'Sample'],['../classSample.html#a48a4cf559a1ff65b7d4776c262236e27',1,'Sample::Sample()']]], + ['sample_2ecpp_1558',['Sample.cpp',['../Sample_8cpp.html',1,'']]], + ['sample_2eh_1559',['Sample.h',['../Sample_8h.html',1,'']]], + ['sample_5fdebug_1560',['Sample_Debug',['../classSample__Debug.html',1,'Sample_Debug'],['../classSample__Debug.html#aeaaa851b59ab27d8ca483d5b8842dc2f',1,'Sample_Debug::Sample_Debug()']]], + ['sample_5fdebug_2ecpp_1561',['Sample_Debug.cpp',['../Sample__Debug_8cpp.html',1,'']]], + ['sample_5fdebug_2eh_1562',['Sample_Debug.h',['../Sample__Debug_8h.html',1,'']]], + ['sample_5fpartition_5flayers_1563',['SAMPLE_PARTITION_LAYERS',['../Sample_8h.html#a73f95e7eb01a7e948ecfa34b9cebcdc1a1fae7df00c1a8f165833e48c67692627',1,'Sample.h']]], + ['sample_5fpartition_5fmonotone_1564',['SAMPLE_PARTITION_MONOTONE',['../Sample_8h.html#a73f95e7eb01a7e948ecfa34b9cebcdc1aa44dc0eb2004b683d4297b7d46cfe979',1,'Sample.h']]], + ['sample_5fpartition_5fwatershed_1565',['SAMPLE_PARTITION_WATERSHED',['../Sample_8h.html#a73f95e7eb01a7e948ecfa34b9cebcdc1a4fe0d0ba0791fe2280ff3821177766a9',1,'Sample.h']]], + ['sample_5fpolyarea_5fdoor_1566',['SAMPLE_POLYAREA_DOOR',['../Sample_8h.html#a588cb37d59e832fa4f2606474769b6daa8dde3ccaff5b35fee2ce73d5744cae9e',1,'Sample.h']]], + ['sample_5fpolyarea_5fgrass_1567',['SAMPLE_POLYAREA_GRASS',['../Sample_8h.html#a588cb37d59e832fa4f2606474769b6daaa740ac4d510c2a3abe962fbfb793f1dc',1,'Sample.h']]], + ['sample_5fpolyarea_5fground_1568',['SAMPLE_POLYAREA_GROUND',['../Sample_8h.html#a588cb37d59e832fa4f2606474769b6daade496ba823714eb3b6d31fa9c1297388',1,'Sample.h']]], + ['sample_5fpolyarea_5fjump_1569',['SAMPLE_POLYAREA_JUMP',['../Sample_8h.html#a588cb37d59e832fa4f2606474769b6daac03a57a3286b6b9f4a5dcc403e269b2e',1,'Sample.h']]], + ['sample_5fpolyarea_5froad_1570',['SAMPLE_POLYAREA_ROAD',['../Sample_8h.html#a588cb37d59e832fa4f2606474769b6daacb78d7e68ad58b5bc62c2313cf3b0e38',1,'Sample.h']]], + ['sample_5fpolyarea_5fwater_1571',['SAMPLE_POLYAREA_WATER',['../Sample_8h.html#a588cb37d59e832fa4f2606474769b6daa08ea8d5a36716a7e74a6c73a25bcadbe',1,'Sample.h']]], + ['sample_5fpolyflags_5fall_1572',['SAMPLE_POLYFLAGS_ALL',['../Sample_8h.html#a7f96856c3ec53bcd8dab2396ae743f8daa00f1707b9fb5af90130ee64d133e68f',1,'Sample.h']]], + ['sample_5fpolyflags_5fdisabled_1573',['SAMPLE_POLYFLAGS_DISABLED',['../Sample_8h.html#a7f96856c3ec53bcd8dab2396ae743f8da2646db68ba40d4004ffb88a37717c4d1',1,'Sample.h']]], + ['sample_5fpolyflags_5fdoor_1574',['SAMPLE_POLYFLAGS_DOOR',['../Sample_8h.html#a7f96856c3ec53bcd8dab2396ae743f8da7d04a970d5e5fa624733a4be27470f3c',1,'Sample.h']]], + ['sample_5fpolyflags_5fjump_1575',['SAMPLE_POLYFLAGS_JUMP',['../Sample_8h.html#a7f96856c3ec53bcd8dab2396ae743f8da15efc6d182fbdd962d5b28f77d3c9e8f',1,'Sample.h']]], + ['sample_5fpolyflags_5fswim_1576',['SAMPLE_POLYFLAGS_SWIM',['../Sample_8h.html#a7f96856c3ec53bcd8dab2396ae743f8da01b0f8a3c0e3f5e7c4c9fa79c13981ea',1,'Sample.h']]], + ['sample_5fpolyflags_5fwalk_1577',['SAMPLE_POLYFLAGS_WALK',['../Sample_8h.html#a7f96856c3ec53bcd8dab2396ae743f8da56be2036bea60e03345da8f4897a4682',1,'Sample.h']]], + ['sample_5fsolomesh_1578',['Sample_SoloMesh',['../classSample__SoloMesh.html#a85b98cc7d5c81d86acccd31156c3258c',1,'Sample_SoloMesh::Sample_SoloMesh()'],['../classSample__SoloMesh.html',1,'Sample_SoloMesh']]], + ['sample_5fsolomesh_2ecpp_1579',['Sample_SoloMesh.cpp',['../Sample__SoloMesh_8cpp.html',1,'']]], + ['sample_5fsolomesh_2eh_1580',['Sample_SoloMesh.h',['../Sample__SoloMesh_8h.html',1,'']]], + ['sample_5ftempobstacles_1581',['Sample_TempObstacles',['../classSample__TempObstacles.html',1,'Sample_TempObstacles'],['../classSample__TempObstacles.html#a8b4c95ce918a73325cd1a703eccedc0f',1,'Sample_TempObstacles::Sample_TempObstacles()']]], + ['sample_5ftempobstacles_2ecpp_1582',['Sample_TempObstacles.cpp',['../Sample__TempObstacles_8cpp.html',1,'']]], + ['sample_5ftempobstacles_2eh_1583',['Sample_TempObstacles.h',['../Sample__TempObstacles_8h.html',1,'']]], + ['sample_5ftilemesh_1584',['Sample_TileMesh',['../classSample__TileMesh.html#a595d0f4ba7f8e1c03ddd7571ff53464d',1,'Sample_TileMesh::Sample_TileMesh()'],['../classSample__TileMesh.html',1,'Sample_TileMesh']]], + ['sample_5ftilemesh_2ecpp_1585',['Sample_TileMesh.cpp',['../Sample__TileMesh_8cpp.html',1,'']]], + ['sample_5ftilemesh_2eh_1586',['Sample_TileMesh.h',['../Sample__TileMesh_8h.html',1,'']]], + ['sampledebugdraw_1587',['SampleDebugDraw',['../classSampleDebugDraw.html',1,'']]], + ['sampleinterfaces_2ecpp_1588',['SampleInterfaces.cpp',['../SampleInterfaces_8cpp.html',1,'']]], + ['sampleinterfaces_2eh_1589',['SampleInterfaces.h',['../SampleInterfaces_8h.html',1,'']]], + ['sampleitem_1590',['SampleItem',['../structSampleItem.html',1,'']]], + ['samplepartitiontype_1591',['SamplePartitionType',['../Sample_8h.html#a73f95e7eb01a7e948ecfa34b9cebcdc1',1,'Sample.h']]], + ['samplepolyareas_1592',['SamplePolyAreas',['../Sample_8h.html#a588cb37d59e832fa4f2606474769b6da',1,'Sample.h']]], + ['samplepolyflags_1593',['SamplePolyFlags',['../Sample_8h.html#a7f96856c3ec53bcd8dab2396ae743f8d',1,'Sample.h']]], + ['sampletool_1594',['SampleTool',['../structSampleTool.html',1,'']]], + ['sampletoolstate_1595',['SampleToolState',['../structSampleToolState.html',1,'']]], + ['sampletooltype_1596',['SampleToolType',['../Sample_8h.html#ae448bf9be534170ca5b5f8c97256125b',1,'Sample.h']]], + ['samplevelocityadaptive_1597',['sampleVelocityAdaptive',['../classdtObstacleAvoidanceQuery.html#aecf2d1d53bc0c74997ff3aac1587c242',1,'dtObstacleAvoidanceQuery']]], + ['samplevelocitygrid_1598',['sampleVelocityGrid',['../classdtObstacleAvoidanceQuery.html#a5209e8625a0618fd9c96ba2d0374d90f',1,'dtObstacleAvoidanceQuery']]], + ['sassertfailfunc_1599',['sAssertFailFunc',['../DetourAssert_8cpp.html#a7bbc68bcf03ba893c2d7e78eb46e9dd7',1,'DetourAssert.cpp']]], + ['saveall_1600',['saveAll',['../classSample.html#a5a6d7fec2a32c30cebc8f4a3c895593d',1,'Sample::saveAll()'],['../classSample__TempObstacles.html#ac466e2df756cdb2a6d6f2ad195b51026',1,'Sample_TempObstacles::saveAll()'],['../classSample__TileMesh.html#a8b0ada6186c1eb4cc2fe759bface0e43',1,'Sample_TileMesh::saveAll()']]], + ['savegeomset_1601',['saveGeomSet',['../classInputGeom.html#a866a12c00d1417a7403258f438a27a86',1,'InputGeom']]], + ['scandirectory_1602',['scanDirectory',['../Filelist_8cpp.html#a2baf53e840e4fefc5e6933fb3d53569e',1,'scanDirectory(const string &path, const string &ext, vector< string > &filelist): Filelist.cpp'],['../Filelist_8h.html#a45c5368afb38260fa0c524b2b084efee',1,'scanDirectory(const std::string &path, const std::string &ext, std::vector< std::string > &fileList): Filelist.h']]], + ['scandirectoryappend_1603',['scanDirectoryAppend',['../Filelist_8cpp.html#ab77bcf8d92348f01734b4aeafec8c4d6',1,'scanDirectoryAppend(const string &path, const string &ext, vector< string > &filelist): Filelist.cpp'],['../Filelist_8h.html#ae20514067f3272c41e207bed25e530d8',1,'scanDirectoryAppend(const std::string &path, const std::string &ext, std::vector< std::string > &fileList): Filelist.h']]], + ['scroll_1604',['scroll',['../structGuiState.html#aac5d3f5ae7a567ab5f5fd18d4b2c3d6b',1,'GuiState']]], + ['scroll_5farea_5fpadding_1605',['SCROLL_AREA_PADDING',['../imgui_8cpp.html#a9834182fe5c469ee992dc99bc00ab90e',1,'imgui.cpp']]], + ['seedarraywithpolycenter_1606',['seedArrayWithPolyCenter',['../RecastMeshDetail_8cpp.html#aa27a15fb0a81befd7f9957f63eb45735',1,'RecastMeshDetail.cpp']]], + ['separationweight_1607',['separationWeight',['../structdtCrowdAgentParams.html#a616534204934492b4f3bc7eb2ff49a0b',1,'dtCrowdAgentParams']]], + ['setactive_1608',['setActive',['../imgui_8cpp.html#a19d012d43ace20552ff625a6bf7d7552',1,'imgui.cpp']]], + ['setarea_1609',['setArea',['../structdtPoly.html#a84f05dcf69d70b26323b65a0c1c66954',1,'dtPoly']]], + ['setareacost_1610',['setAreaCost',['../classdtQueryFilter.html#a36063c39d5c391a393412108a8a33927',1,'dtQueryFilter']]], + ['setcontext_1611',['setContext',['../classSample.html#a86e13c14ae1a347d4867c77ec90e49f1',1,'Sample']]], + ['setcorridor_1612',['setCorridor',['../classdtPathCorridor.html#af26a1205a7e38f0389a2dcb2dc23ca9b',1,'dtPathCorridor']]], + ['setexcludeflags_1613',['setExcludeFlags',['../classdtQueryFilter.html#a18c1b888c9b2c3b30703d6861a793600',1,'dtQueryFilter']]], + ['setflags_1614',['setFlags',['../classNavmeshFlags.html#ace82d60d1c76b7f5fba63a79a8bf3d14',1,'NavmeshFlags']]], + ['sethot_1615',['setHot',['../imgui_8cpp.html#a5bef8420adcaae489e55a652b4c1f14e',1,'imgui.cpp']]], + ['setincludeflags_1616',['setIncludeFlags',['../classdtQueryFilter.html#ab9783c92a30e41df84ebfd2f68338970',1,'dtQueryFilter']]], + ['setmovetarget_1617',['setMoveTarget',['../classCrowdToolState.html#a07c2b6234747c5a0e412ee65d3be038a',1,'CrowdToolState']]], + ['setnavmeshdrawflags_1618',['setNavMeshDrawFlags',['../classSample.html#a0b5f9832856a0880004b8f725366cca1',1,'Sample']]], + ['setobstacleavoidanceparams_1619',['setObstacleAvoidanceParams',['../classdtCrowd.html#a96338b9a99e8d58a3051a9ce7934e8b1',1,'dtCrowd']]], + ['setpolyarea_1620',['setPolyArea',['../classdtNavMesh.html#a74a6e65e04a87a1b6abf837349f214fb',1,'dtNavMesh']]], + ['setpolyflags_1621',['setPolyFlags',['../classdtNavMesh.html#af11a9e69fa88b6d5cf66c376d46b8889',1,'dtNavMesh']]], + ['setrect_1622',['setRect',['../structGraphParams.html#a6bc9e0c7d31219f865e533ee7f279518',1,'GraphParams']]], + ['setrunning_1623',['setRunning',['../classCrowdToolState.html#a5ec55b2d7b4eae5639fdf77534e7db93',1,'CrowdToolState']]], + ['settool_1624',['setTool',['../classSample.html#a0602082aea4402bd6db027a5aa4f33a0',1,'Sample']]], + ['settoolstate_1625',['setToolState',['../classSample.html#a366638d234ad656df8bd3946d11792b5',1,'Sample']]], + ['settype_1626',['setType',['../structdtPoly.html#ac625b3f1acf8df354a50464e210300dc',1,'dtPoly']]], + ['setvaluerange_1627',['setValueRange',['../structGraphParams.html#ab0ee815e9d6e55816a7202d7ef9c8ac9',1,'GraphParams']]], + ['sfreefunc_1628',['sFreeFunc',['../DetourAlloc_8cpp.html#a8175e527667d6a55c4acd7c573ea2ccb',1,'DetourAlloc.cpp']]], + ['side_1629',['side',['../structdtOffMeshConnection.html#a8c193e7df9998a218be48a39b2be1488',1,'dtOffMeshConnection::side()'],['../structdtLink.html#a62d34d0e6350fe9790e91ec287bc1423',1,'dtLink::side()']]], + ['simplifycontour_1630',['simplifyContour',['../DetourTileCacheBuilder_8cpp.html#aa2cb5549f579c46432cb5af9e0f3c9bb',1,'simplifyContour(dtTempContour &cont, const float maxError): DetourTileCacheBuilder.cpp'],['../RecastContour_8cpp.html#aa7cef37578da730d57670d60132da73f',1,'simplifyContour(rcIntArray &points, rcIntArray &simplified, const float maxError, const int maxEdgeLen, const int buildFlags): RecastContour.cpp']]], + ['size_1631',['size',['../classdtFixedArray.html#aff54b9aa9eb16e7cea87546e6b1aed93',1,'dtFixedArray::size()'],['../classrcVectorBase.html#acfbb0217a292f75069614da62f6af0c7',1,'rcVectorBase::size()'],['../classrcIntArray.html#af17b8fb439ac8121af044d4f4d13753c',1,'rcIntArray::size()']]], + ['size_5ftype_1632',['size_type',['../classrcVectorBase.html#a5ba3079d15e5dd35892d60a204284d55',1,'rcVectorBase']]], + ['slider_5fheight_1633',['SLIDER_HEIGHT',['../imgui_8cpp.html#a75d709f0fb77b92df65419efafffca99',1,'imgui.cpp']]], + ['slider_5fmarker_5fwidth_1634',['SLIDER_MARKER_WIDTH',['../imgui_8cpp.html#add618dc9080f5b272f78837c844c933b',1,'imgui.cpp']]], + ['smax_1635',['smax',['../structrcSpan.html#a6bca504828087023719794cce9a5f0ab',1,'rcSpan']]], + ['smin_1636',['smin',['../structrcSpan.html#aba70c34dc95c49c4b3142b7d9ca9d359',1,'rcSpan']]], + ['solid_1637',['solid',['../structRasterizationContext.html#aaba97d97599e77368460046203b516e1',1,'RasterizationContext']]], + ['sortcellsbylevel_1638',['sortCellsByLevel',['../RecastRegion_8cpp.html#a02ba6d0e792550e0ce791fa42ef865d1',1,'RecastRegion.cpp']]], + ['spancount_1639',['spanCount',['../structrcRegion.html#ad9093323ce31904ef59709b0664f31d3',1,'rcRegion::spanCount()'],['../structrcCompactHeightfield.html#a7206a15efe8a9e2a8e28b8c7d89b45bd',1,'rcCompactHeightfield::spanCount()']]], + ['spans_1640',['spans',['../structrcCompactHeightfield.html#a20f5a93095dfd199b0a9baad4127bec3',1,'rcCompactHeightfield::spans()'],['../structrcHeightfield.html#a0fea35ab8365dfcb38c63566abf7f261',1,'rcHeightfield::spans()']]], + ['srecastallocfunc_1641',['sRecastAllocFunc',['../RecastAlloc_8cpp.html#af1b06b448acf4005967583e7dc905a66',1,'RecastAlloc.cpp']]], + ['srecastassertfailfunc_1642',['sRecastAssertFailFunc',['../RecastAssert_8cpp.html#a2040287091fff4c9733a932d37f978b7',1,'RecastAssert.cpp']]], + ['srecastfreefunc_1643',['sRecastFreeFunc',['../RecastAlloc_8cpp.html#a64d9d48dc6a273593cf8034ab2e303de',1,'RecastAlloc.cpp']]], + ['startpos_1644',['startPos',['../structdtCrowdAgentAnimation.html#a738a08a7b93b678252680f453e4df851',1,'dtCrowdAgentAnimation']]], + ['starttimer_1645',['startTimer',['../classrcContext.html#a3c8d3035e1046dd8907b10b7d9c8de57',1,'rcContext']]], + ['state_1646',['state',['../structdtNode.html#a9ac33b320a8736d5d8f3f109b1b50bf1',1,'dtNode::state()'],['../structdtCrowdAgent.html#a091dd7851f63dbe00a59b54072152d5f',1,'dtCrowdAgent::state()'],['../structdtTileCacheObstacle.html#a43d1c2aa32d48a2a88713ca3f62e0512',1,'dtTileCacheObstacle::state()']]], + ['stb_5ftruetype_5fimplementation_1647',['STB_TRUETYPE_IMPLEMENTATION',['../imguiRenderGL_8cpp.html#afaa2f2d0d9d6726cfae6da070e736347',1,'imguiRenderGL.cpp']]], + ['stbtt_5ffree_1648',['STBTT_free',['../imguiRenderGL_8cpp.html#ac2d83c500a591ce9b5ff9ca5681caa59',1,'imguiRenderGL.cpp']]], + ['stbtt_5fmalloc_1649',['STBTT_malloc',['../imguiRenderGL_8cpp.html#afe7147641c31bc94935e5711c81087d0',1,'imguiRenderGL.cpp']]], + ['stoptimer_1650',['stopTimer',['../classrcContext.html#a3f7042723b8d99d486575eb3d592af25',1,'rcContext']]], + ['storetilestate_1651',['storeTileState',['../classdtNavMesh.html#a141e01263950382365468ea265f48758',1,'dtNavMesh']]], + ['subdivide_1652',['subdivide',['../DetourNavMeshBuilder_8cpp.html#a95ba365676cad314741a13f58b6b0eba',1,'subdivide(BVItem *items, int nitems, int imin, int imax, int &curNode, dtBVNode *nodes): DetourNavMeshBuilder.cpp'],['../ChunkyTriMesh_8cpp.html#af34b40e9f943704bcaa0d14f83fe8d8e',1,'subdivide(BoundsItem *items, int nitems, int imin, int imax, int trisPerChunk, int &curNode, rcChunkyTriMeshNode *nodes, const int maxNodes, int &curTri, int *outTris, const int *inTris): ChunkyTriMesh.cpp']]], + ['swap_1653',['swap',['../classrcVectorBase.html#aea266b993082cb53732f617600378dde',1,'rcVectorBase']]], + ['sweepcirclecircle_1654',['sweepCircleCircle',['../DetourObstacleAvoidance_8cpp.html#a07a96536185de3b5b7e8aae361ac70a9',1,'DetourObstacleAvoidance.cpp']]] +]; diff --git a/search/all_11.html b/search/all_11.html new file mode 100644 index 00000000..c9f79d28 --- /dev/null +++ b/search/all_11.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_11.js b/search/all_11.js new file mode 100644 index 00000000..e96c928c --- /dev/null +++ b/search/all_11.js @@ -0,0 +1,62 @@ +var searchData= +[ + ['t_1655',['t',['../structdtRaycastHit.html#a890c2216ded62ca0932cd6ee27cc7ea9',1,'dtRaycastHit::t()'],['../structdtCrowdAgentAnimation.html#a96b279c54ccfe7d77cc576edbff7298e',1,'dtCrowdAgentAnimation::t()']]], + ['targetpathqref_1656',['targetPathqRef',['../structdtCrowdAgent.html#a1e0f72d182c9cf391300840ab293976e',1,'dtCrowdAgent']]], + ['targetpos_1657',['targetPos',['../structdtCrowdAgent.html#a118c511ca6807b818da75bcd320fb21f',1,'dtCrowdAgent']]], + ['targetref_1658',['targetRef',['../structdtCrowdAgent.html#a0f33325c1c0bc4050eefe2e0690f84c6',1,'dtCrowdAgent']]], + ['targetreplan_1659',['targetReplan',['../structdtCrowdAgent.html#a6300c91130b2690ac64e327e8909d2c8',1,'dtCrowdAgent']]], + ['targetreplantime_1660',['targetReplanTime',['../structdtCrowdAgent.html#a58585d67fe18e987898f2d42405608b4',1,'dtCrowdAgent']]], + ['targetstate_1661',['targetState',['../structdtCrowdAgent.html#a221a6da715a7e67bbe39e8263ed39948',1,'dtCrowdAgent']]], + ['temp_5fcoord_5fcount_1662',['TEMP_COORD_COUNT',['../imguiRenderGL_8cpp.html#ae718683d9ce63c75123ec0c2305c006b',1,'imguiRenderGL.cpp']]], + ['tempobstaclecreatetool_1663',['TempObstacleCreateTool',['../classTempObstacleCreateTool.html',1,'TempObstacleCreateTool'],['../classTempObstacleCreateTool.html#addc423c98712dd4a0efb01fc231d66b3',1,'TempObstacleCreateTool::TempObstacleCreateTool()']]], + ['tempobstaclehilighttool_1664',['TempObstacleHilightTool',['../classTempObstacleHilightTool.html',1,'TempObstacleHilightTool'],['../classTempObstacleHilightTool.html#a784ace19a383584d3754d81733fb25db',1,'TempObstacleHilightTool::TempObstacleHilightTool()']]], + ['testcase_1665',['TestCase',['../classTestCase.html',1,'TestCase'],['../classTestCase.html#ac62aa15cb45a40bdc0b9a1c6554c7e0a',1,'TestCase::TestCase()']]], + ['testcase_2ecpp_1666',['TestCase.cpp',['../TestCase_8cpp.html',1,'']]], + ['testcase_2eh_1667',['TestCase.h',['../TestCase_8h.html',1,'']]], + ['text_1668',['text',['../structimguiGfxText.html#a46d1f241b44a57cfc99607b81e97f5b5',1,'imguiGfxText::text()'],['../structimguiGfxCmd.html#aa97c4773b8fc18c02f64d6db0e555d56',1,'imguiGfxCmd::text()']]], + ['text_5fheight_1669',['TEXT_HEIGHT',['../imgui_8cpp.html#aba34c2b3d4cfdc352d28fde0d1ca54cd',1,'imgui.cpp']]], + ['text_5fpool_5fsize_1670',['TEXT_POOL_SIZE',['../imgui_8cpp.html#aef2d6f9e49bc61336d50b80f94138977',1,'imgui.cpp']]], + ['texture_1671',['texture',['../structduDebugDraw.html#afd70102a49177ea8068508139c8cdb1e',1,'duDebugDraw::texture()'],['../classDebugDrawGL.html#ad51f99f7707ed09bc19623cd31e9881c',1,'DebugDrawGL::texture()']]], + ['tilecachedata_1672',['TileCacheData',['../structTileCacheData.html',1,'']]], + ['tilecacheset_5fmagic_1673',['TILECACHESET_MAGIC',['../Sample__TempObstacles_8cpp.html#a877a1485eecb109f3d6431356bf30e94',1,'Sample_TempObstacles.cpp']]], + ['tilecacheset_5fversion_1674',['TILECACHESET_VERSION',['../Sample__TempObstacles_8cpp.html#a95caba88445c1ffa1faa5c9b931aba69',1,'Sample_TempObstacles.cpp']]], + ['tilecachesetheader_1675',['TileCacheSetHeader',['../structTileCacheSetHeader.html',1,'']]], + ['tilecachetileheader_1676',['TileCacheTileHeader',['../structTileCacheTileHeader.html',1,'']]], + ['tileheight_1677',['tileHeight',['../structdtNavMeshParams.html#acca8c83bab38cd8c7da8f10103e2c45a',1,'dtNavMeshParams']]], + ['tilelayer_1678',['tileLayer',['../structdtNavMeshCreateParams.html#a537e0bee7d1ddf992dc540d46fa337de',1,'dtNavMeshCreateParams']]], + ['tileref_1679',['tileRef',['../structNavMeshTileHeader.html#a8e3d1a3dfbc6517021c1bc5c796ac1d1',1,'NavMeshTileHeader::tileRef()'],['../structTileCacheTileHeader.html#aee23884943ee90ca7fcbe553ca064734',1,'TileCacheTileHeader::tileRef()']]], + ['tiles_1680',['tiles',['../structRasterizationContext.html#aec39fae70c6dc870ea044eb2c8bf6c05',1,'RasterizationContext']]], + ['tilesize_1681',['tileSize',['../structrcConfig.html#ac011c6166e1c722dd07427a7c301a601',1,'rcConfig::tileSize()'],['../structBuildSettings.html#ab0fdeb8745ad42637b9c4159d5d0b673',1,'BuildSettings::tileSize()']]], + ['tilewidth_1682',['tileWidth',['../structdtNavMeshParams.html#a53836f7c15d5e483209e01e9e1386e7e',1,'dtNavMeshParams']]], + ['tilex_1683',['tileX',['../structdtNavMeshCreateParams.html#ac3cd5e08f533bfd9767f70dd02f1cb33',1,'dtNavMeshCreateParams']]], + ['tiley_1684',['tileY',['../structdtNavMeshCreateParams.html#afc178088f515787cc8dec214559358e9',1,'dtNavMeshCreateParams']]], + ['timeval_1685',['TimeVal',['../PerfTimer_8h.html#a2036838e11aa9bd864a72295e6017d52',1,'PerfTimer.h']]], + ['tlayer_1686',['tlayer',['../structdtTileCacheLayerHeader.html#a73bd5f743faae4a1c485835d97fb7fc1',1,'dtTileCacheLayerHeader']]], + ['tmax_1687',['tmax',['../structdtSegInterval.html#a4463687b08087da04f076ec79beb5c03',1,'dtSegInterval::tmax()'],['../structdtCrowdAgentAnimation.html#a6895f4df2e560189e66fac03ca02e2ba',1,'dtCrowdAgentAnimation::tmax()']]], + ['tmin_1688',['tmin',['../structdtSegInterval.html#a93cb86ab8a97836ee145bb03bab7ed89',1,'dtSegInterval']]], + ['tool_5fconvex_5fvolume_1689',['TOOL_CONVEX_VOLUME',['../Sample_8h.html#ae448bf9be534170ca5b5f8c97256125ba0a31d2fb717946c688d04888a81c2063',1,'Sample.h']]], + ['tool_5fcrowd_1690',['TOOL_CROWD',['../Sample_8h.html#ae448bf9be534170ca5b5f8c97256125ba2c02ab36128a429e63f30ac3beea2a12',1,'Sample.h']]], + ['tool_5fnavmesh_5fprune_1691',['TOOL_NAVMESH_PRUNE',['../Sample_8h.html#ae448bf9be534170ca5b5f8c97256125ba23046ac29087338ff7e8b24cc1778fef',1,'Sample.h']]], + ['tool_5fnavmesh_5ftester_1692',['TOOL_NAVMESH_TESTER',['../Sample_8h.html#ae448bf9be534170ca5b5f8c97256125ba0b913f987aa3e318b76065cfa4985815',1,'Sample.h']]], + ['tool_5fnone_1693',['TOOL_NONE',['../Sample_8h.html#ae448bf9be534170ca5b5f8c97256125baea1b4490f1a21f7bd637324c9a46474e',1,'Sample.h']]], + ['tool_5foffmesh_5fconnection_1694',['TOOL_OFFMESH_CONNECTION',['../Sample_8h.html#ae448bf9be534170ca5b5f8c97256125ba0c30e9d3ebdeca5bddecc218dc342b98',1,'Sample.h']]], + ['tool_5ftemp_5fobstacle_1695',['TOOL_TEMP_OBSTACLE',['../Sample_8h.html#ae448bf9be534170ca5b5f8c97256125ba5b84b6b324182b6d84255bf90ba84468',1,'Sample.h']]], + ['tool_5ftile_5fedit_1696',['TOOL_TILE_EDIT',['../Sample_8h.html#ae448bf9be534170ca5b5f8c97256125ba3cf3ab9c4ec7c40ff509f7eaab437d1b',1,'Sample.h']]], + ['tool_5ftile_5fhighlight_1697',['TOOL_TILE_HIGHLIGHT',['../Sample_8h.html#ae448bf9be534170ca5b5f8c97256125ba9657bb5c075ec7d34b297a657ce25d74',1,'Sample.h']]], + ['top_1698',['top',['../classdtNodeQueue.html#ad76eefdf18096e14f67c579c20a506af',1,'dtNodeQueue::top()'],['../structLinearAllocator.html#a3f04785ab8a03ae9be0042d3c5eb059e',1,'LinearAllocator::top()']]], + ['topologyopttime_1699',['topologyOptTime',['../structdtCrowdAgent.html#a6c9330e499ceb3df18e047130a29f8f8',1,'dtCrowdAgent']]], + ['total_1700',['total',['../structdtNode.html#aed27a8d0170505d1dba0cd3201bc6536',1,'dtNode']]], + ['touch_1701',['touch',['../structdtObstacleSegment.html#a26ef06bc8db4ec6ceac546dd4d34da83',1,'dtObstacleSegment']]], + ['touched_1702',['touched',['../structdtTileCacheObstacle.html#a33a2a7301e5836a84af09074a8da8fe6',1,'dtTileCacheObstacle']]], + ['triangulate_1703',['triangulate',['../RecastMesh_8cpp.html#af19401e5d7d90391fe30c6d31de5a533',1,'triangulate(int n, const int *verts, int *indices, int *tris): RecastMesh.cpp'],['../DetourTileCacheBuilder_8cpp.html#a152104956c5f847255758c0ef53945ef',1,'triangulate(int n, const unsigned char *verts, unsigned short *indices, unsigned short *tris): DetourTileCacheBuilder.cpp']]], + ['triangulatehull_1704',['triangulateHull',['../RecastMeshDetail_8cpp.html#a82563f9d527bf5df7f89dd1bb60903c4',1,'RecastMeshDetail.cpp']]], + ['triareas_1705',['triareas',['../structRasterizationContext.html#a7ddb6987ff79542ff58f837ee02fea9e',1,'RasterizationContext']]], + ['tribase_1706',['triBase',['../structdtPolyDetail.html#aaccd8de89ab39454558ce4bfe6230c98',1,'dtPolyDetail']]], + ['tricount_1707',['triCount',['../structdtPolyDetail.html#aef53174e1c31d4304bc07da5d677528c',1,'dtPolyDetail']]], + ['triminvalidpath_1708',['trimInvalidPath',['../classdtPathCorridor.html#a5ed6daf1e663f2b0a854794e431514c8',1,'dtPathCorridor']]], + ['tris_1709',['tris',['../structrcPolyMeshDetail.html#a05e186a92fad184179c726debb033979',1,'rcPolyMeshDetail::tris()'],['../structrcChunkyTriMesh.html#a1bfb682902d948da8e2f1f575f22dba1',1,'rcChunkyTriMesh::tris()']]], + ['tween_1710',['tween',['../DetourCrowd_8cpp.html#a41b93b1d9ae7dc1511fbee39032e4e9a',1,'DetourCrowd.cpp']]], + ['tx_1711',['tx',['../structdtTileCacheLayerHeader.html#a24118e3ecc122ac7685cf9636cced948',1,'dtTileCacheLayerHeader']]], + ['ty_1712',['ty',['../structdtTileCacheLayerHeader.html#a020f2fc8488811b19c7d1c70f854bee9',1,'dtTileCacheLayerHeader']]], + ['type_1713',['type',['../classNavMeshTesterTool.html#a209af8804c52d9f3dbce40ab69028483',1,'NavMeshTesterTool::type()'],['../structdtTileCacheObstacle.html#af4848c786f8c2e4d9d182df72e333058',1,'dtTileCacheObstacle::type()'],['../structimguiGfxCmd.html#a3508ea30366854eae1909484cc179338',1,'imguiGfxCmd::type()'],['../classConvexVolumeTool.html#abb88ba3138d3e187b32e94dcf9874aeb',1,'ConvexVolumeTool::type()'],['../classCrowdTool.html#a5b7f620a8f1f319990286c12a4ce2e2d',1,'CrowdTool::type()'],['../classNavMeshPruneTool.html#a68059436d7e4b5118949d5d7f8204af8',1,'NavMeshPruneTool::type()'],['../classNavMeshTileTool.html#a55d28798b522df9956f914c1b9677cf0',1,'NavMeshTileTool::type()'],['../classTempObstacleCreateTool.html#ac7a7b02c2f0972842b0e20276217c1eb',1,'TempObstacleCreateTool::type()'],['../classTempObstacleHilightTool.html#ac3ba6c36507d2caa8835f9420a6470f6',1,'TempObstacleHilightTool::type()'],['../structSampleTool.html#a45b4ac6ce6d23449eb7c7ff3d0f1fdc5',1,'SampleTool::type()'],['../classOffMeshConnectionTool.html#a738515bc57b034ff5ed4d1d0721984da',1,'OffMeshConnectionTool::type()']]] +]; diff --git a/search/all_12.html b/search/all_12.html new file mode 100644 index 00000000..ab934722 --- /dev/null +++ b/search/all_12.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_12.js b/search/all_12.js new file mode 100644 index 00000000..3029a951 --- /dev/null +++ b/search/all_12.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['uleft_1714',['uleft',['../RecastMesh_8cpp.html#a7779e8ce95da76bac3631db6b39436db',1,'uleft(const unsigned short *a, const unsigned short *b, const unsigned short *c): RecastMesh.cpp'],['../DetourTileCacheBuilder_8cpp.html#a7779e8ce95da76bac3631db6b39436db',1,'uleft(const unsigned short *a, const unsigned short *b, const unsigned short *c): DetourTileCacheBuilder.cpp']]], + ['units_1715',['units',['../structGraphParams.html#ae85fabe02151892f17d6a1bddf4c79a9',1,'GraphParams']]], + ['update_1716',['update',['../classdtCrowd.html#ae3f041e335ca87c323e7340e73113919',1,'dtCrowd::update()'],['../classdtLocalBoundary.html#a270ef7f2e72520df6bd5c3a0e6b9a869',1,'dtLocalBoundary::update()'],['../classdtPathQueue.html#ab28e659d2db86d9f5d5246811cb08da0',1,'dtPathQueue::update()'],['../classdtTileCache.html#a93f931ad563e5cadcc389acdffd4892e',1,'dtTileCache::update()']]], + ['updateagentparameters_1717',['updateAgentParameters',['../classdtCrowd.html#a6ed4aa0026c21593daa9ea12c71f84c2',1,'dtCrowd']]], + ['updateagentparams_1718',['updateAgentParams',['../classCrowdToolState.html#a6054eb8441ec36876cbd2354b9c9957a',1,'CrowdToolState']]], + ['updateflags_1719',['updateFlags',['../structdtCrowdAgentParams.html#a7066a4477bbfa53fc1c983e17aa3e5ae',1,'dtCrowdAgentParams']]], + ['updateflags_1720',['UpdateFlags',['../group__crowd.html#gaa94b67d2fdcc390690c523f28019e52f',1,'DetourCrowd.h']]], + ['updateinput_1721',['updateInput',['../imgui_8cpp.html#a5cd0710bb09b88cad4cb053553d5bc24',1,'imgui.cpp']]], + ['updateleftface_1722',['updateLeftFace',['../RecastMeshDetail_8cpp.html#a0e67f4996b610668123b58620dae5a4f',1,'RecastMeshDetail.cpp']]], + ['updateslicedfindpath_1723',['updateSlicedFindPath',['../classdtNavMeshQuery.html#aa0c147e3da7fd0b59342da0fc456afc7',1,'dtNavMeshQuery']]], + ['updatetick_1724',['updateTick',['../classCrowdToolState.html#a57ac46cd3a33bd91e3e2280d03fb30d7',1,'CrowdToolState']]], + ['updatetoolstates_1725',['updateToolStates',['../classSample.html#a6b8f01c0007622ce86b236c283ea5ae4',1,'Sample']]], + ['userdata_1726',['userData',['../structdtCrowdAgentParams.html#a22dd9c496ce4404b8e2a836a14a01281',1,'dtCrowdAgentParams']]], + ['userid_1727',['userId',['../structdtMeshHeader.html#a12351c24b7a9fc6456353c22960b6769',1,'dtMeshHeader::userId()'],['../structdtNavMeshCreateParams.html#aeb8e8fb9fed1e6f47292f5016f9eee0a',1,'dtNavMeshCreateParams::userId()'],['../structdtOffMeshConnection.html#a157eae33ff9cb301e25f822a9d0b74dc',1,'dtOffMeshConnection::userId()']]] +]; diff --git a/search/all_13.html b/search/all_13.html new file mode 100644 index 00000000..51172c2f --- /dev/null +++ b/search/all_13.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_13.js b/search/all_13.js new file mode 100644 index 00000000..54425bde --- /dev/null +++ b/search/all_13.js @@ -0,0 +1,32 @@ +var searchData= +[ + ['value_5ftype_1728',['value_type',['../classrcVectorBase.html#a9164d8fc0c6eb55bd32b8a31bd857f66',1,'rcVectorBase']]], + ['valuehistory_1729',['ValueHistory',['../classValueHistory.html',1,'ValueHistory'],['../classValueHistory.html#a80604d504ef4e5ae9e39649f5e3ab32e',1,'ValueHistory::ValueHistory()']]], + ['valuehistory_2ecpp_1730',['ValueHistory.cpp',['../ValueHistory_8cpp.html',1,'']]], + ['valuehistory_2eh_1731',['ValueHistory.h',['../ValueHistory_8h.html',1,'']]], + ['vcross_1732',['vcross',['../DebugDraw_8cpp.html#a053fd5d6f9516c4e4e00ba86fcc602f8',1,'DebugDraw.cpp']]], + ['vcross2_1733',['vcross2',['../RecastMeshDetail_8cpp.html#af3f14f4be46b7208b244f15f2f805e17',1,'RecastMeshDetail.cpp']]], + ['vdist2_1734',['vdist2',['../RecastMeshDetail_8cpp.html#a810b0244c7c29dcf5eae04c805318b85',1,'RecastMeshDetail.cpp']]], + ['vdistsq2_1735',['vdistSq2',['../RecastMeshDetail_8cpp.html#a36172d94785e617bbc5f27dad577dadc',1,'RecastMeshDetail.cpp']]], + ['vdistsqr_1736',['vdistSqr',['../DebugDraw_8cpp.html#a4417fb2f20aaaa3e0d8e4a7e20b5cad9',1,'DebugDraw.cpp']]], + ['vdot2_1737',['vdot2',['../RecastMeshDetail_8cpp.html#a0ad602bda2f516b9a847c3b06c2d97fd',1,'RecastMeshDetail.cpp']]], + ['vel_1738',['vel',['../structdtCrowdAgent.html#a488e32669d4ed67a7945db9f79e45dca',1,'dtCrowdAgent::vel()'],['../structdtObstacleCircle.html#a8b044ab90c679b65dc7c326eda19c1e8',1,'dtObstacleCircle::vel()']]], + ['velbias_1739',['velBias',['../structdtObstacleAvoidanceParams.html#aa0f2c37d4f28a77a68df51efa53f10c8',1,'dtObstacleAvoidanceParams']]], + ['vequal_1740',['vequal',['../RecastMesh_8cpp.html#ac36ef53201f5b44be2f321d65ae01987',1,'vequal(const int *a, const int *b): RecastMesh.cpp'],['../RecastContour_8cpp.html#ac36ef53201f5b44be2f321d65ae01987',1,'vequal(const int *a, const int *b): RecastContour.cpp'],['../DetourTileCacheBuilder_8cpp.html#aa4f62c267a38a721dda8c1b1f6c76a9d',1,'vequal(const unsigned char *a, const unsigned char *b): DetourTileCacheBuilder.cpp']]], + ['version_1741',['version',['../structTileCacheSetHeader.html#af3c63745db5ba90ee080f739b3bea50f',1,'TileCacheSetHeader::version()'],['../structNavMeshSetHeader.html#ae824a2a6da1c7026a84cce8d6ffd10f8',1,'NavMeshSetHeader::version()'],['../structdtTileCacheLayerHeader.html#ac568165a80d945c62522408d7f9cdc62',1,'dtTileCacheLayerHeader::version()'],['../structdtTileState.html#ad24ddf11608ec1f0b43f676a2437483f',1,'dtTileState::version()'],['../structdtMeshHeader.html#a22f4453e3e449586b26d71d8153bfb02',1,'dtMeshHeader::version()']]], + ['vert_1742',['vert',['../structrcEdge.html#a7c483c5d52d1caa50d3305c175822bcc',1,'rcEdge::vert()'],['../structrcPotentialDiagonal.html#aa0ab356474c301630105b9c4125bb0e3',1,'rcPotentialDiagonal::vert()']]], + ['vertbase_1743',['vertBase',['../structdtPolyDetail.html#ae3f408c9c8974ccd058a98f781c58801',1,'dtPolyDetail']]], + ['vertcount_1744',['vertCount',['../structdtPolyDetail.html#a2b1473cb6f856126db05a2955fbb2a61',1,'dtPolyDetail::vertCount()'],['../structdtNavMeshCreateParams.html#a5cc3d74f4b38715cb1adf01c7d118c3f',1,'dtNavMeshCreateParams::vertCount()'],['../structdtMeshHeader.html#aad331f09586b0959eeb0826152315b92',1,'dtMeshHeader::vertCount()'],['../structdtPoly.html#af940c431464c022f844e61130f83d9c2',1,'dtPoly::vertCount()']]], + ['vertex_1745',['vertex',['../classDebugDrawGL.html#ae2ea264e176f08445b983ae6e3701639',1,'DebugDrawGL::vertex()'],['../structduDebugDraw.html#a8fac1072846b60be4ce4810c68140ee8',1,'duDebugDraw::vertex(const float *pos, unsigned int color)=0'],['../structduDebugDraw.html#a2af291d6e63081ce1d3f34e1851ae5e0',1,'duDebugDraw::vertex(const float x, const float y, const float z, unsigned int color)=0'],['../structduDebugDraw.html#a711146a2e4be2ef9e0d6de7be8c714bc',1,'duDebugDraw::vertex(const float *pos, unsigned int color, const float *uv)=0'],['../structduDebugDraw.html#a0f76c61eb9f274f17c91308c739211eb',1,'duDebugDraw::vertex(const float x, const float y, const float z, unsigned int color, const float u, const float v)=0'],['../classduDisplayList.html#af724f7566b2c1c2c09453dc064c6eecf',1,'duDisplayList::vertex(const float x, const float y, const float z, unsigned int color)'],['../classduDisplayList.html#ab4aa562f713485769b68d1989c6e1ec4',1,'duDisplayList::vertex(const float *pos, unsigned int color)'],['../classDebugDrawGL.html#a5c44e91d886860827e4131cea9b03181',1,'DebugDrawGL::vertex(const float *pos, unsigned int color)'],['../classDebugDrawGL.html#a231dbb0906f35a3a3e782ddc04bd2365',1,'DebugDrawGL::vertex(const float x, const float y, const float z, unsigned int color)'],['../classDebugDrawGL.html#a25db0b2def0f18e5f3c87ce50847ed4f',1,'DebugDrawGL::vertex(const float *pos, unsigned int color, const float *uv)']]], + ['vertex_5fbucket_5fcount_1746',['VERTEX_BUCKET_COUNT',['../RecastMesh_8cpp.html#a3a4e01616a89d8ef01154d9dd46e0ccc',1,'RecastMesh.cpp']]], + ['vertex_5fbucket_5fcount2_1747',['VERTEX_BUCKET_COUNT2',['../DetourTileCacheBuilder_8cpp.html#a4d8910a63cb8f59faec2f3686b365ddb',1,'DetourTileCacheBuilder.cpp']]], + ['verts_1748',['verts',['../structdtMeshTile.html#abee62e6320aff3e2d0cdce239ec2c549',1,'dtMeshTile::verts()'],['../structdtPoly.html#acff94eb19526d33ef3c966b583d1d73f',1,'dtPoly::verts()'],['../structConvexVolume.html#a75b3e7db1ed82a5bd44a495e17ee2e50',1,'ConvexVolume::verts()'],['../structrcPolyMeshDetail.html#a14af552d094aa71551d296f278861806',1,'rcPolyMeshDetail::verts()'],['../structrcPolyMesh.html#ac8cdf528edb57061e975eae22d45c4b7',1,'rcPolyMesh::verts()'],['../structrcContour.html#a71a33a9ba0930586b0c8ba595267d9da',1,'rcContour::verts()'],['../structdtTempContour.html#ac8a3ec52b5e3667c91bfe38ec94d6699',1,'dtTempContour::verts()'],['../structdtTileCachePolyMesh.html#af501feeccdf8389bd7acc47e93984077',1,'dtTileCachePolyMesh::verts()'],['../structdtTileCacheContour.html#a63c3ebf5aec913e13ab12ce7f0cd1daa',1,'dtTileCacheContour::verts()'],['../structdtNavMeshCreateParams.html#a000f1bbb0fbc2dbd9d34e73bcb50ae3f',1,'dtNavMeshCreateParams::verts()']]], + ['vertsperpoly_1749',['vertsPerPoly',['../structBuildSettings.html#a84a1f04954895d4e378f7525266e0cdf',1,'BuildSettings']]], + ['visited_1750',['visited',['../structrcRegion.html#a59b8c8837159f85c1b8f7818976d26ae',1,'rcRegion']]], + ['vmax_1751',['vmax',['../structGraphParams.html#ad6c9f564ebd71765bfd0da26e20549b9',1,'GraphParams']]], + ['vmin_1752',['vmin',['../structGraphParams.html#a97a2e4045e8fef4ec319b1430892254b',1,'GraphParams']]], + ['vnormalize_1753',['vnormalize',['../DebugDraw_8cpp.html#a484d2a62675fb9c02e36ebd5ae9a1409',1,'DebugDraw.cpp']]], + ['vod_1754',['vod',['../structdtCrowdAgentDebugInfo.html#a64bc1afde8e9f8e1f3f42397fde21329',1,'dtCrowdAgentDebugInfo']]], + ['vperpxz_1755',['vperpXZ',['../DetourCommon_8cpp.html#a8c5563632125a8e436ed0dff027370d4',1,'DetourCommon.cpp']]], + ['vsub_1756',['vsub',['../DebugDraw_8cpp.html#a5d1da618860cf741dca5e79581948dc2',1,'DebugDraw.cpp']]] +]; diff --git a/search/all_14.html b/search/all_14.html new file mode 100644 index 00000000..afecf563 --- /dev/null +++ b/search/all_14.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_14.js b/search/all_14.js new file mode 100644 index 00000000..cf43de15 --- /dev/null +++ b/search/all_14.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['w_1757',['w',['../structGraphParams.html#afec1e47c45ff952475f1d2bcae60ba72',1,'GraphParams::w()'],['../structimguiGfxRect.html#aec658995a4c5a20fb2a61abdd98d18b0',1,'imguiGfxRect::w()']]], + ['walkableclimb_1758',['walkableClimb',['../structdtMeshHeader.html#abd05a74e3a83474d0073118059f11273',1,'dtMeshHeader::walkableClimb()'],['../structdtNavMeshCreateParams.html#a2ccf071ca70fe5566ddd2f214bac7779',1,'dtNavMeshCreateParams::walkableClimb()'],['../structdtTileCacheParams.html#a9d83b6704bebc30682a1f2e97d09d1fc',1,'dtTileCacheParams::walkableClimb()'],['../structrcConfig.html#a9b6bbabb4857e3f4bf4428af86ee7673',1,'rcConfig::walkableClimb()'],['../structrcCompactHeightfield.html#ae403555331ef3d2624ca9433226bd683',1,'rcCompactHeightfield::walkableClimb()']]], + ['walkableheight_1759',['walkableHeight',['../structrcConfig.html#a2483649686584b9d696ac00b968dedaa',1,'rcConfig::walkableHeight()'],['../structrcCompactHeightfield.html#a04baed5c41b0e19e525e3136b138dc1a',1,'rcCompactHeightfield::walkableHeight()'],['../structdtTileCacheParams.html#ab9a8b82edf527b2396f778a8b4121f88',1,'dtTileCacheParams::walkableHeight()'],['../structdtNavMeshCreateParams.html#a1d7c8d3ae651371b0ce5acbc19f9221e',1,'dtNavMeshCreateParams::walkableHeight()'],['../structdtMeshHeader.html#a841dd28baa87ecf4a67868d44d212349',1,'dtMeshHeader::walkableHeight()']]], + ['walkableradius_1760',['walkableRadius',['../structdtMeshHeader.html#af46713cd7140c9cea829730c246e146d',1,'dtMeshHeader::walkableRadius()'],['../structdtNavMeshCreateParams.html#a5c467f6297663e0ed82c49d768bc3b12',1,'dtNavMeshCreateParams::walkableRadius()'],['../structdtTileCacheParams.html#ae2c266df6a6a9feb25c3ab7d6aff2616',1,'dtTileCacheParams::walkableRadius()'],['../structrcConfig.html#a57a961a919d76559d6124d60ddf73864',1,'rcConfig::walkableRadius()']]], + ['walkableslopeangle_1761',['walkableSlopeAngle',['../structrcConfig.html#a689373b55bb5fab1d3284b716e972fe0',1,'rcConfig']]], + ['walkcontour_1762',['walkContour',['../RecastRegion_8cpp.html#ad83298fca0661c495cf8316ffac5dd3c',1,'walkContour(int x, int y, int i, int dir, rcCompactHeightfield &chf, const unsigned short *srcReg, rcIntArray &cont): RecastRegion.cpp'],['../RecastContour_8cpp.html#a5f3ae9ba0be2db4fd93a7a6e01326c05',1,'walkContour(int x, int y, int i, rcCompactHeightfield &chf, unsigned char *flags, rcIntArray &points): RecastContour.cpp'],['../DetourTileCacheBuilder_8cpp.html#a45f592986513acd34a53381dc61c8340',1,'walkContour(dtTileCacheLayer &layer, int x, int y, dtTempContour &cont): DetourTileCacheBuilder.cpp']]], + ['weightcurvel_1763',['weightCurVel',['../structdtObstacleAvoidanceParams.html#af7ec3edc6cae60dd41cc8df169b3ae63',1,'dtObstacleAvoidanceParams']]], + ['weightdesvel_1764',['weightDesVel',['../structdtObstacleAvoidanceParams.html#a5d409ac4b0ab128139caf586f130d079',1,'dtObstacleAvoidanceParams']]], + ['weightside_1765',['weightSide',['../structdtObstacleAvoidanceParams.html#a310499f03a1697ab7c32db9565bf8329',1,'dtObstacleAvoidanceParams']]], + ['weighttoi_1766',['weightToi',['../structdtObstacleAvoidanceParams.html#a7cfb9d5a8b8a3358e95755bd81811c26',1,'dtObstacleAvoidanceParams']]], + ['wentactive_1767',['wentActive',['../structGuiState.html#a781a53ecc27ed89de4b0a425a5452792',1,'GuiState']]], + ['widgetid_1768',['widgetId',['../structGuiState.html#adbb0ec177af2c0beaf4471339952d522',1,'GuiState']]], + ['widgetw_1769',['widgetW',['../structGuiState.html#a41ad9753307581846e18f4c412c65044',1,'GuiState']]], + ['widgetx_1770',['widgetX',['../structGuiState.html#ae5e5321a872b52b30c9582b74d6a45ea',1,'GuiState']]], + ['widgety_1771',['widgetY',['../structGuiState.html#ae30e4fb22d16fa188b02b4ae41c6691b',1,'GuiState']]], + ['width_1772',['width',['../structdtTileCacheParams.html#a0028aaae0c422f2191be3f5f44a06c02',1,'dtTileCacheParams::width()'],['../structdtTileCacheLayerHeader.html#a967e7b1b310ae0a5a90168727c146f4c',1,'dtTileCacheLayerHeader::width()'],['../structrcConfig.html#aa870882b1addeb37535185740838eb32',1,'rcConfig::width()'],['../structrcHeightfield.html#a9dd6e386c167f1537e3c7638f6b9a752',1,'rcHeightfield::width()'],['../structrcCompactHeightfield.html#a98868c1df2523cd724696ed1d223ba13',1,'rcCompactHeightfield::width()'],['../structrcHeightfieldLayer.html#a6904f7a9539c4a5f88c2f134ac7b8649',1,'rcHeightfieldLayer::width()'],['../structrcContourSet.html#af165415f9e2ef3cf446786040864e6d2',1,'rcContourSet::width()'],['../structrcHeightPatch.html#ab26096449132f591083d5355b88953f8',1,'rcHeightPatch::width()']]], + ['write_1773',['write',['../structduFileIO.html#aec33f1c0d1d0d1ec464fc1a5c135cb00',1,'duFileIO::write()'],['../classFileIO.html#aa2ff5f1db6c224a0fa15f3b039a6009d',1,'FileIO::write()']]] +]; diff --git a/search/all_15.html b/search/all_15.html new file mode 100644 index 00000000..69f382b3 --- /dev/null +++ b/search/all_15.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_15.js b/search/all_15.js new file mode 100644 index 00000000..6a680c6b --- /dev/null +++ b/search/all_15.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['x_1774',['x',['../structdtMeshHeader.html#ae577ca0c9fba95254b699a51483e374c',1,'dtMeshHeader::x()'],['../structimguiGfxRect.html#ab702cb223baf33e949741d5bbc8778dd',1,'imguiGfxRect::x()'],['../structimguiGfxText.html#ad7bf3cc0e24e63d997c335b7a5e15d25',1,'imguiGfxText::x()'],['../structGraphParams.html#ace7d34643e947127db99c65dbbff03e1',1,'GraphParams::x()']]], + ['x0_1775',['x0',['../structimguiGfxLine.html#a77dee23b2e6f3582591b197b157276b4',1,'imguiGfxLine']]], + ['x1_1776',['x1',['../structimguiGfxLine.html#ae3ced14f8ccc697421abfbb8c45a8b9b',1,'imguiGfxLine']]], + ['xmin_1777',['xmin',['../structrcHeightPatch.html#ac8af7bf8fa73d87c84ba155fd48be28a',1,'rcHeightPatch']]], + ['xorb_1778',['xorb',['../DetourTileCacheBuilder_8cpp.html#a82c11ae489473adcaa21b9944f3553fd',1,'xorb(bool x, bool y): DetourTileCacheBuilder.cpp'],['../RecastContour_8cpp.html#a82c11ae489473adcaa21b9944f3553fd',1,'xorb(bool x, bool y): RecastContour.cpp'],['../RecastMesh_8cpp.html#a82c11ae489473adcaa21b9944f3553fd',1,'xorb(bool x, bool y): RecastMesh.cpp']]] +]; diff --git a/search/all_16.html b/search/all_16.html new file mode 100644 index 00000000..b19867ad --- /dev/null +++ b/search/all_16.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_16.js b/search/all_16.js new file mode 100644 index 00000000..184beda2 --- /dev/null +++ b/search/all_16.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['y_1779',['y',['../structdtMeshHeader.html#a9969f562faa5990fec5ff27c9d2b50b9',1,'dtMeshHeader::y()'],['../structrcCompactSpan.html#a51e8cdcf30408a3f84da22c4d2623b68',1,'rcCompactSpan::y()'],['../structimguiGfxRect.html#a4e555e92963a7972428af94ebc560285',1,'imguiGfxRect::y()'],['../structimguiGfxText.html#ad760b02492ffb7f9a1e8a5dcef9d9ba5',1,'imguiGfxText::y()'],['../structGraphParams.html#af6b3d7848eb8ef348b636f15cd33bd12',1,'GraphParams::y()']]], + ['y0_1780',['y0',['../structimguiGfxLine.html#a1d5c294bc5a64a07ee855c4be3487f7a',1,'imguiGfxLine']]], + ['y1_1781',['y1',['../structimguiGfxLine.html#aa7f7bd3941ff8fd8014f119b0a123193',1,'imguiGfxLine']]], + ['ymax_1782',['ymax',['../structrcLayerRegion.html#ac62ab3eceaca8cb92f3b72c9ef697bb4',1,'rcLayerRegion::ymax()'],['../structrcRegion.html#a84ec21b2fef6d82817283727f295f14e',1,'rcRegion::ymax()']]], + ['ymin_1783',['ymin',['../structrcLayerRegion.html#a5d6ec3a8040c16fd837ea4e06264044c',1,'rcLayerRegion::ymin()'],['../structrcHeightPatch.html#addd346c10b03e29029ffe5c520e8f66f',1,'rcHeightPatch::ymin()'],['../structrcRegion.html#a058cf62973ff65b0d277724ed7cde9a8',1,'rcRegion::ymin()']]] +]; diff --git a/search/all_17.html b/search/all_17.html new file mode 100644 index 00000000..1ad5d34b --- /dev/null +++ b/search/all_17.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_17.js b/search/all_17.js new file mode 100644 index 00000000..286106a0 --- /dev/null +++ b/search/all_17.js @@ -0,0 +1,60 @@ +var searchData= +[ + ['_7ecrowdtoolstate_1784',['~CrowdToolState',['../classCrowdToolState.html#a565655ca9441a3df105c266743937f8b',1,'CrowdToolState']]], + ['_7edtcollectpolysquery_1785',['~dtCollectPolysQuery',['../classdtCollectPolysQuery.html#a30a6baa977d507b2c6f0148a770655b8',1,'dtCollectPolysQuery']]], + ['_7edtcrowd_1786',['~dtCrowd',['../classdtCrowd.html#a9a6817150b328d1646e58713cef9d9b4',1,'dtCrowd']]], + ['_7edtfindnearestpolyquery_1787',['~dtFindNearestPolyQuery',['../classdtFindNearestPolyQuery.html#a0f3122a8f4d6151eb628453b3e99d74c',1,'dtFindNearestPolyQuery']]], + ['_7edtfixedarray_1788',['~dtFixedArray',['../classdtFixedArray.html#a4200a27ea1af879c1f0b19de8d289e8a',1,'dtFixedArray']]], + ['_7edtlocalboundary_1789',['~dtLocalBoundary',['../classdtLocalBoundary.html#a902dbd1ea5d8c1981b36b1ee5dac70c8',1,'dtLocalBoundary']]], + ['_7edtnavmesh_1790',['~dtNavMesh',['../classdtNavMesh.html#a08ff0da5bc8c2d01d26535f67d0f4726',1,'dtNavMesh']]], + ['_7edtnavmeshquery_1791',['~dtNavMeshQuery',['../classdtNavMeshQuery.html#a157a41114dab708dabb05eebe8dc07a2',1,'dtNavMeshQuery']]], + ['_7edtnodepool_1792',['~dtNodePool',['../classdtNodePool.html#acd74c85e290d5b7bcd1f9c44905a0f74',1,'dtNodePool']]], + ['_7edtnodequeue_1793',['~dtNodeQueue',['../classdtNodeQueue.html#a836fbfbac11e06eeadd76919a9bba943',1,'dtNodeQueue']]], + ['_7edtobstacleavoidancedebugdata_1794',['~dtObstacleAvoidanceDebugData',['../classdtObstacleAvoidanceDebugData.html#ad8b6bd04b9c0a8798a75d83671f74859',1,'dtObstacleAvoidanceDebugData']]], + ['_7edtobstacleavoidancequery_1795',['~dtObstacleAvoidanceQuery',['../classdtObstacleAvoidanceQuery.html#a56a81340e58ae836f32c802ab3531772',1,'dtObstacleAvoidanceQuery']]], + ['_7edtpathcorridor_1796',['~dtPathCorridor',['../classdtPathCorridor.html#a10dc98697fb9f6e60063ab49a41c391b',1,'dtPathCorridor']]], + ['_7edtpathqueue_1797',['~dtPathQueue',['../classdtPathQueue.html#a3aed72cee418c920b5fbdc247845dae3',1,'dtPathQueue']]], + ['_7edtpolyquery_1798',['~dtPolyQuery',['../classdtPolyQuery.html#a9ad241119b015028dc392b33b1b32d68',1,'dtPolyQuery']]], + ['_7edtproximitygrid_1799',['~dtProximityGrid',['../classdtProximityGrid.html#a7a68e3c6d5cd84034777c9dd0bc4a937',1,'dtProximityGrid']]], + ['_7edttilecache_1800',['~dtTileCache',['../classdtTileCache.html#abaad84f534e7b782352d5da36a9066dc',1,'dtTileCache']]], + ['_7edttilecachealloc_1801',['~dtTileCacheAlloc',['../structdtTileCacheAlloc.html#a8507c465095ee62fed991ba5a3781c0c',1,'dtTileCacheAlloc']]], + ['_7edttilecachecompressor_1802',['~dtTileCacheCompressor',['../structdtTileCacheCompressor.html#a6db6bd0ea893262196f91d1c5368e655',1,'dtTileCacheCompressor']]], + ['_7edttilecachemeshprocess_1803',['~dtTileCacheMeshProcess',['../structdtTileCacheMeshProcess.html#a4e9d0eaaad8e15203156cd550802efff',1,'dtTileCacheMeshProcess']]], + ['_7edudebugdraw_1804',['~duDebugDraw',['../structduDebugDraw.html#af7942595befad5dab1372d8c8b2c2ec1',1,'duDebugDraw']]], + ['_7edudisplaylist_1805',['~duDisplayList',['../classduDisplayList.html#a5d1cabc63c46e0850927830b9b99db1c',1,'duDisplayList']]], + ['_7edufileio_1806',['~duFileIO',['../structduFileIO.html#afab2836e1a3b9909bebe00e9ab81aae8',1,'duFileIO']]], + ['_7efastlzcompressor_1807',['~FastLZCompressor',['../structFastLZCompressor.html#a884d23606adb0674c0b0b124b4ffe28f',1,'FastLZCompressor']]], + ['_7efileio_1808',['~FileIO',['../classFileIO.html#adc3caa8f1e5d76274d8ffb8b5c17288b',1,'FileIO']]], + ['_7eglcheckertexture_1809',['~GLCheckerTexture',['../classGLCheckerTexture.html#ac9c4e61e9010f42ba1739e81ee2e7403',1,'GLCheckerTexture']]], + ['_7einputgeom_1810',['~InputGeom',['../classInputGeom.html#ad3d91321af5be5aafb797fb3045669bd',1,'InputGeom']]], + ['_7elinearallocator_1811',['~LinearAllocator',['../structLinearAllocator.html#a2a9dbeeec28bfd75d74cc66ffee80296',1,'LinearAllocator']]], + ['_7emeshprocess_1812',['~MeshProcess',['../structMeshProcess.html#a984188b70d20532c8f7230fffb6e61eb',1,'MeshProcess']]], + ['_7enavmeshflags_1813',['~NavmeshFlags',['../classNavmeshFlags.html#a52ff37440c3fe6adfb1621446bc2609f',1,'NavmeshFlags']]], + ['_7enavmeshprunetool_1814',['~NavMeshPruneTool',['../classNavMeshPruneTool.html#a65f0cbf67052f748e96523ed02627eee',1,'NavMeshPruneTool']]], + ['_7enavmeshtilebuildcontext_1815',['~NavMeshTileBuildContext',['../structNavMeshTileBuildContext.html#a4a1734772cf543deb500738ebc457119',1,'NavMeshTileBuildContext']]], + ['_7enavmeshtiletool_1816',['~NavMeshTileTool',['../classNavMeshTileTool.html#a203fa6ab349cd24f1366b6d0aa837a0e',1,'NavMeshTileTool']]], + ['_7eoffmeshconnectiontool_1817',['~OffMeshConnectionTool',['../classOffMeshConnectionTool.html#acc9087666ede6f98badc4da256d52772',1,'OffMeshConnectionTool']]], + ['_7erasterizationcontext_1818',['~RasterizationContext',['../structRasterizationContext.html#ac18e6bedcb3955f81484732ee8908431',1,'RasterizationContext']]], + ['_7ercchunkytrimesh_1819',['~rcChunkyTriMesh',['../structrcChunkyTriMesh.html#abd0bad171797ff8785f0483fc95e260f',1,'rcChunkyTriMesh']]], + ['_7erccompactheightfield_1820',['~rcCompactHeightfield',['../structrcCompactHeightfield.html#aea6121b36d3fb1cab5955a7915c68809',1,'rcCompactHeightfield']]], + ['_7erccontext_1821',['~rcContext',['../classrcContext.html#a02204e324a8ebcf81f489681e80bc61c',1,'rcContext']]], + ['_7erccontourset_1822',['~rcContourSet',['../structrcContourSet.html#ab94de9c515eac08480d33cadc50a5a2b',1,'rcContourSet']]], + ['_7ercheightfield_1823',['~rcHeightfield',['../structrcHeightfield.html#aa8ba94f263c970d09881d362c0a1b38a',1,'rcHeightfield']]], + ['_7ercheightfieldlayerset_1824',['~rcHeightfieldLayerSet',['../structrcHeightfieldLayerSet.html#ac54454771247c643b7978a347051a523',1,'rcHeightfieldLayerSet']]], + ['_7ercheightpatch_1825',['~rcHeightPatch',['../structrcHeightPatch.html#aa25fe10c0b9b186192c1fd8b741e6b96',1,'rcHeightPatch']]], + ['_7ercmeshloaderobj_1826',['~rcMeshLoaderObj',['../classrcMeshLoaderObj.html#a59613496cecd295f9b8346d985d41aff',1,'rcMeshLoaderObj']]], + ['_7ercpolymesh_1827',['~rcPolyMesh',['../structrcPolyMesh.html#a414a3bc052e13abf77d731da160823d4',1,'rcPolyMesh']]], + ['_7ercscopeddelete_1828',['~rcScopedDelete',['../classrcScopedDelete.html#a694ef36a44d1ccac8fd3fb255d7cf9bd',1,'rcScopedDelete']]], + ['_7ercscopedtimer_1829',['~rcScopedTimer',['../classrcScopedTimer.html#a3e1e6f826e8081e67f23cd6c35653b6e',1,'rcScopedTimer']]], + ['_7ercvectorbase_1830',['~rcVectorBase',['../classrcVectorBase.html#a8efb26bcc33ee441869bc1b7cf850171',1,'rcVectorBase']]], + ['_7esample_1831',['~Sample',['../classSample.html#aea8a48c34d94596f6affbbd28938fb2c',1,'Sample']]], + ['_7esample_5fdebug_1832',['~Sample_Debug',['../classSample__Debug.html#a1d922a079270ceae17667276c6372c51',1,'Sample_Debug']]], + ['_7esample_5fsolomesh_1833',['~Sample_SoloMesh',['../classSample__SoloMesh.html#a8b7895596e5ce8977b5727023a39573d',1,'Sample_SoloMesh']]], + ['_7esample_5ftempobstacles_1834',['~Sample_TempObstacles',['../classSample__TempObstacles.html#a2d3988c2615ecb2dae62d6df5522ba1d',1,'Sample_TempObstacles']]], + ['_7esample_5ftilemesh_1835',['~Sample_TileMesh',['../classSample__TileMesh.html#aa115c16452e67c9c47a272d6127c984e',1,'Sample_TileMesh']]], + ['_7esampletool_1836',['~SampleTool',['../structSampleTool.html#a8b20d1398881252989cbfeeff1a5f2f3',1,'SampleTool']]], + ['_7esampletoolstate_1837',['~SampleToolState',['../structSampleToolState.html#a1e263aeadeff1cd905d552fe28eeb32b',1,'SampleToolState']]], + ['_7etempobstaclecreatetool_1838',['~TempObstacleCreateTool',['../classTempObstacleCreateTool.html#a8c2fa24e7c9d71e6cb90f32b61d9ae77',1,'TempObstacleCreateTool']]], + ['_7etempobstaclehilighttool_1839',['~TempObstacleHilightTool',['../classTempObstacleHilightTool.html#af0475ec4f0d02355ea68a78edd39b10b',1,'TempObstacleHilightTool']]], + ['_7etestcase_1840',['~TestCase',['../classTestCase.html#ae4684f6b106fa323a61dd13be03d7919',1,'TestCase']]] +]; diff --git a/search/all_2.html b/search/all_2.html new file mode 100644 index 00000000..02cfffc2 --- /dev/null +++ b/search/all_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_2.js b/search/all_2.js new file mode 100644 index 00000000..e6dd092d --- /dev/null +++ b/search/all_2.js @@ -0,0 +1,101 @@ +var searchData= +[ + ['cacheparams_83',['cacheParams',['../structTileCacheSetHeader.html#abc363573908ea46bed77e3b0f94e0325',1,'TileCacheSetHeader']]], + ['calcareaofpolygon2d_84',['calcAreaOfPolygon2D',['../RecastContour_8cpp.html#a538aea06d768e3c175b9b8e47f254b52',1,'RecastContour.cpp']]], + ['calcextends_85',['calcExtends',['../DetourNavMeshBuilder_8cpp.html#a67e97cee06fddfdd0a3eb43661b44637',1,'calcExtends(BVItem *items, const int, const int imin, const int imax, unsigned short *bmin, unsigned short *bmax): DetourNavMeshBuilder.cpp'],['../ChunkyTriMesh_8cpp.html#ab9e1d32b348378cc47d69088c6c2578b',1,'calcExtends(const BoundsItem *items, const int, const int imin, const int imax, float *bmin, float *bmax): ChunkyTriMesh.cpp']]], + ['calclayerbuffersize_86',['calcLayerBufferSize',['../Sample__TempObstacles_8cpp.html#a4298a24291a2d5201ff7a2b1cbfcf56d',1,'Sample_TempObstacles.cpp']]], + ['calcslabendpoints_87',['calcSlabEndPoints',['../DetourNavMesh_8cpp.html#a80261651de8c5a4a2798b3d64fcb73bb',1,'DetourNavMesh.cpp']]], + ['calcsmoothsteerdirection_88',['calcSmoothSteerDirection',['../DetourCrowd_8cpp.html#abfe93834630c322a9a508de9c9a1bbb8',1,'DetourCrowd.cpp']]], + ['calcstraightsteerdirection_89',['calcStraightSteerDirection',['../DetourCrowd_8cpp.html#a13aa5147e130f02757fc14ad317d5dff',1,'DetourCrowd.cpp']]], + ['calctighttilebounds_90',['calcTightTileBounds',['../classdtTileCache.html#ac3e71498a991117139f007f53ce0a822',1,'dtTileCache']]], + ['calctileloc_91',['calcTileLoc',['../classdtNavMesh.html#a609d55c59062910ff645dbbd4c72fed1',1,'dtNavMesh']]], + ['calctrinormal_92',['calcTriNormal',['../Recast_8cpp.html#a60b906db15ec95753e2c46d85ac1f5a7',1,'Recast.cpp']]], + ['calculatedistancefield_93',['calculateDistanceField',['../RecastRegion_8cpp.html#af63d2a9505ebfbbf63efc02531af5153',1,'RecastRegion.cpp']]], + ['calcvel_94',['calcVel',['../CrowdTool_8cpp.html#a42d0c4968b7a64410b32b8a6bf0559fd',1,'CrowdTool.cpp']]], + ['canmerge_95',['canMerge',['../DetourTileCacheBuilder_8cpp.html#a4ccf7916570765c946d2365b933aade5',1,'DetourTileCacheBuilder.cpp']]], + ['canmergewithregion_96',['canMergeWithRegion',['../RecastRegion_8cpp.html#a9b19ff33ed5153482d1b80b285209e54',1,'RecastRegion.cpp']]], + ['canremovevertex_97',['canRemoveVertex',['../RecastMesh_8cpp.html#a837800b7a34e1106d7ad287b8cb7fc33',1,'canRemoveVertex(rcContext *ctx, rcPolyMesh &mesh, const unsigned short rem): RecastMesh.cpp'],['../DetourTileCacheBuilder_8cpp.html#a79d489bfce99f1637549fdf8223a5352',1,'canRemoveVertex(dtTileCachePolyMesh &mesh, const unsigned short rem): DetourTileCacheBuilder.cpp']]], + ['capacity_98',['capacity',['../structLinearAllocator.html#a8cb5d425605fe6284b00f353e30291c4',1,'LinearAllocator::capacity()'],['../classrcVectorBase.html#a44e70e9744a1c6e3dcaab2a89a7a2c65',1,'rcVectorBase::capacity()']]], + ['cellheight_99',['cellHeight',['../structBuildSettings.html#acb225540c7c5af7a1f7b69818594e2c1',1,'BuildSettings']]], + ['cells_100',['cells',['../structrcCompactHeightfield.html#ab497c9a9f6e0f1b8882fada13ce880a5',1,'rcCompactHeightfield']]], + ['cellsize_101',['cellSize',['../structBuildSettings.html#aa0ba3ebfa84413cb718ea2c5f5d22baf',1,'BuildSettings']]], + ['center_102',['center',['../structdtObstacleOrientedBox.html#a8cad84afa4b3beb3cfd482309ea9f913',1,'dtObstacleOrientedBox']]], + ['ch_103',['ch',['../structdtTileCacheParams.html#a366560e2dd03f2d8a2ceaf9b08cc7578',1,'dtTileCacheParams::ch()'],['../structrcPolyMesh.html#aa1ba795ddbb893da041b2a5273716ac5',1,'rcPolyMesh::ch()'],['../structrcContourSet.html#ada4d5c2916f351065c6f5a382f087ebc',1,'rcContourSet::ch()'],['../structrcCompactHeightfield.html#a39baf56bf3baf2b026aae0a309facaf4',1,'rcCompactHeightfield::ch()'],['../structrcHeightfield.html#a23488349cb552d5410e29d089234effc',1,'rcHeightfield::ch()'],['../structrcHeightfieldLayer.html#a4e3df2893e1773e801e6f41d077715d6',1,'rcHeightfieldLayer::ch()'],['../structdtNavMeshCreateParams.html#aabc87cedcd783bdd16b8b4377fdb8ccf',1,'dtNavMeshCreateParams::ch()'],['../structrcConfig.html#acdde0dfdbb39611966ece78ef473d861',1,'rcConfig::ch()']]], + ['check_5fsize_104',['CHECK_SIZE',['../imgui_8cpp.html#a9a4e4d92b84c20d87d22cd139b0781d9',1,'imgui.cpp']]], + ['checkoverlaprect_105',['checkOverlapRect',['../ChunkyTriMesh_8cpp.html#a488658425e021197b682d2ff039ed0d5',1,'ChunkyTriMesh.cpp']]], + ['checkoverlapsegment_106',['checkOverlapSegment',['../ChunkyTriMesh_8cpp.html#a9a85b2fd169892112b16a277c6a59ced',1,'ChunkyTriMesh.cpp']]], + ['chf_107',['chf',['../structRasterizationContext.html#a2a98a22419a616072ec865a83a167b19',1,'RasterizationContext']]], + ['chf_5fmagic_108',['CHF_MAGIC',['../RecastDump_8cpp.html#af5311bee0fd48670a0f14539c1f8b24c',1,'RecastDump.cpp']]], + ['chf_5fversion_109',['CHF_VERSION',['../RecastDump_8cpp.html#a8f954aa8135b2c9f2ae8fd2bd8529398',1,'RecastDump.cpp']]], + ['chunkytrimesh_2ecpp_110',['ChunkyTriMesh.cpp',['../ChunkyTriMesh_8cpp.html',1,'']]], + ['chunkytrimesh_2eh_111',['ChunkyTriMesh.h',['../ChunkyTriMesh_8h.html',1,'']]], + ['circle_5fverts_112',['CIRCLE_VERTS',['../imguiRenderGL_8cpp.html#a27fc87775d88c51445a4dd1b7e67d513',1,'imguiRenderGL.cpp']]], + ['circumcircle_113',['circumCircle',['../RecastMeshDetail_8cpp.html#a22704fbc4ce6a6d0aa11821bc4684f22',1,'RecastMeshDetail.cpp']]], + ['classifyoffmeshpoint_114',['classifyOffMeshPoint',['../DetourNavMeshBuilder_8cpp.html#a9a7e6003820face64f333c968b5c0cdb',1,'DetourNavMeshBuilder.cpp']]], + ['cleanup_115',['cleanup',['../classSample__TileMesh.html#ac0e18dc57eb1a972815125845e40e464',1,'Sample_TileMesh::cleanup()'],['../classSample__SoloMesh.html#afede15e3275e57b471fe72d26957d1b8',1,'Sample_SoloMesh::cleanup()']]], + ['clear_116',['clear',['../classrcVectorBase.html#ac46ddcef1d2b88f2632debbb7e28474b',1,'rcVectorBase::clear()'],['../classrcIntArray.html#a1e0b5e96e9aa5bc5e69b4952dd962292',1,'rcIntArray::clear()'],['../classdtProximityGrid.html#abfbfdb91797c4414d1201d761d9c1a94',1,'dtProximityGrid::clear()'],['../classdtNodeQueue.html#aa0f83a0d1f38b0b97fb549d1372c8be7',1,'dtNodeQueue::clear()'],['../classdtNodePool.html#a4341af64b1f043b2775b7f1abae34d7b',1,'dtNodePool::clear()'],['../classduDisplayList.html#a5a6da38566e95882f4b63c0d765b2cc3',1,'duDisplayList::clear()']]], + ['clearactive_117',['clearActive',['../imgui_8cpp.html#a323f894b86639f571ec7e44fb20fbfea',1,'imgui.cpp']]], + ['clearallflags_118',['clearAllFlags',['../classNavmeshFlags.html#ad9df0c288de9a604e5bc92aa7a7ce984',1,'NavmeshFlags']]], + ['clearalltempobstacles_119',['clearAllTempObstacles',['../classSample__TempObstacles.html#a92354fa33e4ace58607b08c49c190a82',1,'Sample_TempObstacles']]], + ['clearinput_120',['clearInput',['../imgui_8cpp.html#a5d555657ce648c1a47abb70f1029589d',1,'imgui.cpp']]], + ['closestpointonpoly_121',['closestPointOnPoly',['../classdtNavMeshQuery.html#a07a90efe5d1a2b4b530aa236370574d9',1,'dtNavMeshQuery']]], + ['closestpointonpolyboundary_122',['closestPointOnPolyBoundary',['../classdtNavMeshQuery.html#aa53b9573e61eda951213ea9e4354e744',1,'dtNavMeshQuery']]], + ['cmppt_123',['cmppt',['../ConvexVolumeTool_8cpp.html#a9c7eafbf2dc4bd6e44f709540181f6fe',1,'ConvexVolumeTool.cpp']]], + ['col_124',['col',['../structimguiGfxCmd.html#a79777935f7150173eba508835942bb42',1,'imguiGfxCmd']]], + ['collectsettings_125',['collectSettings',['../classSample__TileMesh.html#a9b5c5cbdc80862c4d8bcd7798ae4b645',1,'Sample_TileMesh::collectSettings()'],['../classSample.html#aaa6103a46cc7a3853012c5743b41de01',1,'Sample::collectSettings()']]], + ['collinear_126',['collinear',['../RecastMesh_8cpp.html#adbc7fb647489ff66ceda06839a1c4487',1,'collinear(const int *a, const int *b, const int *c): RecastMesh.cpp'],['../RecastContour_8cpp.html#adbc7fb647489ff66ceda06839a1c4487',1,'collinear(const int *a, const int *b, const int *c): RecastContour.cpp'],['../DetourTileCacheBuilder_8cpp.html#abb42cfd869a798f46d97f9b6f8a7a3cd',1,'collinear(const unsigned char *a, const unsigned char *b, const unsigned char *c): DetourTileCacheBuilder.cpp']]], + ['collisionqueryrange_127',['collisionQueryRange',['../structdtCrowdAgentParams.html#a5e1c7373b02e2f926360e3d3130be068',1,'dtCrowdAgentParams']]], + ['comparediagdist_128',['compareDiagDist',['../RecastContour_8cpp.html#a68e26a981b0c0fbf9154b0bfd60316ff',1,'RecastContour.cpp']]], + ['compareholes_129',['compareHoles',['../RecastContour_8cpp.html#a3be71e84d68809762298558ccdd37028',1,'RecastContour.cpp']]], + ['compareitemx_130',['compareItemX',['../ChunkyTriMesh_8cpp.html#a1888720290d8beeb3162f90e197ff7b3',1,'compareItemX(const void *va, const void *vb): ChunkyTriMesh.cpp'],['../DetourNavMeshBuilder_8cpp.html#a1888720290d8beeb3162f90e197ff7b3',1,'compareItemX(const void *va, const void *vb): DetourNavMeshBuilder.cpp']]], + ['compareitemy_131',['compareItemY',['../ChunkyTriMesh_8cpp.html#ac4386676e18bfd480f6686981f10e595',1,'compareItemY(const void *va, const void *vb): ChunkyTriMesh.cpp'],['../DetourNavMeshBuilder_8cpp.html#ac4386676e18bfd480f6686981f10e595',1,'compareItemY(const void *va, const void *vb): DetourNavMeshBuilder.cpp']]], + ['compareitemz_132',['compareItemZ',['../DetourNavMeshBuilder_8cpp.html#a025ef8ddc40e9119efdb4dfa5ab3c1af',1,'DetourNavMeshBuilder.cpp']]], + ['completefacet_133',['completeFacet',['../RecastMeshDetail_8cpp.html#a96a6ec05a5889ccef86be9992f5631c2',1,'RecastMeshDetail.cpp']]], + ['compress_134',['compress',['../structFastLZCompressor.html#ade3bcdfdf37fed48284a4a4d89e2d804',1,'FastLZCompressor::compress()'],['../structdtTileCacheCompressor.html#ad117fb147426232344a3a1d83b572182',1,'dtTileCacheCompressor::compress()']]], + ['compressed_135',['compressed',['../structdtCompressedTile.html#a1dc4612b07c4fea0b4df5065345bec31',1,'dtCompressedTile']]], + ['compressedsize_136',['compressedSize',['../structdtCompressedTile.html#a27134afd3e266ece7c7465bf04f04b8d',1,'dtCompressedTile']]], + ['computetilehash_137',['computeTileHash',['../DetourNavMesh_8cpp.html#ab22aa4a9219f2568cb77b35fbc2d0f9b',1,'computeTileHash(int x, int y, const int mask): DetourNavMesh.cpp'],['../DetourTileCache_8cpp.html#ab22aa4a9219f2568cb77b35fbc2d0f9b',1,'computeTileHash(int x, int y, const int mask): DetourTileCache.cpp']]], + ['computevertexhash_138',['computeVertexHash',['../RecastMesh_8cpp.html#ada4ba8a9249ac90f3736b65f6de28e34',1,'RecastMesh.cpp']]], + ['computevertexhash2_139',['computeVertexHash2',['../DetourTileCacheBuilder_8cpp.html#a2198ce594280787ad201642656e4f73b',1,'DetourTileCacheBuilder.cpp']]], + ['con_140',['con',['../structrcCompactSpan.html#ac01d1dafd150efc71de4ee671edb8539',1,'rcCompactSpan']]], + ['connections_141',['connections',['../structrcRegion.html#ac6cbe80ad7da2858aa3f463079bc391e',1,'rcRegion']]], + ['connectstoborder_142',['connectsToBorder',['../structrcRegion.html#a4ddce7919ddb139fe21ac4c05b5c3f79',1,'rcRegion']]], + ['cons_143',['cons',['../structrcHeightfieldLayer.html#a48ca9f0db5708d03fe043e54bc515199',1,'rcHeightfieldLayer::cons()'],['../structdtTileCacheLayer.html#aa81a7e641ccfb8e00f0072efae4d74fd',1,'dtTileCacheLayer::cons()']]], + ['contains_144',['contains',['../RecastLayers_8cpp.html#a4bb3cae5fa2c81629762ccb89c6d136c',1,'contains(const unsigned char *a, const unsigned char an, const unsigned char v): RecastLayers.cpp'],['../DetourTileCache_8cpp.html#a4cb5c73a94227600c0ab6904dd2e7dbd',1,'contains(const dtCompressedTileRef *a, const int n, const dtCompressedTileRef v): DetourTileCache.cpp']]], + ['contour_145',['contour',['../structrcContourHole.html#a11fb23a6bba9ccc948b8779aa78f6b54',1,'rcContourHole']]], + ['contributing_20to_20recast_20and_20detour_146',['Contributing to Recast and Detour',['../md_CONTRIBUTING.html',1,'']]], + ['contributing_2emd_147',['CONTRIBUTING.md',['../CONTRIBUTING_8md.html',1,'']]], + ['conts_148',['conts',['../structdtTileCacheContourSet.html#a02af11366a4bb181741c45bfc3bf0172',1,'dtTileCacheContourSet::conts()'],['../structrcContourSet.html#ad737b7220701eeae5aa9c488d4d4f18d',1,'rcContourSet::conts()']]], + ['convexhull_149',['convexhull',['../ConvexVolumeTool_8cpp.html#a8c5d9876cd6cec34ee07abb195539ac9',1,'ConvexVolumeTool.cpp']]], + ['convexvolume_150',['ConvexVolume',['../structConvexVolume.html',1,'']]], + ['convexvolumetool_151',['ConvexVolumeTool',['../classConvexVolumeTool.html',1,'ConvexVolumeTool'],['../classConvexVolumeTool.html#a45d29f1ecd1ea648fee54ea1aa10b6c3',1,'ConvexVolumeTool::ConvexVolumeTool()']]], + ['convexvolumetool_2ecpp_152',['ConvexVolumeTool.cpp',['../ConvexVolumeTool_8cpp.html',1,'']]], + ['convexvolumetool_2eh_153',['ConvexVolumeTool.h',['../ConvexVolumeTool_8h.html',1,'']]], + ['copyname_154',['copyName',['../TestCase_8cpp.html#aa7f9a7a9c338992807552d44ffce013a',1,'TestCase.cpp']]], + ['cornerflags_155',['cornerFlags',['../structdtCrowdAgent.html#a0dbc76cfc32de7dfa2ddd72e8cbfd1a0',1,'dtCrowdAgent']]], + ['cornerpolys_156',['cornerPolys',['../structdtCrowdAgent.html#aa1e643c3106128708ca2c66535ac0bbd',1,'dtCrowdAgent']]], + ['cornerverts_157',['cornerVerts',['../structdtCrowdAgent.html#aa63798503ee7acead84e16ce73d21419',1,'dtCrowdAgent']]], + ['corridor_158',['corridor',['../structdtCrowdAgent.html#a65166bf21e82273168b4f6f4864044ef',1,'dtCrowdAgent']]], + ['cost_159',['cost',['../structdtNode.html#a253defdaa9ea8dbe9ea5991bcfb75b32',1,'dtNode']]], + ['count_160',['count',['../structrcCompactCell.html#a70bb509654a28a8c9d67bcb469d0b3ce',1,'rcCompactCell']]], + ['countpolyverts_161',['countPolyVerts',['../RecastMesh_8cpp.html#a5ae2b41c36fdf5c74e434c33d31dab95',1,'countPolyVerts(const unsigned short *p, const int nvp): RecastMesh.cpp'],['../DetourTileCacheBuilder_8cpp.html#a82b58c9d334362460a2f3b8b95376237',1,'countPolyVerts(const unsigned short *p): DetourTileCacheBuilder.cpp']]], + ['cpoly_162',['cpoly',['../structdtTempContour.html#a0d3c890707733eb165076c44202b9058',1,'dtTempContour']]], + ['create_163',['create',['../structSampleItem.html#a44ccc0676594f30f7c30e8c8b0fb053a',1,'SampleItem']]], + ['createbvtree_164',['createBVTree',['../DetourNavMeshBuilder_8cpp.html#a494edfa1ff65cd394f1d824b57df1781',1,'DetourNavMeshBuilder.cpp']]], + ['createdebug_165',['createDebug',['../main_8cpp.html#af4336c7a2c0e2345c02f74c70092c4ff',1,'main.cpp']]], + ['createsolo_166',['createSolo',['../main_8cpp.html#a241d5048537d6cfe972e82c3a6011828',1,'main.cpp']]], + ['createtempobstacle_167',['createTempObstacle',['../main_8cpp.html#a03a5b1a1ab5c4274dd911f3ff3844bea',1,'main.cpp']]], + ['createtile_168',['createTile',['../main_8cpp.html#a8ea952f8e0c040f95a23f5f8ce3e684f',1,'main.cpp']]], + ['crowd_169',['Crowd',['../group__crowd.html',1,'']]], + ['crowdagentstate_170',['CrowdAgentState',['../group__crowd.html#ga59bc9aa54705292d8f0f1ad9ca48ca82',1,'DetourCrowd.h']]], + ['crowdtool_171',['CrowdTool',['../classCrowdTool.html',1,'CrowdTool'],['../classCrowdTool.html#aa66d04ddef79672215f8702a2b063f3c',1,'CrowdTool::CrowdTool()']]], + ['crowdtool_2ecpp_172',['CrowdTool.cpp',['../CrowdTool_8cpp.html',1,'']]], + ['crowdtool_2eh_173',['CrowdTool.h',['../CrowdTool_8h.html',1,'']]], + ['crowdtoolparams_174',['CrowdToolParams',['../structCrowdToolParams.html',1,'']]], + ['crowdtoolstate_175',['CrowdToolState',['../classCrowdToolState.html',1,'CrowdToolState'],['../classCrowdToolState.html#a27c76b496c852259d7f13cba5d3486a2',1,'CrowdToolState::CrowdToolState()']]], + ['cs_176',['cs',['../structrcHeightfield.html#a3f28962585b2f726d809b1a86b925edb',1,'rcHeightfield::cs()'],['../structrcPolyMesh.html#a4c3ca520c55f96037cffcf6a92809563',1,'rcPolyMesh::cs()'],['../structrcContourSet.html#a1dbf04db7e828a3757e951e4f8499c95',1,'rcContourSet::cs()'],['../structrcHeightfieldLayer.html#af0311febcc96aa2a2b611e0a65478f49',1,'rcHeightfieldLayer::cs()'],['../structrcCompactHeightfield.html#a75ee8e198d672db29a2f98c7463c0b31',1,'rcCompactHeightfield::cs()'],['../structrcConfig.html#ae74c4bd2b0477f29a65a53ca9c59196d',1,'rcConfig::cs()'],['../structdtTileCacheParams.html#aa3d397344d70e8d65300ceec47bf6512',1,'dtTileCacheParams::cs()'],['../structdtNavMeshCreateParams.html#a2297125898dd39b19c515638d31cacfc',1,'dtNavMeshCreateParams::cs()']]], + ['cset_5fmagic_177',['CSET_MAGIC',['../RecastDump_8cpp.html#a715b66346d870827210e9b90b9e5add9',1,'RecastDump.cpp']]], + ['cset_5fversion_178',['CSET_VERSION',['../RecastDump_8cpp.html#a8888aaa743f054b6efd0e2ac8529df62',1,'RecastDump.cpp']]], + ['cverts_179',['cverts',['../structdtTempContour.html#af7144f4b212231221298f01f47e461d3',1,'dtTempContour']]], + ['cylinder_180',['cylinder',['../structdtTileCacheObstacle.html#a6e42e7ac7564db49c70b849f3cc49a39',1,'dtTileCacheObstacle']]] +]; diff --git a/search/all_3.html b/search/all_3.html new file mode 100644 index 00000000..39767b85 --- /dev/null +++ b/search/all_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_3.js b/search/all_3.js new file mode 100644 index 00000000..ff714e47 --- /dev/null +++ b/search/all_3.js @@ -0,0 +1,478 @@ +var searchData= +[ + ['data_181',['data',['../structdtMeshTile.html#ae5ecafb2319029b216f739b2be537f98',1,'dtMeshTile::data()'],['../structdtCompressedTile.html#a08600eb0ab1c1980a7e1b72839a32863',1,'dtCompressedTile::data()'],['../structrcHeightPatch.html#a02c8a5e18872b3eee023888f0a85adcf',1,'rcHeightPatch::data()'],['../structTileCacheData.html#a101ecb69fccd2046a256900f8c4e6847',1,'TileCacheData::data()'],['../classrcVectorBase.html#a3e332ce609a641c597aab6c04da61304',1,'rcVectorBase::data() const'],['../classrcVectorBase.html#a9495317ad1f22ab74f802aedd3dfc6f9',1,'rcVectorBase::data()']]], + ['datasize_182',['dataSize',['../structdtMeshTile.html#a18351bec79954247bef6e22745d5515f',1,'dtMeshTile::dataSize()'],['../structdtCompressedTile.html#a6bd5d2ea63921ee6fbacece1da31d656',1,'dtCompressedTile::dataSize()'],['../structNavMeshTileHeader.html#ad1448da982f964635d4ec1cfa3239f3b',1,'NavMeshTileHeader::dataSize()'],['../structTileCacheData.html#a9c98971270a3a7fe024343b6358dc334',1,'TileCacheData::dataSize()'],['../structTileCacheTileHeader.html#a3c4e5c78970a6afe0b5620b0154e843c',1,'TileCacheTileHeader::dataSize()']]], + ['debugdraw_2ecpp_183',['DebugDraw.cpp',['../DebugDraw_8cpp.html',1,'']]], + ['debugdraw_2eh_184',['DebugDraw.h',['../DebugDraw_8h.html',1,'']]], + ['debugdrawgl_185',['DebugDrawGL',['../classDebugDrawGL.html',1,'']]], + ['debugdrawtilecacheportals_186',['debugDrawTileCachePortals',['../DetourDebugDraw_8cpp.html#a8a78e768c829bc09c23c09605a8b33f3',1,'DetourDebugDraw.cpp']]], + ['decodeobstacleidobstacle_187',['decodeObstacleIdObstacle',['../classdtTileCache.html#a4351916cf85bcc4d3fc2bd477b0f373f',1,'dtTileCache']]], + ['decodeobstacleidsalt_188',['decodeObstacleIdSalt',['../classdtTileCache.html#ad2ba8e2882fca7ffb2b9239879cac3c7',1,'dtTileCache']]], + ['decodepolyid_189',['decodePolyId',['../classdtNavMesh.html#afaaf5c22864cdf4a61d5e40a4efce43f',1,'dtNavMesh']]], + ['decodepolyidpoly_190',['decodePolyIdPoly',['../classdtNavMesh.html#a936c3779e6cb7484e57dd106911eccc2',1,'dtNavMesh']]], + ['decodepolyidsalt_191',['decodePolyIdSalt',['../classdtNavMesh.html#a588b6f839fd249430cff02cea71f347c',1,'dtNavMesh']]], + ['decodepolyidtile_192',['decodePolyIdTile',['../classdtNavMesh.html#a94cfcf0015d7d6d856acaf96126cd349',1,'dtNavMesh']]], + ['decodetileidsalt_193',['decodeTileIdSalt',['../classdtTileCache.html#a30b610f38d3f6a73065fad5438c31ec7',1,'dtTileCache']]], + ['decodetileidtile_194',['decodeTileIdTile',['../classdtTileCache.html#a9a64eecd18a74bb994d076dced0ec0be',1,'dtTileCache']]], + ['decompress_195',['decompress',['../structdtTileCacheCompressor.html#a16d46b3a4c03c9d5b89998c80c247ab6',1,'dtTileCacheCompressor::decompress()'],['../structFastLZCompressor.html#a61828cd2e21041b21b8e545efbe1da57',1,'FastLZCompressor::decompress()']]], + ['default_5fspacing_196',['DEFAULT_SPACING',['../imgui_8cpp.html#a03b57ae9b56748416c59dbebd15b6897',1,'imgui.cpp']]], + ['delaunayhull_197',['delaunayHull',['../RecastMeshDetail_8cpp.html#ab13d6c0bcebc425fa41a5ce9aeeecf76',1,'RecastMeshDetail.cpp']]], + ['deleteconvexvolume_198',['deleteConvexVolume',['../classInputGeom.html#a143fe9d9852f2a2be08b8d4c98254160',1,'InputGeom']]], + ['deleteoffmeshconnection_199',['deleteOffMeshConnection',['../classInputGeom.html#acc866de7fce6ca643c6695cb1f1d3967',1,'InputGeom']]], + ['depthmask_200',['depthMask',['../classDebugDrawGL.html#ae57953a7117cdacd04416403531cb9aa',1,'DebugDrawGL::depthMask()'],['../classduDisplayList.html#a2bd9a4e455216c4427557a230acfee31',1,'duDisplayList::depthMask()'],['../structduDebugDraw.html#aac0f17039f76220b14b2bdce7e26f521',1,'duDebugDraw::depthMask()']]], + ['desiredspeed_201',['desiredSpeed',['../structdtCrowdAgent.html#ac15a23fd617433db5be5544462ec34d8',1,'dtCrowdAgent']]], + ['detailmeshcount_202',['detailMeshCount',['../structdtMeshHeader.html#a79ce7145dd4854c55cd94d5c57faf392',1,'dtMeshHeader']]], + ['detailmeshes_203',['detailMeshes',['../structdtMeshTile.html#a9de7d1fd0dd0c6f46878bc910dec4f90',1,'dtMeshTile::detailMeshes()'],['../structdtNavMeshCreateParams.html#a1e164d8ad19c20a3cd7a04352738c2e2',1,'dtNavMeshCreateParams::detailMeshes()']]], + ['detailsampledist_204',['detailSampleDist',['../structrcConfig.html#abdc131d1c8f5e4c1f09a68702efba604',1,'rcConfig::detailSampleDist()'],['../structBuildSettings.html#abf7ba7d73fd303a69b22c04f6741b7df',1,'BuildSettings::detailSampleDist()']]], + ['detailsamplemaxerror_205',['detailSampleMaxError',['../structrcConfig.html#ae53de5fcf0777c0be9e3cd91c9da3d1f',1,'rcConfig::detailSampleMaxError()'],['../structBuildSettings.html#a677f0a3a0d3c600dccd8a4c84ade2bdc',1,'BuildSettings::detailSampleMaxError()']]], + ['detailtricount_206',['detailTriCount',['../structdtMeshHeader.html#a008cebda05907508cf862d18945d8459',1,'dtMeshHeader::detailTriCount()'],['../structdtNavMeshCreateParams.html#a2516fa677dad99e0859ed46615d64730',1,'dtNavMeshCreateParams::detailTriCount()']]], + ['detailtris_207',['detailTris',['../structdtMeshTile.html#a237f7f0d938875062b22b42abdff6ab1',1,'dtMeshTile::detailTris()'],['../structdtNavMeshCreateParams.html#a4146c9631643c9d42339933a1a160864',1,'dtNavMeshCreateParams::detailTris()']]], + ['detailvertcount_208',['detailVertCount',['../structdtMeshHeader.html#abe1c10b7e925b0b31adf72f8f2d1d7e9',1,'dtMeshHeader']]], + ['detailverts_209',['detailVerts',['../structdtMeshTile.html#a60928b85578a99aacf71eed721c103d8',1,'dtMeshTile::detailVerts()'],['../structdtNavMeshCreateParams.html#abb88208b052c3ef84d60683bf889a88f',1,'dtNavMeshCreateParams::detailVerts()']]], + ['detailvertscount_210',['detailVertsCount',['../structdtNavMeshCreateParams.html#af3b5721cfa7cc46e508c5756116f7e10',1,'dtNavMeshCreateParams']]], + ['detour_211',['Detour',['../group__detour.html',1,'']]], + ['detouralloc_2ecpp_212',['DetourAlloc.cpp',['../DetourAlloc_8cpp.html',1,'']]], + ['detouralloc_2eh_213',['DetourAlloc.h',['../DetourAlloc_8h.html',1,'']]], + ['detourassert_2ecpp_214',['DetourAssert.cpp',['../DetourAssert_8cpp.html',1,'']]], + ['detourassert_2eh_215',['DetourAssert.h',['../DetourAssert_8h.html',1,'']]], + ['detourcommon_2ecpp_216',['DetourCommon.cpp',['../DetourCommon_8cpp.html',1,'']]], + ['detourcommon_2eh_217',['DetourCommon.h',['../DetourCommon_8h.html',1,'']]], + ['detourcrowd_2ecpp_218',['DetourCrowd.cpp',['../DetourCrowd_8cpp.html',1,'']]], + ['detourcrowd_2eh_219',['DetourCrowd.h',['../DetourCrowd_8h.html',1,'']]], + ['detourdebugdraw_2ecpp_220',['DetourDebugDraw.cpp',['../DetourDebugDraw_8cpp.html',1,'']]], + ['detourdebugdraw_2eh_221',['DetourDebugDraw.h',['../DetourDebugDraw_8h.html',1,'']]], + ['detourlocalboundary_2ecpp_222',['DetourLocalBoundary.cpp',['../DetourLocalBoundary_8cpp.html',1,'']]], + ['detourlocalboundary_2eh_223',['DetourLocalBoundary.h',['../DetourLocalBoundary_8h.html',1,'']]], + ['detourmath_2eh_224',['DetourMath.h',['../DetourMath_8h.html',1,'']]], + ['detournavmesh_2ecpp_225',['DetourNavMesh.cpp',['../DetourNavMesh_8cpp.html',1,'']]], + ['detournavmesh_2eh_226',['DetourNavMesh.h',['../DetourNavMesh_8h.html',1,'']]], + ['detournavmeshbuilder_2ecpp_227',['DetourNavMeshBuilder.cpp',['../DetourNavMeshBuilder_8cpp.html',1,'']]], + ['detournavmeshbuilder_2eh_228',['DetourNavMeshBuilder.h',['../DetourNavMeshBuilder_8h.html',1,'']]], + ['detournavmeshquery_2ecpp_229',['DetourNavMeshQuery.cpp',['../DetourNavMeshQuery_8cpp.html',1,'']]], + ['detournavmeshquery_2eh_230',['DetourNavMeshQuery.h',['../DetourNavMeshQuery_8h.html',1,'']]], + ['detournode_2ecpp_231',['DetourNode.cpp',['../DetourNode_8cpp.html',1,'']]], + ['detournode_2eh_232',['DetourNode.h',['../DetourNode_8h.html',1,'']]], + ['detourobstacleavoidance_2ecpp_233',['DetourObstacleAvoidance.cpp',['../DetourObstacleAvoidance_8cpp.html',1,'']]], + ['detourobstacleavoidance_2eh_234',['DetourObstacleAvoidance.h',['../DetourObstacleAvoidance_8h.html',1,'']]], + ['detourpathcorridor_2ecpp_235',['DetourPathCorridor.cpp',['../DetourPathCorridor_8cpp.html',1,'']]], + ['detourpathcorridor_2eh_236',['DetourPathCorridor.h',['../DetourPathCorridor_8h.html',1,'']]], + ['detourpathqueue_2ecpp_237',['DetourPathQueue.cpp',['../DetourPathQueue_8cpp.html',1,'']]], + ['detourpathqueue_2eh_238',['DetourPathQueue.h',['../DetourPathQueue_8h.html',1,'']]], + ['detourproximitygrid_2ecpp_239',['DetourProximityGrid.cpp',['../DetourProximityGrid_8cpp.html',1,'']]], + ['detourproximitygrid_2eh_240',['DetourProximityGrid.h',['../DetourProximityGrid_8h.html',1,'']]], + ['detourstatus_2eh_241',['DetourStatus.h',['../DetourStatus_8h.html',1,'']]], + ['detourtilecache_2ecpp_242',['DetourTileCache.cpp',['../DetourTileCache_8cpp.html',1,'']]], + ['detourtilecache_2eh_243',['DetourTileCache.h',['../DetourTileCache_8h.html',1,'']]], + ['detourtilecachebuilder_2ecpp_244',['DetourTileCacheBuilder.cpp',['../DetourTileCacheBuilder_8cpp.html',1,'']]], + ['detourtilecachebuilder_2eh_245',['DetourTileCacheBuilder.h',['../DetourTileCacheBuilder_8h.html',1,'']]], + ['diagonal_246',['diagonal',['../RecastMesh_8cpp.html#a3152b8f34516e03fe3876163cb337bc2',1,'diagonal(int i, int j, int n, const int *verts, int *indices): RecastMesh.cpp'],['../DetourTileCacheBuilder_8cpp.html#ad1596ed1900fd9c42527f5016c47bcd4',1,'diagonal(int i, int j, int n, const unsigned char *verts, const unsigned short *indices): DetourTileCacheBuilder.cpp']]], + ['diagonalie_247',['diagonalie',['../RecastMesh_8cpp.html#a77080de091f2816bb77dc4a6ef7805af',1,'diagonalie(int i, int j, int n, const int *verts, int *indices): RecastMesh.cpp'],['../DetourTileCacheBuilder_8cpp.html#ad37c515eb8572e663a72d93dba26692f',1,'diagonalie(int i, int j, int n, const unsigned char *verts, const unsigned short *indices): DetourTileCacheBuilder.cpp']]], + ['diagonalieloose_248',['diagonalieLoose',['../RecastMesh_8cpp.html#a0c1c07732a67621d27fbe34687294ae9',1,'RecastMesh.cpp']]], + ['diagonalloose_249',['diagonalLoose',['../RecastMesh_8cpp.html#a3e3391b452db19de34e2242eb35ef4bc',1,'RecastMesh.cpp']]], + ['dirtyentry_250',['DirtyEntry',['../structDirtyEntry.html',1,'DirtyEntry'],['../structDirtyEntry.html#a6efa59792bbe3b1feea05da8110151dd',1,'DirtyEntry::DirtyEntry()']]], + ['disableunvisitedpolys_251',['disableUnvisitedPolys',['../NavMeshPruneTool_8cpp.html#a99526da170fe64ed5ca767aba6bac662',1,'NavMeshPruneTool.cpp']]], + ['disp_252',['disp',['../structdtCrowdAgent.html#a699caf263b79c394c34e31fb9e7c36d0',1,'dtCrowdAgent']]], + ['dist_253',['dist',['../structrcPotentialDiagonal.html#aedf8e9dad665440c8db85e1e9d37b05d',1,'rcPotentialDiagonal::dist()'],['../structrcCompactHeightfield.html#af345442d6b49e71a2191c5e2dac3ca97',1,'rcCompactHeightfield::dist()'],['../structdtCrowdNeighbour.html#aa3011f95ad242a684f2a79a1b41d5f6b',1,'dtCrowdNeighbour::dist()']]], + ['distance2_254',['distance2',['../structDirtyEntry.html#a9634e49527d7bdcacc925fe7124b07d1',1,'DirtyEntry']]], + ['distanceptline2d_255',['distancePtLine2d',['../DetourDebugDraw_8cpp.html#a2c832a347cec9984c7713d8f714932ea',1,'DetourDebugDraw.cpp']]], + ['distanceptseg_256',['distancePtSeg',['../DetourTileCacheBuilder_8cpp.html#a95bb2b54ba0f6d1cee48278a1ba4980d',1,'distancePtSeg(const int x, const int z, const int px, const int pz, const int qx, const int qz): DetourTileCacheBuilder.cpp'],['../RecastContour_8cpp.html#a95bb2b54ba0f6d1cee48278a1ba4980d',1,'distancePtSeg(const int x, const int z, const int px, const int pz, const int qx, const int qz): RecastContour.cpp'],['../RecastMeshDetail_8cpp.html#a3324f740169bc2196d871cc72aae6fcc',1,'distancePtSeg(const float *pt, const float *p, const float *q): RecastMeshDetail.cpp']]], + ['distanceptseg2d_257',['distancePtSeg2d',['../RecastMeshDetail_8cpp.html#aeea404279f43e22f8a7677f9a737f7af',1,'RecastMeshDetail.cpp']]], + ['distpttri_258',['distPtTri',['../RecastMeshDetail_8cpp.html#ac8f54a9fbd62cf31427bdaa1e88979de',1,'RecastMeshDetail.cpp']]], + ['disttopoly_259',['distToPoly',['../RecastMeshDetail_8cpp.html#a185eb97e9f8ab6642bea84844254a56b',1,'RecastMeshDetail.cpp']]], + ['disttotrimesh_260',['distToTriMesh',['../RecastMeshDetail_8cpp.html#a33777bf1bf884f96964beb7b7c7526e6',1,'RecastMeshDetail.cpp']]], + ['dividepoly_261',['dividePoly',['../RecastRasterization_8cpp.html#af54026b5ecdfeabb867b7147d8730303',1,'RecastRasterization.cpp']]], + ['dogetaccumulatedtime_262',['doGetAccumulatedTime',['../classrcContext.html#aa974806b3533f3ce7bcd8c42715e8d93',1,'rcContext::doGetAccumulatedTime()'],['../classBuildContext.html#afe967c44fb17381c0269d10dc3ca29e2',1,'BuildContext::doGetAccumulatedTime()']]], + ['dolog_263',['doLog',['../classrcContext.html#a82cccfe74cb76b021acdca506df224e0',1,'rcContext::doLog()'],['../classBuildContext.html#abede9aa172801c0823a679f2431ea932',1,'BuildContext::doLog(const rcLogCategory category, const char *msg, const int len)']]], + ['doresetlog_264',['doResetLog',['../classBuildContext.html#a509a0b0bb977dde5bf7a37d949a1e5f9',1,'BuildContext::doResetLog()'],['../classrcContext.html#ae1e5eb9146a011c1f51de76b849d9ec2',1,'rcContext::doResetLog()']]], + ['doresettimers_265',['doResetTimers',['../classrcContext.html#a57a97f408dac1438d6eae0993fa68570',1,'rcContext::doResetTimers()'],['../classBuildContext.html#a8b823f519f70e837cade2c4c0ef9f12e',1,'BuildContext::doResetTimers()']]], + ['dostarttimer_266',['doStartTimer',['../classrcContext.html#aff09f57cc5db39be3cf80c7c0a1457a2',1,'rcContext::doStartTimer()'],['../classBuildContext.html#ace76debfb627862f622539622f118a55',1,'BuildContext::doStartTimer()']]], + ['dostoptimer_267',['doStopTimer',['../classrcContext.html#a3510678ae74a930e6d4e492d44fe80c0',1,'rcContext::doStopTimer()'],['../classBuildContext.html#a4be9c92146f0b433a330a965ffa37d3c',1,'BuildContext::doStopTimer()']]], + ['dotests_268',['doTests',['../classTestCase.html#a648d153c2e6a9bb7e23253cdc2eede0a',1,'TestCase']]], + ['dp_269',['dp',['../structdtObstacleCircle.html#a14169be1b546aeaf06fb19406f523a08',1,'dtObstacleCircle']]], + ['dragorig_270',['dragOrig',['../structGuiState.html#ac1eb0dfc263debeea082f2bebec4a10a',1,'GuiState']]], + ['dragx_271',['dragX',['../structGuiState.html#a0a4933672881d971849922e737b2909d',1,'GuiState']]], + ['dragy_272',['dragY',['../structGuiState.html#a9ab909b28bf6f8d42a723019bc11d172',1,'GuiState']]], + ['draw_273',['draw',['../classduDisplayList.html#a53556c9d2afcd9eb625bc4f4cf9cf648',1,'duDisplayList']]], + ['drawagent_274',['drawAgent',['../classNavMeshTesterTool.html#a8853ba08ecda298d3645a77613130cf2',1,'NavMeshTesterTool']]], + ['drawconvexvolumes_275',['drawConvexVolumes',['../classInputGeom.html#af1459badee28e6eeeac0dab937cea3bc',1,'InputGeom']]], + ['drawdetail_276',['drawDetail',['../Sample__TempObstacles_8cpp.html#a9ecfb35d2460e0a349a7ad6e26a7484b',1,'Sample_TempObstacles.cpp']]], + ['drawdetail_5fareas_277',['DRAWDETAIL_AREAS',['../Sample__TempObstacles_8cpp.html#a07b411d5626ca18669a36dbce259699aa2b3e973aac1d955e6f393405f46a975f',1,'Sample_TempObstacles.cpp']]], + ['drawdetail_5fcontours_278',['DRAWDETAIL_CONTOURS',['../Sample__TempObstacles_8cpp.html#a07b411d5626ca18669a36dbce259699aa2f2ebb162afcf9d8049d46c65724a304',1,'Sample_TempObstacles.cpp']]], + ['drawdetail_5fmesh_279',['DRAWDETAIL_MESH',['../Sample__TempObstacles_8cpp.html#a07b411d5626ca18669a36dbce259699aa2583848fa9a65a13d8d705a41b45ac81',1,'Sample_TempObstacles.cpp']]], + ['drawdetail_5fregions_280',['DRAWDETAIL_REGIONS',['../Sample__TempObstacles_8cpp.html#a07b411d5626ca18669a36dbce259699aa9298e963d230a3f0d094748821ecc09c',1,'Sample_TempObstacles.cpp']]], + ['drawdetailoverlay_281',['drawDetailOverlay',['../Sample__TempObstacles_8cpp.html#a8cdaa89bf12f5b9ed7fb37f156873f16',1,'Sample_TempObstacles.cpp']]], + ['drawdetailtype_282',['DrawDetailType',['../Sample__TempObstacles_8cpp.html#a07b411d5626ca18669a36dbce259699a',1,'Sample_TempObstacles.cpp']]], + ['drawgraph_283',['drawGraph',['../ValueHistory_8cpp.html#ac579b593d7d8316a79163fba0140aa92',1,'drawGraph(const GraphParams *p, const ValueHistory *graph, int idx, const char *label, const unsigned int col): ValueHistory.cpp'],['../ValueHistory_8h.html#ac579b593d7d8316a79163fba0140aa92',1,'drawGraph(const GraphParams *p, const ValueHistory *graph, int idx, const char *label, const unsigned int col): ValueHistory.cpp']]], + ['drawgraphbackground_284',['drawGraphBackground',['../ValueHistory_8cpp.html#afffb45be2045eb5a3b2e0a21be12ff8a',1,'drawGraphBackground(const GraphParams *p): ValueHistory.cpp'],['../ValueHistory_8h.html#afffb45be2045eb5a3b2e0a21be12ff8a',1,'drawGraphBackground(const GraphParams *p): ValueHistory.cpp']]], + ['drawlayerportals_285',['drawLayerPortals',['../RecastDebugDraw_8cpp.html#a9de1a6c0b9054dd8131c0575bac319b9',1,'RecastDebugDraw.cpp']]], + ['drawline_286',['drawLine',['../imguiRenderGL_8cpp.html#a0c56d5717a692e41cf3f66a459ef589a',1,'imguiRenderGL.cpp']]], + ['drawmeshtile_287',['drawMeshTile',['../DetourDebugDraw_8cpp.html#af2a1ee1373016e10eaf947ea88c772de',1,'DetourDebugDraw.cpp']]], + ['drawmeshtilebvtree_288',['drawMeshTileBVTree',['../DetourDebugDraw_8cpp.html#a0fd6603cb9e0de34bbe38e6e3cad0b75',1,'DetourDebugDraw.cpp']]], + ['drawmeshtileportal_289',['drawMeshTilePortal',['../DetourDebugDraw_8cpp.html#aee29199f3b0642b89186180c86bb788e',1,'DetourDebugDraw.cpp']]], + ['drawmode_290',['DrawMode',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66d',1,'Sample_SoloMesh::DrawMode()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9e',1,'Sample_TileMesh::DrawMode()'],['../classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646a',1,'Sample_TempObstacles::DrawMode()']]], + ['drawmode_5fboth_5fcontours_291',['DRAWMODE_BOTH_CONTOURS',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da9722e468551f5e1012433c4f6a1f7c59',1,'Sample_SoloMesh::DRAWMODE_BOTH_CONTOURS()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9eac991bf39fdf9cbf6291b45ebd2ede5a4',1,'Sample_TileMesh::DRAWMODE_BOTH_CONTOURS()']]], + ['drawmode_5fcache_5fbounds_292',['DRAWMODE_CACHE_BOUNDS',['../classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aad240eab884b6fce214ae17ee58ff1fc5',1,'Sample_TempObstacles']]], + ['drawmode_5fcompact_293',['DRAWMODE_COMPACT',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da8e442daf2e83ef3c05694457b5b33436',1,'Sample_SoloMesh::DRAWMODE_COMPACT()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ead11ba96eb63c1bacc8d1974ad5e14729',1,'Sample_TileMesh::DRAWMODE_COMPACT()']]], + ['drawmode_5fcompact_5fdistance_294',['DRAWMODE_COMPACT_DISTANCE',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66dab7e81dc808347a112f588f6c20075cda',1,'Sample_SoloMesh::DRAWMODE_COMPACT_DISTANCE()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea5835878fb00312ced6fad85225f9f806',1,'Sample_TileMesh::DRAWMODE_COMPACT_DISTANCE()']]], + ['drawmode_5fcompact_5fregions_295',['DRAWMODE_COMPACT_REGIONS',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da49df193c0a4344b056b1f6102d3dda70',1,'Sample_SoloMesh::DRAWMODE_COMPACT_REGIONS()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9eae0f799e8f9c5eea7db9e60a14c3ae876',1,'Sample_TileMesh::DRAWMODE_COMPACT_REGIONS()']]], + ['drawmode_5fcontours_296',['DRAWMODE_CONTOURS',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66dafce43a32523d6c5035eefbce35a73826',1,'Sample_SoloMesh::DRAWMODE_CONTOURS()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea3ebd86d9a1d56808e28f6ffde61f160c',1,'Sample_TileMesh::DRAWMODE_CONTOURS()']]], + ['drawmode_5fmesh_297',['DRAWMODE_MESH',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da88b9ae00e25b2e2099647ea4c26a9507',1,'Sample_SoloMesh::DRAWMODE_MESH()'],['../classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aa03124cf65d838b25406a05e61fe30ce0',1,'Sample_TempObstacles::DRAWMODE_MESH()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea4742e5992fb0c03b7bb9d6319ef2a212',1,'Sample_TileMesh::DRAWMODE_MESH()']]], + ['drawmode_5fnavmesh_298',['DRAWMODE_NAVMESH',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66daea0fbcc171dd866c11dceb22f8bbb622',1,'Sample_SoloMesh::DRAWMODE_NAVMESH()'],['../classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aaf041b173541f65f9d180dc5ce6c4faca',1,'Sample_TempObstacles::DRAWMODE_NAVMESH()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9eaa58491e33fd7f6047459a759075579fb',1,'Sample_TileMesh::DRAWMODE_NAVMESH()']]], + ['drawmode_5fnavmesh_5fbvtree_299',['DRAWMODE_NAVMESH_BVTREE',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66dacde6a4b06b4f22f9002e93996dd15e99',1,'Sample_SoloMesh::DRAWMODE_NAVMESH_BVTREE()'],['../classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aa2c426926db47a33bbb2d0568be000eb1',1,'Sample_TempObstacles::DRAWMODE_NAVMESH_BVTREE()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea36ceb4d2f09f2dc3f115c9482384f537',1,'Sample_TileMesh::DRAWMODE_NAVMESH_BVTREE()']]], + ['drawmode_5fnavmesh_5finvis_300',['DRAWMODE_NAVMESH_INVIS',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da98fd365be74b3ea0aa3913f2f2f643da',1,'Sample_SoloMesh::DRAWMODE_NAVMESH_INVIS()'],['../classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aadf002a04b3f50bc4732a5f0e83fe2b82',1,'Sample_TempObstacles::DRAWMODE_NAVMESH_INVIS()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9eaaf7a9b84532c1134b86d5984f4c5da25',1,'Sample_TileMesh::DRAWMODE_NAVMESH_INVIS()']]], + ['drawmode_5fnavmesh_5fnodes_301',['DRAWMODE_NAVMESH_NODES',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66daf0388faf72ff6fb0a55a80794eb34ebe',1,'Sample_SoloMesh::DRAWMODE_NAVMESH_NODES()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea51bb43eb213451a78a866934612cbce5',1,'Sample_TileMesh::DRAWMODE_NAVMESH_NODES()'],['../classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aa20a287a5fb92a18accd304ff5a90ff27',1,'Sample_TempObstacles::DRAWMODE_NAVMESH_NODES()']]], + ['drawmode_5fnavmesh_5fportals_302',['DRAWMODE_NAVMESH_PORTALS',['../classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aa18ab8dd09107286c83c01da1701eef5b',1,'Sample_TempObstacles::DRAWMODE_NAVMESH_PORTALS()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea2806d6ae36ddf00223cfe9893d0fde08',1,'Sample_TileMesh::DRAWMODE_NAVMESH_PORTALS()']]], + ['drawmode_5fnavmesh_5ftrans_303',['DRAWMODE_NAVMESH_TRANS',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66daa8e2ba3c26d26be4309cbf0f2528f6de',1,'Sample_SoloMesh::DRAWMODE_NAVMESH_TRANS()'],['../classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aa31dbf6b027635abacf086f1039c4a59f',1,'Sample_TempObstacles::DRAWMODE_NAVMESH_TRANS()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea3db7110a709f8a5cf8271a47ccd1d5bc',1,'Sample_TileMesh::DRAWMODE_NAVMESH_TRANS()']]], + ['drawmode_5fpolymesh_304',['DRAWMODE_POLYMESH',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66dabcea7748dcffaf33d0fe31e8af538da8',1,'Sample_SoloMesh::DRAWMODE_POLYMESH()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9eacf49e2c1b6e94e0175ffce6a8d752957',1,'Sample_TileMesh::DRAWMODE_POLYMESH()']]], + ['drawmode_5fpolymesh_5fdetail_305',['DRAWMODE_POLYMESH_DETAIL',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da3cfa09fbea29fe5ad080cf664c026f67',1,'Sample_SoloMesh::DRAWMODE_POLYMESH_DETAIL()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9eadaab6e3ba300f45526c8feef80f83828',1,'Sample_TileMesh::DRAWMODE_POLYMESH_DETAIL()']]], + ['drawmode_5fraw_5fcontours_306',['DRAWMODE_RAW_CONTOURS',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66dac8a8e4bb3835a1d5dd15eab30fd2d7c7',1,'Sample_SoloMesh::DRAWMODE_RAW_CONTOURS()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea5d1863e80795971db5f2cadd2140134c',1,'Sample_TileMesh::DRAWMODE_RAW_CONTOURS()']]], + ['drawmode_5fregion_5fconnections_307',['DRAWMODE_REGION_CONNECTIONS',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da2ddb380ea865ccc1c8fbf75f44a4dbe7',1,'Sample_SoloMesh::DRAWMODE_REGION_CONNECTIONS()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea0b1b4be0a8ce23cf18ec00b8646f9089',1,'Sample_TileMesh::DRAWMODE_REGION_CONNECTIONS()']]], + ['drawmode_5fvoxels_308',['DRAWMODE_VOXELS',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da79c855d9a3d2f415381199922314b0db',1,'Sample_SoloMesh::DRAWMODE_VOXELS()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea96182015a60b98bd4e7134cf28c26fdb',1,'Sample_TileMesh::DRAWMODE_VOXELS()']]], + ['drawmode_5fvoxels_5fwalkable_309',['DRAWMODE_VOXELS_WALKABLE',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da1b0b737aee4f595a3e4279759d92e4ea',1,'Sample_SoloMesh::DRAWMODE_VOXELS_WALKABLE()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9eafa79333fa0cd88a039e4b0aae362e13c',1,'Sample_TileMesh::DRAWMODE_VOXELS_WALKABLE()']]], + ['drawnavmeshflags_310',['DrawNavMeshFlags',['../DetourDebugDraw_8h.html#a114ab556d129137b6058f93b88da7ef6',1,'DetourDebugDraw.h']]], + ['drawobstacles_311',['drawObstacles',['../Sample__TempObstacles_8cpp.html#af5c7622ddbc075ed3b5b02fdd4c7ca04',1,'Sample_TempObstacles.cpp']]], + ['drawoffmeshconnections_312',['drawOffMeshConnections',['../classInputGeom.html#ad808df6e1a015da72bb10279e6231fd2',1,'InputGeom']]], + ['drawpolyboundaries_313',['drawPolyBoundaries',['../DetourDebugDraw_8cpp.html#a2c6ebd24958b7956f65fc24a718d18ee',1,'DetourDebugDraw.cpp']]], + ['drawpolygon_314',['drawPolygon',['../imguiRenderGL_8cpp.html#ac942be741579139e88992ba1d5037480',1,'imguiRenderGL.cpp']]], + ['drawrect_315',['drawRect',['../imguiRenderGL_8cpp.html#a5a436da38db73ddd2a5ceb6e440d5b4e',1,'imguiRenderGL.cpp']]], + ['drawroundedrect_316',['drawRoundedRect',['../imguiRenderGL_8cpp.html#ac510a2126cccc18d9b72a46b22e41140',1,'imguiRenderGL.cpp']]], + ['drawtext_317',['drawText',['../imguiRenderGL_8cpp.html#a06ae1ffc6ae4adb308416ab8480327a9',1,'imguiRenderGL.cpp']]], + ['drawtiles_318',['drawTiles',['../Sample__TempObstacles_8cpp.html#a86c92574bc37c2279e1cd899ba2dd8c7',1,'Sample_TempObstacles.cpp']]], + ['dt_5falloc_5fperm_319',['DT_ALLOC_PERM',['../DetourAlloc_8h.html#a318bc084ec7fefd878cd36e0846bd14da4b5dc5bf08bcea4978a84327c7faf39f',1,'DetourAlloc.h']]], + ['dt_5falloc_5ftemp_320',['DT_ALLOC_TEMP',['../DetourAlloc_8h.html#a318bc084ec7fefd878cd36e0846bd14da345c28489f1d9c43bb8d528b4dab5aee',1,'DetourAlloc.h']]], + ['dt_5falready_5foccupied_321',['DT_ALREADY_OCCUPIED',['../DetourStatus_8h.html#a16c0ed5fc61e267d64b26f73a3b02184',1,'DetourStatus.h']]], + ['dt_5fbuffer_5ftoo_5fsmall_322',['DT_BUFFER_TOO_SMALL',['../DetourStatus_8h.html#a97c8292e3ce2ba0b63bfa4ca57de10af',1,'DetourStatus.h']]], + ['dt_5fcompressedtile_5ffree_5fdata_323',['DT_COMPRESSEDTILE_FREE_DATA',['../DetourTileCache_8h.html#ae7bbfdb463ce9748076a000e6a4f95e7ae39535ace91c26741052d77c5a2dcb8d',1,'DetourTileCache.h']]], + ['dt_5fcrowd_5fanticipate_5fturns_324',['DT_CROWD_ANTICIPATE_TURNS',['../group__crowd.html#ggaa94b67d2fdcc390690c523f28019e52fafeecd3363350e50041dca39352c3e268',1,'DetourCrowd.h']]], + ['dt_5fcrowd_5fmax_5fobstavoidance_5fparams_325',['DT_CROWD_MAX_OBSTAVOIDANCE_PARAMS',['../group__crowd.html#gaca1e1a9395fd4406de712dc4330c60c5',1,'DetourCrowd.h']]], + ['dt_5fcrowd_5fmax_5fquery_5ffilter_5ftype_326',['DT_CROWD_MAX_QUERY_FILTER_TYPE',['../group__crowd.html#ga1686003d07121541db2ee11074e1b3af',1,'DetourCrowd.h']]], + ['dt_5fcrowd_5fobstacle_5favoidance_327',['DT_CROWD_OBSTACLE_AVOIDANCE',['../group__crowd.html#ggaa94b67d2fdcc390690c523f28019e52fad5d5d50e0b623e78e0dd68eb816bcc00',1,'DetourCrowd.h']]], + ['dt_5fcrowd_5foptimize_5ftopo_328',['DT_CROWD_OPTIMIZE_TOPO',['../group__crowd.html#ggaa94b67d2fdcc390690c523f28019e52fa89c6f7f2e49254e775cb2b85259a0a93',1,'DetourCrowd.h']]], + ['dt_5fcrowd_5foptimize_5fvis_329',['DT_CROWD_OPTIMIZE_VIS',['../group__crowd.html#ggaa94b67d2fdcc390690c523f28019e52fad11f447facf1bf42c09de64e9483f3aa',1,'DetourCrowd.h']]], + ['dt_5fcrowd_5fseparation_330',['DT_CROWD_SEPARATION',['../group__crowd.html#ggaa94b67d2fdcc390690c523f28019e52fa07d463e4e35cd6ca1f16e6bede02856e',1,'DetourCrowd.h']]], + ['dt_5fcrowdagent_5fmax_5fcorners_331',['DT_CROWDAGENT_MAX_CORNERS',['../group__crowd.html#gab745b43d81519294efcfe7449faff3de',1,'DetourCrowd.h']]], + ['dt_5fcrowdagent_5fmax_5fneighbours_332',['DT_CROWDAGENT_MAX_NEIGHBOURS',['../group__crowd.html#ga70106a906d993ec6c39ef91d81c0f40e',1,'DetourCrowd.h']]], + ['dt_5fcrowdagent_5fstate_5finvalid_333',['DT_CROWDAGENT_STATE_INVALID',['../group__crowd.html#gga59bc9aa54705292d8f0f1ad9ca48ca82ac2abcf7abcdba5abeda5801fc771baa8',1,'DetourCrowd.h']]], + ['dt_5fcrowdagent_5fstate_5foffmesh_334',['DT_CROWDAGENT_STATE_OFFMESH',['../group__crowd.html#gga59bc9aa54705292d8f0f1ad9ca48ca82a4194d4934f447526177f505e93c96fec',1,'DetourCrowd.h']]], + ['dt_5fcrowdagent_5fstate_5fwalking_335',['DT_CROWDAGENT_STATE_WALKING',['../group__crowd.html#gga59bc9aa54705292d8f0f1ad9ca48ca82ab165ebb808ee9390c7f7ec9f5ea277ec',1,'DetourCrowd.h']]], + ['dt_5fcrowdagent_5ftarget_5ffailed_336',['DT_CROWDAGENT_TARGET_FAILED',['../DetourCrowd_8h.html#aad3d0709fbef530774fb64258d384b45aaa1525e197b2b6add764e97fd3da5ce7',1,'DetourCrowd.h']]], + ['dt_5fcrowdagent_5ftarget_5fnone_337',['DT_CROWDAGENT_TARGET_NONE',['../DetourCrowd_8h.html#aad3d0709fbef530774fb64258d384b45a1efdea788539b201e16bcd09e9347ae7',1,'DetourCrowd.h']]], + ['dt_5fcrowdagent_5ftarget_5frequesting_338',['DT_CROWDAGENT_TARGET_REQUESTING',['../DetourCrowd_8h.html#aad3d0709fbef530774fb64258d384b45a6cde99476549f0f93d670b33bbdd7876',1,'DetourCrowd.h']]], + ['dt_5fcrowdagent_5ftarget_5fvalid_339',['DT_CROWDAGENT_TARGET_VALID',['../DetourCrowd_8h.html#aad3d0709fbef530774fb64258d384b45a45244b4362aee5863d10bd13b5c66551',1,'DetourCrowd.h']]], + ['dt_5fcrowdagent_5ftarget_5fvelocity_340',['DT_CROWDAGENT_TARGET_VELOCITY',['../DetourCrowd_8h.html#aad3d0709fbef530774fb64258d384b45a9c2198f765c2c912565af671e5635bbe',1,'DetourCrowd.h']]], + ['dt_5fcrowdagent_5ftarget_5fwaiting_5ffor_5fpath_341',['DT_CROWDAGENT_TARGET_WAITING_FOR_PATH',['../DetourCrowd_8h.html#aad3d0709fbef530774fb64258d384b45a0f572e76100f026a51452e63824e26b1',1,'DetourCrowd.h']]], + ['dt_5fcrowdagent_5ftarget_5fwaiting_5ffor_5fqueue_342',['DT_CROWDAGENT_TARGET_WAITING_FOR_QUEUE',['../DetourCrowd_8h.html#aad3d0709fbef530774fb64258d384b45a21672fb406e58d9efd8382d0cdcc4d25',1,'DetourCrowd.h']]], + ['dt_5fdetail_5fedge_5fboundary_343',['DT_DETAIL_EDGE_BOUNDARY',['../DetourNavMesh_8h.html#a42be29b2c7d98704d437ef08e9bc526da2d515783212eec68c805a91b8de1d723',1,'DetourNavMesh.h']]], + ['dt_5fext_5flink_344',['DT_EXT_LINK',['../DetourNavMesh_8h.html#aa2d400dcfaef68b62c1f1118de13e87e',1,'DetourNavMesh.h']]], + ['dt_5ffailure_345',['DT_FAILURE',['../DetourStatus_8h.html#ae3cf4ee7a8ebe23a82381ffe0952fe3f',1,'DetourStatus.h']]], + ['dt_5ffindpath_5fany_5fangle_346',['DT_FINDPATH_ANY_ANGLE',['../DetourNavMesh_8h.html#aa783b570776c948098378da1a45e1bacae68dc8af59dbb706ec70f4482590599b',1,'DetourNavMesh.h']]], + ['dt_5fin_5fprogress_347',['DT_IN_PROGRESS',['../DetourStatus_8h.html#ab2f47a2593c7138b17c1d8939f19cf06',1,'DetourStatus.h']]], + ['dt_5finvalid_5fparam_348',['DT_INVALID_PARAM',['../DetourStatus_8h.html#a6dfcd405e3c12914b8b10af6558667c0',1,'DetourStatus.h']]], + ['dt_5flayer_5fmax_5fneis_349',['DT_LAYER_MAX_NEIS',['../DetourTileCacheBuilder_8cpp.html#ae4329c19c9328b4a0d083e8182359621',1,'DetourTileCacheBuilder.cpp']]], + ['dt_5fmax_5fareas_350',['DT_MAX_AREAS',['../group__detour.html#ga954dc85eacf41248ee76968957484a9e',1,'DetourNavMesh.h']]], + ['dt_5fmax_5fpattern_5fdivs_351',['DT_MAX_PATTERN_DIVS',['../DetourObstacleAvoidance_8h.html#ac8451df4322c140ea80ad2a0f51f1ba3',1,'DetourObstacleAvoidance.h']]], + ['dt_5fmax_5fpattern_5frings_352',['DT_MAX_PATTERN_RINGS',['../DetourObstacleAvoidance_8h.html#afed135d1762d837d2a633452d40cf956',1,'DetourObstacleAvoidance.h']]], + ['dt_5fmax_5fstates_5fper_5fnode_353',['DT_MAX_STATES_PER_NODE',['../DetourNode_8h.html#a1f8049d9ecf8fd9c1cd5887a366c84b4',1,'DetourNode.h']]], + ['dt_5fmax_5ftouched_5ftiles_354',['DT_MAX_TOUCHED_TILES',['../DetourTileCache_8h.html#a3d05fd569d4f9cb51f3c99cbbdf97e22',1,'DetourTileCache.h']]], + ['dt_5fnavmesh_5fmagic_355',['DT_NAVMESH_MAGIC',['../DetourNavMesh_8h.html#aab52da983cde5b114352f3aed116d9ed',1,'DetourNavMesh.h']]], + ['dt_5fnavmesh_5fstate_5fmagic_356',['DT_NAVMESH_STATE_MAGIC',['../DetourNavMesh_8h.html#aef983d45255c8121c3407c8dc927351d',1,'DetourNavMesh.h']]], + ['dt_5fnavmesh_5fstate_5fversion_357',['DT_NAVMESH_STATE_VERSION',['../DetourNavMesh_8h.html#ad9115abe722291293a45d928ec44a87b',1,'DetourNavMesh.h']]], + ['dt_5fnavmesh_5fversion_358',['DT_NAVMESH_VERSION',['../DetourNavMesh_8h.html#a666e6e3396a42c7cacc6ac5d593c10d8',1,'DetourNavMesh.h']]], + ['dt_5fnode_5fclosed_359',['DT_NODE_CLOSED',['../DetourNode_8h.html#a2792299fd5fa6e50bb9c5d5b7dd12974aa9a4b8aa94ba18584fa07b2d8ad9aac2',1,'DetourNode.h']]], + ['dt_5fnode_5fopen_360',['DT_NODE_OPEN',['../DetourNode_8h.html#a2792299fd5fa6e50bb9c5d5b7dd12974a792e67a3226f80ca54332bcbdac1c1c9',1,'DetourNode.h']]], + ['dt_5fnode_5fparent_5fbits_361',['DT_NODE_PARENT_BITS',['../DetourNode_8h.html#ad5fac666b7b3afcd2bfdc861b5183b37',1,'DetourNode.h']]], + ['dt_5fnode_5fparent_5fdetached_362',['DT_NODE_PARENT_DETACHED',['../DetourNode_8h.html#a2792299fd5fa6e50bb9c5d5b7dd12974acbfda68f4c9e956d9b2573521a5156e1',1,'DetourNode.h']]], + ['dt_5fnode_5fstate_5fbits_363',['DT_NODE_STATE_BITS',['../DetourNode_8h.html#a555dcbe78da237f3b3612de831cebf38',1,'DetourNode.h']]], + ['dt_5fnull_5fidx_364',['DT_NULL_IDX',['../DetourNode_8h.html#acef3b5e4fc85d943523912f705df710d',1,'DetourNode.h']]], + ['dt_5fnull_5flink_365',['DT_NULL_LINK',['../DetourNavMesh_8h.html#aca31b5eadafd19285e16eca707b3295b',1,'DetourNavMesh.h']]], + ['dt_5fobstacle_5fbox_366',['DT_OBSTACLE_BOX',['../DetourTileCache_8h.html#a9852a22595ceae4debd70f078e037971ab654da18354a922d963354e55469a66b',1,'DetourTileCache.h']]], + ['dt_5fobstacle_5fcylinder_367',['DT_OBSTACLE_CYLINDER',['../DetourTileCache_8h.html#a9852a22595ceae4debd70f078e037971a766d09d1314b46ef10e4841c3bee531f',1,'DetourTileCache.h']]], + ['dt_5fobstacle_5fempty_368',['DT_OBSTACLE_EMPTY',['../DetourTileCache_8h.html#aa7ed646a7dd7b710737b2f9519ba6be0a094b269c342db86c17d4e378a5b40e91',1,'DetourTileCache.h']]], + ['dt_5fobstacle_5foriented_5fbox_369',['DT_OBSTACLE_ORIENTED_BOX',['../DetourTileCache_8h.html#a9852a22595ceae4debd70f078e037971ab58715685be1dff92c88c3e008f16b04',1,'DetourTileCache.h']]], + ['dt_5fobstacle_5fprocessed_370',['DT_OBSTACLE_PROCESSED',['../DetourTileCache_8h.html#aa7ed646a7dd7b710737b2f9519ba6be0a4498b976355b555e4f3f44f83a1c00f4',1,'DetourTileCache.h']]], + ['dt_5fobstacle_5fprocessing_371',['DT_OBSTACLE_PROCESSING',['../DetourTileCache_8h.html#aa7ed646a7dd7b710737b2f9519ba6be0addaffc9e5b62b3804b907d00dd29cc16',1,'DetourTileCache.h']]], + ['dt_5fobstacle_5fremoving_372',['DT_OBSTACLE_REMOVING',['../DetourTileCache_8h.html#aa7ed646a7dd7b710737b2f9519ba6be0a994e7077e1e02ba53b4b00d5cf0430fb',1,'DetourTileCache.h']]], + ['dt_5foffmesh_5fcon_5fbidir_373',['DT_OFFMESH_CON_BIDIR',['../DetourNavMesh_8h.html#adf1ff9d60c36045d41c92859d96e8dd0',1,'DetourNavMesh.h']]], + ['dt_5fout_5fof_5fmemory_374',['DT_OUT_OF_MEMORY',['../DetourStatus_8h.html#a4c4375ffc9ca7a0425af2b39449eb19e',1,'DetourStatus.h']]], + ['dt_5fout_5fof_5fnodes_375',['DT_OUT_OF_NODES',['../DetourStatus_8h.html#a0f707e8e896d9a725f8f93f5779cf02c',1,'DetourStatus.h']]], + ['dt_5fpartial_5fresult_376',['DT_PARTIAL_RESULT',['../DetourStatus_8h.html#a673010905b90e4928aeea1480ee58491',1,'DetourStatus.h']]], + ['dt_5fpathq_5finvalid_377',['DT_PATHQ_INVALID',['../DetourPathQueue_8h.html#aa93cb031b83396d30e7577f4a69671cc',1,'DetourPathQueue.h']]], + ['dt_5fpi_378',['DT_PI',['../DetourObstacleAvoidance_8cpp.html#a9afa5327384071c6217ac389c728f196',1,'DetourObstacleAvoidance.cpp']]], + ['dt_5fpolytype_5fground_379',['DT_POLYTYPE_GROUND',['../DetourNavMesh_8h.html#a19937b4ff098f7c52ee08af1b5f39c98a29186313531593c85696d62ff83f6220',1,'DetourNavMesh.h']]], + ['dt_5fpolytype_5foffmesh_5fconnection_380',['DT_POLYTYPE_OFFMESH_CONNECTION',['../DetourNavMesh_8h.html#a19937b4ff098f7c52ee08af1b5f39c98a5454d6f0a19d046264f5305baa7ba858',1,'DetourNavMesh.h']]], + ['dt_5fray_5fcast_5flimit_5fproportions_381',['DT_RAY_CAST_LIMIT_PROPORTIONS',['../DetourNavMesh_8h.html#a52749b53f72f838b3f54f61ca091ca74',1,'DetourNavMesh.h']]], + ['dt_5fraycast_5fuse_5fcosts_382',['DT_RAYCAST_USE_COSTS',['../DetourNavMesh_8h.html#a667a15950cb93797b15be3c958e440f0a904277bd4cec80e1ec2848c010b779e8',1,'DetourNavMesh.h']]], + ['dt_5fstatus_5fdetail_5fmask_383',['DT_STATUS_DETAIL_MASK',['../DetourStatus_8h.html#a9ad48e73cb942b84fe08c5ad18626a54',1,'DetourStatus.h']]], + ['dt_5fstraightpath_5fall_5fcrossings_384',['DT_STRAIGHTPATH_ALL_CROSSINGS',['../DetourNavMesh_8h.html#a41a7f5b74dd90b219858a75208bcac4eae6fa64aada65c8ec7458b2a5653d5e02',1,'DetourNavMesh.h']]], + ['dt_5fstraightpath_5farea_5fcrossings_385',['DT_STRAIGHTPATH_AREA_CROSSINGS',['../DetourNavMesh_8h.html#a41a7f5b74dd90b219858a75208bcac4ea0b347150cb46ca63c54526df691a9aef',1,'DetourNavMesh.h']]], + ['dt_5fstraightpath_5fend_386',['DT_STRAIGHTPATH_END',['../DetourNavMesh_8h.html#ac8cecf1c1e32f8464a1905edfeaebbc7a3857dec720eca5984c04ecf962b7bfa2',1,'DetourNavMesh.h']]], + ['dt_5fstraightpath_5foffmesh_5fconnection_387',['DT_STRAIGHTPATH_OFFMESH_CONNECTION',['../DetourNavMesh_8h.html#ac8cecf1c1e32f8464a1905edfeaebbc7a6f3af4eb103dca5d2259f7b8770e2c02',1,'DetourNavMesh.h']]], + ['dt_5fstraightpath_5fstart_388',['DT_STRAIGHTPATH_START',['../DetourNavMesh_8h.html#ac8cecf1c1e32f8464a1905edfeaebbc7a45732cca36a4a88b3cc5492dc1c4d55a',1,'DetourNavMesh.h']]], + ['dt_5fsuccess_389',['DT_SUCCESS',['../DetourStatus_8h.html#ace78a9666e74d996b468942e7434989a',1,'DetourStatus.h']]], + ['dt_5ftile_5ffree_5fdata_390',['DT_TILE_FREE_DATA',['../DetourNavMesh_8h.html#ace45ee22124392a9026eb6266000ca1ca454ad5984fddf654fc291123ada94d1b',1,'DetourNavMesh.h']]], + ['dt_5ftilecache_5fmagic_391',['DT_TILECACHE_MAGIC',['../DetourTileCacheBuilder_8h.html#a005319504c97da44fbdacdd8edade995',1,'DetourTileCacheBuilder.h']]], + ['dt_5ftilecache_5fnull_5farea_392',['DT_TILECACHE_NULL_AREA',['../DetourTileCacheBuilder_8h.html#aba60a9bc7c6cb8c034ad6aa3b19b746d',1,'DetourTileCacheBuilder.h']]], + ['dt_5ftilecache_5fnull_5fidx_393',['DT_TILECACHE_NULL_IDX',['../DetourTileCacheBuilder_8h.html#ae8c0176360abedb2fdefe8902cfd0765',1,'DetourTileCacheBuilder.h']]], + ['dt_5ftilecache_5fversion_394',['DT_TILECACHE_VERSION',['../DetourTileCacheBuilder_8h.html#a7a2c6e5ff42add3cd3f9b72452137ebc',1,'DetourTileCacheBuilder.h']]], + ['dt_5ftilecache_5fwalkable_5farea_395',['DT_TILECACHE_WALKABLE_AREA',['../DetourTileCacheBuilder_8h.html#ac6d5504d72ce0d704071b631095b26c4',1,'DetourTileCacheBuilder.h']]], + ['dt_5fverts_5fper_5fpolygon_396',['DT_VERTS_PER_POLYGON',['../group__detour.html#ga8591fdac662dbfabb580de626c64c9f3',1,'DetourNavMesh.h']]], + ['dt_5fwrong_5fmagic_397',['DT_WRONG_MAGIC',['../DetourStatus_8h.html#ad21573b8fc2757cddf316c86cebd39e0',1,'DetourStatus.h']]], + ['dt_5fwrong_5fversion_398',['DT_WRONG_VERSION',['../DetourStatus_8h.html#a643fa17355a1e298489d50f04b763b5a',1,'DetourStatus.h']]], + ['dtabs_399',['dtAbs',['../DetourCommon_8h.html#a6dd5612e0be99e2c657d7164c699c044',1,'DetourCommon.h']]], + ['dtalign4_400',['dtAlign4',['../DetourCommon_8h.html#af0b670bfe127997c427f8f79b7e6d2dd',1,'DetourCommon.h']]], + ['dtalloc_401',['dtAlloc',['../DetourAlloc_8h.html#ac7a1c461b037f7cc0cd1b2e480d12920',1,'dtAlloc(size_t size, dtAllocHint hint): DetourAlloc.cpp'],['../DetourAlloc_8cpp.html#ac7a1c461b037f7cc0cd1b2e480d12920',1,'dtAlloc(size_t size, dtAllocHint hint): DetourAlloc.cpp']]], + ['dtalloccrowd_402',['dtAllocCrowd',['../group__crowd.html#ga01a53c9d76d1b61678ab1944dfbfac55',1,'dtAllocCrowd(): DetourCrowd.cpp'],['../group__crowd.html#ga01a53c9d76d1b61678ab1944dfbfac55',1,'dtAllocCrowd(): DetourCrowd.cpp']]], + ['dtallocdefault_403',['dtAllocDefault',['../DetourAlloc_8cpp.html#aa7c0af28baaf8fe3cc98abd4d7b6e9ea',1,'DetourAlloc.cpp']]], + ['dtallocfunc_404',['dtAllocFunc',['../DetourAlloc_8h.html#a5ff0ad0a4309278f973feae6c4193a3c',1,'DetourAlloc.h']]], + ['dtallochint_405',['dtAllocHint',['../DetourAlloc_8h.html#a318bc084ec7fefd878cd36e0846bd14d',1,'DetourAlloc.h']]], + ['dtallocnavmesh_406',['dtAllocNavMesh',['../group__detour.html#ga73648d53c5a414855a2aa264aab9263c',1,'dtAllocNavMesh(): DetourNavMesh.cpp'],['../group__detour.html#ga73648d53c5a414855a2aa264aab9263c',1,'dtAllocNavMesh(): DetourNavMesh.cpp']]], + ['dtallocnavmeshquery_407',['dtAllocNavMeshQuery',['../group__detour.html#gae547f165feefc955136130c8e22f207a',1,'dtAllocNavMeshQuery(): DetourNavMeshQuery.cpp'],['../group__detour.html#gae547f165feefc955136130c8e22f207a',1,'dtAllocNavMeshQuery(): DetourNavMeshQuery.cpp']]], + ['dtallocobstacleavoidancedebugdata_408',['dtAllocObstacleAvoidanceDebugData',['../DetourObstacleAvoidance_8h.html#a73b364d644159af0553fb750f43749bb',1,'dtAllocObstacleAvoidanceDebugData(): DetourObstacleAvoidance.cpp'],['../DetourObstacleAvoidance_8cpp.html#a73b364d644159af0553fb750f43749bb',1,'dtAllocObstacleAvoidanceDebugData(): DetourObstacleAvoidance.cpp']]], + ['dtallocobstacleavoidancequery_409',['dtAllocObstacleAvoidanceQuery',['../DetourObstacleAvoidance_8h.html#affb10f1420abfa15837a5fb1cdfd9d6e',1,'dtAllocObstacleAvoidanceQuery(): DetourObstacleAvoidance.cpp'],['../DetourObstacleAvoidance_8cpp.html#affb10f1420abfa15837a5fb1cdfd9d6e',1,'dtAllocObstacleAvoidanceQuery(): DetourObstacleAvoidance.cpp']]], + ['dtallocproximitygrid_410',['dtAllocProximityGrid',['../DetourProximityGrid_8h.html#aa385f0e14495008ab9f08493071e6a1b',1,'dtAllocProximityGrid(): DetourProximityGrid.cpp'],['../DetourProximityGrid_8cpp.html#aa385f0e14495008ab9f08493071e6a1b',1,'dtAllocProximityGrid(): DetourProximityGrid.cpp']]], + ['dtallocsetcustom_411',['dtAllocSetCustom',['../DetourAlloc_8h.html#af867be65f8ee4fcdcabd89cca01f2f4a',1,'dtAllocSetCustom(dtAllocFunc *allocFunc, dtFreeFunc *freeFunc): DetourAlloc.cpp'],['../DetourAlloc_8cpp.html#af867be65f8ee4fcdcabd89cca01f2f4a',1,'dtAllocSetCustom(dtAllocFunc *allocFunc, dtFreeFunc *freeFunc): DetourAlloc.cpp']]], + ['dtalloctilecache_412',['dtAllocTileCache',['../DetourTileCache_8cpp.html#abbf86fa9f52a802f0a1005b9dfd31b53',1,'dtAllocTileCache(): DetourTileCache.cpp'],['../DetourTileCache_8h.html#abbf86fa9f52a802f0a1005b9dfd31b53',1,'dtAllocTileCache(): DetourTileCache.cpp']]], + ['dtalloctilecachecontourset_413',['dtAllocTileCacheContourSet',['../DetourTileCacheBuilder_8h.html#ac56fd75ce61e6791ab64e1acc013e290',1,'dtAllocTileCacheContourSet(dtTileCacheAlloc *alloc): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8cpp.html#ac56fd75ce61e6791ab64e1acc013e290',1,'dtAllocTileCacheContourSet(dtTileCacheAlloc *alloc): DetourTileCacheBuilder.cpp']]], + ['dtalloctilecachepolymesh_414',['dtAllocTileCachePolyMesh',['../DetourTileCacheBuilder_8h.html#ad0aff6c472d0b05eb355467290740ac2',1,'dtAllocTileCachePolyMesh(dtTileCacheAlloc *alloc): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8cpp.html#ad0aff6c472d0b05eb355467290740ac2',1,'dtAllocTileCachePolyMesh(dtTileCacheAlloc *alloc): DetourTileCacheBuilder.cpp']]], + ['dtassert_415',['dtAssert',['../DetourAssert_8h.html#ad9878e9fa0121ff8d1390e21dc086951',1,'DetourAssert.h']]], + ['dtassertfailfunc_416',['dtAssertFailFunc',['../DetourAssert_8h.html#ad95d59f19355eca1ab12d2773d36455c',1,'DetourAssert.h']]], + ['dtassertfailgetcustom_417',['dtAssertFailGetCustom',['../DetourAssert_8h.html#ad48579f8f6df6d400f91ad83a7d7cad2',1,'dtAssertFailGetCustom(): DetourAssert.cpp'],['../DetourAssert_8cpp.html#ad48579f8f6df6d400f91ad83a7d7cad2',1,'dtAssertFailGetCustom(): DetourAssert.cpp']]], + ['dtassertfailsetcustom_418',['dtAssertFailSetCustom',['../DetourAssert_8cpp.html#a34ec62fa292227b2ce32428549fe2b97',1,'dtAssertFailSetCustom(dtAssertFailFunc *assertFailFunc): DetourAssert.cpp'],['../DetourAssert_8h.html#a34ec62fa292227b2ce32428549fe2b97',1,'dtAssertFailSetCustom(dtAssertFailFunc *assertFailFunc): DetourAssert.cpp']]], + ['dtbuildtilecachecontours_419',['dtBuildTileCacheContours',['../DetourTileCacheBuilder_8h.html#a35744562caae9f2aa05e02d3ec242433',1,'dtBuildTileCacheContours(dtTileCacheAlloc *alloc, dtTileCacheLayer &layer, const int walkableClimb, const float maxError, dtTileCacheContourSet &lcset): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8cpp.html#a35744562caae9f2aa05e02d3ec242433',1,'dtBuildTileCacheContours(dtTileCacheAlloc *alloc, dtTileCacheLayer &layer, const int walkableClimb, const float maxError, dtTileCacheContourSet &lcset): DetourTileCacheBuilder.cpp']]], + ['dtbuildtilecachelayer_420',['dtBuildTileCacheLayer',['../DetourTileCacheBuilder_8h.html#ab894d05678218a7c3a1cff480958395d',1,'dtBuildTileCacheLayer(dtTileCacheCompressor *comp, dtTileCacheLayerHeader *header, const unsigned char *heights, const unsigned char *areas, const unsigned char *cons, unsigned char **outData, int *outDataSize): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8cpp.html#ab894d05678218a7c3a1cff480958395d',1,'dtBuildTileCacheLayer(dtTileCacheCompressor *comp, dtTileCacheLayerHeader *header, const unsigned char *heights, const unsigned char *areas, const unsigned char *cons, unsigned char **outData, int *outDataSize): DetourTileCacheBuilder.cpp']]], + ['dtbuildtilecachepolymesh_421',['dtBuildTileCachePolyMesh',['../DetourTileCacheBuilder_8h.html#a09f7cfe18183529c3d88726a3a522d38',1,'dtBuildTileCachePolyMesh(dtTileCacheAlloc *alloc, dtTileCacheContourSet &lcset, dtTileCachePolyMesh &mesh): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8cpp.html#a09f7cfe18183529c3d88726a3a522d38',1,'dtBuildTileCachePolyMesh(dtTileCacheAlloc *alloc, dtTileCacheContourSet &lcset, dtTileCachePolyMesh &mesh): DetourTileCacheBuilder.cpp']]], + ['dtbuildtilecacheregions_422',['dtBuildTileCacheRegions',['../DetourTileCacheBuilder_8h.html#acfc6b37c6276eaf3a61fec688b2ba0e3',1,'dtBuildTileCacheRegions(dtTileCacheAlloc *alloc, dtTileCacheLayer &layer, const int walkableClimb): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8cpp.html#acfc6b37c6276eaf3a61fec688b2ba0e3',1,'dtBuildTileCacheRegions(dtTileCacheAlloc *alloc, dtTileCacheLayer &layer, const int walkableClimb): DetourTileCacheBuilder.cpp']]], + ['dtbvnode_423',['dtBVNode',['../structdtBVNode.html',1,'']]], + ['dtcalcpolycenter_424',['dtCalcPolyCenter',['../DetourCommon_8cpp.html#ae5a2810aa8c6eeebde512561a1706515',1,'dtCalcPolyCenter(float *tc, const unsigned short *idx, int nidx, const float *verts): DetourCommon.cpp'],['../DetourCommon_8h.html#ae5a2810aa8c6eeebde512561a1706515',1,'dtCalcPolyCenter(float *tc, const unsigned short *idx, int nidx, const float *verts): DetourCommon.cpp']]], + ['dtclamp_425',['dtClamp',['../DetourCommon_8h.html#a488d89869306c3d57c7a685aab89f9e6',1,'DetourCommon.h']]], + ['dtclosestheightpointtriangle_426',['dtClosestHeightPointTriangle',['../DetourCommon_8cpp.html#ae04f7da639a87bf34242ff362e31bef4',1,'dtClosestHeightPointTriangle(const float *p, const float *a, const float *b, const float *c, float &h): DetourCommon.cpp'],['../DetourCommon_8h.html#ae04f7da639a87bf34242ff362e31bef4',1,'dtClosestHeightPointTriangle(const float *p, const float *a, const float *b, const float *c, float &h): DetourCommon.cpp']]], + ['dtclosestptpointtriangle_427',['dtClosestPtPointTriangle',['../DetourCommon_8cpp.html#a4895e82b2b41cc99acade7e8f88eba6e',1,'dtClosestPtPointTriangle(float *closest, const float *p, const float *a, const float *b, const float *c): DetourCommon.cpp'],['../DetourCommon_8h.html#a4895e82b2b41cc99acade7e8f88eba6e',1,'dtClosestPtPointTriangle(float *closest, const float *p, const float *a, const float *b, const float *c): DetourCommon.cpp']]], + ['dtcollectpolysquery_428',['dtCollectPolysQuery',['../classdtCollectPolysQuery.html#a9bcdd3786ee5580ad5d52680f6edd03f',1,'dtCollectPolysQuery::dtCollectPolysQuery()'],['../classdtCollectPolysQuery.html',1,'dtCollectPolysQuery']]], + ['dtcompressedtile_429',['dtCompressedTile',['../structdtCompressedTile.html',1,'']]], + ['dtcompressedtileflags_430',['dtCompressedTileFlags',['../DetourTileCache_8h.html#ae7bbfdb463ce9748076a000e6a4f95e7',1,'DetourTileCache.h']]], + ['dtcompressedtileref_431',['dtCompressedTileRef',['../DetourTileCache_8h.html#ae3892eb9546be426b84e906846ada2f6',1,'DetourTileCache.h']]], + ['dtcreatenavmeshdata_432',['dtCreateNavMeshData',['../group__detour.html#gaf56ac19e79e5948fdb1051158577e648',1,'dtCreateNavMeshData(dtNavMeshCreateParams *params, unsigned char **outData, int *outDataSize): DetourNavMeshBuilder.cpp'],['../group__detour.html#gaf56ac19e79e5948fdb1051158577e648',1,'dtCreateNavMeshData(dtNavMeshCreateParams *params, unsigned char **outData, int *outDataSize): DetourNavMeshBuilder.cpp']]], + ['dtcrowd_433',['dtCrowd',['../classdtCrowd.html',1,'dtCrowd'],['../classdtCrowd.html#a2210ecc99a80dfda29e1b57f22b3f8a8',1,'dtCrowd::dtCrowd()']]], + ['dtcrowdagent_434',['dtCrowdAgent',['../structdtCrowdAgent.html',1,'']]], + ['dtcrowdagentanimation_435',['dtCrowdAgentAnimation',['../structdtCrowdAgentAnimation.html',1,'']]], + ['dtcrowdagentdebuginfo_436',['dtCrowdAgentDebugInfo',['../structdtCrowdAgentDebugInfo.html',1,'']]], + ['dtcrowdagentparams_437',['dtCrowdAgentParams',['../structdtCrowdAgentParams.html',1,'']]], + ['dtcrowdneighbour_438',['dtCrowdNeighbour',['../structdtCrowdNeighbour.html',1,'']]], + ['dtdecompresstilecachelayer_439',['dtDecompressTileCacheLayer',['../DetourTileCacheBuilder_8cpp.html#a688d7e55e37ccfb358962a552b86423c',1,'dtDecompressTileCacheLayer(dtTileCacheAlloc *alloc, dtTileCacheCompressor *comp, unsigned char *compressed, const int compressedSize, dtTileCacheLayer **layerOut): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8h.html#a688d7e55e37ccfb358962a552b86423c',1,'dtDecompressTileCacheLayer(dtTileCacheAlloc *alloc, dtTileCacheCompressor *comp, unsigned char *compressed, const int compressedSize, dtTileCacheLayer **layerOut): DetourTileCacheBuilder.cpp']]], + ['dtdetailtriedgeflags_440',['dtDetailTriEdgeFlags',['../DetourNavMesh_8h.html#a42be29b2c7d98704d437ef08e9bc526d',1,'DetourNavMesh.h']]], + ['dtdistanceptpolyedgessqr_441',['dtDistancePtPolyEdgesSqr',['../DetourCommon_8h.html#a9364781fff515c2d8e1fe654e9491b5d',1,'dtDistancePtPolyEdgesSqr(const float *pt, const float *verts, const int nverts, float *ed, float *et): DetourCommon.cpp'],['../DetourCommon_8cpp.html#a9364781fff515c2d8e1fe654e9491b5d',1,'dtDistancePtPolyEdgesSqr(const float *pt, const float *verts, const int nverts, float *ed, float *et): DetourCommon.cpp']]], + ['dtdistanceptsegsqr2d_442',['dtDistancePtSegSqr2D',['../DetourCommon_8h.html#a99afe0b6e77a0c800e9582faea87cf6d',1,'dtDistancePtSegSqr2D(const float *pt, const float *p, const float *q, float &t): DetourCommon.cpp'],['../DetourCommon_8cpp.html#a99afe0b6e77a0c800e9582faea87cf6d',1,'dtDistancePtSegSqr2D(const float *pt, const float *p, const float *q, float &t): DetourCommon.cpp']]], + ['dtfindnearestpolyquery_443',['dtFindNearestPolyQuery',['../classdtFindNearestPolyQuery.html#a8900d818df939f8917d5220b854675c6',1,'dtFindNearestPolyQuery::dtFindNearestPolyQuery()'],['../classdtFindNearestPolyQuery.html',1,'dtFindNearestPolyQuery']]], + ['dtfindpathoptions_444',['dtFindPathOptions',['../DetourNavMesh_8h.html#aa783b570776c948098378da1a45e1bac',1,'DetourNavMesh.h']]], + ['dtfixedarray_445',['dtFixedArray',['../classdtFixedArray.html#a33185d41a3c263367ab862014104f89e',1,'dtFixedArray::dtFixedArray()'],['../classdtFixedArray.html',1,'dtFixedArray< T >']]], + ['dtfree_446',['dtFree',['../DetourAlloc_8h.html#adb7919ae2642d1a487ce5fce6ae3af0d',1,'dtFree(void *ptr): DetourAlloc.cpp'],['../DetourAlloc_8cpp.html#adb7919ae2642d1a487ce5fce6ae3af0d',1,'dtFree(void *ptr): DetourAlloc.cpp']]], + ['dtfreecrowd_447',['dtFreeCrowd',['../group__crowd.html#ga9475313642645070e78c359e0fc02b7a',1,'dtFreeCrowd(dtCrowd *ptr): DetourCrowd.cpp'],['../group__crowd.html#ga9475313642645070e78c359e0fc02b7a',1,'dtFreeCrowd(dtCrowd *ptr): DetourCrowd.cpp']]], + ['dtfreedefault_448',['dtFreeDefault',['../DetourAlloc_8cpp.html#ab4adb8d35383b40b861395dc36b82a3e',1,'DetourAlloc.cpp']]], + ['dtfreefunc_449',['dtFreeFunc',['../DetourAlloc_8h.html#a15d9afa65e6a83a6188c7efa3fa50376',1,'DetourAlloc.h']]], + ['dtfreenavmesh_450',['dtFreeNavMesh',['../group__detour.html#gad938af5675a2f62c7c3830b38ea9a184',1,'dtFreeNavMesh(dtNavMesh *navmesh): DetourNavMesh.cpp'],['../group__detour.html#gad938af5675a2f62c7c3830b38ea9a184',1,'dtFreeNavMesh(dtNavMesh *navmesh): DetourNavMesh.cpp']]], + ['dtfreenavmeshquery_451',['dtFreeNavMeshQuery',['../group__detour.html#ga24ccc133f15a0aa85f06f1c1ead2e6c4',1,'dtFreeNavMeshQuery(dtNavMeshQuery *query): DetourNavMeshQuery.cpp'],['../group__detour.html#ga24ccc133f15a0aa85f06f1c1ead2e6c4',1,'dtFreeNavMeshQuery(dtNavMeshQuery *navmesh): DetourNavMeshQuery.cpp']]], + ['dtfreeobstacleavoidancedebugdata_452',['dtFreeObstacleAvoidanceDebugData',['../DetourObstacleAvoidance_8h.html#adc41dc4522eeb508fad47cfa044e7e1b',1,'dtFreeObstacleAvoidanceDebugData(dtObstacleAvoidanceDebugData *ptr): DetourObstacleAvoidance.cpp'],['../DetourObstacleAvoidance_8cpp.html#adc41dc4522eeb508fad47cfa044e7e1b',1,'dtFreeObstacleAvoidanceDebugData(dtObstacleAvoidanceDebugData *ptr): DetourObstacleAvoidance.cpp']]], + ['dtfreeobstacleavoidancequery_453',['dtFreeObstacleAvoidanceQuery',['../DetourObstacleAvoidance_8h.html#aef93bd8686c7ffe189f66a3ac387fe22',1,'dtFreeObstacleAvoidanceQuery(dtObstacleAvoidanceQuery *ptr): DetourObstacleAvoidance.cpp'],['../DetourObstacleAvoidance_8cpp.html#aef93bd8686c7ffe189f66a3ac387fe22',1,'dtFreeObstacleAvoidanceQuery(dtObstacleAvoidanceQuery *ptr): DetourObstacleAvoidance.cpp']]], + ['dtfreeproximitygrid_454',['dtFreeProximityGrid',['../DetourProximityGrid_8h.html#a6e5d0e95e7ed462c5732e66a17410338',1,'dtFreeProximityGrid(dtProximityGrid *ptr): DetourProximityGrid.cpp'],['../DetourProximityGrid_8cpp.html#a6e5d0e95e7ed462c5732e66a17410338',1,'dtFreeProximityGrid(dtProximityGrid *ptr): DetourProximityGrid.cpp']]], + ['dtfreetilecache_455',['dtFreeTileCache',['../DetourTileCache_8cpp.html#ac7924ac4ce94c94affdfbe6a07cea976',1,'dtFreeTileCache(dtTileCache *tc): DetourTileCache.cpp'],['../DetourTileCache_8h.html#ac7924ac4ce94c94affdfbe6a07cea976',1,'dtFreeTileCache(dtTileCache *tc): DetourTileCache.cpp']]], + ['dtfreetilecachecontourset_456',['dtFreeTileCacheContourSet',['../DetourTileCacheBuilder_8cpp.html#abc76def8bcf87c7c15ad4a308126de6f',1,'dtFreeTileCacheContourSet(dtTileCacheAlloc *alloc, dtTileCacheContourSet *cset): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8h.html#abc76def8bcf87c7c15ad4a308126de6f',1,'dtFreeTileCacheContourSet(dtTileCacheAlloc *alloc, dtTileCacheContourSet *cset): DetourTileCacheBuilder.cpp']]], + ['dtfreetilecachelayer_457',['dtFreeTileCacheLayer',['../DetourTileCacheBuilder_8h.html#a5d8bca7845ae4c593726e2c0062ed0a7',1,'dtFreeTileCacheLayer(dtTileCacheAlloc *alloc, dtTileCacheLayer *layer): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8cpp.html#a5d8bca7845ae4c593726e2c0062ed0a7',1,'dtFreeTileCacheLayer(dtTileCacheAlloc *alloc, dtTileCacheLayer *layer): DetourTileCacheBuilder.cpp']]], + ['dtfreetilecachepolymesh_458',['dtFreeTileCachePolyMesh',['../DetourTileCacheBuilder_8h.html#a6b46fb526524261ff8383bc38d9e1983',1,'dtFreeTileCachePolyMesh(dtTileCacheAlloc *alloc, dtTileCachePolyMesh *lmesh): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8cpp.html#a6b46fb526524261ff8383bc38d9e1983',1,'dtFreeTileCachePolyMesh(dtTileCacheAlloc *alloc, dtTileCachePolyMesh *lmesh): DetourTileCacheBuilder.cpp']]], + ['dtgetdetailtriedgeflags_459',['dtGetDetailTriEdgeFlags',['../DetourNavMesh_8h.html#a5368111c9ec95da8fd3ad0c45b90c902',1,'DetourNavMesh.h']]], + ['dtgetthenadvancebufferpointer_460',['dtGetThenAdvanceBufferPointer',['../DetourCommon_8h.html#a36687a200ee5ef42291fb2618c678298',1,'dtGetThenAdvanceBufferPointer(const unsigned char *&buffer, const size_t distanceToAdvance): DetourCommon.h'],['../DetourCommon_8h.html#ab994073a9dc4b569d776786b00d90e1d',1,'dtGetThenAdvanceBufferPointer(unsigned char *&buffer, const size_t distanceToAdvance): DetourCommon.h']]], + ['dthashref_461',['dtHashRef',['../DetourNode_8cpp.html#abe28cb23dd9bd2f51a0146c2448827d2',1,'DetourNode.cpp']]], + ['dtignoreunused_462',['dtIgnoreUnused',['../DetourCommon_8h.html#a339afb43c105f3923f719bd63dca7312',1,'DetourCommon.h']]], + ['dtilog2_463',['dtIlog2',['../DetourCommon_8h.html#a8c49318f4e7f77972684dd9de93849e3',1,'DetourCommon.h']]], + ['dtintersectsegmentpoly2d_464',['dtIntersectSegmentPoly2D',['../DetourCommon_8h.html#a5cb54b8f523d837ab0d99bf4acfc7e2a',1,'dtIntersectSegmentPoly2D(const float *p0, const float *p1, const float *verts, int nverts, float &tmin, float &tmax, int &segMin, int &segMax): DetourCommon.cpp'],['../DetourCommon_8cpp.html#a5cb54b8f523d837ab0d99bf4acfc7e2a',1,'dtIntersectSegmentPoly2D(const float *p0, const float *p1, const float *verts, int nverts, float &tmin, float &tmax, int &segMin, int &segMax): DetourCommon.cpp']]], + ['dtintersectsegseg2d_465',['dtIntersectSegSeg2D',['../DetourCommon_8h.html#af683acdd2685f36cbfd62202251857df',1,'dtIntersectSegSeg2D(const float *ap, const float *aq, const float *bp, const float *bq, float &s, float &t): DetourCommon.cpp'],['../DetourCommon_8cpp.html#af683acdd2685f36cbfd62202251857df',1,'dtIntersectSegSeg2D(const float *ap, const float *aq, const float *bp, const float *bq, float &s, float &t): DetourCommon.cpp']]], + ['dtlayermonotoneregion_466',['dtLayerMonotoneRegion',['../structdtLayerMonotoneRegion.html',1,'']]], + ['dtlayersweepspan_467',['dtLayerSweepSpan',['../structdtLayerSweepSpan.html',1,'']]], + ['dtlink_468',['dtLink',['../structdtLink.html',1,'']]], + ['dtlocalboundary_469',['dtLocalBoundary',['../classdtLocalBoundary.html',1,'dtLocalBoundary'],['../classdtLocalBoundary.html#abfe1c882605189d161280f28aaeede2e',1,'dtLocalBoundary::dtLocalBoundary()']]], + ['dtmarkboxarea_470',['dtMarkBoxArea',['../DetourTileCacheBuilder_8cpp.html#ae2f86fd0c1c1184e6d25d9f410c577f0',1,'dtMarkBoxArea(dtTileCacheLayer &layer, const float *orig, const float cs, const float ch, const float *center, const float *halfExtents, const float *rotAux, const unsigned char areaId): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8h.html#a56fa849023117c068a54f84248b4d1c9',1,'dtMarkBoxArea(dtTileCacheLayer &layer, const float *orig, const float cs, const float ch, const float *bmin, const float *bmax, const unsigned char areaId): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8cpp.html#a56fa849023117c068a54f84248b4d1c9',1,'dtMarkBoxArea(dtTileCacheLayer &layer, const float *orig, const float cs, const float ch, const float *bmin, const float *bmax, const unsigned char areaId): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8h.html#ae2f86fd0c1c1184e6d25d9f410c577f0',1,'dtMarkBoxArea(dtTileCacheLayer &layer, const float *orig, const float cs, const float ch, const float *center, const float *halfExtents, const float *rotAux, const unsigned char areaId): DetourTileCacheBuilder.cpp']]], + ['dtmarkcylinderarea_471',['dtMarkCylinderArea',['../DetourTileCacheBuilder_8h.html#a85bd937d84ac57718deca82e3573588d',1,'dtMarkCylinderArea(dtTileCacheLayer &layer, const float *orig, const float cs, const float ch, const float *pos, const float radius, const float height, const unsigned char areaId): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8cpp.html#a85bd937d84ac57718deca82e3573588d',1,'dtMarkCylinderArea(dtTileCacheLayer &layer, const float *orig, const float cs, const float ch, const float *pos, const float radius, const float height, const unsigned char areaId): DetourTileCacheBuilder.cpp']]], + ['dtmathatan2f_472',['dtMathAtan2f',['../DetourMath_8h.html#a292378604b8f33cb144e143f9d33a2e4',1,'DetourMath.h']]], + ['dtmathceilf_473',['dtMathCeilf',['../DetourMath_8h.html#aa4a2945349a192a21dd0d9b8d66929d8',1,'DetourMath.h']]], + ['dtmathcosf_474',['dtMathCosf',['../DetourMath_8h.html#acfd5b167b14008287b6bc277c8d8d63f',1,'DetourMath.h']]], + ['dtmathfabsf_475',['dtMathFabsf',['../DetourMath_8h.html#a2ad54989ede65d69ab7a72a06b99941e',1,'DetourMath.h']]], + ['dtmathfloorf_476',['dtMathFloorf',['../DetourMath_8h.html#a3969a62f73c241ca665136b5c705be2c',1,'DetourMath.h']]], + ['dtmathisfinite_477',['dtMathIsfinite',['../DetourMath_8h.html#aada58cd45766fc2aa5c722315d5ba04c',1,'DetourMath.h']]], + ['dtmathsinf_478',['dtMathSinf',['../DetourMath_8h.html#a79b7b16693ad3fed887aa65c1207724d',1,'DetourMath.h']]], + ['dtmathsqrtf_479',['dtMathSqrtf',['../DetourMath_8h.html#a7d78191f5515fca287061332e9792632',1,'DetourMath.h']]], + ['dtmax_480',['dtMax',['../DetourCommon_8h.html#a8823f3ed1d46c80aa4d8d6b6646e8e72',1,'DetourCommon.h']]], + ['dtmergecorridorendmoved_481',['dtMergeCorridorEndMoved',['../DetourPathCorridor_8h.html#a4d27cc6ca58f90a5d92f6081d9a8d4f3',1,'dtMergeCorridorEndMoved(dtPolyRef *path, const int npath, const int maxPath, const dtPolyRef *visited, const int nvisited): DetourPathCorridor.cpp'],['../DetourPathCorridor_8cpp.html#a4d27cc6ca58f90a5d92f6081d9a8d4f3',1,'dtMergeCorridorEndMoved(dtPolyRef *path, const int npath, const int maxPath, const dtPolyRef *visited, const int nvisited): DetourPathCorridor.cpp']]], + ['dtmergecorridorstartmoved_482',['dtMergeCorridorStartMoved',['../DetourPathCorridor_8h.html#ae7c0ed2b3c1e994b2591716f66f3ecaf',1,'dtMergeCorridorStartMoved(dtPolyRef *path, const int npath, const int maxPath, const dtPolyRef *visited, const int nvisited): DetourPathCorridor.cpp'],['../DetourPathCorridor_8cpp.html#ae7c0ed2b3c1e994b2591716f66f3ecaf',1,'dtMergeCorridorStartMoved(dtPolyRef *path, const int npath, const int maxPath, const dtPolyRef *visited, const int nvisited): DetourPathCorridor.cpp']]], + ['dtmergecorridorstartshortcut_483',['dtMergeCorridorStartShortcut',['../DetourPathCorridor_8h.html#a0cce0c029141de4e0cadc120729f945b',1,'dtMergeCorridorStartShortcut(dtPolyRef *path, const int npath, const int maxPath, const dtPolyRef *visited, const int nvisited): DetourPathCorridor.cpp'],['../DetourPathCorridor_8cpp.html#a0cce0c029141de4e0cadc120729f945b',1,'dtMergeCorridorStartShortcut(dtPolyRef *path, const int npath, const int maxPath, const dtPolyRef *visited, const int nvisited): DetourPathCorridor.cpp']]], + ['dtmeshheader_484',['dtMeshHeader',['../structdtMeshHeader.html',1,'']]], + ['dtmeshtile_485',['dtMeshTile',['../structdtMeshTile.html',1,'']]], + ['dtmin_486',['dtMin',['../DetourCommon_8h.html#a1ba504117782e7d67fe3106ecd76988a',1,'DetourCommon.h']]], + ['dtnavmesh_487',['dtNavMesh',['../classdtNavMesh.html',1,'dtNavMesh'],['../classdtNavMesh.html#a2c0a9164f97121d8d6fc5d48d3b2c544',1,'dtNavMesh::dtNavMesh()']]], + ['dtnavmeshcreateparams_488',['dtNavMeshCreateParams',['../structdtNavMeshCreateParams.html',1,'']]], + ['dtnavmeshdataswapendian_489',['dtNavMeshDataSwapEndian',['../DetourNavMeshBuilder_8cpp.html#a4a05bdb40ab3e0ea33220421ed049d15',1,'dtNavMeshDataSwapEndian(unsigned char *data, const int): DetourNavMeshBuilder.cpp'],['../DetourNavMeshBuilder_8h.html#a619569f8035bcbf9973ac3bdf391ca49',1,'dtNavMeshDataSwapEndian(unsigned char *data, const int dataSize): DetourNavMeshBuilder.cpp']]], + ['dtnavmeshheaderswapendian_490',['dtNavMeshHeaderSwapEndian',['../DetourNavMeshBuilder_8cpp.html#ace48ade47c4974b02f054b9f5c46f9e3',1,'dtNavMeshHeaderSwapEndian(unsigned char *data, const int): DetourNavMeshBuilder.cpp'],['../DetourNavMeshBuilder_8h.html#aeec7de5f61c6a26b6ae2917864a040df',1,'dtNavMeshHeaderSwapEndian(unsigned char *data, const int dataSize): DetourNavMeshBuilder.cpp']]], + ['dtnavmeshparams_491',['dtNavMeshParams',['../structdtNavMeshParams.html',1,'']]], + ['dtnavmeshquery_492',['dtNavMeshQuery',['../classdtNavMeshQuery.html',1,'dtNavMeshQuery'],['../classdtNavMeshQuery.html#aa5adfa9c92f7d77bb144c3283bf76d2e',1,'dtNavMeshQuery::dtNavMeshQuery()'],['../classdtNavMesh.html#a43ead93bfa93182d47caf9c6be597376',1,'dtNavMesh::dtNavMeshQuery()']]], + ['dtnextpow2_493',['dtNextPow2',['../DetourCommon_8h.html#aca8a96b35bdd0d6ca037cb40611bc1b5',1,'DetourCommon.h']]], + ['dtnode_494',['dtNode',['../structdtNode.html',1,'']]], + ['dtnodeflags_495',['dtNodeFlags',['../DetourNode_8h.html#a2792299fd5fa6e50bb9c5d5b7dd12974',1,'DetourNode.h']]], + ['dtnodeindex_496',['dtNodeIndex',['../DetourNode_8h.html#adc6b682c3b5770de3190074b6a27c543',1,'DetourNode.h']]], + ['dtnodepool_497',['dtNodePool',['../classdtNodePool.html',1,'dtNodePool'],['../classdtNodePool.html#a7239dd92a9ea9b604c33a0a3472dc7ee',1,'dtNodePool::dtNodePool()']]], + ['dtnodequeue_498',['dtNodeQueue',['../classdtNodeQueue.html#a98462fc76364861576fa8547987d5458',1,'dtNodeQueue::dtNodeQueue()'],['../classdtNodeQueue.html',1,'dtNodeQueue']]], + ['dtnormalize2d_499',['dtNormalize2D',['../DetourObstacleAvoidance_8cpp.html#ab7fb56742ba1ed08dd87f2f2b59d1b63',1,'DetourObstacleAvoidance.cpp']]], + ['dtobstacleavoidancedebugdata_500',['dtObstacleAvoidanceDebugData',['../classdtObstacleAvoidanceDebugData.html#ae6e3e2e17696666996e3971c02989400',1,'dtObstacleAvoidanceDebugData::dtObstacleAvoidanceDebugData()'],['../classdtObstacleAvoidanceDebugData.html',1,'dtObstacleAvoidanceDebugData']]], + ['dtobstacleavoidanceparams_501',['dtObstacleAvoidanceParams',['../structdtObstacleAvoidanceParams.html',1,'']]], + ['dtobstacleavoidancequery_502',['dtObstacleAvoidanceQuery',['../classdtObstacleAvoidanceQuery.html#a353d5b1f7b8feb1e5867528255924968',1,'dtObstacleAvoidanceQuery::dtObstacleAvoidanceQuery()'],['../classdtObstacleAvoidanceQuery.html',1,'dtObstacleAvoidanceQuery']]], + ['dtobstaclebox_503',['dtObstacleBox',['../structdtObstacleBox.html',1,'']]], + ['dtobstaclecircle_504',['dtObstacleCircle',['../structdtObstacleCircle.html',1,'']]], + ['dtobstaclecylinder_505',['dtObstacleCylinder',['../structdtObstacleCylinder.html',1,'']]], + ['dtobstacleorientedbox_506',['dtObstacleOrientedBox',['../structdtObstacleOrientedBox.html',1,'']]], + ['dtobstacleref_507',['dtObstacleRef',['../DetourTileCache_8h.html#a98ea3fd044afb85907f03e6de505fa75',1,'DetourTileCache.h']]], + ['dtobstaclesegment_508',['dtObstacleSegment',['../structdtObstacleSegment.html',1,'']]], + ['dtoffmeshconnection_509',['dtOffMeshConnection',['../structdtOffMeshConnection.html',1,'']]], + ['dtoppositetile_510',['dtOppositeTile',['../DetourCommon_8h.html#ab20ff0c590db06a62e05c6f6df292404',1,'DetourCommon.h']]], + ['dtoverlapbounds_511',['dtOverlapBounds',['../DetourCommon_8h.html#ad63541204d445957e2ddc5eff010e485',1,'DetourCommon.h']]], + ['dtoverlappolypoly2d_512',['dtOverlapPolyPoly2D',['../DetourCommon_8h.html#a5eb3e9100fdc574add9a344030161dfa',1,'dtOverlapPolyPoly2D(const float *polya, const int npolya, const float *polyb, const int npolyb): DetourCommon.cpp'],['../DetourCommon_8cpp.html#a5eb3e9100fdc574add9a344030161dfa',1,'dtOverlapPolyPoly2D(const float *polya, const int npolya, const float *polyb, const int npolyb): DetourCommon.cpp']]], + ['dtoverlapquantbounds_513',['dtOverlapQuantBounds',['../DetourCommon_8h.html#acd68b769b30c3bf711467f5d8652b15d',1,'DetourCommon.h']]], + ['dtpathcorridor_514',['dtPathCorridor',['../classdtPathCorridor.html',1,'dtPathCorridor'],['../classdtPathCorridor.html#a2e7ceb397b60be4ff6e839206e6ef571',1,'dtPathCorridor::dtPathCorridor()']]], + ['dtpathqueue_515',['dtPathQueue',['../classdtPathQueue.html',1,'dtPathQueue'],['../classdtPathQueue.html#a586a27d4f141dd4d47f3f92bad82be1c',1,'dtPathQueue::dtPathQueue()']]], + ['dtpathqueueref_516',['dtPathQueueRef',['../DetourPathQueue_8h.html#ab97a1eb15082a50b8b7b781a715f5f74',1,'DetourPathQueue.h']]], + ['dtpointinpolygon_517',['dtPointInPolygon',['../DetourCommon_8cpp.html#a7b3806c429b5b231f316988edd4373aa',1,'dtPointInPolygon(const float *pt, const float *verts, const int nverts): DetourCommon.cpp'],['../DetourCommon_8h.html#a7b3806c429b5b231f316988edd4373aa',1,'dtPointInPolygon(const float *pt, const float *verts, const int nverts): DetourCommon.cpp']]], + ['dtpoly_518',['dtPoly',['../structdtPoly.html',1,'']]], + ['dtpolydetail_519',['dtPolyDetail',['../structdtPolyDetail.html',1,'']]], + ['dtpolyquery_520',['dtPolyQuery',['../classdtPolyQuery.html',1,'']]], + ['dtpolyref_521',['dtPolyRef',['../group__detour.html#gab4e0b2257a670c1a800057999612b466',1,'DetourNavMesh.h']]], + ['dtpolystate_522',['dtPolyState',['../structdtPolyState.html',1,'']]], + ['dtpolytypes_523',['dtPolyTypes',['../DetourNavMesh_8h.html#a19937b4ff098f7c52ee08af1b5f39c98',1,'DetourNavMesh.h']]], + ['dtproximitygrid_524',['dtProximityGrid',['../classdtProximityGrid.html#af5efb745e3d3048683f8d8a399159465',1,'dtProximityGrid::dtProximityGrid()'],['../classdtProximityGrid.html',1,'dtProximityGrid']]], + ['dtqueryfilter_525',['dtQueryFilter',['../classdtQueryFilter.html#ad686b0d14e2826de3b674c663f7f1456',1,'dtQueryFilter::dtQueryFilter()'],['../classdtQueryFilter.html',1,'dtQueryFilter']]], + ['dtrandompointinconvexpoly_526',['dtRandomPointInConvexPoly',['../DetourCommon_8h.html#a846b4291b0c9a3dde72c6979c428ffa3',1,'dtRandomPointInConvexPoly(const float *pts, const int npts, float *areas, const float s, const float t, float *out): DetourCommon.cpp'],['../DetourCommon_8cpp.html#a846b4291b0c9a3dde72c6979c428ffa3',1,'dtRandomPointInConvexPoly(const float *pts, const int npts, float *areas, const float s, const float t, float *out): DetourCommon.cpp']]], + ['dtraycasthit_527',['dtRaycastHit',['../structdtRaycastHit.html',1,'']]], + ['dtraycastoptions_528',['dtRaycastOptions',['../DetourNavMesh_8h.html#a667a15950cb93797b15be3c958e440f0',1,'DetourNavMesh.h']]], + ['dtrorate2d_529',['dtRorate2D',['../DetourObstacleAvoidance_8cpp.html#aa044036b3af9615bec7948ecce6c7ba7',1,'DetourObstacleAvoidance.cpp']]], + ['dtseginterval_530',['dtSegInterval',['../structdtSegInterval.html',1,'']]], + ['dtsqr_531',['dtSqr',['../DetourCommon_8h.html#af0a088077730ad6995ce4d82093588cc',1,'DetourCommon.h']]], + ['dtstatus_532',['dtStatus',['../DetourStatus_8h.html#a4f23c0dcf28d9e299a4aa06af5b9ada3',1,'DetourStatus.h']]], + ['dtstatusdetail_533',['dtStatusDetail',['../DetourStatus_8h.html#a2f6509593648b76814a60b412a7be2dd',1,'DetourStatus.h']]], + ['dtstatusfailed_534',['dtStatusFailed',['../DetourStatus_8h.html#ab98b21afb80f30cc60a1f4e86ebc19d8',1,'DetourStatus.h']]], + ['dtstatusinprogress_535',['dtStatusInProgress',['../DetourStatus_8h.html#a9f7cad6c2320bb7f491eb9a5ff63ab91',1,'DetourStatus.h']]], + ['dtstatussucceed_536',['dtStatusSucceed',['../DetourStatus_8h.html#aa8caf42fec99929be1a30d6fdb861c8e',1,'DetourStatus.h']]], + ['dtstraightpathflags_537',['dtStraightPathFlags',['../DetourNavMesh_8h.html#ac8cecf1c1e32f8464a1905edfeaebbc7',1,'DetourNavMesh.h']]], + ['dtstraightpathoptions_538',['dtStraightPathOptions',['../DetourNavMesh_8h.html#a41a7f5b74dd90b219858a75208bcac4e',1,'DetourNavMesh.h']]], + ['dtswap_539',['dtSwap',['../DetourCommon_8h.html#af347205bbcdcd802e8a41f0e2897c7f2',1,'DetourCommon.h']]], + ['dtswapbyte_540',['dtSwapByte',['../DetourCommon_8h.html#ab940927fe9d901d2f763fb7de105239e',1,'DetourCommon.h']]], + ['dtswapendian_541',['dtSwapEndian',['../DetourCommon_8h.html#a0efb26f29e363d814b1caeac7450d9f7',1,'dtSwapEndian(short *v): DetourCommon.h'],['../DetourCommon_8h.html#a42ad975ca7ff142a500805e113bd3ac4',1,'dtSwapEndian(float *v): DetourCommon.h'],['../DetourCommon_8h.html#a11c2aec43edd3160f39b9b60eed4c763',1,'dtSwapEndian(unsigned short *v): DetourCommon.h'],['../DetourCommon_8h.html#a12856916647f1a32e1964e457fb4e0e6',1,'dtSwapEndian(unsigned int *v): DetourCommon.h'],['../DetourCommon_8h.html#af91067419d846eaecd54af7a91874d25',1,'dtSwapEndian(int *v): DetourCommon.h']]], + ['dttempcontour_542',['dtTempContour',['../structdtTempContour.html#a7bc7026b48e8a23448e6fe5363c7e20f',1,'dtTempContour::dtTempContour()'],['../structdtTempContour.html',1,'dtTempContour']]], + ['dttilecache_543',['dtTileCache',['../classdtTileCache.html#ae10595cf54f85416c0081fa0af530ed1',1,'dtTileCache::dtTileCache()'],['../classdtTileCache.html',1,'dtTileCache']]], + ['dttilecachealloc_544',['dtTileCacheAlloc',['../structdtTileCacheAlloc.html',1,'']]], + ['dttilecachecompressor_545',['dtTileCacheCompressor',['../structdtTileCacheCompressor.html',1,'']]], + ['dttilecachecontour_546',['dtTileCacheContour',['../structdtTileCacheContour.html',1,'']]], + ['dttilecachecontourset_547',['dtTileCacheContourSet',['../structdtTileCacheContourSet.html',1,'']]], + ['dttilecacheheaderswapendian_548',['dtTileCacheHeaderSwapEndian',['../DetourTileCacheBuilder_8cpp.html#af7089fb5010342e6c48ca705a8f49928',1,'dtTileCacheHeaderSwapEndian(unsigned char *data, const int dataSize): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8h.html#af7089fb5010342e6c48ca705a8f49928',1,'dtTileCacheHeaderSwapEndian(unsigned char *data, const int dataSize): DetourTileCacheBuilder.cpp']]], + ['dttilecachelayer_549',['dtTileCacheLayer',['../structdtTileCacheLayer.html',1,'']]], + ['dttilecachelayerheader_550',['dtTileCacheLayerHeader',['../structdtTileCacheLayerHeader.html',1,'']]], + ['dttilecachemeshprocess_551',['dtTileCacheMeshProcess',['../structdtTileCacheMeshProcess.html',1,'']]], + ['dttilecacheobstacle_552',['dtTileCacheObstacle',['../structdtTileCacheObstacle.html',1,'']]], + ['dttilecacheparams_553',['dtTileCacheParams',['../structdtTileCacheParams.html',1,'']]], + ['dttilecachepolymesh_554',['dtTileCachePolyMesh',['../structdtTileCachePolyMesh.html',1,'']]], + ['dttileflags_555',['dtTileFlags',['../DetourNavMesh_8h.html#ace45ee22124392a9026eb6266000ca1c',1,'DetourNavMesh.h']]], + ['dttileref_556',['dtTileRef',['../group__detour.html#ga7ea56cfe01bd7c34a81d821d94cbeea5',1,'DetourNavMesh.h']]], + ['dttilestate_557',['dtTileState',['../structdtTileState.html',1,'']]], + ['dttriarea2d_558',['dtTriArea2D',['../DetourCommon_8h.html#ace29bd80c4e15d0e4e4a5738aaa77408',1,'DetourCommon.h']]], + ['dtvadd_559',['dtVadd',['../DetourCommon_8h.html#acad549159189d387ad9496e51994c70e',1,'DetourCommon.h']]], + ['dtvcopy_560',['dtVcopy',['../DetourCommon_8h.html#a20bd1921d4bb81875f48bb8cbf7a63b4',1,'DetourCommon.h']]], + ['dtvcross_561',['dtVcross',['../DetourCommon_8h.html#a950177c2c05a3853ece198cc303ba972',1,'DetourCommon.h']]], + ['dtvdist_562',['dtVdist',['../DetourCommon_8h.html#a000a4b437d73fd37c831c4bcbc3abb8d',1,'DetourCommon.h']]], + ['dtvdist2d_563',['dtVdist2D',['../DetourCommon_8h.html#a37a45cfe0cfc45112b6219fba1949e42',1,'DetourCommon.h']]], + ['dtvdist2dsqr_564',['dtVdist2DSqr',['../DetourCommon_8h.html#ad68b02ca8e48bb8098b512fd3157c4d7',1,'DetourCommon.h']]], + ['dtvdistsqr_565',['dtVdistSqr',['../DetourCommon_8h.html#acebfa3b142ae9b3ad052bf0dd0b3a820',1,'DetourCommon.h']]], + ['dtvdot_566',['dtVdot',['../DetourCommon_8h.html#a668c20a766e16f1e88b0ce55fcff6b3a',1,'DetourCommon.h']]], + ['dtvdot2d_567',['dtVdot2D',['../DetourCommon_8h.html#ab16c954d6f9b1c271916d56a1210fb31',1,'DetourCommon.h']]], + ['dtvequal_568',['dtVequal',['../DetourCommon_8h.html#ad246e02163e1de850ffe6a2645f3c28e',1,'DetourCommon.h']]], + ['dtvisfinite_569',['dtVisfinite',['../DetourCommon_8h.html#a1de203d55d933ccaa2ae9f3e126f4e63',1,'DetourCommon.h']]], + ['dtvisfinite2d_570',['dtVisfinite2D',['../DetourCommon_8h.html#ae3ddf094d63f2630a272f4dd865db7a3',1,'DetourCommon.h']]], + ['dtvlen_571',['dtVlen',['../DetourCommon_8h.html#a3d534f22feca897eab0c01da28083bb3',1,'DetourCommon.h']]], + ['dtvlensqr_572',['dtVlenSqr',['../DetourCommon_8h.html#a509bf6e4d1ac9f683c8547163591ff8a',1,'DetourCommon.h']]], + ['dtvlerp_573',['dtVlerp',['../DetourCommon_8h.html#a7b3295d18cd477fca1fe541b59b1b231',1,'DetourCommon.h']]], + ['dtvmad_574',['dtVmad',['../DetourCommon_8h.html#a1c4e6b8a509d183f62f57af1e73e1c6e',1,'DetourCommon.h']]], + ['dtvmax_575',['dtVmax',['../DetourCommon_8h.html#a0bb8468867be21e93fab6c7fd343ca67',1,'DetourCommon.h']]], + ['dtvmin_576',['dtVmin',['../DetourCommon_8h.html#a01ec3e541001b08eb054bfaf019c34d7',1,'DetourCommon.h']]], + ['dtvnormalize_577',['dtVnormalize',['../DetourCommon_8h.html#a68f410fb499f25b1bf72ff4c6051cb3c',1,'DetourCommon.h']]], + ['dtvperp2d_578',['dtVperp2D',['../DetourCommon_8h.html#aebb664a885e741148b381caeeb4f0dba',1,'DetourCommon.h']]], + ['dtvscale_579',['dtVscale',['../DetourCommon_8h.html#a865e98b3352fdea9216c36374d1f0b6a',1,'DetourCommon.h']]], + ['dtvset_580',['dtVset',['../DetourCommon_8h.html#a78ab75edc5f87fc90471873c2652ca89',1,'DetourCommon.h']]], + ['dtvsub_581',['dtVsub',['../DetourCommon_8h.html#a8b3255050bf09f5459f3c575ba1574b4',1,'DetourCommon.h']]], + ['du_5fdraw_5flines_582',['DU_DRAW_LINES',['../DebugDraw_8h.html#af30c0ce53d5b11fe9d2da8bbd903e90daae8de3f08d690327bfb9576eaead88a5',1,'DebugDraw.h']]], + ['du_5fdraw_5fpoints_583',['DU_DRAW_POINTS',['../DebugDraw_8h.html#af30c0ce53d5b11fe9d2da8bbd903e90daf1f6f547b96e18d80d1ac6bb54c66d58',1,'DebugDraw.h']]], + ['du_5fdraw_5fquads_584',['DU_DRAW_QUADS',['../DebugDraw_8h.html#af30c0ce53d5b11fe9d2da8bbd903e90da43d97537acb0edeec852a77c75de6b87',1,'DebugDraw.h']]], + ['du_5fdraw_5ftris_585',['DU_DRAW_TRIS',['../DebugDraw_8h.html#af30c0ce53d5b11fe9d2da8bbd903e90dae12876d337e2889fa1aea98caa926242',1,'DebugDraw.h']]], + ['du_5fdrawnavmesh_5fclosedlist_586',['DU_DRAWNAVMESH_CLOSEDLIST',['../DetourDebugDraw_8h.html#a114ab556d129137b6058f93b88da7ef6ab4ba1b69972d0da1ec7b9e94cb0b6a31',1,'DetourDebugDraw.h']]], + ['du_5fdrawnavmesh_5fcolor_5ftiles_587',['DU_DRAWNAVMESH_COLOR_TILES',['../DetourDebugDraw_8h.html#a114ab556d129137b6058f93b88da7ef6a0ae84122add4971464d47e94f5e29df8',1,'DetourDebugDraw.h']]], + ['du_5fdrawnavmesh_5foffmeshcons_588',['DU_DRAWNAVMESH_OFFMESHCONS',['../DetourDebugDraw_8h.html#a114ab556d129137b6058f93b88da7ef6a69a679b05dbd7792ca0cd1d1e9dcf13e',1,'DetourDebugDraw.h']]], + ['du_5fpi_589',['DU_PI',['../DebugDraw_8h.html#a247fb659fe4d8f5a813f33e8ba9f5571',1,'DebugDraw.h']]], + ['duappendarc_590',['duAppendArc',['../DebugDraw_8h.html#a4abde7bf119bbc15c7ce11e0fd29f433',1,'duAppendArc(struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float h, const float as0, const float as1, unsigned int col): DebugDraw.cpp'],['../DebugDraw_8cpp.html#a4abde7bf119bbc15c7ce11e0fd29f433',1,'duAppendArc(struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float h, const float as0, const float as1, unsigned int col): DebugDraw.cpp']]], + ['duappendarrow_591',['duAppendArrow',['../DebugDraw_8h.html#af903a7d4db1e5a0b5199530b30fa0d04',1,'duAppendArrow(struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float as0, const float as1, unsigned int col): DebugDraw.cpp'],['../DebugDraw_8cpp.html#af903a7d4db1e5a0b5199530b30fa0d04',1,'duAppendArrow(struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float as0, const float as1, unsigned int col): DebugDraw.cpp']]], + ['duappendbox_592',['duAppendBox',['../DebugDraw_8h.html#a31e157d9851ea970b3846f2e414a7a6b',1,'duAppendBox(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, const unsigned int *fcol): DebugDraw.cpp'],['../DebugDraw_8cpp.html#a31e157d9851ea970b3846f2e414a7a6b',1,'duAppendBox(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, const unsigned int *fcol): DebugDraw.cpp']]], + ['duappendboxpoints_593',['duAppendBoxPoints',['../DebugDraw_8h.html#af642edb7bee9ad03a4888734aabc8722',1,'duAppendBoxPoints(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col): DebugDraw.cpp'],['../DebugDraw_8cpp.html#af642edb7bee9ad03a4888734aabc8722',1,'duAppendBoxPoints(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col): DebugDraw.cpp']]], + ['duappendboxwire_594',['duAppendBoxWire',['../DebugDraw_8h.html#ad8477d27dac2e71ac54ab62b57681444',1,'duAppendBoxWire(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col): DebugDraw.cpp'],['../DebugDraw_8cpp.html#ad8477d27dac2e71ac54ab62b57681444',1,'duAppendBoxWire(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col): DebugDraw.cpp']]], + ['duappendcircle_595',['duAppendCircle',['../DebugDraw_8h.html#a20f175472f6ec05add11a46ea87216ac',1,'duAppendCircle(struct duDebugDraw *dd, const float x, const float y, const float z, const float r, unsigned int col): DebugDraw.cpp'],['../DebugDraw_8cpp.html#a20f175472f6ec05add11a46ea87216ac',1,'duAppendCircle(struct duDebugDraw *dd, const float x, const float y, const float z, const float r, unsigned int col): DebugDraw.cpp']]], + ['duappendcross_596',['duAppendCross',['../DebugDraw_8h.html#a9f4496fab81105908e92c2cfb8a8155b',1,'duAppendCross(struct duDebugDraw *dd, const float x, const float y, const float z, const float size, unsigned int col): DebugDraw.cpp'],['../DebugDraw_8cpp.html#a39a74525468b9153cc928f670a1bff6b',1,'duAppendCross(struct duDebugDraw *dd, const float x, const float y, const float z, const float s, unsigned int col): DebugDraw.cpp']]], + ['duappendcylinder_597',['duAppendCylinder',['../DebugDraw_8h.html#ac8e97c3691067f8e62ed9f8eb3b255f7',1,'duAppendCylinder(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col): DebugDraw.cpp'],['../DebugDraw_8cpp.html#ac8e97c3691067f8e62ed9f8eb3b255f7',1,'duAppendCylinder(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col): DebugDraw.cpp']]], + ['duappendcylinderwire_598',['duAppendCylinderWire',['../DebugDraw_8h.html#abb1f308b5bc7bf286afdde8b5bfeda7f',1,'duAppendCylinderWire(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col): DebugDraw.cpp'],['../DebugDraw_8cpp.html#abb1f308b5bc7bf286afdde8b5bfeda7f',1,'duAppendCylinderWire(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col): DebugDraw.cpp']]], + ['ducalcboxcolors_599',['duCalcBoxColors',['../DebugDraw_8h.html#aed1355423ffd7e15f1114ff985836be0',1,'duCalcBoxColors(unsigned int *colors, unsigned int colTop, unsigned int colSide): DebugDraw.cpp'],['../DebugDraw_8cpp.html#aed1355423ffd7e15f1114ff985836be0',1,'duCalcBoxColors(unsigned int *colors, unsigned int colTop, unsigned int colSide): DebugDraw.cpp']]], + ['dudarkencol_600',['duDarkenCol',['../DebugDraw_8h.html#ab829d0ae7d4e7aa199bea0a6bf27b5f5',1,'DebugDraw.h']]], + ['dudebugdraw_601',['duDebugDraw',['../structduDebugDraw.html',1,'']]], + ['dudebugdrawarc_602',['duDebugDrawArc',['../DebugDraw_8h.html#a5f9e91a48539eaead1b44f1f1235093d',1,'duDebugDrawArc(struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float h, const float as0, const float as1, unsigned int col, const float lineWidth): DebugDraw.cpp'],['../DebugDraw_8cpp.html#a5f9e91a48539eaead1b44f1f1235093d',1,'duDebugDrawArc(struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float h, const float as0, const float as1, unsigned int col, const float lineWidth): DebugDraw.cpp']]], + ['dudebugdrawarrow_603',['duDebugDrawArrow',['../DebugDraw_8cpp.html#abf367a1fd1a0fbb2993beb99454e095c',1,'duDebugDrawArrow(struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float as0, const float as1, unsigned int col, const float lineWidth): DebugDraw.cpp'],['../DebugDraw_8h.html#abf367a1fd1a0fbb2993beb99454e095c',1,'duDebugDrawArrow(struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float as0, const float as1, unsigned int col, const float lineWidth): DebugDraw.cpp']]], + ['dudebugdrawbox_604',['duDebugDrawBox',['../DebugDraw_8cpp.html#a445be6c90ff146c39c5ba3c9c4597be1',1,'duDebugDrawBox(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, const unsigned int *fcol): DebugDraw.cpp'],['../DebugDraw_8h.html#a445be6c90ff146c39c5ba3c9c4597be1',1,'duDebugDrawBox(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, const unsigned int *fcol): DebugDraw.cpp']]], + ['dudebugdrawboxwire_605',['duDebugDrawBoxWire',['../DebugDraw_8h.html#aa351fc1c5dd7f39140446690e6784395',1,'duDebugDrawBoxWire(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col, const float lineWidth): DebugDraw.cpp'],['../DebugDraw_8cpp.html#aa351fc1c5dd7f39140446690e6784395',1,'duDebugDrawBoxWire(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col, const float lineWidth): DebugDraw.cpp']]], + ['dudebugdrawcircle_606',['duDebugDrawCircle',['../DebugDraw_8h.html#a9701dd640ff0167c71e02921bb5004e2',1,'duDebugDrawCircle(struct duDebugDraw *dd, const float x, const float y, const float z, const float r, unsigned int col, const float lineWidth): DebugDraw.cpp'],['../DebugDraw_8cpp.html#a9701dd640ff0167c71e02921bb5004e2',1,'duDebugDrawCircle(struct duDebugDraw *dd, const float x, const float y, const float z, const float r, unsigned int col, const float lineWidth): DebugDraw.cpp']]], + ['dudebugdrawcompactheightfielddistance_607',['duDebugDrawCompactHeightfieldDistance',['../RecastDebugDraw_8cpp.html#a235d4984c3af57709f747318682fc28c',1,'duDebugDrawCompactHeightfieldDistance(duDebugDraw *dd, const rcCompactHeightfield &chf): RecastDebugDraw.cpp'],['../RecastDebugDraw_8h.html#aa0dcb87104fd153b14d82061253f05a3',1,'duDebugDrawCompactHeightfieldDistance(struct duDebugDraw *dd, const struct rcCompactHeightfield &chf): RecastDebugDraw.h']]], + ['dudebugdrawcompactheightfieldregions_608',['duDebugDrawCompactHeightfieldRegions',['../RecastDebugDraw_8h.html#a22ee02b05453303381db3765dd1144fc',1,'duDebugDrawCompactHeightfieldRegions(struct duDebugDraw *dd, const struct rcCompactHeightfield &chf): RecastDebugDraw.h'],['../RecastDebugDraw_8cpp.html#a4000bfb06774ee55ec1233fc8a7b355f',1,'duDebugDrawCompactHeightfieldRegions(duDebugDraw *dd, const rcCompactHeightfield &chf): RecastDebugDraw.cpp']]], + ['dudebugdrawcompactheightfieldsolid_609',['duDebugDrawCompactHeightfieldSolid',['../RecastDebugDraw_8cpp.html#af63209223e103a854da9e8991c662693',1,'duDebugDrawCompactHeightfieldSolid(duDebugDraw *dd, const rcCompactHeightfield &chf): RecastDebugDraw.cpp'],['../RecastDebugDraw_8h.html#a2ac8ef50c91af41f727d85d03881279c',1,'duDebugDrawCompactHeightfieldSolid(struct duDebugDraw *dd, const struct rcCompactHeightfield &chf): RecastDebugDraw.h']]], + ['dudebugdrawcontours_610',['duDebugDrawContours',['../RecastDebugDraw_8h.html#aded380127861ec22ecce3f14567dd922',1,'duDebugDrawContours(struct duDebugDraw *dd, const struct rcContourSet &cset, const float alpha=1.0f): RecastDebugDraw.h'],['../RecastDebugDraw_8cpp.html#ae8374807e50186e8dbdcb9d9d628d7c1',1,'duDebugDrawContours(duDebugDraw *dd, const rcContourSet &cset, const float alpha): RecastDebugDraw.cpp']]], + ['dudebugdrawcross_611',['duDebugDrawCross',['../DebugDraw_8cpp.html#afbf7aba36432ed758d110faac052043f',1,'duDebugDrawCross(struct duDebugDraw *dd, const float x, const float y, const float z, const float size, unsigned int col, const float lineWidth): DebugDraw.cpp'],['../DebugDraw_8h.html#afbf7aba36432ed758d110faac052043f',1,'duDebugDrawCross(struct duDebugDraw *dd, const float x, const float y, const float z, const float size, unsigned int col, const float lineWidth): DebugDraw.cpp']]], + ['dudebugdrawcylinder_612',['duDebugDrawCylinder',['../DebugDraw_8h.html#a02552e2c7419bd786631e6f443826004',1,'duDebugDrawCylinder(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col): DebugDraw.cpp'],['../DebugDraw_8cpp.html#a02552e2c7419bd786631e6f443826004',1,'duDebugDrawCylinder(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col): DebugDraw.cpp']]], + ['dudebugdrawcylinderwire_613',['duDebugDrawCylinderWire',['../DebugDraw_8h.html#a8d197b1cb938eb6a5d395fe86454fbc8',1,'duDebugDrawCylinderWire(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col, const float lineWidth): DebugDraw.cpp'],['../DebugDraw_8cpp.html#a8d197b1cb938eb6a5d395fe86454fbc8',1,'duDebugDrawCylinderWire(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col, const float lineWidth): DebugDraw.cpp']]], + ['dudebugdrawgridxz_614',['duDebugDrawGridXZ',['../DebugDraw_8h.html#abe21ceb0657dac9e04e7314e1636b6c7',1,'duDebugDrawGridXZ(struct duDebugDraw *dd, const float ox, const float oy, const float oz, const int w, const int h, const float size, const unsigned int col, const float lineWidth): DebugDraw.cpp'],['../DebugDraw_8cpp.html#abe21ceb0657dac9e04e7314e1636b6c7',1,'duDebugDrawGridXZ(struct duDebugDraw *dd, const float ox, const float oy, const float oz, const int w, const int h, const float size, const unsigned int col, const float lineWidth): DebugDraw.cpp']]], + ['dudebugdrawheightfieldlayer_615',['duDebugDrawHeightfieldLayer',['../RecastDebugDraw_8h.html#a993feadf9b8305559fef2b46309b7b72',1,'duDebugDrawHeightfieldLayer(duDebugDraw *dd, const struct rcHeightfieldLayer &layer, const int idx): RecastDebugDraw.cpp'],['../RecastDebugDraw_8cpp.html#a993feadf9b8305559fef2b46309b7b72',1,'duDebugDrawHeightfieldLayer(duDebugDraw *dd, const struct rcHeightfieldLayer &layer, const int idx): RecastDebugDraw.cpp']]], + ['dudebugdrawheightfieldlayers_616',['duDebugDrawHeightfieldLayers',['../RecastDebugDraw_8h.html#adaac7d02f53973fdeca92cf7c8e9b14b',1,'duDebugDrawHeightfieldLayers(duDebugDraw *dd, const struct rcHeightfieldLayerSet &lset): RecastDebugDraw.cpp'],['../RecastDebugDraw_8cpp.html#adaac7d02f53973fdeca92cf7c8e9b14b',1,'duDebugDrawHeightfieldLayers(duDebugDraw *dd, const struct rcHeightfieldLayerSet &lset): RecastDebugDraw.cpp']]], + ['dudebugdrawheightfieldlayersregions_617',['duDebugDrawHeightfieldLayersRegions',['../RecastDebugDraw_8h.html#a2222614f4dc750b926d364145f950149',1,'RecastDebugDraw.h']]], + ['dudebugdrawheightfieldsolid_618',['duDebugDrawHeightfieldSolid',['../RecastDebugDraw_8h.html#a3c760b859a679f2fac314e024702e710',1,'duDebugDrawHeightfieldSolid(struct duDebugDraw *dd, const struct rcHeightfield &hf): RecastDebugDraw.h'],['../RecastDebugDraw_8cpp.html#a528f5b6c42bf277945ab02d34337b4dc',1,'duDebugDrawHeightfieldSolid(duDebugDraw *dd, const rcHeightfield &hf): RecastDebugDraw.cpp']]], + ['dudebugdrawheightfieldwalkable_619',['duDebugDrawHeightfieldWalkable',['../RecastDebugDraw_8h.html#a58116ac621789250210772e7c84ba860',1,'duDebugDrawHeightfieldWalkable(struct duDebugDraw *dd, const struct rcHeightfield &hf): RecastDebugDraw.h'],['../RecastDebugDraw_8cpp.html#abea389cf7769de66629aa525def924d8',1,'duDebugDrawHeightfieldWalkable(duDebugDraw *dd, const rcHeightfield &hf): RecastDebugDraw.cpp']]], + ['dudebugdrawnavmesh_620',['duDebugDrawNavMesh',['../DetourDebugDraw_8h.html#adb702f765bd63cea5084faaf24ee18f7',1,'duDebugDrawNavMesh(struct duDebugDraw *dd, const dtNavMesh &mesh, unsigned char flags): DetourDebugDraw.cpp'],['../DetourDebugDraw_8cpp.html#a4f1b28d605cfc117094788cacd4fb64b',1,'duDebugDrawNavMesh(duDebugDraw *dd, const dtNavMesh &mesh, unsigned char flags): DetourDebugDraw.cpp']]], + ['dudebugdrawnavmeshbvtree_621',['duDebugDrawNavMeshBVTree',['../DetourDebugDraw_8h.html#ad879d0dcbf2511741b83a254d574896b',1,'duDebugDrawNavMeshBVTree(struct duDebugDraw *dd, const dtNavMesh &mesh): DetourDebugDraw.cpp'],['../DetourDebugDraw_8cpp.html#a4ff4399141d9f50af406373b7c648fbb',1,'duDebugDrawNavMeshBVTree(duDebugDraw *dd, const dtNavMesh &mesh): DetourDebugDraw.cpp']]], + ['dudebugdrawnavmeshnodes_622',['duDebugDrawNavMeshNodes',['../DetourDebugDraw_8h.html#aea1b04e77329d2698cf52c9daf844338',1,'duDebugDrawNavMeshNodes(struct duDebugDraw *dd, const dtNavMeshQuery &query): DetourDebugDraw.cpp'],['../DetourDebugDraw_8cpp.html#aea1b04e77329d2698cf52c9daf844338',1,'duDebugDrawNavMeshNodes(struct duDebugDraw *dd, const dtNavMeshQuery &query): DetourDebugDraw.cpp']]], + ['dudebugdrawnavmeshpoly_623',['duDebugDrawNavMeshPoly',['../DetourDebugDraw_8h.html#a07a430d9d45107d565eb986fab0b9343',1,'duDebugDrawNavMeshPoly(struct duDebugDraw *dd, const dtNavMesh &mesh, dtPolyRef ref, const unsigned int col): DetourDebugDraw.cpp'],['../DetourDebugDraw_8cpp.html#abe21458cb541f67811a7887c9ad2730a',1,'duDebugDrawNavMeshPoly(duDebugDraw *dd, const dtNavMesh &mesh, dtPolyRef ref, const unsigned int col): DetourDebugDraw.cpp']]], + ['dudebugdrawnavmeshpolyswithflags_624',['duDebugDrawNavMeshPolysWithFlags',['../DetourDebugDraw_8h.html#a6f6cbcb5c4104aa25f96f04469f2aeee',1,'duDebugDrawNavMeshPolysWithFlags(struct duDebugDraw *dd, const dtNavMesh &mesh, const unsigned short polyFlags, const unsigned int col): DetourDebugDraw.cpp'],['../DetourDebugDraw_8cpp.html#a6f6cbcb5c4104aa25f96f04469f2aeee',1,'duDebugDrawNavMeshPolysWithFlags(struct duDebugDraw *dd, const dtNavMesh &mesh, const unsigned short polyFlags, const unsigned int col): DetourDebugDraw.cpp']]], + ['dudebugdrawnavmeshportals_625',['duDebugDrawNavMeshPortals',['../DetourDebugDraw_8h.html#a337c55285d250b7419b9dfa8a8bc0315',1,'duDebugDrawNavMeshPortals(struct duDebugDraw *dd, const dtNavMesh &mesh): DetourDebugDraw.cpp'],['../DetourDebugDraw_8cpp.html#a2f05a4c6d4c49272108f23cd01772774',1,'duDebugDrawNavMeshPortals(duDebugDraw *dd, const dtNavMesh &mesh): DetourDebugDraw.cpp']]], + ['dudebugdrawnavmeshwithclosedlist_626',['duDebugDrawNavMeshWithClosedList',['../DetourDebugDraw_8h.html#ae33b26c815bcc08ba69313bbb5cff60e',1,'duDebugDrawNavMeshWithClosedList(struct duDebugDraw *dd, const dtNavMesh &mesh, const dtNavMeshQuery &query, unsigned char flags): DetourDebugDraw.cpp'],['../DetourDebugDraw_8cpp.html#ae33b26c815bcc08ba69313bbb5cff60e',1,'duDebugDrawNavMeshWithClosedList(struct duDebugDraw *dd, const dtNavMesh &mesh, const dtNavMeshQuery &query, unsigned char flags): DetourDebugDraw.cpp']]], + ['dudebugdrawpolymesh_627',['duDebugDrawPolyMesh',['../RecastDebugDraw_8h.html#a8c4b9add262ac0610b058981b54e11ef',1,'duDebugDrawPolyMesh(struct duDebugDraw *dd, const struct rcPolyMesh &mesh): RecastDebugDraw.cpp'],['../RecastDebugDraw_8cpp.html#a5262792ab9c0374fb32869e6ee146a10',1,'duDebugDrawPolyMesh(duDebugDraw *dd, const struct rcPolyMesh &mesh): RecastDebugDraw.cpp']]], + ['dudebugdrawpolymeshdetail_628',['duDebugDrawPolyMeshDetail',['../RecastDebugDraw_8h.html#a6354e7ba85ef550882d6b474bd20d402',1,'duDebugDrawPolyMeshDetail(struct duDebugDraw *dd, const struct rcPolyMeshDetail &dmesh): RecastDebugDraw.cpp'],['../RecastDebugDraw_8cpp.html#a534917922155f1d5a1bc8c2099b0b28e',1,'duDebugDrawPolyMeshDetail(duDebugDraw *dd, const struct rcPolyMeshDetail &dmesh): RecastDebugDraw.cpp']]], + ['dudebugdrawprimitives_629',['duDebugDrawPrimitives',['../DebugDraw_8h.html#af30c0ce53d5b11fe9d2da8bbd903e90d',1,'DebugDraw.h']]], + ['dudebugdrawrawcontours_630',['duDebugDrawRawContours',['../RecastDebugDraw_8h.html#a23f240dc7ca409e589b8fc6ff9c13703',1,'duDebugDrawRawContours(struct duDebugDraw *dd, const struct rcContourSet &cset, const float alpha=1.0f): RecastDebugDraw.h'],['../RecastDebugDraw_8cpp.html#a64daf33453c16f1f032a7cd270ba4cb0',1,'duDebugDrawRawContours(duDebugDraw *dd, const rcContourSet &cset, const float alpha): RecastDebugDraw.cpp']]], + ['dudebugdrawregionconnections_631',['duDebugDrawRegionConnections',['../RecastDebugDraw_8h.html#ab61190774f8a73f704db0a69ebff30da',1,'duDebugDrawRegionConnections(struct duDebugDraw *dd, const struct rcContourSet &cset, const float alpha=1.0f): RecastDebugDraw.h'],['../RecastDebugDraw_8cpp.html#a5ad1b6b9a7906e15a003c1a6ce88c8fb',1,'duDebugDrawRegionConnections(duDebugDraw *dd, const rcContourSet &cset, const float alpha): RecastDebugDraw.cpp']]], + ['dudebugdrawtilecachecontours_632',['duDebugDrawTileCacheContours',['../DetourDebugDraw_8h.html#aafa0931f8e76ca201b8ffdd2e0c4c4be',1,'duDebugDrawTileCacheContours(duDebugDraw *dd, const struct dtTileCacheContourSet &lcset, const float *orig, const float cs, const float ch): DetourDebugDraw.cpp'],['../DetourDebugDraw_8cpp.html#aafa0931f8e76ca201b8ffdd2e0c4c4be',1,'duDebugDrawTileCacheContours(duDebugDraw *dd, const struct dtTileCacheContourSet &lcset, const float *orig, const float cs, const float ch): DetourDebugDraw.cpp']]], + ['dudebugdrawtilecachelayerareas_633',['duDebugDrawTileCacheLayerAreas',['../DetourDebugDraw_8h.html#a395f60215ed954912bd63dbed81d1c78',1,'duDebugDrawTileCacheLayerAreas(struct duDebugDraw *dd, const dtTileCacheLayer &layer, const float cs, const float ch): DetourDebugDraw.cpp'],['../DetourDebugDraw_8cpp.html#a395f60215ed954912bd63dbed81d1c78',1,'duDebugDrawTileCacheLayerAreas(struct duDebugDraw *dd, const dtTileCacheLayer &layer, const float cs, const float ch): DetourDebugDraw.cpp']]], + ['dudebugdrawtilecachelayerregions_634',['duDebugDrawTileCacheLayerRegions',['../DetourDebugDraw_8h.html#a5e3b1e9d9d420ae6a99e6f5e17c326cb',1,'duDebugDrawTileCacheLayerRegions(struct duDebugDraw *dd, const dtTileCacheLayer &layer, const float cs, const float ch): DetourDebugDraw.cpp'],['../DetourDebugDraw_8cpp.html#a5e3b1e9d9d420ae6a99e6f5e17c326cb',1,'duDebugDrawTileCacheLayerRegions(struct duDebugDraw *dd, const dtTileCacheLayer &layer, const float cs, const float ch): DetourDebugDraw.cpp']]], + ['dudebugdrawtilecachepolymesh_635',['duDebugDrawTileCachePolyMesh',['../DetourDebugDraw_8h.html#a884d4beb61d64886df056e39ec77c528',1,'duDebugDrawTileCachePolyMesh(duDebugDraw *dd, const struct dtTileCachePolyMesh &lmesh, const float *orig, const float cs, const float ch): DetourDebugDraw.cpp'],['../DetourDebugDraw_8cpp.html#a884d4beb61d64886df056e39ec77c528',1,'duDebugDrawTileCachePolyMesh(duDebugDraw *dd, const struct dtTileCachePolyMesh &lmesh, const float *orig, const float cs, const float ch): DetourDebugDraw.cpp']]], + ['dudebugdrawtrimesh_636',['duDebugDrawTriMesh',['../RecastDebugDraw_8h.html#aa27138eac68bd4fba98a18940998b89c',1,'duDebugDrawTriMesh(struct duDebugDraw *dd, const float *verts, int nverts, const int *tris, const float *normals, int ntris, const unsigned char *flags, const float texScale): RecastDebugDraw.cpp'],['../RecastDebugDraw_8cpp.html#a949d0745bd2b4d6970d824b4c840513c',1,'duDebugDrawTriMesh(duDebugDraw *dd, const float *verts, int, const int *tris, const float *normals, int ntris, const unsigned char *flags, const float texScale): RecastDebugDraw.cpp']]], + ['dudebugdrawtrimeshslope_637',['duDebugDrawTriMeshSlope',['../RecastDebugDraw_8h.html#aad3643ecdf0a8b18414baebc88acb048',1,'duDebugDrawTriMeshSlope(struct duDebugDraw *dd, const float *verts, int nverts, const int *tris, const float *normals, int ntris, const float walkableSlopeAngle, const float texScale): RecastDebugDraw.cpp'],['../RecastDebugDraw_8cpp.html#af311eef9340f1e71adea608d35bdbbd9',1,'duDebugDrawTriMeshSlope(duDebugDraw *dd, const float *verts, int, const int *tris, const float *normals, int ntris, const float walkableSlopeAngle, const float texScale): RecastDebugDraw.cpp']]], + ['dudisplaylist_638',['duDisplayList',['../classduDisplayList.html',1,'duDisplayList'],['../classduDisplayList.html#a841869a8b7db7c4c67470578e3f2e050',1,'duDisplayList::duDisplayList()']]], + ['dudumpcompactheightfield_639',['duDumpCompactHeightfield',['../RecastDump_8h.html#adec19cdb843932197e6538ea2e234cc1',1,'duDumpCompactHeightfield(struct rcCompactHeightfield &chf, duFileIO *io): RecastDump.cpp'],['../RecastDump_8cpp.html#adec19cdb843932197e6538ea2e234cc1',1,'duDumpCompactHeightfield(struct rcCompactHeightfield &chf, duFileIO *io): RecastDump.cpp']]], + ['dudumpcontourset_640',['duDumpContourSet',['../RecastDump_8h.html#a6ae5d539309d07370f7ec5eb53e94743',1,'duDumpContourSet(struct rcContourSet &cset, duFileIO *io): RecastDump.cpp'],['../RecastDump_8cpp.html#a6ae5d539309d07370f7ec5eb53e94743',1,'duDumpContourSet(struct rcContourSet &cset, duFileIO *io): RecastDump.cpp']]], + ['dudumppolymeshdetailtoobj_641',['duDumpPolyMeshDetailToObj',['../RecastDump_8h.html#a129a91fa790aafc645396c31759dfd80',1,'duDumpPolyMeshDetailToObj(struct rcPolyMeshDetail &dmesh, duFileIO *io): RecastDump.cpp'],['../RecastDump_8cpp.html#aa0cb505c86286978f1d3e3af54f78816',1,'duDumpPolyMeshDetailToObj(rcPolyMeshDetail &dmesh, duFileIO *io): RecastDump.cpp']]], + ['dudumppolymeshtoobj_642',['duDumpPolyMeshToObj',['../RecastDump_8h.html#a0a79a720e9e9bbcc7c299260c7e6d327',1,'duDumpPolyMeshToObj(struct rcPolyMesh &pmesh, duFileIO *io): RecastDump.cpp'],['../RecastDump_8cpp.html#a6dc94dd7f5e9b4a1bf998c45b06dbce8',1,'duDumpPolyMeshToObj(rcPolyMesh &pmesh, duFileIO *io): RecastDump.cpp']]], + ['dufileio_643',['duFileIO',['../structduFileIO.html',1,'']]], + ['duinttocol_644',['duIntToCol',['../DebugDraw_8h.html#a731cb6ff6a2a2f0ef9867339999cc615',1,'duIntToCol(int i, int a): DebugDraw.cpp'],['../DebugDraw_8h.html#aa7ed02712813d056a5a092b0eb30b23f',1,'duIntToCol(int i, float *col): DebugDraw.cpp'],['../DebugDraw_8cpp.html#a731cb6ff6a2a2f0ef9867339999cc615',1,'duIntToCol(int i, int a): DebugDraw.cpp'],['../DebugDraw_8cpp.html#aa7ed02712813d056a5a092b0eb30b23f',1,'duIntToCol(int i, float *col): DebugDraw.cpp']]], + ['dulerpcol_645',['duLerpCol',['../DebugDraw_8h.html#af86f10d8c5ee26ff8f70a9dbd457b76a',1,'DebugDraw.h']]], + ['dulogbuildtimes_646',['duLogBuildTimes',['../RecastDump_8h.html#a32dd617dc1eeb615d779834c760131a5',1,'duLogBuildTimes(rcContext &ctx, const int totalTileUsec): RecastDump.cpp'],['../RecastDump_8cpp.html#a99bee52e313edc310e3bd5b07f77b66c',1,'duLogBuildTimes(rcContext &ctx, const int totalTimeUsec): RecastDump.cpp']]], + ['dump_5freqs_647',['DUMP_REQS',['../NavMeshTesterTool_8cpp.html#a59ed5f3f1c7bd16332ada259b66afe3f',1,'NavMeshTesterTool.cpp']]], + ['dumplog_648',['dumpLog',['../classBuildContext.html#aeaaab27f3952ade9fbb1e5ac85c4bf8b',1,'BuildContext']]], + ['dumultcol_649',['duMultCol',['../DebugDraw_8h.html#afe81eed2bd74c26dc0fc402c509571f7',1,'DebugDraw.h']]], + ['dureadcompactheightfield_650',['duReadCompactHeightfield',['../RecastDump_8h.html#aa11f7a7470e8e8aeea6f155e39edccf8',1,'duReadCompactHeightfield(struct rcCompactHeightfield &chf, duFileIO *io): RecastDump.cpp'],['../RecastDump_8cpp.html#aa11f7a7470e8e8aeea6f155e39edccf8',1,'duReadCompactHeightfield(struct rcCompactHeightfield &chf, duFileIO *io): RecastDump.cpp']]], + ['dureadcontourset_651',['duReadContourSet',['../RecastDump_8h.html#a9e1f8ba842160742ce414e710c6472fb',1,'duReadContourSet(struct rcContourSet &cset, duFileIO *io): RecastDump.cpp'],['../RecastDump_8cpp.html#a9e1f8ba842160742ce414e710c6472fb',1,'duReadContourSet(struct rcContourSet &cset, duFileIO *io): RecastDump.cpp']]], + ['durgba_652',['duRGBA',['../DebugDraw_8h.html#af2db5f73ed824805a2f93ee69734aebf',1,'DebugDraw.h']]], + ['durgbaf_653',['duRGBAf',['../DebugDraw_8h.html#ab37b3884a567e012a9149cf260cb1a02',1,'DebugDraw.h']]], + ['dutranscol_654',['duTransCol',['../DebugDraw_8h.html#aba3168c3b213a2a18a2ca637e2b009b8',1,'DebugDraw.h']]], + ['dvel_655',['dvel',['../structdtObstacleCircle.html#a4eeaea216bbc81bf865c19d000589195',1,'dtObstacleCircle::dvel()'],['../structdtCrowdAgent.html#add4a75252eb63b88fba66d9c4feb72d9',1,'dtCrowdAgent::dvel()']]] +]; diff --git a/search/all_4.html b/search/all_4.html new file mode 100644 index 00000000..fc40463c --- /dev/null +++ b/search/all_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_4.js b/search/all_4.js new file mode 100644 index 00000000..e22b556d --- /dev/null +++ b/search/all_4.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['edge_656',['edge',['../structdtLink.html#a14ff7d317cbceba6ab9d1958b463cb3a',1,'dtLink']]], + ['edgemaxerror_657',['edgeMaxError',['../structBuildSettings.html#a854de08adaac1dc5c97ffd797d442b2e',1,'BuildSettings']]], + ['edgemaxlen_658',['edgeMaxLen',['../structBuildSettings.html#ae7d2cca65464cdc0a98f7df27cd9e7a6',1,'BuildSettings']]], + ['edgevalues_659',['EdgeValues',['../RecastMeshDetail_8cpp.html#a2ce1b25dcb60c164cfbe7620244199cc',1,'RecastMeshDetail.cpp']]], + ['empty_660',['empty',['../classdtNodeQueue.html#a15693f0c97c5d9a32cd0302cdcafd27c',1,'dtNodeQueue::empty()'],['../classrcVectorBase.html#abea713b48ccadfde8ef3f3f61af23553',1,'rcVectorBase::empty()']]], + ['enablelog_661',['enableLog',['../classrcContext.html#a03dcf9240dc69a7c329c15e32be12d8e',1,'rcContext']]], + ['enabletimer_662',['enableTimer',['../classrcContext.html#aa4680430d751824f83634ac753df9669',1,'rcContext']]], + ['encodeobstacleid_663',['encodeObstacleId',['../classdtTileCache.html#a0d0ae89585f257f5ff0961e9eabfb52d',1,'dtTileCache']]], + ['encodepolyid_664',['encodePolyId',['../classdtNavMesh.html#a168a479840e7e32613f4b68ee4662d78',1,'dtNavMesh']]], + ['encodetileid_665',['encodeTileId',['../classdtTileCache.html#a8e894bf86dc38b622fac1afe3ba5fe84',1,'dtTileCache']]], + ['end_666',['end',['../classduDisplayList.html#ad8283f5518c514d0635d8ad0c359e11a',1,'duDisplayList::end()'],['../classDebugDrawGL.html#a28de738a8a277da6c534e46850ffc1e8',1,'DebugDrawGL::end()'],['../classrcVectorBase.html#adb66e7f35934f7ec18347cf53441bbeb',1,'rcVectorBase::end() const'],['../classrcVectorBase.html#a2345659d7f6de686d45030f84162ac3b',1,'rcVectorBase::end()'],['../structduDebugDraw.html#ac699459669944f2f950bbf972fe62a14',1,'duDebugDraw::end()']]], + ['endpos_667',['endPos',['../structdtCrowdAgentAnimation.html#aed88b3aa0469a0462d5f7d055d3b72cc',1,'dtCrowdAgentAnimation']]], + ['ev_5fhull_668',['EV_HULL',['../RecastMeshDetail_8cpp.html#a2ce1b25dcb60c164cfbe7620244199ccabd0388f662d97f6027f36ea1c9a887df',1,'RecastMeshDetail.cpp']]], + ['ev_5fundef_669',['EV_UNDEF',['../RecastMeshDetail_8cpp.html#a2ce1b25dcb60c164cfbe7620244199ccad1171dcfff57cf1425e53bd38d69999d',1,'RecastMeshDetail.cpp']]], + ['evalarc_670',['evalArc',['../DebugDraw_8cpp.html#a1981953ed43c0c1f2bf6c49dff16b092',1,'DebugDraw.cpp']]], + ['expandregions_671',['expandRegions',['../RecastRegion_8cpp.html#a019a1b335b38abce33594128c4806a04',1,'RecastRegion.cpp']]], + ['expected_5flayers_5fper_5ftile_672',['EXPECTED_LAYERS_PER_TILE',['../Sample__TempObstacles_8cpp.html#a0c7f06a51de07a0953540cb0a5f089fb',1,'Sample_TempObstacles.cpp']]] +]; diff --git a/search/all_5.html b/search/all_5.html new file mode 100644 index 00000000..9dd9344b --- /dev/null +++ b/search/all_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_5.js b/search/all_5.js new file mode 100644 index 00000000..04c0ff55 --- /dev/null +++ b/search/all_5.js @@ -0,0 +1,38 @@ +var searchData= +[ + ['fastlzcompressor_673',['FastLZCompressor',['../structFastLZCompressor.html',1,'']]], + ['fileio_674',['FileIO',['../classFileIO.html',1,'FileIO'],['../classFileIO.html#a8b0d602c3461181e12c05f655dea5018',1,'FileIO::FileIO()']]], + ['filelist_2ecpp_675',['Filelist.cpp',['../Filelist_8cpp.html',1,'']]], + ['filelist_2eh_676',['Filelist.h',['../Filelist_8h.html',1,'']]], + ['finalizeslicedfindpath_677',['finalizeSlicedFindPath',['../classdtNavMeshQuery.html#a98673bb238fbb139ec8407e266fa76fd',1,'dtNavMeshQuery']]], + ['finalizeslicedfindpathpartial_678',['finalizeSlicedFindPathPartial',['../classdtNavMeshQuery.html#a01b18dcb5d25fc392b6030ae5d4f310e',1,'dtNavMeshQuery']]], + ['findcontourfromset_679',['findContourFromSet',['../RecastDebugDraw_8cpp.html#a37989abb1222e6e68c099a399db289b3',1,'RecastDebugDraw.cpp']]], + ['findcorners_680',['findCorners',['../classdtPathCorridor.html#aa1076957ddf987a274a756fbf8202cab',1,'dtPathCorridor']]], + ['finddistancetowall_681',['findDistanceToWall',['../classdtNavMeshQuery.html#a1576a980ae29e44ad4809a25974fbd40',1,'dtNavMeshQuery']]], + ['findedge_682',['findEdge',['../RecastMeshDetail_8cpp.html#a16c4ee55e57347991da140a8cd13c313',1,'RecastMeshDetail.cpp']]], + ['findleftmostvertex_683',['findLeftMostVertex',['../RecastContour_8cpp.html#adc1ece72b40b8cca1718d9c32ab9abe6',1,'RecastContour.cpp']]], + ['findlocalneighbourhood_684',['findLocalNeighbourhood',['../classdtNavMeshQuery.html#a9864032da48ba6f1055deab90633ffd6',1,'dtNavMeshQuery']]], + ['findnearestpoly_685',['findNearestPoly',['../classdtNavMeshQuery.html#a5317939092cb4b55fed4b0bb61afc74a',1,'dtNavMeshQuery::findNearestPoly(const float *center, const float *halfExtents, const dtQueryFilter *filter, dtPolyRef *nearestRef, float *nearestPt) const'],['../classdtNavMeshQuery.html#a0b5d26748dfa4bd9f3d8ba0c1d972b56',1,'dtNavMeshQuery::findNearestPoly(const float *center, const float *halfExtents, const dtQueryFilter *filter, dtPolyRef *nearestRef, float *nearestPt, bool *isOverPoly) const']]], + ['findnode_686',['findNode',['../classdtNodePool.html#a3d824305e2dbebe242e9f664b3aaceb7',1,'dtNodePool']]], + ['findnodes_687',['findNodes',['../classdtNodePool.html#a5fa3decff570f26616282fcf50a3e7f9',1,'dtNodePool']]], + ['findpath_688',['findPath',['../classdtNavMeshQuery.html#a9d86502949fcd4f96ffd350d4ef69e3c',1,'dtNavMeshQuery']]], + ['findpolysaroundcircle_689',['findPolysAroundCircle',['../classdtNavMeshQuery.html#a1131b39f205440349e7efe7f2d9b0ef9',1,'dtNavMeshQuery']]], + ['findpolysaroundshape_690',['findPolysAroundShape',['../classdtNavMeshQuery.html#aa142b8c1e54bdefc39ab41507fe931d1',1,'dtNavMeshQuery']]], + ['findrandompoint_691',['findRandomPoint',['../classdtNavMeshQuery.html#af86c392a14bd788b0caecf21d9fb4b3d',1,'dtNavMeshQuery']]], + ['findrandompointaroundcircle_692',['findRandomPointAroundCircle',['../classdtNavMeshQuery.html#abfb87531eb962cbd51c649469de2e4fa',1,'dtNavMeshQuery']]], + ['findstraightpath_693',['findStraightPath',['../classdtNavMeshQuery.html#ac160434c85bdf9edec24fa621f120d2d',1,'dtNavMeshQuery']]], + ['firstlink_694',['firstLink',['../structdtPoly.html#a671fd6893087936e80fcd17f7f666c0e',1,'dtPoly']]], + ['fixpathstart_695',['fixPathStart',['../classdtPathCorridor.html#ae2e11d477d193c79197fa28acae824b8',1,'dtPathCorridor']]], + ['fixupcorridor_696',['fixupCorridor',['../NavMeshTesterTool_8cpp.html#aa0a7c979eb3968d46f3ccffcd664b71d',1,'NavMeshTesterTool.cpp']]], + ['fixupshortcuts_697',['fixupShortcuts',['../NavMeshTesterTool_8cpp.html#afdd1fc4764fb0feadc7f2ae478064b69',1,'NavMeshTesterTool.cpp']]], + ['flags_698',['flags',['../structdtOffMeshConnection.html#adf581af16754d8bbed1479cdf91dd82d',1,'dtOffMeshConnection::flags()'],['../structimguiGfxCmd.html#a88b02b5846d36381fdde1e990804162d',1,'imguiGfxCmd::flags()'],['../structdtTileCachePolyMesh.html#a8d39c5b38bf4dc9b88d1d47199eacf13',1,'dtTileCachePolyMesh::flags()'],['../structdtPoly.html#a47312e2c5dfd1ff1a729580c339f0d7d',1,'dtPoly::flags()'],['../structdtMeshTile.html#a610bc670e7bd056f31d8629d9c2100a1',1,'dtMeshTile::flags()'],['../structdtNode.html#acd018f188ced1765cce2d34ae88c9f75',1,'dtNode::flags()'],['../structdtPolyState.html#a8e3a8a1c15338bbe761ef4d9ca2b4949',1,'dtPolyState::flags()'],['../structdtCompressedTile.html#a0c847cc83252015006215c720fb9936b',1,'dtCompressedTile::flags()'],['../structrcPolyMesh.html#ab91ec949432297f7d0341a6ba9c88288',1,'rcPolyMesh::flags()']]], + ['floodnavmesh_699',['floodNavmesh',['../NavMeshPruneTool_8cpp.html#aabe57f3100ff784616cd66607f181017',1,'NavMeshPruneTool.cpp']]], + ['floodregion_700',['floodRegion',['../RecastRegion_8cpp.html#ad881e621a7be30bee577ec6a56bf18b3',1,'RecastRegion.cpp']]], + ['floors_701',['floors',['../structrcRegion.html#a3ab2d5343e1ae28463c5a8ccbca04cf1',1,'rcRegion']]], + ['frand_702',['frand',['../NavMeshTesterTool_8cpp.html#ac8e3cc6c626394b36e557edb46eb23c5',1,'NavMeshTesterTool.cpp']]], + ['free_703',['free',['../structLinearAllocator.html#ab7af21e0264ea0621822ed212ca925a3',1,'LinearAllocator::free()'],['../structdtTileCacheAlloc.html#aeb9afcb80b4e923d173b2c1706c56130',1,'dtTileCacheAlloc::free()']]], + ['freelink_704',['freeLink',['../DetourNavMesh_8cpp.html#abcf0226951222dd602078a87bd7d347d',1,'DetourNavMesh.cpp']]], + ['freelist_705',['freelist',['../structrcHeightfield.html#a05dd56e279148e65e9b6820e6c02b908',1,'rcHeightfield']]], + ['freespan_706',['freeSpan',['../RecastRasterization_8cpp.html#a37457137923a03210b6e72b0c091225c',1,'RecastRasterization.cpp']]], + ['front_707',['front',['../classrcVectorBase.html#aafaf7e6b45be95ab279c5f6a6bc308fe',1,'rcVectorBase::front() const'],['../classrcVectorBase.html#ade9804e2b52a1024f60da5add98a8d6c',1,'rcVectorBase::front()']]] +]; diff --git a/search/all_6.html b/search/all_6.html new file mode 100644 index 00000000..f1e516d7 --- /dev/null +++ b/search/all_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_6.js b/search/all_6.js new file mode 100644 index 00000000..f61029a8 --- /dev/null +++ b/search/all_6.js @@ -0,0 +1,183 @@ +var searchData= +[ + ['g_5fcdata_708',['g_cdata',['../imguiRenderGL_8cpp.html#a63d7bf2519c08a3169707cec1cbab429',1,'imguiRenderGL.cpp']]], + ['g_5fcircleverts_709',['g_circleVerts',['../imguiRenderGL_8cpp.html#a829fc56af6c08c9170e8f42a4551bfe9',1,'imguiRenderGL.cpp']]], + ['g_5ffocusbottom_710',['g_focusBottom',['../imgui_8cpp.html#ac365049df91f1a6f044a1cf941d99b86',1,'imgui.cpp']]], + ['g_5ffocustop_711',['g_focusTop',['../imgui_8cpp.html#aa91169c33606d569c026366edda9881f',1,'imgui.cpp']]], + ['g_5fftex_712',['g_ftex',['../imguiRenderGL_8cpp.html#a35e41818e96c0e65083e53b0757c046d',1,'imguiRenderGL.cpp']]], + ['g_5fgfxcmdqueue_713',['g_gfxCmdQueue',['../imgui_8cpp.html#a9abda3631ae545a933711b38b51d73b1',1,'imgui.cpp']]], + ['g_5fgfxcmdqueuesize_714',['g_gfxCmdQueueSize',['../imgui_8cpp.html#a1e10295502683256e4b84177f0631ba1',1,'imgui.cpp']]], + ['g_5finsidescrollarea_715',['g_insideScrollArea',['../imgui_8cpp.html#aa35d7274201fdfbabcfa8a383cda40e7',1,'imgui.cpp']]], + ['g_5fnsamples_716',['g_nsamples',['../main_8cpp.html#a60e01056b56609c9984c7f9dee5084cd',1,'main.cpp']]], + ['g_5fsamples_717',['g_samples',['../main_8cpp.html#adf355327e327a55707483da0fb936165',1,'main.cpp']]], + ['g_5fscrollareatop_718',['g_scrollAreaTop',['../imgui_8cpp.html#af694309b5965732a7517b3a64317d368',1,'imgui.cpp']]], + ['g_5fscrollbottom_719',['g_scrollBottom',['../imgui_8cpp.html#a85885b3ff60d48c2fa48c97967b9754c',1,'imgui.cpp']]], + ['g_5fscrollid_720',['g_scrollId',['../imgui_8cpp.html#ab1c52a1d375390099ea2a8ee290c2d4b',1,'imgui.cpp']]], + ['g_5fscrollright_721',['g_scrollRight',['../imgui_8cpp.html#ac83ebebaf5c5c7fee5c8ef8b00d79263',1,'imgui.cpp']]], + ['g_5fscrolltop_722',['g_scrollTop',['../imgui_8cpp.html#a3cbb6cb470c5eb82ca27461c33e38bd7',1,'imgui.cpp']]], + ['g_5fscrollval_723',['g_scrollVal',['../imgui_8cpp.html#a9ae0fa12c8e7a4bf0ee1ea8dc2778528',1,'imgui.cpp']]], + ['g_5fstate_724',['g_state',['../imgui_8cpp.html#a91dda354a7eaf0ce9c3bbb7c51251038',1,'imgui.cpp']]], + ['g_5ftabstops_725',['g_tabStops',['../imguiRenderGL_8cpp.html#a8c37700196ed88412783b7c1f7d307fb',1,'imguiRenderGL.cpp']]], + ['g_5ftempcoords_726',['g_tempCoords',['../imguiRenderGL_8cpp.html#ad10ff27565173e7b5d5ff243399dae14',1,'imguiRenderGL.cpp']]], + ['g_5ftempnormals_727',['g_tempNormals',['../imguiRenderGL_8cpp.html#abc052698b25d3a19fb6eb715bfad5975',1,'imguiRenderGL.cpp']]], + ['g_5ftex_728',['g_tex',['../SampleInterfaces_8cpp.html#ace0d90b13fb8095ce8da79758493054e',1,'SampleInterfaces.cpp']]], + ['g_5ftextpool_729',['g_textPool',['../imgui_8cpp.html#a224cbb3648a6d4ff641cf31bc84f2573',1,'imgui.cpp']]], + ['g_5ftextpoolsize_730',['g_textPoolSize',['../imgui_8cpp.html#ab73dcd239059b5a220e9e0277a568169',1,'imgui.cpp']]], + ['getaccumulatedtime_731',['getAccumulatedTime',['../classrcContext.html#a17e7b79afff2f042961698aa1c818c3d',1,'rcContext']]], + ['getactiveagents_732',['getActiveAgents',['../classdtCrowd.html#a15a4b9b9fb72a358514489ea8f755405',1,'dtCrowd']]], + ['getagent_733',['getAgent',['../classdtCrowd.html#aeef39643256ddad7ae421c78dda0ce06',1,'dtCrowd']]], + ['getagentbounds_734',['getAgentBounds',['../CrowdTool_8cpp.html#ae28c4a889bb4d9fac0cd88f0d0b93dd0',1,'CrowdTool.cpp']]], + ['getagentclimb_735',['getAgentClimb',['../classSample.html#ae94b1470cd74ee7abe9cf39a74c2bbd8',1,'Sample']]], + ['getagentcount_736',['getAgentCount',['../classdtCrowd.html#a87dc2372038ee12d9043a65737880b78',1,'dtCrowd']]], + ['getagentheight_737',['getAgentHeight',['../classSample.html#a7d914e678845642d42a09469377a7f83',1,'Sample']]], + ['getagentradius_738',['getAgentRadius',['../classSample.html#a3d6dc892150a705128c5799e7e4e3aab',1,'Sample']]], + ['getalloc_739',['getAlloc',['../classdtTileCache.html#adc396e35c754ef44cadea9cd113b7440',1,'dtTileCache']]], + ['getarea_740',['getArea',['../structdtPoly.html#ab5e97720847977aa7a4caf8c75e73792',1,'dtPoly']]], + ['getareacost_741',['getAreaCost',['../classdtQueryFilter.html#a1e41582a45d2a10eb7e68740475e5665',1,'dtQueryFilter']]], + ['getattachednavmesh_742',['getAttachedNavMesh',['../classdtNavMeshQuery.html#a05ddaa41019804494be7da66207882de',1,'dtNavMeshQuery']]], + ['getaverage_743',['getAverage',['../classValueHistory.html#aafc75b895663a6d7390146c81c883838',1,'ValueHistory']]], + ['getbakedquad_744',['getBakedQuad',['../imguiRenderGL_8cpp.html#aa0edb56b070edf4da63eb716e7c32bc6',1,'imguiRenderGL.cpp']]], + ['getbounds_745',['getBounds',['../classdtProximityGrid.html#a9850e14d04f7d60909c46bec50c5ef65',1,'dtProximityGrid']]], + ['getboundsmax_746',['getBoundsMax',['../classSample__Debug.html#aa1e603f5ef26815d521d7b89e7fe4e7d',1,'Sample_Debug']]], + ['getboundsmin_747',['getBoundsMin',['../classSample__Debug.html#a973cd339736c98e7ecd5cdc4ee7988c5',1,'Sample_Debug']]], + ['getbuildsettings_748',['getBuildSettings',['../classInputGeom.html#a2a76738d42d4a398ba82e0087d3ea565',1,'InputGeom']]], + ['getcapacity_749',['getCapacity',['../classdtNodeQueue.html#a3bd1e5d3450e90384d8d8ce7f59080de',1,'dtNodeQueue']]], + ['getcellsize_750',['getCellSize',['../classdtProximityGrid.html#aca646eb6926a096bb8062e7bf3a09945',1,'dtProximityGrid']]], + ['getcenter_751',['getCenter',['../classdtLocalBoundary.html#ab89e6bc9a4985f2c25e97fb1f70b6060',1,'dtLocalBoundary']]], + ['getchunkymesh_752',['getChunkyMesh',['../classInputGeom.html#a1ad88411b19c3148c0ca68834fc981a4',1,'InputGeom']]], + ['getcompressor_753',['getCompressor',['../classdtTileCache.html#a14aed84748e8c2b3c1ce827342ca16f1',1,'dtTileCache']]], + ['getcontourcenter_754',['getContourCenter',['../RecastDebugDraw_8cpp.html#a3486bd0130a48ea79695f01e2cc88b05',1,'RecastDebugDraw.cpp']]], + ['getconvexvolumecount_755',['getConvexVolumeCount',['../classInputGeom.html#a18f14e5605e256a5793515a66f77887d',1,'InputGeom']]], + ['getconvexvolumes_756',['getConvexVolumes',['../classInputGeom.html#a4665548e2789759d57d169fb0fd9de22',1,'InputGeom']]], + ['getcornerheight_757',['getCornerHeight',['../RecastContour_8cpp.html#a10f7bbb90e6028365b2637249b6bb29a',1,'getCornerHeight(int x, int y, int i, int dir, const rcCompactHeightfield &chf, bool &isBorderVertex): RecastContour.cpp'],['../DetourTileCacheBuilder_8cpp.html#af136bc352d829a1715b8a46ffb539aff',1,'getCornerHeight(dtTileCacheLayer &layer, const int x, const int y, const int z, const int walkableClimb, bool &shouldRemove): DetourTileCacheBuilder.cpp']]], + ['getcost_758',['getCost',['../classdtQueryFilter.html#a11d016505b732a1a013c3771a4157dea',1,'dtQueryFilter']]], + ['getcrowd_759',['getCrowd',['../classSample.html#af3671d3b21ff1992948cb7092ce0fc08',1,'Sample']]], + ['getdebugdraw_760',['getDebugDraw',['../classSample.html#a7e157d7dcc5164d3014ba248a8a1bbbe',1,'Sample']]], + ['getdiroffsetx_761',['getDirOffsetX',['../DetourTileCacheBuilder_8cpp.html#a59fc3411f762def701ca3f15f07cda12',1,'DetourTileCacheBuilder.cpp']]], + ['getdiroffsety_762',['getDirOffsetY',['../DetourTileCacheBuilder_8cpp.html#aca2add941eccb01df6af4cc78f0e8239',1,'DetourTileCacheBuilder.cpp']]], + ['getdistancetogoal_763',['getDistanceToGoal',['../DetourCrowd_8cpp.html#aa1c9aee7599d23c1b1b5db2363cc3a1c',1,'DetourCrowd.cpp']]], + ['getedgeflags_764',['getEdgeFlags',['../RecastMeshDetail_8cpp.html#a237fe0f624a27a47a9c0885fa1450dcc',1,'RecastMeshDetail.cpp']]], + ['geteditableagent_765',['getEditableAgent',['../classdtCrowd.html#aa6b571af2a8c628063b904c7b1a5e910',1,'dtCrowd']]], + ['geteditablefilter_766',['getEditableFilter',['../classdtCrowd.html#a170a9c4cc9f88a7ee3d560abce9ad552',1,'dtCrowd']]], + ['getexcludeflags_767',['getExcludeFlags',['../classdtQueryFilter.html#ac3e2d16755c3510003f0580e27ce4897',1,'dtQueryFilter']]], + ['getfilename_768',['getFileName',['../classrcMeshLoaderObj.html#a2f4d3abf3fb4e558d49c9fd80d0d69ca',1,'rcMeshLoaderObj']]], + ['getfilter_769',['getFilter',['../classdtCrowd.html#ae712fb6e6e907454ec0a827d11957373',1,'dtCrowd']]], + ['getfirst_770',['getFirst',['../classdtNodePool.html#a74e68feacf8667422d426e98ab86e612',1,'dtNodePool']]], + ['getfirstpoly_771',['getFirstPoly',['../classdtPathCorridor.html#a1328df3808790d4bedec54112b0fab43',1,'dtPathCorridor']]], + ['getflags_772',['getFlags',['../classNavmeshFlags.html#a86f58d0fc045e50c3751487394f4ec26',1,'NavmeshFlags']]], + ['getgeomfilename_773',['getGeomFileName',['../classTestCase.html#a485b056a0d259c0947354e0434871858',1,'TestCase']]], + ['getgrid_774',['getGrid',['../classdtCrowd.html#a1d1534a46f29afd4ab82ac37080c5ad0',1,'dtCrowd']]], + ['gethashsize_775',['getHashSize',['../classdtNodePool.html#a906d7f69b2ee45e8179926f47b4b3153',1,'dtNodePool']]], + ['getheight_776',['getHeight',['../RecastMeshDetail_8cpp.html#a2604c39cdc6af9e468adceb40145d93f',1,'RecastMeshDetail.cpp']]], + ['getheightdata_777',['getHeightData',['../RecastMeshDetail_8cpp.html#abb8411f8d3acf15a62f60228d6c4ff21',1,'RecastMeshDetail.cpp']]], + ['getincludeflags_778',['getIncludeFlags',['../classdtQueryFilter.html#a5bae688840167576dc6ab7913dda1b34',1,'dtQueryFilter']]], + ['getinputgeom_779',['getInputGeom',['../classSample.html#aab3a8fd2e47d84d952a21b2daa7f8318',1,'Sample']]], + ['getitemcountat_780',['getItemCountAt',['../classdtProximityGrid.html#ac788d2fbab7612826abeeab20a4f94fb',1,'dtProximityGrid']]], + ['getjitterx_781',['getJitterX',['../RecastMeshDetail_8cpp.html#ab4cd0a143a512c295ef95569bbfbbeef',1,'RecastMeshDetail.cpp']]], + ['getjittery_782',['getJitterY',['../RecastMeshDetail_8cpp.html#a194240aeeb96887533303bf652a3c201',1,'RecastMeshDetail.cpp']]], + ['getlastpoly_783',['getLastPoly',['../classdtPathCorridor.html#a4d23baaf31661832ea81fd5a6fcc0a59',1,'dtPathCorridor']]], + ['getlogcount_784',['getLogCount',['../classBuildContext.html#a94c60dd0d7398cddc2898a3b7b0ec220',1,'BuildContext']]], + ['getlogtext_785',['getLogText',['../classBuildContext.html#af63760315f9dcdd54dad7bc82bdc9e9f',1,'BuildContext']]], + ['getmaxnodes_786',['getMaxNodes',['../classdtNodePool.html#ad72b1d9c53d064e7b975bbb073e37b3c',1,'dtNodePool']]], + ['getmaxtiles_787',['getMaxTiles',['../classdtNavMesh.html#a17672fe19464d55eb66dc69f5f2f2b3f',1,'dtNavMesh']]], + ['getmemused_788',['getMemUsed',['../classdtNodeQueue.html#a024e0d15d235157f79bd6a386e090804',1,'dtNodeQueue::getMemUsed()'],['../classdtNodePool.html#a30a089ded0f298f4dd4654f39cd808d4',1,'dtNodePool::getMemUsed()']]], + ['getmesh_789',['getMesh',['../classInputGeom.html#a474a85ab24b2378a9734f1deacbf5060',1,'InputGeom']]], + ['getmeshboundsmax_790',['getMeshBoundsMax',['../classInputGeom.html#a807bb7df9302e27bcd3e0f8070bf092a',1,'InputGeom']]], + ['getmeshboundsmin_791',['getMeshBoundsMin',['../classInputGeom.html#af7343e9a8f1802062ae274ee57efeefc',1,'InputGeom']]], + ['getnavmesh_792',['getNavMesh',['../classSample.html#abf2cdbfa68c12b4f309bdf74671de539',1,'Sample']]], + ['getnavmeshboundsmax_793',['getNavMeshBoundsMax',['../classInputGeom.html#ae2c111ef2f6eccd803b4b28503aebbd5',1,'InputGeom']]], + ['getnavmeshboundsmin_794',['getNavMeshBoundsMin',['../classInputGeom.html#af65a1d3856edbd4145418f83862de88f',1,'InputGeom']]], + ['getnavmeshdrawflags_795',['getNavMeshDrawFlags',['../classSample.html#a20186dffd1c83837a2a32068fe819150',1,'Sample']]], + ['getnavmeshquery_796',['getNavMeshQuery',['../classSample.html#a120cb5edc22425e12445366f340578b2',1,'Sample::getNavMeshQuery()'],['../classdtCrowd.html#ae58e2252287003e9b7226936cf8b4ea7',1,'dtCrowd::getNavMeshQuery()']]], + ['getnavquery_797',['getNavQuery',['../classdtPathQueue.html#ad4fb7d75b1b65ad1db89782f8ad4e8da',1,'dtPathQueue']]], + ['getneighbourreg_798',['getNeighbourReg',['../DetourTileCacheBuilder_8cpp.html#af535796b148f37dcc11d1a3416ee9b53',1,'DetourTileCacheBuilder.cpp']]], + ['getneighbours_799',['getNeighbours',['../DetourCrowd_8cpp.html#a5fcc526c98bb123bbcb22c103d5f736b',1,'DetourCrowd.cpp']]], + ['getnext_800',['getNext',['../classdtNodePool.html#af4651c815c5cb0aa9779188094d4a488',1,'dtNodePool']]], + ['getnode_801',['getNode',['../classdtNodePool.html#a9642659acf1f7fbfcd408b4c3da8a885',1,'dtNodePool']]], + ['getnodeatidx_802',['getNodeAtIdx',['../classdtNodePool.html#a5f6d20bd49d338b03885909b0c13ccea',1,'dtNodePool::getNodeAtIdx(unsigned int idx)'],['../classdtNodePool.html#af5fa2f9dcde54a5d487fef4575d5130b',1,'dtNodePool::getNodeAtIdx(unsigned int idx) const']]], + ['getnodecount_803',['getNodeCount',['../classdtNodePool.html#a5f1217cd13ee7e57ab29f05f451927f9',1,'dtNodePool']]], + ['getnodeidx_804',['getNodeIdx',['../classdtNodePool.html#a5b223e8441b2d202fb1a18022228d6e1',1,'dtNodePool']]], + ['getnodepool_805',['getNodePool',['../classdtNavMeshQuery.html#a5f5baaa868aad36ba023ea81b10e70bd',1,'dtNavMeshQuery']]], + ['getnormals_806',['getNormals',['../classrcMeshLoaderObj.html#a988e6f79382df2eb9345cc031918a876',1,'rcMeshLoaderObj']]], + ['getobstacle_807',['getObstacle',['../classdtTileCache.html#a5c447f013845eeb64d65a58085dee5b7',1,'dtTileCache']]], + ['getobstacleavoidanceparams_808',['getObstacleAvoidanceParams',['../classdtCrowd.html#a4da076dabe04b63d801c63c99d2fb5bb',1,'dtCrowd']]], + ['getobstaclebounds_809',['getObstacleBounds',['../classdtTileCache.html#a71b5f91b742cc8339d36ac7b1c04ac0e',1,'dtTileCache']]], + ['getobstaclebyref_810',['getObstacleByRef',['../classdtTileCache.html#a6aaf88b2bb53c59d8a57d1b95eba8ce9',1,'dtTileCache']]], + ['getobstaclecircle_811',['getObstacleCircle',['../classdtObstacleAvoidanceQuery.html#a2de5b7639831faa59a708b2ed3cd6f15',1,'dtObstacleAvoidanceQuery']]], + ['getobstaclecirclecount_812',['getObstacleCircleCount',['../classdtObstacleAvoidanceQuery.html#ae520788c1150ae9c0efa15ddee6b44a6',1,'dtObstacleAvoidanceQuery']]], + ['getobstaclecount_813',['getObstacleCount',['../classdtTileCache.html#a7f76bec4205d0f8a2a78683dd8766ea9',1,'dtTileCache']]], + ['getobstacleref_814',['getObstacleRef',['../classdtTileCache.html#ab8e216fc463a72e59fc9c54df3acc13a',1,'dtTileCache']]], + ['getobstaclesegment_815',['getObstacleSegment',['../classdtObstacleAvoidanceQuery.html#a60779b0d519def7ae2101ad153266cd2',1,'dtObstacleAvoidanceQuery']]], + ['getobstaclesegmentcount_816',['getObstacleSegmentCount',['../classdtObstacleAvoidanceQuery.html#a38c5fdba38e19e6c7481b75d089e45b6',1,'dtObstacleAvoidanceQuery']]], + ['getoffmeshconnectionareas_817',['getOffMeshConnectionAreas',['../classInputGeom.html#a4993dc182c72eba3e246bda25cfec258',1,'InputGeom']]], + ['getoffmeshconnectionbyref_818',['getOffMeshConnectionByRef',['../classdtNavMesh.html#a1db2c979241da0b6e0fda278206678de',1,'dtNavMesh']]], + ['getoffmeshconnectioncount_819',['getOffMeshConnectionCount',['../classInputGeom.html#ad31d93691d942948af8d79798e4d2ad5',1,'InputGeom']]], + ['getoffmeshconnectiondirs_820',['getOffMeshConnectionDirs',['../classInputGeom.html#a99352ee32c8a668d73c7f8ce70e3f9c9',1,'InputGeom']]], + ['getoffmeshconnectionflags_821',['getOffMeshConnectionFlags',['../classInputGeom.html#a53ff2a13a9ca55c0e40cc0e36c420557',1,'InputGeom']]], + ['getoffmeshconnectionid_822',['getOffMeshConnectionId',['../classInputGeom.html#a4ce0f47be81216e39eed6d1e38fcfa7c',1,'InputGeom']]], + ['getoffmeshconnectionpolyendpoints_823',['getOffMeshConnectionPolyEndPoints',['../classdtNavMesh.html#a5f4c392080406146805f674489feac4a',1,'dtNavMesh']]], + ['getoffmeshconnectionrads_824',['getOffMeshConnectionRads',['../classInputGeom.html#a2d5d1c04bf9bd3b3e6e4e896214d1e01',1,'InputGeom']]], + ['getoffmeshconnectionverts_825',['getOffMeshConnectionVerts',['../classInputGeom.html#ad6bdbb58ced2ad9d1b9c6905e20e4c69',1,'InputGeom']]], + ['getparams_826',['getParams',['../classdtTileCache.html#addea8bf2f66682e00c45a6948de77084',1,'dtTileCache::getParams()'],['../classdtNavMesh.html#a9202ff1b571f26d948c0ee2f07c9bce8',1,'dtNavMesh::getParams()']]], + ['getpath_827',['getPath',['../classdtPathCorridor.html#adc4aee4a1867ce60e6b319edc686661f',1,'dtPathCorridor']]], + ['getpathcount_828',['getPathCount',['../classdtPathCorridor.html#a16bfdb275fb8f385c269cd06236f8213',1,'dtPathCorridor']]], + ['getpathfromdijkstrasearch_829',['getPathFromDijkstraSearch',['../classdtNavMeshQuery.html#af0eadf81ceef919bd502469529b02fd0',1,'dtNavMeshQuery']]], + ['getpathqueue_830',['getPathQueue',['../classdtCrowd.html#a5300bc081c832dde048affb6bd077afb',1,'dtCrowd']]], + ['getpathresult_831',['getPathResult',['../classdtPathQueue.html#a6599518fe1e3c0e4c7d8c3cba062aeab',1,'dtPathQueue']]], + ['getperftime_832',['getPerfTime',['../PerfTimer_8cpp.html#a4d18b93b9130c4ec1c2f5ffe91457b48',1,'getPerfTime(): PerfTimer.cpp'],['../PerfTimer_8h.html#a4d18b93b9130c4ec1c2f5ffe91457b48',1,'getPerfTime(): PerfTimer.cpp']]], + ['getperftimeusec_833',['getPerfTimeUsec',['../PerfTimer_8cpp.html#aee1c2f57e875e53264038a845598267f',1,'getPerfTimeUsec(const TimeVal duration): PerfTimer.cpp'],['../PerfTimer_8h.html#aee1c2f57e875e53264038a845598267f',1,'getPerfTimeUsec(const TimeVal duration): PerfTimer.cpp']]], + ['getpolyarea_834',['getPolyArea',['../classdtNavMesh.html#aac53c07a2ab699b15228c91a17b3bafd',1,'dtNavMesh']]], + ['getpolycenter_835',['getPolyCenter',['../NavMeshTesterTool_8cpp.html#a813b28088279288c343afbad843ada3a',1,'NavMeshTesterTool.cpp']]], + ['getpolyflags_836',['getPolyFlags',['../classdtNavMesh.html#a8d5d33030fc21afa6b1be3c80689f9b7',1,'dtNavMesh']]], + ['getpolyheight_837',['getPolyHeight',['../classdtNavMeshQuery.html#af8303a12749e252c6688c15c5c887b69',1,'dtNavMeshQuery']]], + ['getpolymergevalue_838',['getPolyMergeValue',['../DetourTileCacheBuilder_8cpp.html#a30135fcd690b0ae1c9ebd9bd00e7349b',1,'getPolyMergeValue(unsigned short *pa, unsigned short *pb, const unsigned short *verts, int &ea, int &eb): DetourTileCacheBuilder.cpp'],['../RecastMesh_8cpp.html#aa51188672fa9e4efd3dffdb7012765b5',1,'getPolyMergeValue(unsigned short *pa, unsigned short *pb, const unsigned short *verts, int &ea, int &eb, const int nvp): RecastMesh.cpp']]], + ['getpolyrefbase_839',['getPolyRefBase',['../classdtNavMesh.html#a0741871ed1357c51e3847f22673fcc9c',1,'dtNavMesh']]], + ['getpolywallsegments_840',['getPolyWallSegments',['../classdtNavMeshQuery.html#a2c49662f07e52f1488622089952a154c',1,'dtNavMeshQuery']]], + ['getpos_841',['getPos',['../classdtPathCorridor.html#a607e96864c9cb68386d57e90d8681159',1,'dtPathCorridor']]], + ['getqueryextents_842',['getQueryExtents',['../classdtCrowd.html#a6a37c9f57844d91e46fd4c8ef9de17b0',1,'dtCrowd']]], + ['getqueryhalfextents_843',['getQueryHalfExtents',['../classdtCrowd.html#a24dd5232d34c87b80b75a6ae2729fd27',1,'dtCrowd']]], + ['getrequeststatus_844',['getRequestStatus',['../classdtPathQueue.html#a2b1a005dfc3d8d3efd1bb4bc46f49e32',1,'dtPathQueue']]], + ['getsample_845',['getSample',['../classValueHistory.html#a98d7b0157cbb602c086c0b148bf3fb46',1,'ValueHistory']]], + ['getsamplecollisiontimepenalty_846',['getSampleCollisionTimePenalty',['../classdtObstacleAvoidanceDebugData.html#a57737b7b4d07179326e69c70032a9f71',1,'dtObstacleAvoidanceDebugData']]], + ['getsamplecount_847',['getSampleCount',['../classValueHistory.html#a4adf44b53d488361ec87c6c1fda04eab',1,'ValueHistory::getSampleCount()'],['../classdtObstacleAvoidanceDebugData.html#a48f21bd0b2d2f591290e127b00953ec2',1,'dtObstacleAvoidanceDebugData::getSampleCount() const']]], + ['getsamplecurrentvelocitypenalty_848',['getSampleCurrentVelocityPenalty',['../classdtObstacleAvoidanceDebugData.html#ae6bce4f174195e5b114a79c13fc46c02',1,'dtObstacleAvoidanceDebugData']]], + ['getsampledesiredvelocitypenalty_849',['getSampleDesiredVelocityPenalty',['../classdtObstacleAvoidanceDebugData.html#aa18a04d3c916740d7ddbd8d747de4e0f',1,'dtObstacleAvoidanceDebugData']]], + ['getsamplemax_850',['getSampleMax',['../classValueHistory.html#a92ddbeb8e333478b4bb752ba7eeca462',1,'ValueHistory']]], + ['getsamplemin_851',['getSampleMin',['../classValueHistory.html#a828b36952411fe49d5d6de00f5e3e84d',1,'ValueHistory']]], + ['getsamplename_852',['getSampleName',['../classTestCase.html#a92b93e1bed1be7317a6ef8b2271f6c7a',1,'TestCase']]], + ['getsamplepenalty_853',['getSamplePenalty',['../classdtObstacleAvoidanceDebugData.html#a3bde3898f9ed1ada5e487010e502e4fd',1,'dtObstacleAvoidanceDebugData']]], + ['getsamplepreferredsidepenalty_854',['getSamplePreferredSidePenalty',['../classdtObstacleAvoidanceDebugData.html#a54805fdf39b6fb3d294c0610f051b1a0',1,'dtObstacleAvoidanceDebugData']]], + ['getsamplesize_855',['getSampleSize',['../classdtObstacleAvoidanceDebugData.html#a87816c09e68ea4d93a01b54b2b5025b1',1,'dtObstacleAvoidanceDebugData']]], + ['getsamplevelocity_856',['getSampleVelocity',['../classdtObstacleAvoidanceDebugData.html#a682696e8fc9185544690fe3391c9b613',1,'dtObstacleAvoidanceDebugData']]], + ['getsegment_857',['getSegment',['../classdtLocalBoundary.html#a25ca9796be0ec6ff775a56f911c3fa17',1,'dtLocalBoundary']]], + ['getsegmentcount_858',['getSegmentCount',['../classdtLocalBoundary.html#a051ee9bba1b9e3bb563735d9ec047c7f',1,'dtLocalBoundary']]], + ['getslabcoord_859',['getSlabCoord',['../DetourNavMesh_8cpp.html#a3e7eb7995c416f34e56ae9a40d233655',1,'DetourNavMesh.cpp']]], + ['getsteertarget_860',['getSteerTarget',['../NavMeshTesterTool_8cpp.html#ab556b9cab58165a7bb55dc0eefe89fb9',1,'NavMeshTesterTool.cpp']]], + ['gettarget_861',['getTarget',['../classdtPathCorridor.html#aa1ea66fedbbab0cabfb279287aee392b',1,'dtPathCorridor']]], + ['gettextlength_862',['getTextLength',['../imguiRenderGL_8cpp.html#ae0f324fe5e1454b8bdcdb05e2eb17762',1,'imguiRenderGL.cpp']]], + ['gettile_863',['getTile',['../classdtTileCache.html#abc5a037f106bae848fee5faad7cbc389',1,'dtTileCache::getTile()'],['../classdtNavMesh.html#a52bb4f57b24a139600cfb6aeec1d9bcd',1,'dtNavMesh::getTile(int i) const']]], + ['gettileandpolybyref_864',['getTileAndPolyByRef',['../classdtNavMesh.html#a36a84aa7296d5cc257eb3ddc38181253',1,'dtNavMesh']]], + ['gettileandpolybyrefunsafe_865',['getTileAndPolyByRefUnsafe',['../classdtNavMesh.html#ac5c5b89a6af63b7de29089ae83091e0f',1,'dtNavMesh']]], + ['gettileat_866',['getTileAt',['../classdtNavMesh.html#aecd08fb7ce20324cd18de51a834ff2ef',1,'dtNavMesh::getTileAt()'],['../classdtTileCache.html#ae13e3a13020a99039b96ccb51ea0dbc2',1,'dtTileCache::getTileAt()']]], + ['gettilebyref_867',['getTileByRef',['../classdtNavMesh.html#ac7924d8eeed5c67b04d2d23d0cc766ad',1,'dtNavMesh::getTileByRef()'],['../classdtTileCache.html#a6d59bed3d3db9550ca4cf9eb17c14b75',1,'dtTileCache::getTileByRef(dtCompressedTileRef ref) const']]], + ['gettilecount_868',['getTileCount',['../classdtTileCache.html#af97fdd9fe05fa93455a203c5dd927df6',1,'dtTileCache']]], + ['gettilepos_869',['getTilePos',['../classSample__TempObstacles.html#a079e060f05421edf67dc12e8f494c830',1,'Sample_TempObstacles::getTilePos()'],['../classSample__TileMesh.html#a5588a4adb46cc3a97805eb6bc87f2d79',1,'Sample_TileMesh::getTilePos()']]], + ['gettileref_870',['getTileRef',['../classdtTileCache.html#a3154cf5071666a7cf12495c809255541',1,'dtTileCache::getTileRef()'],['../classdtNavMesh.html#a6027a9a6f032dfd6a3b72563f17d80d7',1,'dtNavMesh::getTileRef(const dtMeshTile *tile) const']]], + ['gettilerefat_871',['getTileRefAt',['../classdtNavMesh.html#a88f53f80fa95524b1e7197dface10948',1,'dtNavMesh']]], + ['gettilesat_872',['getTilesAt',['../classdtNavMesh.html#a1a89053de47c9ed459d598fc7f739670',1,'dtNavMesh::getTilesAt()'],['../classdtTileCache.html#a4d60dcc8a8395400838cde8f6aa33fc9',1,'dtTileCache::getTilesAt()']]], + ['gettilestatesize_873',['getTileStateSize',['../classdtNavMesh.html#aaf6f0b0ce2bd81c5e6cd8ac67f6a8638',1,'dtNavMesh']]], + ['gettoolparams_874',['getToolParams',['../classCrowdToolState.html#a7b1674127e1b1a0020ea471c78ae0809',1,'CrowdToolState']]], + ['gettoolstate_875',['getToolState',['../classSample.html#a7ba24b29a3f97965904b66c17ade4645',1,'Sample']]], + ['gettricount_876',['getTriCount',['../classrcMeshLoaderObj.html#a1357f8619f9403cd3167ed5ad47dd0a9',1,'rcMeshLoaderObj']]], + ['gettriflags_877',['getTriFlags',['../RecastMeshDetail_8cpp.html#ab92e230a5419da84e12aadb8bbfc1819',1,'RecastMeshDetail.cpp']]], + ['gettris_878',['getTris',['../classrcMeshLoaderObj.html#a286866274c7dcea48d07d1577a413cdf',1,'rcMeshLoaderObj']]], + ['gettype_879',['getType',['../structdtPoly.html#a12a7d5dcd2f1d7164531be4ecb5f35a4',1,'dtPoly']]], + ['getvelocitysamplecount_880',['getVelocitySampleCount',['../classdtCrowd.html#a22ceec36962e3fdaccfbe4e84a8b24b3',1,'dtCrowd']]], + ['getvertcount_881',['getVertCount',['../classrcMeshLoaderObj.html#a07a41abbabedde7bcfa4b5c9b4e767a7',1,'rcMeshLoaderObj']]], + ['getverts_882',['getVerts',['../classrcMeshLoaderObj.html#ab3e86cdf9f4f15c5883a44c767cbee96',1,'rcMeshLoaderObj']]], + ['gfxcmd_5fqueue_5fsize_883',['GFXCMD_QUEUE_SIZE',['../imgui_8cpp.html#a5c5f4e46b037c54179262552c59aabb9',1,'imgui.cpp']]], + ['glcheckertexture_884',['GLCheckerTexture',['../classGLCheckerTexture.html#a361178710e61b228d921d38e9c2d54f7',1,'GLCheckerTexture::GLCheckerTexture()'],['../classGLCheckerTexture.html',1,'GLCheckerTexture']]], + ['graphparams_885',['GraphParams',['../structGraphParams.html',1,'']]], + ['gridsize_886',['gridSize',['../structdtObstacleAvoidanceParams.html#a38655cab9f879095f3f0906fdf535f3c',1,'dtObstacleAvoidanceParams']]], + ['guistate_887',['GuiState',['../structGuiState.html#a1159b7a2b218c020875b65881ebfd4cb',1,'GuiState::GuiState()'],['../structGuiState.html',1,'GuiState']]] +]; diff --git a/search/all_7.html b/search/all_7.html new file mode 100644 index 00000000..8ddbf6c8 --- /dev/null +++ b/search/all_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_7.js b/search/all_7.js new file mode 100644 index 00000000..cfc80c2b --- /dev/null +++ b/search/all_7.js @@ -0,0 +1,35 @@ +var searchData= +[ + ['h_888',['h',['../structimguiGfxRect.html#a45a1b8518cccb97f986f1ddd6b90f83b',1,'imguiGfxRect::h()'],['../structGraphParams.html#ae36558e25d555cb8e00d9f9267ca39cc',1,'GraphParams::h()'],['../structrcCompactSpan.html#a7eb3771c94cae7b6e1bc239ec8fd7043',1,'rcCompactSpan::h()']]], + ['h_5fscale_889',['H_SCALE',['../DetourNavMeshQuery_8cpp.html#a691377deb83853ca02735f394ccf0a30',1,'DetourNavMeshQuery.cpp']]], + ['halfextents_890',['halfExtents',['../structdtObstacleOrientedBox.html#ad13d533793b5329dd33bd85e43ea3623',1,'dtObstacleOrientedBox']]], + ['handlebuild_891',['handleBuild',['../classSample.html#aed281e16d0d13265d6d43d3604bc10ad',1,'Sample::handleBuild()'],['../classSample__Debug.html#a72d94e452001b3bd546193e482651803',1,'Sample_Debug::handleBuild()'],['../classSample__SoloMesh.html#aa64471f37aa3d47e0efb58d01004d259',1,'Sample_SoloMesh::handleBuild()'],['../classSample__TempObstacles.html#abade4c42a2c0acae65fda15bf8179278',1,'Sample_TempObstacles::handleBuild()'],['../classSample__TileMesh.html#a42df1d970d17438695b2714fa795a538',1,'Sample_TileMesh::handleBuild()']]], + ['handleclick_892',['handleClick',['../classNavMeshTileTool.html#a8203dd4c8225ce9029dcba8581780340',1,'NavMeshTileTool::handleClick()'],['../classTempObstacleCreateTool.html#a27483a3ec7a6c2dd91d08eb58b5b7dce',1,'TempObstacleCreateTool::handleClick()'],['../classTempObstacleHilightTool.html#a066ac99df2d343aab8433c122af73fa6',1,'TempObstacleHilightTool::handleClick()'],['../classSample__Debug.html#a0c0de127e725454c8767d09bc5e0b8a5',1,'Sample_Debug::handleClick()'],['../classSample.html#a01d84b29a038e029bca701f34a72cbdd',1,'Sample::handleClick()'],['../classOffMeshConnectionTool.html#af561c2eb8e49bbdc14a271c09f2bf433',1,'OffMeshConnectionTool::handleClick()'],['../classNavMeshTesterTool.html#af11c1a094222f1206933071ff15f5a8f',1,'NavMeshTesterTool::handleClick()'],['../classNavMeshPruneTool.html#acb49419c8e5df7d2c10d99e502b64c9c',1,'NavMeshPruneTool::handleClick()'],['../classConvexVolumeTool.html#ab08815465ecb5f424ec136663221cbda',1,'ConvexVolumeTool::handleClick()'],['../structSampleTool.html#ad411c329c46227d3bd4552ab9e2fb5c3',1,'SampleTool::handleClick()'],['../classCrowdTool.html#a8b1890ee57fab07f458d8370a86a6daa',1,'CrowdTool::handleClick()']]], + ['handlecommonsettings_893',['handleCommonSettings',['../classSample.html#ad24b41fce326733944174ce5c4b4b30c',1,'Sample']]], + ['handledebugmode_894',['handleDebugMode',['../classSample.html#a013d5178776491775faec65ee8627233',1,'Sample::handleDebugMode()'],['../classSample__Debug.html#a4a67b68c13adbdc12f65a4bb15532ca4',1,'Sample_Debug::handleDebugMode()'],['../classSample__SoloMesh.html#a1e7120d697077a25672a5e6edceb2044',1,'Sample_SoloMesh::handleDebugMode()'],['../classSample__TempObstacles.html#ad13bab4ba46fe776398b28f5036fa439',1,'Sample_TempObstacles::handleDebugMode()'],['../classSample__TileMesh.html#ae53626fc9ea2503b6a4f57200dae9153',1,'Sample_TileMesh::handleDebugMode()']]], + ['handlemenu_895',['handleMenu',['../classConvexVolumeTool.html#ad59fb729fe96406bc4254083189d01b0',1,'ConvexVolumeTool::handleMenu()'],['../classNavMeshTileTool.html#ad1b0d7145268c0d53999e027d469451d',1,'NavMeshTileTool::handleMenu()'],['../classTempObstacleCreateTool.html#a14e886d838141c3edb870d25819e030d',1,'TempObstacleCreateTool::handleMenu()'],['../classTempObstacleHilightTool.html#a55d084b3c5600bda192903b9f3546f79',1,'TempObstacleHilightTool::handleMenu()'],['../structSampleTool.html#a305d8f95fe8f79feb757b49ff4e55ead',1,'SampleTool::handleMenu()'],['../classOffMeshConnectionTool.html#a74209dcf32093be78df51f0bd36aae43',1,'OffMeshConnectionTool::handleMenu()'],['../classNavMeshTesterTool.html#a63adba51a9b8f7b6c06da0bd08c35a3b',1,'NavMeshTesterTool::handleMenu()'],['../classNavMeshPruneTool.html#ad7251daa12a7de6c23aa26f514352c17',1,'NavMeshPruneTool::handleMenu()'],['../classCrowdTool.html#a10481889d96be986ffbba99e4f4d751f',1,'CrowdTool::handleMenu()']]], + ['handlemeshchanged_896',['handleMeshChanged',['../classSample__TempObstacles.html#adad1a039be5d34890562fbe476bf683a',1,'Sample_TempObstacles::handleMeshChanged()'],['../classSample__TileMesh.html#a9a6d5eedb98ca2254269889dc02f10b3',1,'Sample_TileMesh::handleMeshChanged()'],['../classSample__SoloMesh.html#af63e6f988dc1866aabc7257802f794ce',1,'Sample_SoloMesh::handleMeshChanged()'],['../classSample__Debug.html#ab5cb622ee5868b780744f184fafd6771',1,'Sample_Debug::handleMeshChanged()'],['../classSample.html#a469aa66ff46ed039e8b6d0067f7e500c',1,'Sample::handleMeshChanged()']]], + ['handlerender_897',['handleRender',['../classSample__TileMesh.html#a86b371a0f7c07eff2473cc58562c417b',1,'Sample_TileMesh::handleRender()'],['../classNavMeshTileTool.html#a76314b53a3e1beeb8fe39f377e364652',1,'NavMeshTileTool::handleRender()'],['../classTempObstacleCreateTool.html#a84a0a1049ce50a1f7ea9be8925f84979',1,'TempObstacleCreateTool::handleRender()'],['../classTempObstacleHilightTool.html#aa28bfbf2dee308b7b8fad4a761f67fc4',1,'TempObstacleHilightTool::handleRender()'],['../classTestCase.html#ab26ff5960975d08e337509f96cacccb4',1,'TestCase::handleRender()'],['../classSample__TempObstacles.html#a3235d4811d8fe109c1917e7096359377',1,'Sample_TempObstacles::handleRender()'],['../classSample__SoloMesh.html#a08cee8a58d6ef5897847ab85518c9a91',1,'Sample_SoloMesh::handleRender()'],['../classSample__Debug.html#a63a4a62f44a207f65c41637d5b54c842',1,'Sample_Debug::handleRender()'],['../structSampleToolState.html#aba928b81e7813277bfcc6a0854f93658',1,'SampleToolState::handleRender()'],['../classConvexVolumeTool.html#a83f337f3a9a96ad6464c9179ad663a11',1,'ConvexVolumeTool::handleRender()'],['../classCrowdToolState.html#a127ea871607dd8ca52c254100be1e0af',1,'CrowdToolState::handleRender()'],['../classCrowdTool.html#a298f481f68d5e8a0cb183c276d182d44',1,'CrowdTool::handleRender()'],['../classNavMeshPruneTool.html#a7fd5ad545aa1da51f6e34434ac34a12c',1,'NavMeshPruneTool::handleRender()'],['../classNavMeshTesterTool.html#af5d6204e60c661420e07243ebb7295e8',1,'NavMeshTesterTool::handleRender()'],['../classOffMeshConnectionTool.html#a3b1c066c3145af2f4b14e7cb577d302a',1,'OffMeshConnectionTool::handleRender()'],['../structSampleTool.html#af78bbe22e6d974d7af841d6f81526a64',1,'SampleTool::handleRender()'],['../classSample.html#ada97cd12664f32a84c23c2e2b50890d3',1,'Sample::handleRender()']]], + ['handlerenderoverlay_898',['handleRenderOverlay',['../classConvexVolumeTool.html#af1ebf43ef0309a5f058ae8094dd83312',1,'ConvexVolumeTool::handleRenderOverlay()'],['../classNavMeshTileTool.html#ae454705cabb91cc34a5d11f8ed541c94',1,'NavMeshTileTool::handleRenderOverlay()'],['../classTempObstacleCreateTool.html#a800e3e9d3f26b1b247e9f300854dc794',1,'TempObstacleCreateTool::handleRenderOverlay()'],['../classTempObstacleHilightTool.html#a6b0fe1e1a746e01a7388cd1bcee8a779',1,'TempObstacleHilightTool::handleRenderOverlay()'],['../classTestCase.html#a67291ec62ce5a7ca538522a6231189f7',1,'TestCase::handleRenderOverlay()'],['../classSample__TileMesh.html#a2acfdfc5153bf2bec6207368619b5006',1,'Sample_TileMesh::handleRenderOverlay()'],['../classSample__TempObstacles.html#a3b72ce76d2ee91aea7e4fe96c0901099',1,'Sample_TempObstacles::handleRenderOverlay()'],['../classSample__SoloMesh.html#a9ee1ce62bf30f0b6c4b743101bbe2c7e',1,'Sample_SoloMesh::handleRenderOverlay()'],['../classSample__Debug.html#a230fb5fe100409fc376604e0a470e259',1,'Sample_Debug::handleRenderOverlay()'],['../classSample.html#aa6c6bd9c1947f9699e75c726f0bbd4d5',1,'Sample::handleRenderOverlay()'],['../structSampleToolState.html#ab3c7ab10984d2ca744f28a068d882750',1,'SampleToolState::handleRenderOverlay()'],['../structSampleTool.html#a1c493f6e6a5f733d09c6010467154531',1,'SampleTool::handleRenderOverlay()'],['../classOffMeshConnectionTool.html#af023858b0abb68e538a842ddc9e25022',1,'OffMeshConnectionTool::handleRenderOverlay()'],['../classNavMeshTesterTool.html#ac161b92950bfe0c7803ce602ec54ff7d',1,'NavMeshTesterTool::handleRenderOverlay()'],['../classNavMeshPruneTool.html#af5fd93ff57b645fc8dfdf4c2761fb3cf',1,'NavMeshPruneTool::handleRenderOverlay()'],['../classCrowdTool.html#a00641ff12ce93e817d07f9cfda7d500b',1,'CrowdTool::handleRenderOverlay()'],['../classCrowdToolState.html#aaaf12376476f0e109150ce7b0e618357',1,'CrowdToolState::handleRenderOverlay()']]], + ['handlesettings_899',['handleSettings',['../classSample__Debug.html#ae400fa9f870766e9f284b361accd9427',1,'Sample_Debug::handleSettings()'],['../classSample__TileMesh.html#a67ac0028f5834faaf6d89421b13a31f2',1,'Sample_TileMesh::handleSettings()'],['../classSample__SoloMesh.html#a756bbc11445f8ad9af9cbb5b4cb44ec8',1,'Sample_SoloMesh::handleSettings()'],['../classSample.html#a06fbc4cf5c3cd6b5581ae33db37ac324',1,'Sample::handleSettings()'],['../classSample__TempObstacles.html#ab669992dfb881d998114798d0978fc83',1,'Sample_TempObstacles::handleSettings()']]], + ['handlestep_900',['handleStep',['../classTempObstacleHilightTool.html#a6dbee86b6f4f9cb882e3c1cc5ea144aa',1,'TempObstacleHilightTool::handleStep()'],['../classNavMeshTileTool.html#adb6147a686eafaf9bb2e7b85e575097f',1,'NavMeshTileTool::handleStep()'],['../classTempObstacleCreateTool.html#ab86e78fbce2dab437d5f293406b1cd0a',1,'TempObstacleCreateTool::handleStep()'],['../classSample.html#a77bb6d09c508fb0f7d9cc498962f7d08',1,'Sample::handleStep()'],['../structSampleTool.html#a0cd44aa86008bcbc3dfc45d0117cd02c',1,'SampleTool::handleStep()'],['../classOffMeshConnectionTool.html#a1e894eb42860dbabc7c85928c9ae7175',1,'OffMeshConnectionTool::handleStep()'],['../classNavMeshTesterTool.html#a4296c9b5431882a10676a1f8baa687f5',1,'NavMeshTesterTool::handleStep()'],['../classNavMeshPruneTool.html#a1d3466a23085cff3e97afd0952d1f4af',1,'NavMeshPruneTool::handleStep()'],['../classCrowdTool.html#aff96223c09183019e6d97ec67e6ad60d',1,'CrowdTool::handleStep()'],['../classConvexVolumeTool.html#a5b0e8ab26df0ee701a69b291691cfcbf',1,'ConvexVolumeTool::handleStep()']]], + ['handletoggle_901',['handleToggle',['../structSampleTool.html#ac54d34080ba5a11adff8fba1bb2a71fb',1,'SampleTool::handleToggle()'],['../classNavMeshTileTool.html#a5960fdac4bfc1a72a4ef67a0cfbb3136',1,'NavMeshTileTool::handleToggle()'],['../classTempObstacleCreateTool.html#a7260c3dd1ba6c35d15aa35fedc5e9493',1,'TempObstacleCreateTool::handleToggle()'],['../classTempObstacleHilightTool.html#ab0f8512ec83f08b6a7d210f8a8e4ac51',1,'TempObstacleHilightTool::handleToggle()'],['../classSample__Debug.html#ad16cb7ee6860915b557f1e1594af4301',1,'Sample_Debug::handleToggle()'],['../classSample.html#a9bcb74f237555eb39454228acf9471c8',1,'Sample::handleToggle()'],['../classOffMeshConnectionTool.html#ab618f601d398015b4a8aee495290ea8f',1,'OffMeshConnectionTool::handleToggle()'],['../classNavMeshTesterTool.html#a3fcce315ee720c66b590287fa4c591e9',1,'NavMeshTesterTool::handleToggle()'],['../classNavMeshPruneTool.html#ad1ab829d07050f77dc09dff6156273b5',1,'NavMeshPruneTool::handleToggle()'],['../classCrowdTool.html#ac2427807187d8c2469d021a714f99266',1,'CrowdTool::handleToggle()'],['../classConvexVolumeTool.html#af1e59f31ba0dd44fdf18bb3abccc81c2',1,'ConvexVolumeTool::handleToggle()']]], + ['handletools_902',['handleTools',['../classSample.html#a4dc0dd60e505cec25a225f5d2ebf83d1',1,'Sample::handleTools()'],['../classSample__Debug.html#aac6036510468b2facb5b00458a35a6ef',1,'Sample_Debug::handleTools()'],['../classSample__SoloMesh.html#aeb52c7800e16699f467377fa38357d28',1,'Sample_SoloMesh::handleTools()'],['../classSample__TempObstacles.html#a15f2d29a496c1391426cabc3602f9d99',1,'Sample_TempObstacles::handleTools()'],['../classSample__TileMesh.html#a4c492f865f6a891f3c763a72c015a2b1',1,'Sample_TileMesh::handleTools()']]], + ['handleupdate_903',['handleUpdate',['../structSampleToolState.html#a8d13e1c36ea7258da57e022e211d40ae',1,'SampleToolState::handleUpdate()'],['../classSample.html#ae3185e1830bc005a03bf595fac945a23',1,'Sample::handleUpdate()'],['../classTempObstacleHilightTool.html#a238bf84317b82bb005acfa021905c280',1,'TempObstacleHilightTool::handleUpdate()'],['../classTempObstacleCreateTool.html#a7815ec25feed0fcb93625728c9fa6b08',1,'TempObstacleCreateTool::handleUpdate()'],['../classNavMeshTileTool.html#a09b989aa5ec7e659678a6adc64f04c21',1,'NavMeshTileTool::handleUpdate()'],['../classSample__TempObstacles.html#a5817d2d63a4bb0f12db44db260f007f4',1,'Sample_TempObstacles::handleUpdate()'],['../classOffMeshConnectionTool.html#a580d7e61206fa45b3e87a6b52cf076a1',1,'OffMeshConnectionTool::handleUpdate()'],['../classConvexVolumeTool.html#ab3a94dcc4cab914af5ae1d0b8446c951',1,'ConvexVolumeTool::handleUpdate()'],['../structSampleTool.html#ae3f8e0f0fddd71db2e91280e83805054',1,'SampleTool::handleUpdate()'],['../classCrowdToolState.html#a5533329be79b7cc61a18dcc5dfe11ecd',1,'CrowdToolState::handleUpdate()'],['../classNavMeshPruneTool.html#a7eba211059a9707b9609babee9c27388',1,'NavMeshPruneTool::handleUpdate()'],['../classNavMeshTesterTool.html#a0e250830eb6186b4b4f8559534ff8908',1,'NavMeshTesterTool::handleUpdate()'],['../classCrowdTool.html#a8d815cab99740e219ef4ef2d1172936a',1,'CrowdTool::handleUpdate()']]], + ['hashpos2_904',['hashPos2',['../DetourProximityGrid_8cpp.html#a45540c644ac152f30cbade2c4d49eabb',1,'DetourProximityGrid.cpp']]], + ['header_905',['header',['../structdtMeshTile.html#a5051ce89a829f53969be9ac3fae9d4c3',1,'dtMeshTile::header()'],['../structdtCompressedTile.html#a4682edbafc7117d98aedc6069a0cae9f',1,'dtCompressedTile::header()'],['../structdtTileCacheLayer.html#aee440990f8d08c3c08f0759bfd00639c',1,'dtTileCacheLayer::header()']]], + ['height_906',['height',['../structrcConfig.html#a25cdb5fcddc1d2813eca2462f60c13d1',1,'rcConfig::height()'],['../structrcHeightPatch.html#a6e2f9591899f48231b2d13e87bc5ba6a',1,'rcHeightPatch::height()'],['../structrcContourSet.html#a18be0e9d84b65e8688153b0adb517124',1,'rcContourSet::height()'],['../structrcHeightfieldLayer.html#a58d4448da1f29c63229a11ffc886b351',1,'rcHeightfieldLayer::height()'],['../structrcCompactHeightfield.html#a25d9e16e5d82cf698e47b18a5740b639',1,'rcCompactHeightfield::height()'],['../structrcHeightfield.html#a568ceeea7acb4ddf67dd78ec4fee7672',1,'rcHeightfield::height()'],['../structdtTileCacheLayerHeader.html#a3ea2f3a128e73e23879575725142d5fb',1,'dtTileCacheLayerHeader::height()'],['../structdtTileCacheParams.html#a0428fa48e2d01e17aab08ff814b2c769',1,'dtTileCacheParams::height()'],['../structdtObstacleCylinder.html#aae6a08ac6fded03f3df1cc9bbf34bf96',1,'dtObstacleCylinder::height()'],['../structdtCrowdAgentParams.html#a762f702ee5339eebaf252d391f31a586',1,'dtCrowdAgentParams::height()']]], + ['heights_907',['heights',['../structdtTileCacheLayer.html#ad5671088121159f5f4f39d52f6c3d42f',1,'dtTileCacheLayer::heights()'],['../structrcHeightfieldLayer.html#ac524f9b2f07bd31eba6a9ef72c2f2d0b',1,'rcHeightfieldLayer::heights()']]], + ['high_908',['high',['../structLinearAllocator.html#a1a09914aba0a50eba2ed752879974f75',1,'LinearAllocator']]], + ['hilightagent_909',['hilightAgent',['../classCrowdToolState.html#abd1ba6578e4b0bbc48eabbafaaaab2bc',1,'CrowdToolState']]], + ['hitedgeindex_910',['hitEdgeIndex',['../structdtRaycastHit.html#a27f1d665cde84889338ef4634c017c39',1,'dtRaycastHit']]], + ['hitnormal_911',['hitNormal',['../structdtRaycastHit.html#a35b5d410f632591db3f0a7d7f5c235b8',1,'dtRaycastHit']]], + ['hittestagents_912',['hitTestAgents',['../classCrowdToolState.html#a35659ce49a4932cefbb925ea6153c825',1,'CrowdToolState']]], + ['hittestobstacle_913',['hitTestObstacle',['../Sample__TempObstacles_8cpp.html#ad121bf7e4e054c2e9fc910193eff7439',1,'Sample_TempObstacles.cpp']]], + ['hmax_914',['hmax',['../structConvexVolume.html#a3019acd734533671d8ac029bd7ad7379',1,'ConvexVolume::hmax()'],['../structrcHeightfieldLayer.html#a95365db6dde274d1722aec90ade7a8c8',1,'rcHeightfieldLayer::hmax()'],['../structdtTileCacheLayerHeader.html#a1a39cf584edf04f90b05b38f1979f13d',1,'dtTileCacheLayerHeader::hmax()']]], + ['hmin_915',['hmin',['../structdtTileCacheLayerHeader.html#ac67e4ecbb71ab3814e9e270f14004ee9',1,'dtTileCacheLayerHeader::hmin()'],['../structrcHeightfieldLayer.html#a6ddd970ccf1cd15048ac535f9f75d083',1,'rcHeightfieldLayer::hmin()'],['../structConvexVolume.html#a388cd3f55a1083b93543c7bad7a3d47e',1,'ConvexVolume::hmin()']]], + ['holes_916',['holes',['../structrcContourRegion.html#ae12d68ef4a40342b654ce16ad1962dec',1,'rcContourRegion']]], + ['horiztime_917',['horizTime',['../structdtObstacleAvoidanceParams.html#a20bba3a481f4478eb32fce9a7f61c436',1,'dtObstacleAvoidanceParams']]], + ['hot_918',['hot',['../structGuiState.html#a0db522de5d2a46ebcabeb9721e95a1db',1,'GuiState']]], + ['hottobe_919',['hotToBe',['../structGuiState.html#aab12c1ba6341e43974ecca47d57a2292',1,'GuiState']]] +]; diff --git a/search/all_8.html b/search/all_8.html new file mode 100644 index 00000000..83c55ae2 --- /dev/null +++ b/search/all_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_8.js b/search/all_8.js new file mode 100644 index 00000000..31a7e936 --- /dev/null +++ b/search/all_8.js @@ -0,0 +1,92 @@ +var searchData= +[ + ['i_920',['i',['../structBoundsItem.html#ab05a8256e9a88d9c1a24c88c424f88fc',1,'BoundsItem::i()'],['../structrcChunkyTriMeshNode.html#aef4c1c5ae3d3e688449598791f65483c',1,'rcChunkyTriMeshNode::i()'],['../structBVItem.html#a50d6602a0adbcd8ac0bfa5e20edd554a',1,'BVItem::i()'],['../structdtBVNode.html#aa7de4b9e1151b9f4bf02154cfb24a45a',1,'dtBVNode::i()']]], + ['id_921',['id',['../structrcSweepSpan.html#ac1a82c65b0a40920eab883fc2b0aa706',1,'rcSweepSpan::id()'],['../structrcRegion.html#a4938489b9fdddccbfb9273975632a30b',1,'rcRegion::id()'],['../structrcLayerSweepSpan.html#a16f6f61547ed2e1c6f22b6e17810785e',1,'rcLayerSweepSpan::id()'],['../structdtLayerSweepSpan.html#a979ef3d0c22d55844358ed2e62acd83f',1,'dtLayerSweepSpan::id()'],['../structdtNode.html#a0ffc2be17daff1087e7d2920334eeb3d',1,'dtNode::id()']]], + ['idx_922',['idx',['../structdtCrowdAgentDebugInfo.html#ac0c1fb2edc72e4e688eb943d8f2d92b2',1,'dtCrowdAgentDebugInfo::idx()'],['../structdtCrowdNeighbour.html#a6a4639002489c6b6e3709e2e6a217c7c',1,'dtCrowdNeighbour::idx()']]], + ['ilog2_923',['ilog2',['../Sample__TileMesh_8cpp.html#ae9adac380db2fcc0a78bee0bcf9ac86a',1,'Sample_TileMesh.cpp']]], + ['imgui_2ecpp_924',['imgui.cpp',['../imgui_8cpp.html',1,'']]], + ['imgui_2eh_925',['imgui.h',['../imgui_8h.html',1,'']]], + ['imgui_5falign_5fcenter_926',['IMGUI_ALIGN_CENTER',['../imgui_8h.html#a81f4e8d4b43d08839e074dd84da74d75ac5715ea606af0cc4a0f07f9a8aee41dd',1,'imgui.h']]], + ['imgui_5falign_5fleft_927',['IMGUI_ALIGN_LEFT',['../imgui_8h.html#a81f4e8d4b43d08839e074dd84da74d75aea56e4d2752754d8d377c79dc9bd8720',1,'imgui.h']]], + ['imgui_5falign_5fright_928',['IMGUI_ALIGN_RIGHT',['../imgui_8h.html#a81f4e8d4b43d08839e074dd84da74d75a4ffe66465428f5149caf83926a4b85d5',1,'imgui.h']]], + ['imgui_5fgfxcmd_5fline_929',['IMGUI_GFXCMD_LINE',['../imgui_8h.html#abe78cb20eb0e742c2ebc6008bc4f885ca8605796c258c7a0607f7cedc1f5492b1',1,'imgui.h']]], + ['imgui_5fgfxcmd_5frect_930',['IMGUI_GFXCMD_RECT',['../imgui_8h.html#abe78cb20eb0e742c2ebc6008bc4f885ca8c0cf32cd9b15b75f537590b22ddb923',1,'imgui.h']]], + ['imgui_5fgfxcmd_5fscissor_931',['IMGUI_GFXCMD_SCISSOR',['../imgui_8h.html#abe78cb20eb0e742c2ebc6008bc4f885ca9e92c9da0e7ff64db67b78b213e444ee',1,'imgui.h']]], + ['imgui_5fgfxcmd_5ftext_932',['IMGUI_GFXCMD_TEXT',['../imgui_8h.html#abe78cb20eb0e742c2ebc6008bc4f885ca92881daa45ec0ae49b9f48802f22c5c6',1,'imgui.h']]], + ['imgui_5fgfxcmd_5ftriangle_933',['IMGUI_GFXCMD_TRIANGLE',['../imgui_8h.html#abe78cb20eb0e742c2ebc6008bc4f885ca80b6621628493473156532a1204c033a',1,'imgui.h']]], + ['imgui_5fmbut_5fleft_934',['IMGUI_MBUT_LEFT',['../imgui_8h.html#a10190d2044a9d17a87554f32126b6b75adf72e4161c47f203b5849e21f38d2217',1,'imgui.h']]], + ['imgui_5fmbut_5fright_935',['IMGUI_MBUT_RIGHT',['../imgui_8h.html#a10190d2044a9d17a87554f32126b6b75ab8eb180e6a19ec10ec09f1f6584945f8',1,'imgui.h']]], + ['imguibeginframe_936',['imguiBeginFrame',['../imgui_8h.html#a9460df9e45ac62863d44e7bbdbc6ef8e',1,'imguiBeginFrame(int mx, int my, unsigned char mbut, int scroll): imgui.cpp'],['../imgui_8cpp.html#a9460df9e45ac62863d44e7bbdbc6ef8e',1,'imguiBeginFrame(int mx, int my, unsigned char mbut, int scroll): imgui.cpp']]], + ['imguibeginscrollarea_937',['imguiBeginScrollArea',['../imgui_8h.html#ac46e2e3ac3f6a80586b929729d4e5f25',1,'imguiBeginScrollArea(const char *name, int x, int y, int w, int h, int *scroll): imgui.cpp'],['../imgui_8cpp.html#ac46e2e3ac3f6a80586b929729d4e5f25',1,'imguiBeginScrollArea(const char *name, int x, int y, int w, int h, int *scroll): imgui.cpp']]], + ['imguibutton_938',['imguiButton',['../imgui_8cpp.html#a779167e54c89f3a7d6933bbf8db28eb7',1,'imguiButton(const char *text, bool enabled): imgui.cpp'],['../imgui_8h.html#ab10551ffe075e95d5cb0881fb7345f58',1,'imguiButton(const char *text, bool enabled=true): imgui.cpp']]], + ['imguicheck_939',['imguiCheck',['../imgui_8cpp.html#a454a21faadb504d01fa808a26d088e8f',1,'imguiCheck(const char *text, bool checked, bool enabled): imgui.cpp'],['../imgui_8h.html#a97ae70b1967fbbf4d6dea1d345750f38',1,'imguiCheck(const char *text, bool checked, bool enabled=true): imgui.cpp']]], + ['imguicollapse_940',['imguiCollapse',['../imgui_8cpp.html#ae14ee3ea48895226a937d4736da38aa8',1,'imguiCollapse(const char *text, const char *subtext, bool checked, bool enabled): imgui.cpp'],['../imgui_8h.html#a877133157a9abfed999e0bc6a9e738a0',1,'imguiCollapse(const char *text, const char *subtext, bool checked, bool enabled=true): imgui.cpp']]], + ['imguidrawline_941',['imguiDrawLine',['../imgui_8cpp.html#ab0f80a70d63e95f64a1cdfc5ed07923e',1,'imguiDrawLine(float x0, float y0, float x1, float y1, float r, unsigned int color): imgui.cpp'],['../imgui_8h.html#ab0f80a70d63e95f64a1cdfc5ed07923e',1,'imguiDrawLine(float x0, float y0, float x1, float y1, float r, unsigned int color): imgui.cpp']]], + ['imguidrawrect_942',['imguiDrawRect',['../imgui_8cpp.html#aaa13f28c04e5a32a07c0589a2026eefe',1,'imguiDrawRect(float x, float y, float w, float h, unsigned int color): imgui.cpp'],['../imgui_8h.html#aaa13f28c04e5a32a07c0589a2026eefe',1,'imguiDrawRect(float x, float y, float w, float h, unsigned int color): imgui.cpp']]], + ['imguidrawroundedrect_943',['imguiDrawRoundedRect',['../imgui_8cpp.html#a64be6cac61a161fa9d0c16b5034b6c5e',1,'imguiDrawRoundedRect(float x, float y, float w, float h, float r, unsigned int color): imgui.cpp'],['../imgui_8h.html#a64be6cac61a161fa9d0c16b5034b6c5e',1,'imguiDrawRoundedRect(float x, float y, float w, float h, float r, unsigned int color): imgui.cpp']]], + ['imguidrawtext_944',['imguiDrawText',['../imgui_8h.html#abdd0d158d1fcab4dbfcf9ea50f202136',1,'imguiDrawText(int x, int y, int align, const char *text, unsigned int color): imgui.cpp'],['../imgui_8cpp.html#abdd0d158d1fcab4dbfcf9ea50f202136',1,'imguiDrawText(int x, int y, int align, const char *text, unsigned int color): imgui.cpp']]], + ['imguiendframe_945',['imguiEndFrame',['../imgui_8h.html#afd1f5eaee9f7475255c6fba75ff5123c',1,'imguiEndFrame(): imgui.cpp'],['../imgui_8cpp.html#afd1f5eaee9f7475255c6fba75ff5123c',1,'imguiEndFrame(): imgui.cpp']]], + ['imguiendscrollarea_946',['imguiEndScrollArea',['../imgui_8h.html#ac2bccc89a7e0b94592623961cb21b257',1,'imguiEndScrollArea(): imgui.cpp'],['../imgui_8cpp.html#ac2bccc89a7e0b94592623961cb21b257',1,'imguiEndScrollArea(): imgui.cpp']]], + ['imguifree_947',['imguifree',['../imguiRenderGL_8cpp.html#a2a8b3b95948bc4017c04c7454cb5d473',1,'imguiRenderGL.cpp']]], + ['imguigetrenderqueue_948',['imguiGetRenderQueue',['../imgui_8h.html#ad73e6a0f683a0a8e8f303ad61580c32d',1,'imguiGetRenderQueue(): imgui.cpp'],['../imgui_8cpp.html#ad73e6a0f683a0a8e8f303ad61580c32d',1,'imguiGetRenderQueue(): imgui.cpp']]], + ['imguigetrenderqueuesize_949',['imguiGetRenderQueueSize',['../imgui_8h.html#ab99959262f3e219c6a0f18aeafd432b0',1,'imguiGetRenderQueueSize(): imgui.cpp'],['../imgui_8cpp.html#ab99959262f3e219c6a0f18aeafd432b0',1,'imguiGetRenderQueueSize(): imgui.cpp']]], + ['imguigfxcmd_950',['imguiGfxCmd',['../structimguiGfxCmd.html',1,'']]], + ['imguigfxcmdtype_951',['imguiGfxCmdType',['../imgui_8h.html#abe78cb20eb0e742c2ebc6008bc4f885c',1,'imgui.h']]], + ['imguigfxline_952',['imguiGfxLine',['../structimguiGfxLine.html',1,'']]], + ['imguigfxrect_953',['imguiGfxRect',['../structimguiGfxRect.html',1,'']]], + ['imguigfxtext_954',['imguiGfxText',['../structimguiGfxText.html',1,'']]], + ['imguiindent_955',['imguiIndent',['../imgui_8cpp.html#ae3d00934ccb219ffa9316b252d8afba0',1,'imguiIndent(): imgui.cpp'],['../imgui_8h.html#ae3d00934ccb219ffa9316b252d8afba0',1,'imguiIndent(): imgui.cpp']]], + ['imguiitem_956',['imguiItem',['../imgui_8h.html#a7175c05bac766e0145e4cf30c295bfbd',1,'imguiItem(const char *text, bool enabled=true): imgui.cpp'],['../imgui_8cpp.html#ab395b1e1bb0892f71ed1da579c98a3e7',1,'imguiItem(const char *text, bool enabled): imgui.cpp']]], + ['imguilabel_957',['imguiLabel',['../imgui_8h.html#a802803d550d65e826d6addbf0a3d333b',1,'imguiLabel(const char *text): imgui.cpp'],['../imgui_8cpp.html#a802803d550d65e826d6addbf0a3d333b',1,'imguiLabel(const char *text): imgui.cpp']]], + ['imguimalloc_958',['imguimalloc',['../imguiRenderGL_8cpp.html#a7b5a4a87dc42e0c5df76f683dfd784e4',1,'imguiRenderGL.cpp']]], + ['imguimousebutton_959',['imguiMouseButton',['../imgui_8h.html#a10190d2044a9d17a87554f32126b6b75',1,'imgui.h']]], + ['imguirendergl_2ecpp_960',['imguiRenderGL.cpp',['../imguiRenderGL_8cpp.html',1,'']]], + ['imguirendergl_2eh_961',['imguiRenderGL.h',['../imguiRenderGL_8h.html',1,'']]], + ['imguirendergldestroy_962',['imguiRenderGLDestroy',['../imguiRenderGL_8cpp.html#aa62b85e5def48a3e96598436d1895ebf',1,'imguiRenderGLDestroy(): imguiRenderGL.cpp'],['../imguiRenderGL_8h.html#aa62b85e5def48a3e96598436d1895ebf',1,'imguiRenderGLDestroy(): imguiRenderGL.cpp']]], + ['imguirendergldraw_963',['imguiRenderGLDraw',['../imguiRenderGL_8cpp.html#a3c498095a81d3da8fb16a39d5584f184',1,'imguiRenderGLDraw(): imguiRenderGL.cpp'],['../imguiRenderGL_8h.html#a3c498095a81d3da8fb16a39d5584f184',1,'imguiRenderGLDraw(): imguiRenderGL.cpp']]], + ['imguirenderglinit_964',['imguiRenderGLInit',['../imguiRenderGL_8cpp.html#a516f5ccccb1ddc6bcea43fba89f1fd57',1,'imguiRenderGLInit(const char *fontpath): imguiRenderGL.cpp'],['../imguiRenderGL_8h.html#a516f5ccccb1ddc6bcea43fba89f1fd57',1,'imguiRenderGLInit(const char *fontpath): imguiRenderGL.cpp']]], + ['imguirgba_965',['imguiRGBA',['../imgui_8h.html#a2f4ea8a34347c398796cee6d7808e8c3',1,'imgui.h']]], + ['imguiseparator_966',['imguiSeparator',['../imgui_8cpp.html#ad77cd8c7e79231bf99358e8766845ac1',1,'imguiSeparator(): imgui.cpp'],['../imgui_8h.html#ad77cd8c7e79231bf99358e8766845ac1',1,'imguiSeparator(): imgui.cpp']]], + ['imguiseparatorline_967',['imguiSeparatorLine',['../imgui_8cpp.html#ad1692a47ae3a3393f459c5dcf8b78651',1,'imguiSeparatorLine(): imgui.cpp'],['../imgui_8h.html#ad1692a47ae3a3393f459c5dcf8b78651',1,'imguiSeparatorLine(): imgui.cpp']]], + ['imguislider_968',['imguiSlider',['../imgui_8h.html#ac98bd34b3bc36a13373045083c90d4f1',1,'imguiSlider(const char *text, float *val, float vmin, float vmax, float vinc, bool enabled=true): imgui.cpp'],['../imgui_8cpp.html#a3128854184c44a3ee570bea05290cdbb',1,'imguiSlider(const char *text, float *val, float vmin, float vmax, float vinc, bool enabled): imgui.cpp']]], + ['imguitextalign_969',['imguiTextAlign',['../imgui_8h.html#a81f4e8d4b43d08839e074dd84da74d75',1,'imgui.h']]], + ['imguiunindent_970',['imguiUnindent',['../imgui_8h.html#a509b76e72688bbb9b319c778b753c11d',1,'imguiUnindent(): imgui.cpp'],['../imgui_8cpp.html#a509b76e72688bbb9b319c778b753c11d',1,'imguiUnindent(): imgui.cpp']]], + ['imguivalue_971',['imguiValue',['../imgui_8h.html#ad123f3fb8a3840a3f6ce8caa41a3f80b',1,'imguiValue(const char *text): imgui.cpp'],['../imgui_8cpp.html#ad123f3fb8a3840a3f6ce8caa41a3f80b',1,'imguiValue(const char *text): imgui.cpp']]], + ['incone_972',['inCone',['../RecastContour_8cpp.html#ab93a3b7adad67c6fe99536760f60da7b',1,'inCone(int i, int n, const int *verts, const int *pj): RecastContour.cpp'],['../RecastMesh_8cpp.html#a3626785a54ec9abeb63f0fc43661b8d8',1,'inCone(int i, int j, int n, const int *verts, int *indices): RecastMesh.cpp'],['../DetourTileCacheBuilder_8cpp.html#ac46427b24fb9b3673c12b62f79e97096',1,'inCone(int i, int j, int n, const unsigned char *verts, const unsigned short *indices): DetourTileCacheBuilder.cpp']]], + ['inconeloose_973',['inConeLoose',['../RecastMesh_8cpp.html#aaccc35a1704dcc3625b941a927c97034',1,'RecastMesh.cpp']]], + ['indent_5fsize_974',['INDENT_SIZE',['../imgui_8cpp.html#a9a41113cc28a2b67396add06da86a18c',1,'imgui.cpp']]], + ['index_975',['index',['../structrcCompactCell.html#ad1695135ae520dfee8c39aa7b1fd41d8',1,'rcCompactCell::index()'],['../structDirtyEntry.html#af570257530906e231345aa1e4debbfa7',1,'DirtyEntry::index()']]], + ['init_976',['init',['../classdtNavMeshQuery.html#acb51d0d2798d0bc7c669ac38c25d4116',1,'dtNavMeshQuery::init()'],['../classdtNavMesh.html#a020702938951249972b955a65967234a',1,'dtNavMesh::init(const dtNavMeshParams *params)'],['../classdtNavMesh.html#a3cbc598755db0d1e9541b15f0f464318',1,'dtNavMesh::init(unsigned char *data, const int dataSize, const int flags)'],['../classdtCrowd.html#a2f670cde9e10d07e3ed189ea861f37e4',1,'dtCrowd::init()'],['../classNavMeshTileTool.html#acdd83e58038dcc240242b94630f5f312',1,'NavMeshTileTool::init()'],['../classTempObstacleCreateTool.html#add3d7c7e93c01a18993231c8c076e994',1,'TempObstacleCreateTool::init()'],['../classTempObstacleHilightTool.html#a1c0a4a693fbd80d60fcf1305e6499884',1,'TempObstacleHilightTool::init()'],['../structMeshProcess.html#af79fc443a1067c46713aa56a55120f6f',1,'MeshProcess::init()'],['../classNavmeshFlags.html#ac82a85470cfe71138da559395b19f392',1,'NavmeshFlags::init()'],['../structSampleToolState.html#ab9dda86ad5ef7d23b6da69dbbc5ded1e',1,'SampleToolState::init()'],['../structSampleTool.html#a95804c3b0631cbb58edd4370e15a3af5',1,'SampleTool::init()'],['../classOffMeshConnectionTool.html#a3f1425ea30bf3e5841cf6697a01f5e72',1,'OffMeshConnectionTool::init()'],['../classNavMeshTesterTool.html#a73a9165951689cac88cf9743bc99e0b5',1,'NavMeshTesterTool::init()'],['../classNavMeshPruneTool.html#afafabe8cd473164567bb37b27904d340',1,'NavMeshPruneTool::init()'],['../classCrowdTool.html#ab6c04d1bc27ac8ce00124e3f8936e7f4',1,'CrowdTool::init()'],['../classConvexVolumeTool.html#a9787b22592b80a6494450c60ccd50165',1,'ConvexVolumeTool::init()'],['../classdtTileCache.html#a9cd97203168485f62bf1b2983d56745a',1,'dtTileCache::init()'],['../classdtProximityGrid.html#aef4e5c3fa11d5ba99a33dfadbea198d3',1,'dtProximityGrid::init()'],['../classCrowdToolState.html#a009cf74974dde6147a7f21b0901ad4c4',1,'CrowdToolState::init()'],['../classdtPathQueue.html#afb36a7890f01f2dbc9be362282538803',1,'dtPathQueue::init()'],['../classdtPathCorridor.html#a85b4c98157b68a57b9c3302f45d0ed7f',1,'dtPathCorridor::init()'],['../classdtObstacleAvoidanceDebugData.html#a49f4c177709ecccc77331e1b43ae893c',1,'dtObstacleAvoidanceDebugData::init()'],['../classdtObstacleAvoidanceQuery.html#a9f927e4f09b35473853be3bf7f28129a',1,'dtObstacleAvoidanceQuery::init()']]], + ['initpos_977',['initPos',['../structdtCrowdAgentAnimation.html#a607dc9fc1c1d88d93f5140217a298f45',1,'dtCrowdAgentAnimation']]], + ['initslicedfindpath_978',['initSlicedFindPath',['../classdtNavMeshQuery.html#ae9a478194f14f1a4591f8b6528007d82',1,'dtNavMeshQuery']]], + ['inittoolstates_979',['initToolStates',['../classSample.html#a3274e125e6c8206d0598a84ce6027693',1,'Sample']]], + ['inputgeom_980',['InputGeom',['../classInputGeom.html',1,'InputGeom'],['../classInputGeom.html#af2d7fb1c3c5559acc3f84bbfcb3c83b8',1,'InputGeom::InputGeom()']]], + ['inputgeom_2ecpp_981',['InputGeom.cpp',['../InputGeom_8cpp.html',1,'']]], + ['inputgeom_2eh_982',['InputGeom.h',['../InputGeom_8h.html',1,'']]], + ['inrange_983',['inRange',['../NavMeshTesterTool_8cpp.html#a5b7b330e2de37289d8ae69f304d334a9',1,'NavMeshTesterTool.cpp']]], + ['inrect_984',['inRect',['../imgui_8cpp.html#ad1245cfa79f31678c1eb8d84d1ff30af',1,'imgui.cpp']]], + ['insertinterval_985',['insertInterval',['../DetourNavMeshQuery_8cpp.html#ac742e93c715068b76c2592ae822a39ff',1,'DetourNavMeshQuery.cpp']]], + ['insertsort_986',['insertSort',['../RecastArea_8cpp.html#a1071db3bfc13a7c581093d1f448f5e40',1,'RecastArea.cpp']]], + ['insidecurrentscroll_987',['insideCurrentScroll',['../structGuiState.html#a57154ede278ed4dd5f11afde5c8f2e3b',1,'GuiState']]], + ['integrate_988',['integrate',['../DetourCrowd_8cpp.html#a284e9ea2c9700317d3dca1df47df5ab8',1,'DetourCrowd.cpp']]], + ['intersect_989',['intersect',['../DetourTileCacheBuilder_8cpp.html#a070e599134e47f74c6ac1981c5b004c2',1,'intersect(const unsigned char *a, const unsigned char *b, const unsigned char *c, const unsigned char *d): DetourTileCacheBuilder.cpp'],['../RecastContour_8cpp.html#a8c40590db2ebb79a634dfadada974679',1,'intersect(const int *a, const int *b, const int *c, const int *d): RecastContour.cpp'],['../RecastMesh_8cpp.html#a8c40590db2ebb79a634dfadada974679',1,'intersect(const int *a, const int *b, const int *c, const int *d): RecastMesh.cpp']]], + ['intersectprop_990',['intersectProp',['../RecastContour_8cpp.html#a5ebff194647dfe8f10ceab06390c68df',1,'intersectProp(const int *a, const int *b, const int *c, const int *d): RecastContour.cpp'],['../DetourTileCacheBuilder_8cpp.html#ac83ebd03e0ea6de9e9e8af3447e8d226',1,'intersectProp(const unsigned char *a, const unsigned char *b, const unsigned char *c, const unsigned char *d): DetourTileCacheBuilder.cpp'],['../RecastMesh_8cpp.html#a5ebff194647dfe8f10ceab06390c68df',1,'intersectProp(const int *a, const int *b, const int *c, const int *d): RecastMesh.cpp']]], + ['intersectsegcountour_991',['intersectSegCountour',['../RecastContour_8cpp.html#a44670adae86ff8db233723677fff6d90',1,'RecastContour.cpp']]], + ['intersectsegmenttriangle_992',['intersectSegmentTriangle',['../InputGeom_8cpp.html#a89e05e1cf91226eb8b11ce816ec90a4e',1,'InputGeom.cpp']]], + ['ioprintf_993',['ioprintf',['../RecastDump_8cpp.html#af97d6194d18bf5f35fb6e384300e2c6b',1,'RecastDump.cpp']]], + ['isactive_994',['isActive',['../structGuiState.html#af6fe16bad26560cc8433134ebbb3d635',1,'GuiState::isActive()'],['../imgui_8cpp.html#ad612f89ba9d6ea959eee8617f3c00bc8',1,'isActive(unsigned int id): imgui.cpp']]], + ['isconnected_995',['isConnected',['../DetourTileCacheBuilder_8cpp.html#a39d8ed8a2d3aa08df559ec2b3713dd0d',1,'DetourTileCacheBuilder.cpp']]], + ['isectrayseg_996',['isectRaySeg',['../DetourObstacleAvoidance_8cpp.html#a25706e06770764f3eeb01417981ccfbd',1,'DetourObstacleAvoidance.cpp']]], + ['isectsegaabb_997',['isectSegAABB',['../CrowdTool_8cpp.html#a6e7db3dabeb68c2e9c627812ee42c47e',1,'isectSegAABB(const float *sp, const float *sq, const float *amin, const float *amax, float &tmin, float &tmax): CrowdTool.cpp'],['../InputGeom_8cpp.html#a6e7db3dabeb68c2e9c627812ee42c47e',1,'isectSegAABB(const float *sp, const float *sq, const float *amin, const float *amax, float &tmin, float &tmax): InputGeom.cpp'],['../Sample__TempObstacles_8cpp.html#a6e7db3dabeb68c2e9c627812ee42c47e',1,'isectSegAABB(const float *sp, const float *sq, const float *amin, const float *amax, float &tmin, float &tmax): Sample_TempObstacles.cpp']]], + ['ishot_998',['isHot',['../structGuiState.html#a4d7b807b2ab88bc58fad34bc8d3c4b23',1,'GuiState::isHot()'],['../imgui_8cpp.html#a6ed5b5cfe3ffe15f70a564d87e13a2a8',1,'isHot(): imgui.cpp']]], + ['isinclosedlist_999',['isInClosedList',['../classdtNavMeshQuery.html#ad1de0c0d7cc527905d3f83c613897eb3',1,'dtNavMeshQuery']]], + ['isoverpoly_1000',['isOverPoly',['../classdtFindNearestPolyQuery.html#a9668cae24253780eebecccde9f023fc7',1,'dtFindNearestPolyQuery']]], + ['isreading_1001',['isReading',['../classFileIO.html#acd4cbb0b54a4d450b53294ce24866346',1,'FileIO::isReading()'],['../structduFileIO.html#a853e4af9415fdaa073bb785151f6b28c',1,'duFileIO::isReading()']]], + ['isregionconnectedtoborder_1002',['isRegionConnectedToBorder',['../RecastRegion_8cpp.html#a362976ffc8da436099d6ce5d2a8e8996',1,'RecastRegion.cpp']]], + ['isrunning_1003',['isRunning',['../classCrowdToolState.html#ae79c25d7281fbe91325cf7395bc6e6ee',1,'CrowdToolState']]], + ['issolidedge_1004',['isSolidEdge',['../RecastRegion_8cpp.html#a48ba7bc4cd4b13a577c07dadf1361d76',1,'RecastRegion.cpp']]], + ['isvalid_1005',['isValid',['../classdtPathCorridor.html#aeb23d3697b0e17837b06b13ae5be4e52',1,'dtPathCorridor::isValid()'],['../classdtLocalBoundary.html#add9a50788d1294903c1fdf98f440dfd1',1,'dtLocalBoundary::isValid()']]], + ['isvalidpolyref_1006',['isValidPolyRef',['../classdtNavMeshQuery.html#ac76164ed97fdedd9ea8abbe52f6c2c8a',1,'dtNavMeshQuery::isValidPolyRef()'],['../classdtNavMesh.html#a84ce3e44a2a97c5377b3b308825fcd37',1,'dtNavMesh::isValidPolyRef()']]], + ['iswriting_1007',['isWriting',['../classFileIO.html#a02526e6d91e126ce105adaf614ab863c',1,'FileIO::isWriting()'],['../structduFileIO.html#ab436e18b116c61875dbdf5faafda9694',1,'duFileIO::isWriting()']]], + ['items_1008',['items',['../structrcSpanPool.html#a7527556787dc57fc87296e8f3dcdd227',1,'rcSpanPool']]] +]; diff --git a/search/all_9.html b/search/all_9.html new file mode 100644 index 00000000..1e263c13 --- /dev/null +++ b/search/all_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_9.js b/search/all_9.js new file mode 100644 index 00000000..ad7c242f --- /dev/null +++ b/search/all_9.js @@ -0,0 +1,23 @@ +var searchData= +[ + ['layer_1009',['layer',['../structdtMeshHeader.html#ad47558eb925bae065e741742e5c62ea0',1,'dtMeshHeader::layer()'],['../structNavMeshTileBuildContext.html#ae8bc391bf811509ade3f3c9fa273724a',1,'NavMeshTileBuildContext::layer()']]], + ['layerid_1010',['layerId',['../structrcLayerRegion.html#a98aa2992acd9a6ebcf57a401182e6b1b',1,'rcLayerRegion']]], + ['layers_1011',['layers',['../structrcHeightfieldLayerSet.html#a9ce20a3ccd65f24b6704e57768c2ea5c',1,'rcHeightfieldLayerSet::layers()'],['../structrcLayerRegion.html#aba2653474f31343b075cb51167276b09',1,'rcLayerRegion::layers()']]], + ['lcset_1012',['lcset',['../structNavMeshTileBuildContext.html#a23cc945ce5a1733603698eb9c4672733',1,'NavMeshTileBuildContext']]], + ['left_1013',['left',['../DetourTileCacheBuilder_8cpp.html#af12ea326178bde8a2bf7b46aa54330aa',1,'left(const unsigned char *a, const unsigned char *b, const unsigned char *c): DetourTileCacheBuilder.cpp'],['../RecastContour_8cpp.html#a0ba03d6a44337bfbcef8f0c9dad4289f',1,'left(const int *a, const int *b, const int *c): RecastContour.cpp'],['../RecastMesh_8cpp.html#a0ba03d6a44337bfbcef8f0c9dad4289f',1,'left(const int *a, const int *b, const int *c): RecastMesh.cpp'],['../ConvexVolumeTool_8cpp.html#aa70398cc4b7ef22352199dca700b3990',1,'left(const float *a, const float *b, const float *c): ConvexVolumeTool.cpp'],['../structGuiState.html#a1b101aced6d0a66c959f6dbc8e9ba4b8',1,'GuiState::left()']]], + ['leftmost_1014',['leftmost',['../structrcContourHole.html#a9fb0f2717007dddc37156feca8b00cf2',1,'rcContourHole']]], + ['lefton_1015',['leftOn',['../RecastMesh_8cpp.html#a4cc687ea6596949ed340d5082d75daed',1,'leftOn(const int *a, const int *b, const int *c): RecastMesh.cpp'],['../RecastContour_8cpp.html#a4cc687ea6596949ed340d5082d75daed',1,'leftOn(const int *a, const int *b, const int *c): RecastContour.cpp'],['../DetourTileCacheBuilder_8cpp.html#afc4b3861caec01ab07bba6a51af3327a',1,'leftOn(const unsigned char *a, const unsigned char *b, const unsigned char *c): DetourTileCacheBuilder.cpp']]], + ['leftpressed_1016',['leftPressed',['../structGuiState.html#a4eca6767d38228c41e82a56b66ce4853',1,'GuiState']]], + ['leftreleased_1017',['leftReleased',['../structGuiState.html#a8a64eb781d05dd4561d1100a6e3c759f',1,'GuiState']]], + ['line_1018',['line',['../structimguiGfxCmd.html#a7cc3675a387e8714dd2a2f6d6303a12d',1,'imguiGfxCmd']]], + ['linearallocator_1019',['LinearAllocator',['../structLinearAllocator.html#ab3e8483fa7f6899695aa338a14bc0a67',1,'LinearAllocator::LinearAllocator()'],['../structLinearAllocator.html',1,'LinearAllocator']]], + ['links_1020',['links',['../structdtMeshTile.html#a09ec6812e47b7e63f035abd0b7753554',1,'dtMeshTile']]], + ['linksfreelist_1021',['linksFreeList',['../structdtMeshTile.html#ad010d9daba37865a4065248745e0b4a0',1,'dtMeshTile']]], + ['lmesh_1022',['lmesh',['../structNavMeshTileBuildContext.html#a66224ae3010c2f8e7c9d7ab2df32e995',1,'NavMeshTileBuildContext']]], + ['load_1023',['load',['../classrcMeshLoaderObj.html#a730235384616c59171a785ce28295579',1,'rcMeshLoaderObj::load()'],['../classTestCase.html#ad7ec8145d12a8443cf6dc4655b1c26bf',1,'TestCase::load()'],['../classInputGeom.html#a018ed54176edc2234663cb419d3f0f9f',1,'InputGeom::load()']]], + ['loadall_1024',['loadAll',['../classSample__TileMesh.html#ac6dd51f6ee08d2b59fa221741caedb86',1,'Sample_TileMesh::loadAll()'],['../classSample__TempObstacles.html#a59f560706b1c693ebefde44c1f8046cb',1,'Sample_TempObstacles::loadAll()'],['../classSample.html#a4418aaf6b8e5c6ddc1d20f4388f101ba',1,'Sample::loadAll()']]], + ['log_1025',['log',['../classrcContext.html#ae3cc278477b1b923d03ea50e3ae96013',1,'rcContext']]], + ['logline_1026',['logLine',['../RecastDump_8cpp.html#a18f72d041fb59ce861860d2b9c17b659',1,'RecastDump.cpp']]], + ['longestaxis_1027',['longestAxis',['../DetourNavMeshBuilder_8cpp.html#a3ad98504f45740f02c1442cdce16f653',1,'longestAxis(unsigned short x, unsigned short y, unsigned short z): DetourNavMeshBuilder.cpp'],['../ChunkyTriMesh_8cpp.html#a7e3f1cfa936454ba69f96894a38bd2e4',1,'longestAxis(float x, float y): ChunkyTriMesh.cpp']]], + ['lset_1028',['lset',['../structRasterizationContext.html#ae8ab461bba69577efde5b1bbc9af3bab',1,'RasterizationContext']]] +]; diff --git a/search/all_a.html b/search/all_a.html new file mode 100644 index 00000000..3a6cac10 --- /dev/null +++ b/search/all_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_a.js b/search/all_a.js new file mode 100644 index 00000000..e15028a1 --- /dev/null +++ b/search/all_a.js @@ -0,0 +1,143 @@ +var searchData= +[ + ['m_5fagentheight_1029',['m_agentHeight',['../classSample.html#af6972f1f58b458f5f5ff6291da892882',1,'Sample']]], + ['m_5fagentmaxclimb_1030',['m_agentMaxClimb',['../classSample.html#ae0149f18e59e0c90ed444c35604cb943',1,'Sample']]], + ['m_5fagentmaxslope_1031',['m_agentMaxSlope',['../classSample.html#a880cc7f8392d39666bab31f183f75b82',1,'Sample']]], + ['m_5fagentradius_1032',['m_agentRadius',['../classSample.html#ae77f5848426c540d452b7bbbdd33dcb2',1,'Sample']]], + ['m_5fanticipateturns_1033',['m_anticipateTurns',['../structCrowdToolParams.html#ad4a5ed9be39d3f974e5fae65ced6c7b1',1,'CrowdToolParams']]], + ['m_5fbmax_1034',['m_bmax',['../classSample__Debug.html#abf213338fafebbc4dfb36ab6cfa6df46',1,'Sample_Debug']]], + ['m_5fbmin_1035',['m_bmin',['../classSample__Debug.html#a965cd582365c8b945f5d5f7da22f0597',1,'Sample_Debug']]], + ['m_5fbuildall_1036',['m_buildAll',['../classSample__TileMesh.html#ac9707dcfbb5d8a82eafdd45f4f9f0394',1,'Sample_TileMesh']]], + ['m_5fcachebuildmemusage_1037',['m_cacheBuildMemUsage',['../classSample__TempObstacles.html#abf96eb913dbc51385ef27e53dedd7d75',1,'Sample_TempObstacles']]], + ['m_5fcachebuildtimems_1038',['m_cacheBuildTimeMs',['../classSample__TempObstacles.html#a470c3923af143c884587e91d673a3ef6',1,'Sample_TempObstacles']]], + ['m_5fcachecompressedsize_1039',['m_cacheCompressedSize',['../classSample__TempObstacles.html#ac778775311b1bbadbc0e03b0df4f177c',1,'Sample_TempObstacles']]], + ['m_5fcachelayercount_1040',['m_cacheLayerCount',['../classSample__TempObstacles.html#ad6c21297ac2d0010109e5b60ce9a83fc',1,'Sample_TempObstacles']]], + ['m_5fcacherawsize_1041',['m_cacheRawSize',['../classSample__TempObstacles.html#a9cc23b964ec5482ecba5334cc0802bce',1,'Sample_TempObstacles']]], + ['m_5fcellheight_1042',['m_cellHeight',['../classSample.html#a9e971309f2473d4c4f44226c049f8d9d',1,'Sample']]], + ['m_5fcellsize_1043',['m_cellSize',['../classSample.html#a0ac2919f168dbe909f642515d78b7c8d',1,'Sample']]], + ['m_5fcenter_1044',['m_center',['../classSample__Debug.html#aac3de91166d443892f1f95748bcc0c01',1,'Sample_Debug']]], + ['m_5fcfg_1045',['m_cfg',['../classSample__SoloMesh.html#a383b397074ebd6e8781928019a4b2e06',1,'Sample_SoloMesh::m_cfg()'],['../classSample__TileMesh.html#ab0c78dc40c79a650b8b7ae611fefdbfd',1,'Sample_TileMesh::m_cfg()']]], + ['m_5fchf_1046',['m_chf',['../classSample__Debug.html#a84862166a412cf8260af236d0b158c26',1,'Sample_Debug::m_chf()'],['../classSample__SoloMesh.html#a9d9606cdf612dd091df930a603f5e24c',1,'Sample_SoloMesh::m_chf()'],['../classSample__TileMesh.html#a842be8ee16528adbd212967dc0f229f8',1,'Sample_TileMesh::m_chf()']]], + ['m_5fcrowd_1047',['m_crowd',['../classSample.html#acdddfc70a599d7a6b7a9bb58517d9725',1,'Sample']]], + ['m_5fcset_1048',['m_cset',['../classSample__Debug.html#a9c3974e2ee3ac1694b8d0b83a0d54054',1,'Sample_Debug::m_cset()'],['../classSample__SoloMesh.html#aba18137adf1ed26a4a541a985a70d758',1,'Sample_SoloMesh::m_cset()'],['../classSample__TileMesh.html#aa5eafc3cc3f3c657a2ca92cbeff00889',1,'Sample_TileMesh::m_cset()']]], + ['m_5fctx_1049',['m_ctx',['../classSample.html#a275537ae765b914f89c7cd266895fec7',1,'Sample']]], + ['m_5fdd_1050',['m_dd',['../classSample.html#ab48458c3c48e771dc7a1fa295c9fd637',1,'Sample']]], + ['m_5fdetailsampledist_1051',['m_detailSampleDist',['../classSample.html#a98b63ce7047076ff8d6472eb13942e26',1,'Sample']]], + ['m_5fdetailsamplemaxerror_1052',['m_detailSampleMaxError',['../classSample.html#a9b179f82933a079bc9ea7f41aa79fa51',1,'Sample']]], + ['m_5fdmesh_1053',['m_dmesh',['../classSample__SoloMesh.html#a558ccf439fbd4ccf9efa9e3f2cf49c08',1,'Sample_SoloMesh::m_dmesh()'],['../classSample__TileMesh.html#a82d9efd99831784fbf099996778cfeab',1,'Sample_TileMesh::m_dmesh()']]], + ['m_5fdrawmode_1054',['m_drawMode',['../classSample__SoloMesh.html#a32d99e347eb1580cd1b018393af1020a',1,'Sample_SoloMesh::m_drawMode()'],['../classSample__TempObstacles.html#a3522643a8813172c084cfac471965b04',1,'Sample_TempObstacles::m_drawMode()'],['../classSample__TileMesh.html#adc0bb43d0176b9fafb1f292af15dfe25',1,'Sample_TileMesh::m_drawMode()']]], + ['m_5fedgemaxerror_1055',['m_edgeMaxError',['../classSample.html#a9d9a456fbc01f802884f15d87aadeea6',1,'Sample']]], + ['m_5fedgemaxlen_1056',['m_edgeMaxLen',['../classSample.html#a66229e8206de01d22c240bd8420442e1',1,'Sample']]], + ['m_5fexpanddebugdraw_1057',['m_expandDebugDraw',['../structCrowdToolParams.html#a50149e1b215b9c9eba1059aa15f11e1e',1,'CrowdToolParams']]], + ['m_5fexpandoptions_1058',['m_expandOptions',['../structCrowdToolParams.html#a30d772dbf4f575001ff63f91bfef609c',1,'CrowdToolParams']]], + ['m_5fexpandselecteddebugdraw_1059',['m_expandSelectedDebugDraw',['../structCrowdToolParams.html#a3a1ad9f7a37befaa4d6300ecde1748e5',1,'CrowdToolParams']]], + ['m_5ffilterledgespans_1060',['m_filterLedgeSpans',['../classSample.html#a5aba3df7565098bb9e6e327389abb462',1,'Sample']]], + ['m_5ffilterlowhangingobstacles_1061',['m_filterLowHangingObstacles',['../classSample.html#a5efb5799ef7f20d164e54913f2e80259',1,'Sample']]], + ['m_5ffilterwalkablelowheightspans_1062',['m_filterWalkableLowHeightSpans',['../classSample.html#adc2be47bf6e03ac9fd4af8b9f364e6d6',1,'Sample']]], + ['m_5fgeom_1063',['m_geom',['../classSample.html#a53ee143e40e1472eddacf76bdd141c73',1,'Sample::m_geom()'],['../structMeshProcess.html#a65db060f220e6f5f94e0bc70d1cbd398',1,'MeshProcess::m_geom()']]], + ['m_5fhalfextents_1064',['m_halfExtents',['../classSample__Debug.html#a016ffb0b2f7b328988dc8ca45de70900',1,'Sample_Debug']]], + ['m_5fkeepinterresults_1065',['m_keepInterResults',['../classSample__SoloMesh.html#a6a30d74e05436f712c10a2013cb0bd14',1,'Sample_SoloMesh::m_keepInterResults()'],['../classSample__TempObstacles.html#a9167119c0eab0407261b705248ba6220',1,'Sample_TempObstacles::m_keepInterResults()'],['../classSample__TileMesh.html#a90e635880afd028ed2b9911335dbc926',1,'Sample_TileMesh::m_keepInterResults()']]], + ['m_5flastbuilttilebmax_1066',['m_lastBuiltTileBmax',['../classSample__TileMesh.html#ae5b9119252644fafe51a796fa212b3c0',1,'Sample_TileMesh']]], + ['m_5flastbuilttilebmin_1067',['m_lastBuiltTileBmin',['../classSample__TileMesh.html#a04546976f103034b0b3075d3f02f91e8',1,'Sample_TileMesh']]], + ['m_5flogenabled_1068',['m_logEnabled',['../classrcContext.html#af3690c070989bc399cd39e2da2b0fbad',1,'rcContext']]], + ['m_5fmaxpolyspertile_1069',['m_maxPolysPerTile',['../classSample__TempObstacles.html#a1c75490508baf130ec32ef2c60ea0dc6',1,'Sample_TempObstacles::m_maxPolysPerTile()'],['../classSample__TileMesh.html#a6534d009ee994c77b2a85cbeb4afa64e',1,'Sample_TileMesh::m_maxPolysPerTile()']]], + ['m_5fmaxtiles_1070',['m_maxTiles',['../classSample__TempObstacles.html#ad680dfdf8cee7a79ecf6e95a6f44acd3',1,'Sample_TempObstacles::m_maxTiles()'],['../classSample__TileMesh.html#adf10ce20646ee109bdfda289d2002469',1,'Sample_TileMesh::m_maxTiles()']]], + ['m_5fnavmesh_1071',['m_navMesh',['../classSample.html#a85e92e352c6aa0f8942736a3f2018884',1,'Sample']]], + ['m_5fnavmeshdrawflags_1072',['m_navMeshDrawFlags',['../classSample.html#a0fb2eac8be24dbb9f54ac8d37324b7b9',1,'Sample']]], + ['m_5fnavquery_1073',['m_navQuery',['../classSample.html#a26ee023759e26ed258ad35b1183edae0',1,'Sample']]], + ['m_5fobstacleavoidance_1074',['m_obstacleAvoidance',['../structCrowdToolParams.html#abd5dd62a05171d60b075e10d9290e7b3',1,'CrowdToolParams']]], + ['m_5fobstacleavoidancetype_1075',['m_obstacleAvoidanceType',['../structCrowdToolParams.html#a9627c513e79f26b6024c8d01843bc528',1,'CrowdToolParams']]], + ['m_5foptimizetopo_1076',['m_optimizeTopo',['../structCrowdToolParams.html#a40ea83734142dd59c92cb695631eee4a',1,'CrowdToolParams']]], + ['m_5foptimizevis_1077',['m_optimizeVis',['../structCrowdToolParams.html#a36e752b30016841720cafb2b3e0ac7ae',1,'CrowdToolParams']]], + ['m_5fpartitiontype_1078',['m_partitionType',['../classSample.html#a9888fa5781dee649df14a7be470a370c',1,'Sample']]], + ['m_5fpmesh_1079',['m_pmesh',['../classSample__Debug.html#ac4e043754c0612c7b650c95f0b62706e',1,'Sample_Debug::m_pmesh()'],['../classSample__SoloMesh.html#a12b020d2ae29630abe24090452d89d58',1,'Sample_SoloMesh::m_pmesh()'],['../classSample__TileMesh.html#a62f5a6f14e2ce186b89c8130db206feb',1,'Sample_TileMesh::m_pmesh()']]], + ['m_5fref_1080',['m_ref',['../classSample__Debug.html#a673bdcae37af994d3dcd004d3e4c7ffd',1,'Sample_Debug']]], + ['m_5fregionmergesize_1081',['m_regionMergeSize',['../classSample.html#a1f8a314cdaa47586271b8509dca7849f',1,'Sample']]], + ['m_5fregionminsize_1082',['m_regionMinSize',['../classSample.html#a648ad42edba19a7bb76bb7f17bd72335',1,'Sample']]], + ['m_5fseparation_1083',['m_separation',['../structCrowdToolParams.html#a8481d268ff04bf7e6b49458c911936cb',1,'CrowdToolParams']]], + ['m_5fseparationweight_1084',['m_separationWeight',['../structCrowdToolParams.html#a4f8f193a139b5f88d1665949c3fe7c9c',1,'CrowdToolParams']]], + ['m_5fshowcollisionsegments_1085',['m_showCollisionSegments',['../structCrowdToolParams.html#a099c9551972b676121b351f18c34c9e0',1,'CrowdToolParams']]], + ['m_5fshowcorners_1086',['m_showCorners',['../structCrowdToolParams.html#a85e1edfba62c2a2e5315ad05a0eaf0f9',1,'CrowdToolParams']]], + ['m_5fshowdetailall_1087',['m_showDetailAll',['../structCrowdToolParams.html#aa7340bfdeed7994d7899f8161744a3f6',1,'CrowdToolParams']]], + ['m_5fshowgrid_1088',['m_showGrid',['../structCrowdToolParams.html#a113cc0b0ee16ce253730d4a7d3c80672',1,'CrowdToolParams']]], + ['m_5fshowlabels_1089',['m_showLabels',['../structCrowdToolParams.html#ae078b3f35f3d5b2865139b3960708426',1,'CrowdToolParams']]], + ['m_5fshowneis_1090',['m_showNeis',['../structCrowdToolParams.html#aaf7a605017a4343c0536704cf0a4f1b0',1,'CrowdToolParams']]], + ['m_5fshownodes_1091',['m_showNodes',['../structCrowdToolParams.html#a4d8f49ea1fa301ad224405d12b9cd9a9',1,'CrowdToolParams']]], + ['m_5fshowopt_1092',['m_showOpt',['../structCrowdToolParams.html#abb28bf8b771767150348b0264c649991',1,'CrowdToolParams']]], + ['m_5fshowpath_1093',['m_showPath',['../structCrowdToolParams.html#a642a969b56ed560f2472eb4bd868416a',1,'CrowdToolParams']]], + ['m_5fshowperfgraph_1094',['m_showPerfGraph',['../structCrowdToolParams.html#a1dfe5185e48bbde739f0393227594b9c',1,'CrowdToolParams']]], + ['m_5fshowvo_1095',['m_showVO',['../structCrowdToolParams.html#a3e0009ffecf65e0b3aad0b7ad33f573b',1,'CrowdToolParams']]], + ['m_5fsolid_1096',['m_solid',['../classSample__SoloMesh.html#aee04a7d9dbc1c9e1f6c6084ac5503a93',1,'Sample_SoloMesh::m_solid()'],['../classSample__TileMesh.html#a3fe8dedfda40247593c879ca19e021cf',1,'Sample_TileMesh::m_solid()']]], + ['m_5ftalloc_1097',['m_talloc',['../classSample__TempObstacles.html#ac429ee71c83f05db18b62b07ee3331ed',1,'Sample_TempObstacles']]], + ['m_5ftcomp_1098',['m_tcomp',['../classSample__TempObstacles.html#a8a31948f10e5f7bac97cef471fb14af9',1,'Sample_TempObstacles']]], + ['m_5ftilebuildtime_1099',['m_tileBuildTime',['../classSample__TileMesh.html#acaea347f4caa829f5314634b0d77cf16',1,'Sample_TileMesh']]], + ['m_5ftilecache_1100',['m_tileCache',['../classSample__TempObstacles.html#ad15ecefaaefd5e4d60a67df5db97a0b3',1,'Sample_TempObstacles']]], + ['m_5ftilecol_1101',['m_tileCol',['../classSample__TileMesh.html#ab6439a65636c4a510cfb02b030fedfd9',1,'Sample_TileMesh']]], + ['m_5ftilememusage_1102',['m_tileMemUsage',['../classSample__TileMesh.html#a11f392f78f550bf5aa9772e0e00338fd',1,'Sample_TileMesh']]], + ['m_5ftilesize_1103',['m_tileSize',['../classSample__TempObstacles.html#a2fbc15ef10855409375630a151f62d77',1,'Sample_TempObstacles::m_tileSize()'],['../classSample__TileMesh.html#af505570e18ca82411122d5e975225b92',1,'Sample_TileMesh::m_tileSize()']]], + ['m_5ftiletricount_1104',['m_tileTriCount',['../classSample__TileMesh.html#ad779820f5b84624c5ee75c4a26738dfd',1,'Sample_TileMesh']]], + ['m_5ftimerenabled_1105',['m_timerEnabled',['../classrcContext.html#a851ba8cc41ee2185be82fe11e847c846',1,'rcContext']]], + ['m_5ftmproc_1106',['m_tmproc',['../classSample__TempObstacles.html#a3771c900fe0d20a3dc558b96dad7d13a',1,'Sample_TempObstacles']]], + ['m_5ftool_1107',['m_tool',['../classSample.html#a2b051749824672f59913671ec043dd59',1,'Sample']]], + ['m_5ftoolstates_1108',['m_toolStates',['../classSample.html#a824aa6303ba63c6c03b90aca89143ac7',1,'Sample']]], + ['m_5ftotalbuildtimems_1109',['m_totalBuildTimeMs',['../classSample__SoloMesh.html#ad018e09c3f700c7d9f7b4bec389b9643',1,'Sample_SoloMesh::m_totalBuildTimeMs()'],['../classSample__TileMesh.html#a102175de1771bd48ce7c9b87a187ee81',1,'Sample_TileMesh::m_totalBuildTimeMs()']]], + ['m_5ftriareas_1110',['m_triareas',['../classSample__SoloMesh.html#a53f7d384f99517ace66e6d4738d622e3',1,'Sample_SoloMesh::m_triareas()'],['../classSample__TileMesh.html#a6001cd8522fc9e9aaf837c757ef15faa',1,'Sample_TileMesh::m_triareas()']]], + ['m_5fvertsperpoly_1111',['m_vertsPerPoly',['../classSample.html#af57ce10362e08d94b16cc592734bd6ba',1,'Sample']]], + ['magic_1112',['magic',['../structdtMeshHeader.html#a3e7a9662d94d08b62ca84d44e150facc',1,'dtMeshHeader::magic()'],['../structdtTileState.html#ad1d40a5f3e34dcd3b0cd5e52a1929e15',1,'dtTileState::magic()'],['../structdtTileCacheLayerHeader.html#a8c7b27ed53bf0189ccc94c67d6820e2f',1,'dtTileCacheLayerHeader::magic()'],['../structNavMeshSetHeader.html#afaa6914946f66507c805e13877100822',1,'NavMeshSetHeader::magic()'],['../structTileCacheSetHeader.html#a11b814554f66b5ae6a20ff4bf5f9599e',1,'TileCacheSetHeader::magic()']]], + ['main_1113',['main',['../main_8cpp.html#a2c3f6775325c30275d11c6abee2db6a0',1,'main.cpp']]], + ['main_2ecpp_1114',['main.cpp',['../main_8cpp.html',1,'']]], + ['max_5fcommon_5fnodes_1115',['MAX_COMMON_NODES',['../DetourCrowd_8cpp.html#ac718951eb34b37a1c2f66ef6cc3f7ee6',1,'DetourCrowd.cpp']]], + ['max_5fconvexvol_5fpts_1116',['MAX_CONVEXVOL_PTS',['../InputGeom_8h.html#ab051ae2a0b2e4b23f39190bc9127098a',1,'InputGeom.h']]], + ['max_5fdrawmode_1117',['MAX_DRAWMODE',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66dac8ad3153e5f19cd59fecff1c383cdcb1',1,'Sample_SoloMesh::MAX_DRAWMODE()'],['../classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aa6b45d4a6889c8d9b98d386cfbcd3e7a3',1,'Sample_TempObstacles::MAX_DRAWMODE()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9eab552cab10902063700d7b86150b3ea64',1,'Sample_TileMesh::MAX_DRAWMODE()']]], + ['max_5fiters_5fper_5fupdate_1118',['MAX_ITERS_PER_UPDATE',['../DetourCrowd_8cpp.html#a6415beb0f334c026346ca21f1473d3ed',1,'DetourCrowd.cpp']]], + ['max_5flayers_1119',['MAX_LAYERS',['../Sample__TempObstacles_8cpp.html#a79bfaaec8df17228648fc51c7c302f72',1,'Sample_TempObstacles.cpp']]], + ['max_5fpathqueue_5fnodes_1120',['MAX_PATHQUEUE_NODES',['../DetourCrowd_8cpp.html#a6041e29fcccdcfc2f0b2b41d6f5df394',1,'DetourCrowd.cpp']]], + ['max_5frem_5fedges_1121',['MAX_REM_EDGES',['../DetourTileCacheBuilder_8cpp.html#a5131aaaa744669c5e9418ecffa6e64f5',1,'DetourTileCacheBuilder.cpp']]], + ['max_5ftools_1122',['MAX_TOOLS',['../Sample_8h.html#ae448bf9be534170ca5b5f8c97256125baf21d3b3c7a6296454122cffd465fcb25',1,'Sample.h']]], + ['max_5fverts_5fper_5fpoly_1123',['MAX_VERTS_PER_POLY',['../DetourTileCacheBuilder_8cpp.html#a765f17c1f40a919b5a17a9701a0c9f52',1,'DetourTileCacheBuilder.cpp']]], + ['maxacceleration_1124',['maxAcceleration',['../structdtCrowdAgentParams.html#a2d1b22f12d2faf77c052b1bae3a27ada',1,'dtCrowdAgentParams']]], + ['maxcompressedsize_1125',['maxCompressedSize',['../structFastLZCompressor.html#a8fb3236d4cb66a253fd98036536b51a4',1,'FastLZCompressor::maxCompressedSize()'],['../structdtTileCacheCompressor.html#aaa7fcfc5889a5f3fc5fbf689bbbc1494',1,'dtTileCacheCompressor::maxCompressedSize()']]], + ['maxdistance_1126',['maxDistance',['../structrcCompactHeightfield.html#a38921b347d72bdc07487d07e7608ffc7',1,'rcCompactHeightfield']]], + ['maxedgeerror_1127',['maxEdgeError',['../structrcPolyMesh.html#ab26e9ea24492a2c45b1a2d71ccdb091d',1,'rcPolyMesh']]], + ['maxedgelen_1128',['maxEdgeLen',['../structrcConfig.html#a2149036442bf38b9ec9615549aa48fd4',1,'rcConfig']]], + ['maxerror_1129',['maxError',['../structrcContourSet.html#af657b46878e8fff2dd731ee066e4e1b2',1,'rcContourSet']]], + ['maxlinkcount_1130',['maxLinkCount',['../structdtMeshHeader.html#ab9f95d40e21c8710f59e78ef89ce1cc0',1,'dtMeshHeader']]], + ['maxobstacles_1131',['maxObstacles',['../structdtTileCacheParams.html#a30fb34944589db46ad6262748d3f4c0c',1,'dtTileCacheParams']]], + ['maxpath_1132',['maxPath',['../structdtRaycastHit.html#a62b75cb350d9ace5e47887c7c1add9b3',1,'dtRaycastHit']]], + ['maxpolys_1133',['maxPolys',['../structdtNavMeshParams.html#a4f44babd04fff4f8300ecd15d4237375',1,'dtNavMeshParams']]], + ['maxpolys_1134',['maxpolys',['../structrcPolyMesh.html#afc6261e7cee3e3ff2a83b6ee8baf14a9',1,'rcPolyMesh']]], + ['maxregions_1135',['maxRegions',['../structrcCompactHeightfield.html#a6bfb7a2fdb06a64b03f0fffa885edd94',1,'rcCompactHeightfield']]], + ['maxsimplificationerror_1136',['maxSimplificationError',['../structrcConfig.html#a3421826332c0acfbbdfa34ee6c7183d1',1,'rcConfig::maxSimplificationError()'],['../structdtTileCacheParams.html#a426e4e8fbaea199ecc4714ba01aa8ef2',1,'dtTileCacheParams::maxSimplificationError()']]], + ['maxspeed_1137',['maxSpeed',['../structdtCrowdAgentParams.html#a2a023328c7266577eedeba25e480479f',1,'dtCrowdAgentParams']]], + ['maxtiles_1138',['maxTiles',['../structdtNavMeshParams.html#ad6027d623e81058f0d9b2a2adf803f00',1,'dtNavMeshParams::maxTiles()'],['../structdtTileCacheParams.html#a08e5fc995595846369e9dc040370b660',1,'dtTileCacheParams::maxTiles()']]], + ['maxtrisperchunk_1139',['maxTrisPerChunk',['../structrcChunkyTriMesh.html#a93638e22b53882b6bdc700b8c35ecd05',1,'rcChunkyTriMesh']]], + ['maxvertsperpoly_1140',['maxVertsPerPoly',['../structrcConfig.html#a055d0ed71c79c9af29424de5d0cf3d2d',1,'rcConfig']]], + ['maxx_1141',['maxx',['../structdtTileCacheLayerHeader.html#ab675bd252447bcae38a8356b627af383',1,'dtTileCacheLayerHeader::maxx()'],['../structrcHeightfieldLayer.html#ab0b3836202050d3a701d2e3cfba8d9ab',1,'rcHeightfieldLayer::maxx()']]], + ['maxy_1142',['maxy',['../structrcHeightfieldLayer.html#ad697fc4a8a65c2b1ef1f976097ee2b3f',1,'rcHeightfieldLayer::maxy()'],['../structdtTileCacheLayerHeader.html#afcbde7458c37c89801243b98a5aa4674',1,'dtTileCacheLayerHeader::maxy()']]], + ['mergeandfilterlayerregions_1143',['mergeAndFilterLayerRegions',['../RecastRegion_8cpp.html#a25912e8836b3489f54fecd65d850beff',1,'RecastRegion.cpp']]], + ['mergeandfilterregions_1144',['mergeAndFilterRegions',['../RecastRegion_8cpp.html#a5725fdd6c9d2c932db4686ba6d411dac',1,'RecastRegion.cpp']]], + ['mergecontours_1145',['mergeContours',['../RecastContour_8cpp.html#a1b37a039e4a04535bcddcb219ca7945b',1,'RecastContour.cpp']]], + ['mergepolys_1146',['mergePolys',['../DetourTileCacheBuilder_8cpp.html#acec62cadc066beebd0bcf5623c79f0e0',1,'DetourTileCacheBuilder.cpp']]], + ['mergepolyverts_1147',['mergePolyVerts',['../RecastMesh_8cpp.html#ab16a0c6bfd0ae903d4c02eabd16fd5af',1,'RecastMesh.cpp']]], + ['mergeregionarea_1148',['mergeRegionArea',['../structrcConfig.html#ac2385e0a316304cd7b1c563cf9f7dd59',1,'rcConfig']]], + ['mergeregionholes_1149',['mergeRegionHoles',['../RecastContour_8cpp.html#a7321f3f5954d621c5255819fe4f73004',1,'RecastContour.cpp']]], + ['mergeregions_1150',['mergeRegions',['../RecastRegion_8cpp.html#aa6ad7bc5d6c9f39726a4574813bce7ec',1,'RecastRegion.cpp']]], + ['mesh_5fnull_5fidx_1151',['MESH_NULL_IDX',['../DetourNavMeshBuilder_8cpp.html#af3008e30fc489f2443bd25ae528c01e4',1,'DetourNavMeshBuilder.cpp']]], + ['meshes_1152',['meshes',['../structrcPolyMeshDetail.html#a39a0a4bdfaf81025dfd5c6efc17a9f02',1,'rcPolyMeshDetail']]], + ['meshloaderobj_2ecpp_1153',['MeshLoaderObj.cpp',['../MeshLoaderObj_8cpp.html',1,'']]], + ['meshloaderobj_2eh_1154',['MeshLoaderObj.h',['../MeshLoaderObj_8h.html',1,'']]], + ['meshparams_1155',['meshParams',['../structTileCacheSetHeader.html#ab16db6d86e12cbee7fde6e48efe92232',1,'TileCacheSetHeader']]], + ['meshprocess_1156',['MeshProcess',['../structMeshProcess.html#ae8565ad12db3ae60dd9b72a851b7afc8',1,'MeshProcess::MeshProcess()'],['../structMeshProcess.html',1,'MeshProcess']]], + ['minregionarea_1157',['minRegionArea',['../structrcConfig.html#af91c92dd5bb5ebf51a85b194917062ec',1,'rcConfig']]], + ['minx_1158',['minx',['../structrcContourHole.html#ab83982af11e1649becfdf57766fe45ee',1,'rcContourHole::minx()'],['../structrcHeightfieldLayer.html#adcd87e9ea184d277f36eea61314f6f4a',1,'rcHeightfieldLayer::minx()'],['../structdtTileCacheLayerHeader.html#ac536f24cbc32f35d0a42bd23f6ac1a56',1,'dtTileCacheLayerHeader::minx()']]], + ['miny_1159',['miny',['../structrcHeightfieldLayer.html#af5df0f6946f89193ca1c3e5c6f9ab49b',1,'rcHeightfieldLayer::miny()'],['../structdtTileCacheLayerHeader.html#a4e0f98a4b6cba8baf300311feb2700e2',1,'dtTileCacheLayerHeader::miny()']]], + ['minz_1160',['minz',['../structrcContourHole.html#a6638d0ce2b7972c1a6e795a99fea5504',1,'rcContourHole']]], + ['modify_1161',['modify',['../classdtNodeQueue.html#a8be783bde0911bdf92503a2e111f2a1a',1,'dtNodeQueue']]], + ['movealongsurface_1162',['moveAlongSurface',['../classdtNavMeshQuery.html#a95f6d7c92a75c7773ababeb144206968',1,'dtNavMeshQuery']]], + ['moveoveroffmeshconnection_1163',['moveOverOffmeshConnection',['../classdtPathCorridor.html#ae44344d2404b1d06f74c15f6748ad48d',1,'dtPathCorridor']]], + ['moveposition_1164',['movePosition',['../classdtPathCorridor.html#a320a804c422fdb9b58f677b9b42ebf22',1,'dtPathCorridor']]], + ['moverequeststate_1165',['MoveRequestState',['../DetourCrowd_8h.html#aad3d0709fbef530774fb64258d384b45',1,'DetourCrowd.h']]], + ['movetargetposition_1166',['moveTargetPosition',['../classdtPathCorridor.html#a66f8097a4f49c077b6c6da5c727c6877',1,'dtPathCorridor']]], + ['mx_1167',['mx',['../structGuiState.html#a500386b3162aeaaa091381e71e65b872',1,'GuiState']]], + ['my_1168',['my',['../structGuiState.html#aaae100f98cc2247cdd4c9f56e760a55e',1,'GuiState']]] +]; diff --git a/search/all_b.html b/search/all_b.html new file mode 100644 index 00000000..130deb4e --- /dev/null +++ b/search/all_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_b.js b/search/all_b.js new file mode 100644 index 00000000..96313044 --- /dev/null +++ b/search/all_b.js @@ -0,0 +1,52 @@ +var searchData= +[ + ['n_1169',['n',['../structrcChunkyTriMeshNode.html#a21461e9717fa41aede9a197e82c2fab8',1,'rcChunkyTriMeshNode']]], + ['name_1170',['name',['../structSampleItem.html#af696aa049ca06a8a27e9d9ed4e55c0df',1,'SampleItem']]], + ['navmeshbmax_1171',['navMeshBMax',['../structBuildSettings.html#aa4bd791b8e27043a8f341274fa656edd',1,'BuildSettings']]], + ['navmeshbmin_1172',['navMeshBMin',['../structBuildSettings.html#a0edd34a0d76575e5208aa491b449f62e',1,'BuildSettings']]], + ['navmeshflags_1173',['NavmeshFlags',['../classNavmeshFlags.html',1,'NavmeshFlags'],['../classNavmeshFlags.html#a060c944fac648d5085ad1934671a2932',1,'NavmeshFlags::NavmeshFlags()']]], + ['navmeshprunetool_1174',['NavMeshPruneTool',['../classNavMeshPruneTool.html',1,'NavMeshPruneTool'],['../classNavMeshPruneTool.html#a304902339a20adafa5e57ed648c884ed',1,'NavMeshPruneTool::NavMeshPruneTool()']]], + ['navmeshprunetool_2ecpp_1175',['NavMeshPruneTool.cpp',['../NavMeshPruneTool_8cpp.html',1,'']]], + ['navmeshprunetool_2eh_1176',['NavMeshPruneTool.h',['../NavMeshPruneTool_8h.html',1,'']]], + ['navmeshset_5fmagic_1177',['NAVMESHSET_MAGIC',['../Sample_8cpp.html#a4df6b7baccb2e22c35e50eec65a51a76',1,'Sample.cpp']]], + ['navmeshset_5fversion_1178',['NAVMESHSET_VERSION',['../Sample_8cpp.html#a4f9236737e82de35f8d48f6bc55c704a',1,'Sample.cpp']]], + ['navmeshsetheader_1179',['NavMeshSetHeader',['../structNavMeshSetHeader.html',1,'']]], + ['navmeshtestertool_1180',['NavMeshTesterTool',['../classNavMeshTesterTool.html#afa92228fae1154929e4819bb9119062d',1,'NavMeshTesterTool::NavMeshTesterTool()'],['../classNavMeshTesterTool.html',1,'NavMeshTesterTool']]], + ['navmeshtestertool_2ecpp_1181',['NavMeshTesterTool.cpp',['../NavMeshTesterTool_8cpp.html',1,'']]], + ['navmeshtestertool_2eh_1182',['NavMeshTesterTool.h',['../NavMeshTesterTool_8h.html',1,'']]], + ['navmeshtilebuildcontext_1183',['NavMeshTileBuildContext',['../structNavMeshTileBuildContext.html',1,'NavMeshTileBuildContext'],['../structNavMeshTileBuildContext.html#a704f1e66aa26ec967683eb097415cadd',1,'NavMeshTileBuildContext::NavMeshTileBuildContext()']]], + ['navmeshtileheader_1184',['NavMeshTileHeader',['../structNavMeshTileHeader.html',1,'']]], + ['navmeshtiletool_1185',['NavMeshTileTool',['../classNavMeshTileTool.html#abe63ee741ff92fdf708f098f03e45967',1,'NavMeshTileTool::NavMeshTileTool()'],['../classNavMeshTileTool.html',1,'NavMeshTileTool']]], + ['nconts_1186',['nconts',['../structdtTileCacheContourSet.html#a337ee629794b3eb22f605f531990456e',1,'dtTileCacheContourSet::nconts()'],['../structrcContourSet.html#aa751e5adb077b2ea7a9c8795e7a2fa99',1,'rcContourSet::nconts()']]], + ['ncorners_1187',['ncorners',['../structdtCrowdAgent.html#a74e6935a70f5a787f9e06481d9c2905b',1,'dtCrowdAgent']]], + ['ndiv_1188',['ndiv',['../structGraphParams.html#aaeedd456935f5b7bf3090cbfb0afbbbc',1,'GraphParams']]], + ['nearestpoint_1189',['nearestPoint',['../classdtFindNearestPolyQuery.html#ad6d790e28c61d28b5ebdcd79373e834c',1,'dtFindNearestPolyQuery']]], + ['nearestref_1190',['nearestRef',['../classdtFindNearestPolyQuery.html#a72c70bc181bdd635a23e0d2b6df724cb',1,'dtFindNearestPolyQuery']]], + ['nei_1191',['nei',['../structdtLayerSweepSpan.html#abbd4307e791bd3ff4bd19bf13990c694',1,'dtLayerSweepSpan::nei()'],['../structrcLayerSweepSpan.html#ae002a2c1f59bcd05df6661734ba7e466',1,'rcLayerSweepSpan::nei()'],['../structrcSweepSpan.html#a4d7da0d9409cf1124f8fed63783da60e',1,'rcSweepSpan::nei()']]], + ['neis_1192',['neis',['../structdtCrowdAgent.html#a924fad92f7bfcf396a3340d0e518bedf',1,'dtCrowdAgent::neis()'],['../structdtPoly.html#ac4f5aa32df32aa5b1385f76f697376af',1,'dtPoly::neis()'],['../structrcLayerRegion.html#a4ecba0bd9f4f46d3c349f96670c7ba05',1,'rcLayerRegion::neis()'],['../structdtLayerMonotoneRegion.html#ab9c62662a8577f672e3d8b204911811c',1,'dtLayerMonotoneRegion::neis()']]], + ['next_1193',['next',['../structdtLink.html#a475b893f03bf4c942ab6376d83dca82e',1,'dtLink::next()'],['../structdtMeshTile.html#a3c02fb96379627a32e596035f5ad9231',1,'dtMeshTile::next()'],['../structdtCompressedTile.html#a092b83bd1a640dbdcbbd34699bc2c1bd',1,'dtCompressedTile::next()'],['../structdtTileCacheObstacle.html#aa2366814cc7ea879699236e70fb3faed',1,'dtTileCacheObstacle::next()'],['../structrcSpan.html#a3b1dbeacc04852fe7330dcd0f5745424',1,'rcSpan::next()'],['../structrcSpanPool.html#aaa72cbbf0abb73bfaa8fefc55ef37f2f',1,'rcSpanPool::next()'],['../RecastMeshDetail_8cpp.html#af019d68006e1f2d7b24c8f09051424cc',1,'next(int i, int n): RecastMeshDetail.cpp'],['../RecastMesh_8cpp.html#af019d68006e1f2d7b24c8f09051424cc',1,'next(int i, int n): RecastMesh.cpp'],['../RecastContour_8cpp.html#af019d68006e1f2d7b24c8f09051424cc',1,'next(int i, int n): RecastContour.cpp'],['../DetourTileCacheBuilder_8cpp.html#af019d68006e1f2d7b24c8f09051424cc',1,'next(int i, int n): DetourTileCacheBuilder.cpp']]], + ['nextpow2_1194',['nextPow2',['../Sample__TileMesh_8cpp.html#a34ed4a57db9ff4dce4be2b8282c5f51a',1,'Sample_TileMesh.cpp']]], + ['nholes_1195',['nholes',['../structrcContourRegion.html#a868d233f83da1275952c46874d808114',1,'rcContourRegion']]], + ['nlayers_1196',['nlayers',['../structrcLayerRegion.html#a6c0f115441207bdf6eb739a000229bb2',1,'rcLayerRegion::nlayers()'],['../structrcHeightfieldLayerSet.html#aee43327ad152d5dea25ed5299f38101a',1,'rcHeightfieldLayerSet::nlayers()']]], + ['nmeshes_1197',['nmeshes',['../structrcPolyMeshDetail.html#afbe7e21cf0f9dca429c6762f457f61b6',1,'rcPolyMeshDetail']]], + ['nneis_1198',['nneis',['../structdtCrowdAgent.html#a250ba2f5d9ebd40b88ad770aced4aeab',1,'dtCrowdAgent::nneis()'],['../structdtLayerMonotoneRegion.html#a60988af0dcb5582f1017506fc01d19c6',1,'dtLayerMonotoneRegion::nneis()'],['../structrcLayerRegion.html#ac8dbef0b5cc388f6fb6492a7a4192c61',1,'rcLayerRegion::nneis()']]], + ['nnodes_1199',['nnodes',['../structrcChunkyTriMesh.html#aaf4b64877b4d7e95d037e5c8e7480420',1,'rcChunkyTriMesh']]], + ['nodes_1200',['nodes',['../structrcChunkyTriMesh.html#a9d0871acc93ee37e657ab5a39507849b',1,'rcChunkyTriMesh']]], + ['normalizearray_1201',['normalizeArray',['../DetourObstacleAvoidance_8cpp.html#ad5691e317bdbe68d51526215952a2227',1,'DetourObstacleAvoidance.cpp']]], + ['normalizesamples_1202',['normalizeSamples',['../classdtObstacleAvoidanceDebugData.html#aae878af7168a5683cf05cd6f3f9b4cfe',1,'dtObstacleAvoidanceDebugData']]], + ['np_1203',['np',['../structdtObstacleCircle.html#a04d72360e079c808469b6650fa4e3566',1,'dtObstacleCircle']]], + ['npending_1204',['npending',['../structdtTileCacheObstacle.html#a49a8cbfab1e19c6d5aa378f1a33f02ec',1,'dtTileCacheObstacle']]], + ['npoly_1205',['npoly',['../structdtTempContour.html#a6dd3c29881b08d88182c1a6117132879',1,'dtTempContour']]], + ['npolys_1206',['npolys',['../structdtTileCachePolyMesh.html#a19b929513482da73c5abf7aba98b46e8',1,'dtTileCachePolyMesh::npolys()'],['../structrcPolyMesh.html#abd3e50c1eb0aba7157aa3e2902ae019e',1,'rcPolyMesh::npolys()']]], + ['npos_1207',['npos',['../structdtCrowdAgent.html#ab23be37267f7f72bf6f4e2e455a8bb6c',1,'dtCrowdAgent']]], + ['nrverts_1208',['nrverts',['../structrcContour.html#a0cceba5f2070c42ac2a871189d4ceb53',1,'rcContour']]], + ['ns_1209',['ns',['../structdtLayerSweepSpan.html#a20068e1afedf77184348891cc3f863ed',1,'dtLayerSweepSpan::ns()'],['../structrcLayerSweepSpan.html#a7106ea090c417b32ef87c78a3940b997',1,'rcLayerSweepSpan::ns()'],['../structrcSweepSpan.html#afa7aea20a3d345b6663799f60d846737',1,'rcSweepSpan::ns()']]], + ['ntiles_1210',['ntiles',['../structRasterizationContext.html#a9237ebd7e26d392f54464d540317efcf',1,'RasterizationContext']]], + ['ntouched_1211',['ntouched',['../structdtTileCacheObstacle.html#a10ae8b8922bd1cad14693de0c69c27c3',1,'dtTileCacheObstacle']]], + ['ntris_1212',['ntris',['../structrcPolyMeshDetail.html#a80041af5ae32e618d4980cd81a08c9e3',1,'rcPolyMeshDetail::ntris()'],['../structrcChunkyTriMesh.html#a72fed74ea56cac960cd9eb282e312d87',1,'rcChunkyTriMesh::ntris()']]], + ['numcollected_1213',['numCollected',['../classdtCollectPolysQuery.html#af9a58ba3aff58aa0910d9446dcf8cb3b',1,'dtCollectPolysQuery']]], + ['numtiles_1214',['numTiles',['../structTileCacheSetHeader.html#a1e3660dad6ea670bb0f222c9d02cebb3',1,'TileCacheSetHeader::numTiles()'],['../structNavMeshSetHeader.html#a2efebea0358363f254fcf52aee6aeec4',1,'NavMeshSetHeader::numTiles()']]], + ['nvel_1215',['nvel',['../structdtCrowdAgent.html#aa0df33b4ae01bffe26adc2ea530cc49e',1,'dtCrowdAgent']]], + ['nverts_1216',['nverts',['../structrcContour.html#afcf77c01352f2c46172fdfabd2f9b9f6',1,'rcContour::nverts()'],['../structrcPolyMesh.html#ac9c762a21343c45649638e02332e53eb',1,'rcPolyMesh::nverts()'],['../structrcPolyMeshDetail.html#a5424a45b24c43d49d93d89e89f11b59f',1,'rcPolyMeshDetail::nverts()'],['../structConvexVolume.html#aa95664f1b0d264a0f6a5261f9bb0737a',1,'ConvexVolume::nverts()'],['../structdtTempContour.html#ab01c00d6a0d27fa0fb88743030e7a303',1,'dtTempContour::nverts()'],['../structdtTileCachePolyMesh.html#a369808f1d748df877916ad7d66ea38a1',1,'dtTileCachePolyMesh::nverts()'],['../structdtTileCacheContour.html#a2bb153bf7d141e4ab209a27eeceff55f',1,'dtTileCacheContour::nverts()']]], + ['nvp_1217',['nvp',['../structdtNavMeshCreateParams.html#aa0cacf292dd206fe7da335461c3af65c',1,'dtNavMeshCreateParams::nvp()'],['../structdtTileCachePolyMesh.html#adc3ecbab9e04c96d87b1ad4fbad439aa',1,'dtTileCachePolyMesh::nvp()'],['../structrcPolyMesh.html#ab0c55272b556ffc9db9e643b463cb66a',1,'rcPolyMesh::nvp()']]] +]; diff --git a/search/all_c.html b/search/all_c.html new file mode 100644 index 00000000..3dd5af06 --- /dev/null +++ b/search/all_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_c.js b/search/all_c.js new file mode 100644 index 00000000..5edb6779 --- /dev/null +++ b/search/all_c.js @@ -0,0 +1,41 @@ +var searchData= +[ + ['obstacleavoidancetype_1218',['obstacleAvoidanceType',['../structdtCrowdAgentParams.html#ae8be062f1d9616d17d8b536f7a501498',1,'dtCrowdAgentParams']]], + ['obstaclestate_1219',['ObstacleState',['../DetourTileCache_8h.html#aa7ed646a7dd7b710737b2f9519ba6be0',1,'DetourTileCache.h']]], + ['obstacletype_1220',['ObstacleType',['../DetourTileCache_8h.html#a9852a22595ceae4debd70f078e037971',1,'DetourTileCache.h']]], + ['offmeshbase_1221',['offMeshBase',['../structdtMeshHeader.html#ac8f24275024a40076976e024677dc54d',1,'dtMeshHeader']]], + ['offmeshconareas_1222',['offMeshConAreas',['../structdtNavMeshCreateParams.html#a3a3aa99e495e64204ebeb1b1cd831259',1,'dtNavMeshCreateParams']]], + ['offmeshconcount_1223',['offMeshConCount',['../structdtMeshHeader.html#af48a70c7ce5f5fd586eb8e66dfe8ea36',1,'dtMeshHeader::offMeshConCount()'],['../structdtNavMeshCreateParams.html#adf244929dceba81df29f80f8869097c0',1,'dtNavMeshCreateParams::offMeshConCount()']]], + ['offmeshcondir_1224',['offMeshConDir',['../structdtNavMeshCreateParams.html#a4e497665c7f79fb93211503ebc8069be',1,'dtNavMeshCreateParams']]], + ['offmeshconflags_1225',['offMeshConFlags',['../structdtNavMeshCreateParams.html#ab1339cb28aa32fd7fe2410322cbd187b',1,'dtNavMeshCreateParams']]], + ['offmeshconnectiontool_1226',['OffMeshConnectionTool',['../classOffMeshConnectionTool.html',1,'OffMeshConnectionTool'],['../classOffMeshConnectionTool.html#af274e3bc78ccbd95ddd0ba6831c8e600',1,'OffMeshConnectionTool::OffMeshConnectionTool()']]], + ['offmeshconnectiontool_2ecpp_1227',['OffMeshConnectionTool.cpp',['../OffMeshConnectionTool_8cpp.html',1,'']]], + ['offmeshconnectiontool_2eh_1228',['OffMeshConnectionTool.h',['../OffMeshConnectionTool_8h.html',1,'']]], + ['offmeshconrad_1229',['offMeshConRad',['../structdtNavMeshCreateParams.html#a42c0de18949baa70762b83f6aaff0bf8',1,'dtNavMeshCreateParams']]], + ['offmeshcons_1230',['offMeshCons',['../structdtMeshTile.html#aaab8cd6559e004f4e39e297ffdd1c5f9',1,'dtMeshTile']]], + ['offmeshconuserid_1231',['offMeshConUserID',['../structdtNavMeshCreateParams.html#a5d4b0e452b998375f06cd6a3103ea042',1,'dtNavMeshCreateParams']]], + ['offmeshconverts_1232',['offMeshConVerts',['../structdtNavMeshCreateParams.html#a9b075503ee6bfbb71e1b206b249e260d',1,'dtNavMeshCreateParams']]], + ['openforread_1233',['openForRead',['../classFileIO.html#a3a96ca80a7c66c14883007e88679e87e',1,'FileIO']]], + ['openforwrite_1234',['openForWrite',['../classFileIO.html#ae7fcae34c0941ffe183fbe1cdc180f22',1,'FileIO']]], + ['operator_20delete_1235',['operator delete',['../RecastAlloc_8h.html#a269d86e8a81c47659dfad4ab2a1e94ab',1,'RecastAlloc.h']]], + ['operator_20new_1236',['operator new',['../RecastAlloc_8h.html#a7c17881830a1d6f4bac23a489972e2db',1,'RecastAlloc.h']]], + ['operator_20t_2a_1237',['operator T*',['../classdtFixedArray.html#a787d42a579a87d3fe763717576d9dac0',1,'dtFixedArray::operator T*()'],['../classrcScopedDelete.html#a842c6cc65c3811faead9717aa53166dd',1,'rcScopedDelete::operator T*()']]], + ['operator_3d_1238',['operator=',['../classrcVectorBase.html#afcedee5f686452a024a3e9c3ebc722fa',1,'rcVectorBase']]], + ['operator_5b_5d_1239',['operator[]',['../classrcIntArray.html#ac4b2d9f20fe072c3ef856afc861d2230',1,'rcIntArray::operator[]()'],['../classrcVectorBase.html#aa4a57ac99a0e715821f3eb7457b09b03',1,'rcVectorBase::operator[](rcSizeType i) const'],['../classrcVectorBase.html#a72c19a4fc62d73e361d116d069587259',1,'rcVectorBase::operator[](rcSizeType i)'],['../classrcIntArray.html#a314323a7840cf986062fd3c354c2a3c9',1,'rcIntArray::operator[]()']]], + ['optend_1240',['optEnd',['../structdtCrowdAgentDebugInfo.html#a2c3da33772d29888a52162695eaf37f8',1,'dtCrowdAgentDebugInfo']]], + ['optimizepathtopology_1241',['optimizePathTopology',['../classdtPathCorridor.html#a69288d28ab5d23b2c2654e45c5a33c25',1,'dtPathCorridor']]], + ['optimizepathvisibility_1242',['optimizePathVisibility',['../classdtPathCorridor.html#a3970b6cd229731debe6beb41d9885463',1,'dtPathCorridor']]], + ['optstart_1243',['optStart',['../structdtCrowdAgentDebugInfo.html#a83c0af535de2def34dbfe42e30b33fed',1,'dtCrowdAgentDebugInfo']]], + ['orientedbox_1244',['orientedBox',['../structdtTileCacheObstacle.html#ac644e6dc7525b0157f10f3dc6abd1416',1,'dtTileCacheObstacle']]], + ['orig_1245',['orig',['../structdtTileCacheParams.html#af9020a1528db6a1ac4e21d54c951e0e5',1,'dtTileCacheParams::orig()'],['../structdtNavMeshParams.html#a188d95f6d6dbd714b952578d71e3e115',1,'dtNavMeshParams::orig()']]], + ['outline_1246',['outline',['../structrcContourRegion.html#abe0095d55beae3075672c9584211662c',1,'rcContourRegion']]], + ['overflowed_1247',['overflowed',['../classdtCollectPolysQuery.html#a5ebb596db273cdcc454c6ae6f981bf3a',1,'dtCollectPolysQuery']]], + ['overlap_1248',['overlap',['../structrcRegion.html#a74e8d6e0e6bd376822dfa732aa7106b3',1,'rcRegion']]], + ['overlapbounds_1249',['overlapBounds',['../RecastRasterization_8cpp.html#ad16e8ad5fc4ebec8d71d58217215ff60',1,'RecastRasterization.cpp']]], + ['overlapedges_1250',['overlapEdges',['../RecastMeshDetail_8cpp.html#a337ede595b48252890c745e99d559373',1,'RecastMeshDetail.cpp']]], + ['overlaprange_1251',['overlapRange',['../DetourCommon_8cpp.html#ab355890a2df99a19209f9bf12086fcb4',1,'overlapRange(const float amin, const float amax, const float bmin, const float bmax, const float eps): DetourCommon.cpp'],['../RecastLayers_8cpp.html#a9df3149dc43b5528b0003e20ccb931e3',1,'overlapRange(const unsigned short amin, const unsigned short amax, const unsigned short bmin, const unsigned short bmax): RecastLayers.cpp']]], + ['overlaprangeexl_1252',['overlapRangeExl',['../DetourTileCacheBuilder_8cpp.html#a6e9bacbb0b63ae2d5f516d75670e15c6',1,'DetourTileCacheBuilder.cpp']]], + ['overlapsegseg2d_1253',['overlapSegSeg2d',['../RecastMeshDetail_8cpp.html#a127f1eddaf7db32655955561199a064f',1,'RecastMeshDetail.cpp']]], + ['overlapslabs_1254',['overlapSlabs',['../DetourNavMesh_8cpp.html#acc02f71919750fff6272687cd0879e2a',1,'DetourNavMesh.cpp']]], + ['overoffmeshconnection_1255',['overOffmeshConnection',['../DetourCrowd_8cpp.html#a72ec7fe4c35ce817869a41b2319f0618',1,'DetourCrowd.cpp']]] +]; diff --git a/search/all_d.html b/search/all_d.html new file mode 100644 index 00000000..af7f2f0f --- /dev/null +++ b/search/all_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_d.js b/search/all_d.js new file mode 100644 index 00000000..6f8ac2e3 --- /dev/null +++ b/search/all_d.js @@ -0,0 +1,43 @@ +var searchData= +[ + ['p_1256',['p',['../structdtObstacleCircle.html#a28678b711bbd24d62df014d53b091c68',1,'dtObstacleCircle::p()'],['../structdtObstacleSegment.html#aac975238e1614b0652643f973f32dc78',1,'dtObstacleSegment::p()']]], + ['pad_1257',['pad',['../structimguiGfxCmd.html#ae68d40f922fd4dda9f7e41d69db143c0',1,'imguiGfxCmd::pad()'],['../structGraphParams.html#a884cdd1fb7c9f58c88dc5d061d7b7e4b',1,'GraphParams::pad()']]], + ['paintrectregion_1258',['paintRectRegion',['../RecastRegion_8cpp.html#abc80f3a23c09dd8f6570fa5b3d30792a',1,'RecastRegion.cpp']]], + ['params_1259',['params',['../structdtCrowdAgent.html#acd1b22112639114ce05c793d178eb4b5',1,'dtCrowdAgent::params()'],['../structNavMeshSetHeader.html#a09e6f8cc597d5a96b13f2e429874d24e',1,'NavMeshSetHeader::params()']]], + ['parseface_1260',['parseFace',['../MeshLoaderObj_8cpp.html#a2c2c592a29fbae9b5bded3d2cf1bede7',1,'MeshLoaderObj.cpp']]], + ['parserow_1261',['parseRow',['../TestCase_8cpp.html#a0cb6eddb96ab199afcf6b4d75350741e',1,'parseRow(char *buf, char *bufEnd, char *row, int len): TestCase.cpp'],['../MeshLoaderObj_8cpp.html#a0cb6eddb96ab199afcf6b4d75350741e',1,'parseRow(char *buf, char *bufEnd, char *row, int len): MeshLoaderObj.cpp'],['../InputGeom_8cpp.html#a0cb6eddb96ab199afcf6b4d75350741e',1,'parseRow(char *buf, char *bufEnd, char *row, int len): InputGeom.cpp']]], + ['partial_1262',['partial',['../structdtCrowdAgent.html#aeb06d7c34ab74696ebb125b0c409043d',1,'dtCrowdAgent']]], + ['partitiontype_1263',['partitionType',['../structBuildSettings.html#a1c247eac02103152762034a47530086b',1,'BuildSettings']]], + ['passfilter_1264',['passFilter',['../classdtQueryFilter.html#aaf072b8617dfbd4701a8e07f0f10be9c',1,'dtQueryFilter']]], + ['path_1265',['path',['../structdtRaycastHit.html#afaec74eedaf7e62a4fcc9b2bc2ce7006',1,'dtRaycastHit']]], + ['pathcost_1266',['pathCost',['../structdtRaycastHit.html#aa545333016e4844923a022263ab6a5fa',1,'dtRaycastHit']]], + ['pathcount_1267',['pathCount',['../structdtRaycastHit.html#ae1b9b3893e653ce5a1ecf8d8415f5a93',1,'dtRaycastHit']]], + ['pathoptimizationrange_1268',['pathOptimizationRange',['../structdtCrowdAgentParams.html#ab390e7ccafffda667a1132917ad91b93',1,'dtCrowdAgentParams']]], + ['pending_1269',['pending',['../structdtTileCacheObstacle.html#afb12e99f5680d18d4d61b8ad40c4a654',1,'dtTileCacheObstacle']]], + ['perftimer_2ecpp_1270',['PerfTimer.cpp',['../PerfTimer_8cpp.html',1,'']]], + ['perftimer_2eh_1271',['PerfTimer.h',['../PerfTimer_8h.html',1,'']]], + ['pi_1272',['PI',['../imguiRenderGL_8cpp.html#aa08a577393243b86dfd2a97e61443673',1,'imguiRenderGL.cpp']]], + ['pidx_1273',['pidx',['../structdtNode.html#af9b33590451ca71942c251e140724d49',1,'dtNode']]], + ['pointinpoly_1274',['pointInPoly',['../RecastArea_8cpp.html#aec57aa531152be79fa4a68bd4b2782f0',1,'pointInPoly(int nvert, const float *verts, const float *p): RecastArea.cpp'],['../ConvexVolumeTool_8cpp.html#aec57aa531152be79fa4a68bd4b2782f0',1,'pointInPoly(int nvert, const float *verts, const float *p): ConvexVolumeTool.cpp']]], + ['poly_1275',['poly',['../structdtOffMeshConnection.html#a4b6b7097d8fd55a5e7f7173a40d01325',1,'dtOffMeshConnection::poly()'],['../structdtTempContour.html#a3292c9c8f9d16f471d8c0c9d702ce062',1,'dtTempContour::poly()'],['../structrcEdge.html#a8c7453ea99462ccd11a1a4df861897db',1,'rcEdge::poly()']]], + ['polyareas_1276',['polyAreas',['../structdtNavMeshCreateParams.html#a6968dabec88b5fc3f549f675b7a40eed',1,'dtNavMeshCreateParams']]], + ['polycount_1277',['polyCount',['../structdtNavMeshCreateParams.html#ade05d506a6505335142d06f18a35cc45',1,'dtNavMeshCreateParams::polyCount()'],['../structdtMeshHeader.html#ab36d94238505dbf5370c69c8e5276d74',1,'dtMeshHeader::polyCount()']]], + ['polyedge_1278',['polyEdge',['../structrcEdge.html#ab20ad72bbcb3029d46c375f3b9358d07',1,'rcEdge']]], + ['polyflags_1279',['polyFlags',['../structdtNavMeshCreateParams.html#a61193891d27672918981c8e9447baf47',1,'dtNavMeshCreateParams']]], + ['polyminextent_1280',['polyMinExtent',['../RecastMeshDetail_8cpp.html#a43a5a2bbda38a829d1266337e19c4a6f',1,'RecastMeshDetail.cpp']]], + ['polyref_1281',['polyRef',['../structdtCrowdAgentAnimation.html#a84a98c95db9bc9db2f334311430669ac',1,'dtCrowdAgentAnimation']]], + ['polys_1282',['polys',['../structrcPolyMesh.html#a74e59a4854036ac66dfac9761b9f59b2',1,'rcPolyMesh::polys()'],['../structdtTileCachePolyMesh.html#a334e7e9d3643a199f8b006d632bf15e3',1,'dtTileCachePolyMesh::polys()'],['../structdtNavMeshCreateParams.html#a32129adb089b24ce7f328f780bbf35a7',1,'dtNavMeshCreateParams::polys()'],['../structdtMeshTile.html#abd8ed5dcf003464a7d8c456f671e6c1e',1,'dtMeshTile::polys()']]], + ['pools_1283',['pools',['../structrcHeightfield.html#a9808fdf31203f60447a3b9d693a6efc7',1,'rcHeightfield']]], + ['pop_1284',['pop',['../classrcIntArray.html#a25558e84868988dc42bf5b2b3c9c3a84',1,'rcIntArray::pop()'],['../classdtNodeQueue.html#a4fa10be8cbf65dcdf2284f18a3e949d3',1,'dtNodeQueue::pop()']]], + ['pop_5fback_1285',['pop_back',['../classrcVectorBase.html#a77865965d7b87881ca42242a8e9d6fcf',1,'rcVectorBase']]], + ['pos_1286',['pos',['../structdtObstacleCylinder.html#aae2ca30505f18221ddd9a583382daa0d',1,'dtObstacleCylinder::pos()'],['../structdtNode.html#a2e6577134c6d533b9cc9914c38eb877d',1,'dtNode::pos()'],['../structdtOffMeshConnection.html#a1ad6f470aa15ca67e1df62d692a4efe4',1,'dtOffMeshConnection::pos()']]], + ['prev_1287',['prev',['../RecastMeshDetail_8cpp.html#a6f1109916123abdff2b46675c13307e3',1,'prev(int i, int n): RecastMeshDetail.cpp'],['../RecastMesh_8cpp.html#a6f1109916123abdff2b46675c13307e3',1,'prev(int i, int n): RecastMesh.cpp'],['../DetourTileCacheBuilder_8cpp.html#a6f1109916123abdff2b46675c13307e3',1,'prev(int i, int n): DetourTileCacheBuilder.cpp'],['../RecastContour_8cpp.html#a6f1109916123abdff2b46675c13307e3',1,'prev(int i, int n): RecastContour.cpp']]], + ['process_1288',['process',['../structMeshProcess.html#a2e6cdfd8885e79abc9055707a340cb2c',1,'MeshProcess::process()'],['../structdtTileCacheMeshProcess.html#a215d535bec3a568d5fdb0b8ebe8cd609',1,'dtTileCacheMeshProcess::process()'],['../classdtCollectPolysQuery.html#a720fc8d71cb55210dd3db71b77f3db4f',1,'dtCollectPolysQuery::process()'],['../classdtFindNearestPolyQuery.html#a70f751a070792e099462d3af34357bcd',1,'dtFindNearestPolyQuery::process()'],['../classdtPolyQuery.html#a21184a157b5762bc558ac49e43a1131e',1,'dtPolyQuery::process()']]], + ['projectpoly_1289',['projectPoly',['../DetourCommon_8cpp.html#af6e917ef4b822dd1feee0665ebbc3bda',1,'DetourCommon.cpp']]], + ['purge_1290',['purge',['../structNavMeshTileBuildContext.html#aaad3439a65fc68c5aed3b535ead58214',1,'NavMeshTileBuildContext']]], + ['push_1291',['push',['../classrcIntArray.html#ae52f6cd7ffdd2dba00f6f006853dc441',1,'rcIntArray::push()'],['../classdtNodeQueue.html#a76d83f497e1a5bcf72a6cc902a696a2a',1,'dtNodeQueue::push()']]], + ['push3_1292',['push3',['../RecastMeshDetail_8cpp.html#afe63298d01e44c843ffc828d419dc6f4',1,'RecastMeshDetail.cpp']]], + ['push_5fback_1293',['push_back',['../classrcVectorBase.html#a9a9a0bae26bd80346a174dbb1848fc61',1,'rcVectorBase']]], + ['pushback_1294',['pushBack',['../DetourTileCacheBuilder_8cpp.html#a6da2f8c2b0bea0922a50e844a7579b73',1,'pushBack(unsigned short v, unsigned short *arr, int &an): DetourTileCacheBuilder.cpp'],['../RecastMesh_8cpp.html#aec063018a8d28a41c26ac51762618208',1,'pushBack(int v, int *arr, int &an): RecastMesh.cpp']]], + ['pushfront_1295',['pushFront',['../DetourTileCacheBuilder_8cpp.html#a6798e70992affb7d5ba3152641398a1c',1,'pushFront(unsigned short v, unsigned short *arr, int &an): DetourTileCacheBuilder.cpp'],['../RecastMesh_8cpp.html#a589bd4317fc5d856399939218757d09e',1,'pushFront(int v, int *arr, int &an): RecastMesh.cpp']]] +]; diff --git a/search/all_e.html b/search/all_e.html new file mode 100644 index 00000000..e25df423 --- /dev/null +++ b/search/all_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_e.js b/search/all_e.js new file mode 100644 index 00000000..f5a7c4c0 --- /dev/null +++ b/search/all_e.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['q_1296',['q',['../structdtObstacleSegment.html#a3282730543d772664692b32c15576ee9',1,'dtObstacleSegment']]], + ['queryfiltertype_1297',['queryFilterType',['../structdtCrowdAgentParams.html#af5d15cba10237592b1766d7d82da1420',1,'dtCrowdAgentParams']]], + ['queryitems_1298',['queryItems',['../classdtProximityGrid.html#a4ee1269c36500bb20d3891a2363c5ea8',1,'dtProximityGrid']]], + ['querypolygons_1299',['queryPolygons',['../classdtNavMeshQuery.html#a06e46d57afad3f07380d82bb8d4a6720',1,'dtNavMeshQuery::queryPolygons(const float *center, const float *halfExtents, const dtQueryFilter *filter, dtPolyRef *polys, int *polyCount, const int maxPolys) const'],['../classdtNavMeshQuery.html#aed2fc9071ca182a548baf5158cd4f441',1,'dtNavMeshQuery::queryPolygons(const float *center, const float *halfExtents, const dtQueryFilter *filter, dtPolyQuery *query) const']]], + ['querytiles_1300',['queryTiles',['../classdtTileCache.html#afa3fb52e3082723c52a2048698a26cb3',1,'dtTileCache']]] +]; diff --git a/search/all_f.html b/search/all_f.html new file mode 100644 index 00000000..b23da6ce --- /dev/null +++ b/search/all_f.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_f.js b/search/all_f.js new file mode 100644 index 00000000..3eb07396 --- /dev/null +++ b/search/all_f.js @@ -0,0 +1,257 @@ +var searchData= +[ + ['r_1301',['r',['../structimguiGfxLine.html#a6e6579cb0bbe0b6adc256326c5580e9e',1,'imguiGfxLine::r()'],['../structimguiGfxRect.html#ae51467bcbbb702b825ebac3f0307fc4e',1,'imguiGfxRect::r()']]], + ['rad_1302',['rad',['../structdtObstacleCircle.html#ae666389d33d7316c1e4e303b13871adc',1,'dtObstacleCircle::rad()'],['../structdtOffMeshConnection.html#af5ea87d3e8c0d6c1bd5afeac3f954fa1',1,'dtOffMeshConnection::rad()']]], + ['radius_1303',['radius',['../structdtObstacleCylinder.html#aea6d46db3e78e208d217b8915e1f195a',1,'dtObstacleCylinder::radius()'],['../structdtCrowdAgentParams.html#a780421355c73aecb187c1aa36de854d8',1,'dtCrowdAgentParams::radius()']]], + ['rasterizationcontext_1304',['RasterizationContext',['../structRasterizationContext.html',1,'RasterizationContext'],['../structRasterizationContext.html#afd127baddc666d46e474217dde4eabe7',1,'RasterizationContext::RasterizationContext()']]], + ['rasterizetri_1305',['rasterizeTri',['../RecastRasterization_8cpp.html#a48cc2a033f9552494a06236a5d66326b',1,'RecastRasterization.cpp']]], + ['raycast_1306',['raycast',['../classdtNavMeshQuery.html#a7509a4bf31a215f20478c5050ef25913',1,'dtNavMeshQuery::raycast(dtPolyRef startRef, const float *startPos, const float *endPos, const dtQueryFilter *filter, float *t, float *hitNormal, dtPolyRef *path, int *pathCount, const int maxPath) const'],['../classdtNavMeshQuery.html#a96bd4282df1e863d1c813b2fe881a262',1,'dtNavMeshQuery::raycast(dtPolyRef startRef, const float *startPos, const float *endPos, const dtQueryFilter *filter, const unsigned int options, dtRaycastHit *hit, dtPolyRef prevRef=0) const']]], + ['raycastmesh_1307',['raycastMesh',['../classInputGeom.html#a926c973026443671ea51d7f32ddf0b11',1,'InputGeom']]], + ['rc_5falloc_5fperm_1308',['RC_ALLOC_PERM',['../RecastAlloc_8h.html#a1e8b4a818c5bf25bceae59a0b1857e60ac5753fe6be6e82f85794f719149356a5',1,'RecastAlloc.h']]], + ['rc_5falloc_5ftemp_1309',['RC_ALLOC_TEMP',['../RecastAlloc_8h.html#a1e8b4a818c5bf25bceae59a0b1857e60a5e5b510fb1d2422e28f5262d4bd058ee',1,'RecastAlloc.h']]], + ['rc_5farea_5fborder_1310',['RC_AREA_BORDER',['../Recast_8h.html#a55bb146cbd1c0ec0e06ca8e90dd5b7bc',1,'Recast.h']]], + ['rc_5faxis_5fx_1311',['RC_AXIS_X',['../RecastRasterization_8cpp.html#a62b583caa984b1e6c218932f3218789ba4f552701c96db6d643c5ae3741030fda',1,'RecastRasterization.cpp']]], + ['rc_5faxis_5fy_1312',['RC_AXIS_Y',['../RecastRasterization_8cpp.html#a62b583caa984b1e6c218932f3218789ba505b172a6e189588ed8d8607e857f432',1,'RecastRasterization.cpp']]], + ['rc_5faxis_5fz_1313',['RC_AXIS_Z',['../RecastRasterization_8cpp.html#a62b583caa984b1e6c218932f3218789ba5b56c442d066db5cc6e612ae9bcadcf4',1,'RecastRasterization.cpp']]], + ['rc_5fborder_5freg_1314',['RC_BORDER_REG',['../Recast_8h.html#ac47ca685874fce67f50bd580ef1e0497',1,'Recast.h']]], + ['rc_5fborder_5fvertex_1315',['RC_BORDER_VERTEX',['../Recast_8h.html#a8b57de86c98abbad39cce7df7c0aa1f8',1,'Recast.h']]], + ['rc_5fcontour_5freg_5fmask_1316',['RC_CONTOUR_REG_MASK',['../Recast_8h.html#a86c6c9df2df0402a9d026fb9603fb02b',1,'Recast.h']]], + ['rc_5fcontour_5ftess_5farea_5fedges_1317',['RC_CONTOUR_TESS_AREA_EDGES',['../Recast_8h.html#a63345b5052e97366027aa92b54c7786faf433dd3fd4cf358173e454a145233810',1,'Recast.h']]], + ['rc_5fcontour_5ftess_5fwall_5fedges_1318',['RC_CONTOUR_TESS_WALL_EDGES',['../Recast_8h.html#a63345b5052e97366027aa92b54c7786fa895b8adb44c79179f5e22f8f65abe5ed',1,'Recast.h']]], + ['rc_5flog_5ferror_1319',['RC_LOG_ERROR',['../Recast_8h.html#a82cf824a1948a8442785a7ea184f410ba50cefdab02ef964b5f5ba6093752eea9',1,'Recast.h']]], + ['rc_5flog_5fprogress_1320',['RC_LOG_PROGRESS',['../Recast_8h.html#a82cf824a1948a8442785a7ea184f410ba4489590461db6062a1d83986297a1bcd',1,'Recast.h']]], + ['rc_5flog_5fwarning_1321',['RC_LOG_WARNING',['../Recast_8h.html#a82cf824a1948a8442785a7ea184f410ba05dd323a1feaf0c125be248057cc40a5',1,'Recast.h']]], + ['rc_5fmax_5flayers_1322',['RC_MAX_LAYERS',['../RecastLayers_8cpp.html#a0865bdb05f7816f06bd8666f04535f42',1,'RecastLayers.cpp']]], + ['rc_5fmax_5fneis_1323',['RC_MAX_NEIS',['../RecastLayers_8cpp.html#adc47551fbc117d2c43a91dd14a78df66',1,'RecastLayers.cpp']]], + ['rc_5fmax_5ftimers_1324',['RC_MAX_TIMERS',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da3597bcc0a74259286ba7e06ec236b405',1,'Recast.h']]], + ['rc_5fmesh_5fnull_5fidx_1325',['RC_MESH_NULL_IDX',['../Recast_8h.html#a66e1b0e59a450182b5551eb12e68fcfe',1,'Recast.h']]], + ['rc_5fmultiple_5fregs_1326',['RC_MULTIPLE_REGS',['../Recast_8h.html#abf6ad8971b152bddbd9c1b1e1e256cc3',1,'Recast.h']]], + ['rc_5fnot_5fconnected_1327',['RC_NOT_CONNECTED',['../Recast_8h.html#a64354aff947c2d8040e39bb4ceaf1a9f',1,'Recast.h']]], + ['rc_5fnull_5farea_1328',['RC_NULL_AREA',['../Recast_8h.html#a5105dbfb2d2bf8aa69122db502d0e39e',1,'Recast.h']]], + ['rc_5fnull_5fnei_1329',['RC_NULL_NEI',['../RecastRegion_8cpp.html#ae985981f9a0039f8584d8c165959c817',1,'RecastRegion.cpp']]], + ['rc_5fpi_1330',['RC_PI',['../Recast_8h.html#ac784d579fcb90e51ba0ea98fd529e5ed',1,'Recast.h']]], + ['rc_5fsize_5fmax_1331',['RC_SIZE_MAX',['../RecastAlloc_8h.html#a76aa1cda643d12fb282dffdd127c1bac',1,'RecastAlloc.h']]], + ['rc_5fspan_5fheight_5fbits_1332',['RC_SPAN_HEIGHT_BITS',['../Recast_8h.html#a70b5ff22f9acea41e961ee7ea4f7300f',1,'Recast.h']]], + ['rc_5fspan_5fmax_5fheight_1333',['RC_SPAN_MAX_HEIGHT',['../Recast_8h.html#a29fe08410353b3b0dfdf777303750b43',1,'Recast.h']]], + ['rc_5fspans_5fper_5fpool_1334',['RC_SPANS_PER_POOL',['../Recast_8h.html#a55acc4ef20d0b0507e2c6fee696ecf5e',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fcompactheightfield_1335',['RC_TIMER_BUILD_COMPACTHEIGHTFIELD',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da303c06e25bf4609eb21ba3b668f10bba',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fcontours_1336',['RC_TIMER_BUILD_CONTOURS',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da5bfad3b856c9ff5f3d94231adc363437',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fcontours_5fsimplify_1337',['RC_TIMER_BUILD_CONTOURS_SIMPLIFY',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18daac93d9ba18d8dedee3b584ef9131fdba',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fcontours_5ftrace_1338',['RC_TIMER_BUILD_CONTOURS_TRACE',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da7780e2f5b2726d76169f8c0a38cfc12b',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fdistancefield_1339',['RC_TIMER_BUILD_DISTANCEFIELD',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da2d9eae7de0473e03695f147c3b0ed4fe',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fdistancefield_5fblur_1340',['RC_TIMER_BUILD_DISTANCEFIELD_BLUR',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da9452d6a2c2be5c1bb92a20440a42509c',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fdistancefield_5fdist_1341',['RC_TIMER_BUILD_DISTANCEFIELD_DIST',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da95ae391397574299fa86757572dadf78',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5flayers_1342',['RC_TIMER_BUILD_LAYERS',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18daa13252ec42af278ed8b511ef2573efba',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fpolymesh_1343',['RC_TIMER_BUILD_POLYMESH',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da2db68b2ee0e88bd48f687d8912be2b87',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fpolymeshdetail_1344',['RC_TIMER_BUILD_POLYMESHDETAIL',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da154109a5c78860b81ce9370a6a8debfd',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fregions_1345',['RC_TIMER_BUILD_REGIONS',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18daeac9f250cd8a04c3d14f8fa548d4b31f',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fregions_5fexpand_1346',['RC_TIMER_BUILD_REGIONS_EXPAND',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da92d9f71f85b57488a09a3d6d0cec04d2',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fregions_5ffilter_1347',['RC_TIMER_BUILD_REGIONS_FILTER',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da14403d6ce136beb776b9004e73dde436',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fregions_5fflood_1348',['RC_TIMER_BUILD_REGIONS_FLOOD',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da51802900abb3935de5b7dbc2423e2d62',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fregions_5fwatershed_1349',['RC_TIMER_BUILD_REGIONS_WATERSHED',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da7c9d166e9be3c76d444908348fccde9c',1,'Recast.h']]], + ['rc_5ftimer_5ferode_5farea_1350',['RC_TIMER_ERODE_AREA',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18dad109da926d20816d0fd7b16001b6e463',1,'Recast.h']]], + ['rc_5ftimer_5ffilter_5fborder_1351',['RC_TIMER_FILTER_BORDER',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da438af561b3f22c44dd9a4672ab7efa09',1,'Recast.h']]], + ['rc_5ftimer_5ffilter_5flow_5fobstacles_1352',['RC_TIMER_FILTER_LOW_OBSTACLES',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18dafd77d72ef738a5bb20b2bfc2753ed3c2',1,'Recast.h']]], + ['rc_5ftimer_5ffilter_5fwalkable_1353',['RC_TIMER_FILTER_WALKABLE',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18dae2cf8a1eed8d008417af66448900d120',1,'Recast.h']]], + ['rc_5ftimer_5fmark_5fbox_5farea_1354',['RC_TIMER_MARK_BOX_AREA',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da3ba77f8aaeff3f0ea1c0703144701789',1,'Recast.h']]], + ['rc_5ftimer_5fmark_5fconvexpoly_5farea_1355',['RC_TIMER_MARK_CONVEXPOLY_AREA',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18dac76c8eea599c3cf1c7f76a7a90a245b1',1,'Recast.h']]], + ['rc_5ftimer_5fmark_5fcylinder_5farea_1356',['RC_TIMER_MARK_CYLINDER_AREA',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18daade33c6e1f1b1037e63546ca863d9690',1,'Recast.h']]], + ['rc_5ftimer_5fmedian_5farea_1357',['RC_TIMER_MEDIAN_AREA',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18daff9bd2eec4ca8457b601f3d8186824bf',1,'Recast.h']]], + ['rc_5ftimer_5fmerge_5fpolymesh_1358',['RC_TIMER_MERGE_POLYMESH',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da20a8bc8f7341a3ea1af2b7581b67de6c',1,'Recast.h']]], + ['rc_5ftimer_5fmerge_5fpolymeshdetail_1359',['RC_TIMER_MERGE_POLYMESHDETAIL',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da24182cce77d41ba2d42db93b65dc7535',1,'Recast.h']]], + ['rc_5ftimer_5frasterize_5ftriangles_1360',['RC_TIMER_RASTERIZE_TRIANGLES',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da3fa1b3fe84fd4f3624887a1fa38944e6',1,'Recast.h']]], + ['rc_5ftimer_5ftemp_1361',['RC_TIMER_TEMP',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da92968e4f7d7e891393de01a5554f4b8c',1,'Recast.h']]], + ['rc_5ftimer_5ftotal_1362',['RC_TIMER_TOTAL',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18dade020216459ee686aac7c19d7ee2729a',1,'Recast.h']]], + ['rc_5funset_5fheight_1363',['RC_UNSET_HEIGHT',['../RecastMeshDetail_8cpp.html#a17129b9465fbc4a0d5b375870f751ff2',1,'RecastMeshDetail.cpp']]], + ['rc_5fwalkable_5farea_1364',['RC_WALKABLE_AREA',['../Recast_8h.html#a55c878bf81a2811829c8c5e491be41cb',1,'Recast.h']]], + ['rcabs_1365',['rcAbs',['../Recast_8h.html#afa1623d0ed253473ef26cd7717f8bf2f',1,'Recast.h']]], + ['rcaddspan_1366',['rcAddSpan',['../group__recast.html#ga86f63cef2e174a1f4cb050767090beeb',1,'rcAddSpan(rcContext *context, rcHeightfield &heightfield, const int x, const int z, const unsigned short spanMin, const unsigned short spanMax, const unsigned char areaID, const int flagMergeThreshold): RecastRasterization.cpp'],['../group__recast.html#ga86f63cef2e174a1f4cb050767090beeb',1,'rcAddSpan(rcContext *context, rcHeightfield &heightfield, int x, int z, unsigned short spanMin, unsigned short spanMax, unsigned char areaID, int flagMergeThreshold): RecastRasterization.cpp']]], + ['rcalloc_1367',['rcAlloc',['../RecastAlloc_8cpp.html#aaccb154539da523c5d4e6effb34dd69e',1,'rcAlloc(size_t size, rcAllocHint hint): RecastAlloc.cpp'],['../RecastAlloc_8h.html#aaccb154539da523c5d4e6effb34dd69e',1,'rcAlloc(size_t size, rcAllocHint hint): RecastAlloc.cpp']]], + ['rcalloccompactheightfield_1368',['rcAllocCompactHeightfield',['../group__recast.html#ga63ec2ca68dc897018b8b013507b9714d',1,'rcAllocCompactHeightfield(): Recast.cpp'],['../group__recast.html#ga63ec2ca68dc897018b8b013507b9714d',1,'rcAllocCompactHeightfield(): Recast.cpp']]], + ['rcalloccontourset_1369',['rcAllocContourSet',['../group__recast.html#ga2b1a22ec58d51570e352c19cb2cb22a2',1,'rcAllocContourSet(): Recast.cpp'],['../group__recast.html#ga2b1a22ec58d51570e352c19cb2cb22a2',1,'rcAllocContourSet(): Recast.cpp']]], + ['rcallocdefault_1370',['rcAllocDefault',['../RecastAlloc_8cpp.html#aba573a0899585714d5e4b3c109fa3ba4',1,'RecastAlloc.cpp']]], + ['rcallocfunc_1371',['rcAllocFunc',['../RecastAlloc_8h.html#a4f8483e0c7c0a3e42ca98cd75a5cec39',1,'RecastAlloc.h']]], + ['rcallocheightfield_1372',['rcAllocHeightfield',['../group__recast.html#ga3e717cb2fa2ef5d123f0fa218f0630a9',1,'rcAllocHeightfield(): Recast.cpp'],['../group__recast.html#ga3e717cb2fa2ef5d123f0fa218f0630a9',1,'rcAllocHeightfield(): Recast.cpp']]], + ['rcallocheightfieldlayerset_1373',['rcAllocHeightfieldLayerSet',['../group__recast.html#gadc45406abb9ac9d1efddee04054207f5',1,'rcAllocHeightfieldLayerSet(): Recast.cpp'],['../group__recast.html#gadc45406abb9ac9d1efddee04054207f5',1,'rcAllocHeightfieldLayerSet(): Recast.cpp']]], + ['rcallochint_1374',['rcAllocHint',['../RecastAlloc_8h.html#a1e8b4a818c5bf25bceae59a0b1857e60',1,'RecastAlloc.h']]], + ['rcallocpolymesh_1375',['rcAllocPolyMesh',['../group__recast.html#ga1b6942363f019860984263c0f8f62b9d',1,'rcAllocPolyMesh(): Recast.cpp'],['../group__recast.html#ga1b6942363f019860984263c0f8f62b9d',1,'rcAllocPolyMesh(): Recast.cpp']]], + ['rcallocpolymeshdetail_1376',['rcAllocPolyMeshDetail',['../group__recast.html#ga617834c1759867250e21569c204f1410',1,'rcAllocPolyMeshDetail(): Recast.cpp'],['../group__recast.html#ga617834c1759867250e21569c204f1410',1,'rcAllocPolyMeshDetail(): Recast.cpp']]], + ['rcallocsetcustom_1377',['rcAllocSetCustom',['../RecastAlloc_8h.html#ae3f9da3566ad0877b9e4c9e92f8e1a15',1,'rcAllocSetCustom(rcAllocFunc *allocFunc, rcFreeFunc *freeFunc): RecastAlloc.cpp'],['../RecastAlloc_8cpp.html#ae3f9da3566ad0877b9e4c9e92f8e1a15',1,'rcAllocSetCustom(rcAllocFunc *allocFunc, rcFreeFunc *freeFunc): RecastAlloc.cpp']]], + ['rcassert_1378',['rcAssert',['../RecastAssert_8h.html#a857ec26f725d5a8d341fedca5a32f649',1,'RecastAssert.h']]], + ['rcassertfailfunc_1379',['rcAssertFailFunc',['../RecastAssert_8h.html#a56d4bc754448f291c6bf5f444c3c11e3',1,'RecastAssert.h']]], + ['rcassertfailgetcustom_1380',['rcAssertFailGetCustom',['../RecastAssert_8cpp.html#acab09ab2c9fb75e87ca1bbce4717a41d',1,'rcAssertFailGetCustom(): RecastAssert.cpp'],['../RecastAssert_8h.html#acab09ab2c9fb75e87ca1bbce4717a41d',1,'rcAssertFailGetCustom(): RecastAssert.cpp']]], + ['rcassertfailsetcustom_1381',['rcAssertFailSetCustom',['../RecastAssert_8cpp.html#a9fba2f1f45778f706f4478a73ba69e91',1,'rcAssertFailSetCustom(rcAssertFailFunc *assertFailFunc): RecastAssert.cpp'],['../RecastAssert_8h.html#a9fba2f1f45778f706f4478a73ba69e91',1,'rcAssertFailSetCustom(rcAssertFailFunc *assertFailFunc): RecastAssert.cpp']]], + ['rcaxis_1382',['rcAxis',['../RecastRasterization_8cpp.html#a62b583caa984b1e6c218932f3218789b',1,'RecastRasterization.cpp']]], + ['rcbuildcompactheightfield_1383',['rcBuildCompactHeightfield',['../group__recast.html#gae8f77a45a6ca7fef19afcca7420b340d',1,'rcBuildCompactHeightfield(rcContext *context, int walkableHeight, int walkableClimb, rcHeightfield &heightfield, rcCompactHeightfield &compactHeightfield): Recast.cpp'],['../group__recast.html#gae8f77a45a6ca7fef19afcca7420b340d',1,'rcBuildCompactHeightfield(rcContext *context, const int walkableHeight, const int walkableClimb, rcHeightfield &heightfield, rcCompactHeightfield &compactHeightfield): Recast.cpp']]], + ['rcbuildcontours_1384',['rcBuildContours',['../group__recast.html#ga9ce76e55cf94a30c017fe3b039e1cbb2',1,'rcBuildContours(rcContext *ctx, rcCompactHeightfield &chf, float maxError, int maxEdgeLen, rcContourSet &cset, int buildFlags=RC_CONTOUR_TESS_WALL_EDGES): RecastContour.cpp'],['../group__recast.html#ga9ce76e55cf94a30c017fe3b039e1cbb2',1,'rcBuildContours(rcContext *ctx, rcCompactHeightfield &chf, const float maxError, const int maxEdgeLen, rcContourSet &cset, const int buildFlags): RecastContour.cpp']]], + ['rcbuildcontoursflags_1385',['rcBuildContoursFlags',['../Recast_8h.html#a63345b5052e97366027aa92b54c7786f',1,'Recast.h']]], + ['rcbuilddistancefield_1386',['rcBuildDistanceField',['../group__recast.html#ga255c830cc0d30fa0229a05033242e77d',1,'rcBuildDistanceField(rcContext *ctx, rcCompactHeightfield &chf): RecastRegion.cpp'],['../group__recast.html#ga255c830cc0d30fa0229a05033242e77d',1,'rcBuildDistanceField(rcContext *ctx, rcCompactHeightfield &chf): RecastRegion.cpp']]], + ['rcbuildheightfieldlayers_1387',['rcBuildHeightfieldLayers',['../group__recast.html#ga21dd089dcfc243ed949a28727dc41010',1,'rcBuildHeightfieldLayers(rcContext *ctx, rcCompactHeightfield &chf, const int borderSize, const int walkableHeight, rcHeightfieldLayerSet &lset): RecastLayers.cpp'],['../group__recast.html#ga21dd089dcfc243ed949a28727dc41010',1,'rcBuildHeightfieldLayers(rcContext *ctx, rcCompactHeightfield &chf, int borderSize, int walkableHeight, rcHeightfieldLayerSet &lset): RecastLayers.cpp']]], + ['rcbuildlayerregions_1388',['rcBuildLayerRegions',['../group__recast.html#ga44a9272ded073492dd74b1a871d9d1a0',1,'rcBuildLayerRegions(rcContext *ctx, rcCompactHeightfield &chf, const int borderSize, const int minRegionArea): RecastRegion.cpp'],['../group__recast.html#ga44a9272ded073492dd74b1a871d9d1a0',1,'rcBuildLayerRegions(rcContext *ctx, rcCompactHeightfield &chf, int borderSize, int minRegionArea): RecastRegion.cpp']]], + ['rcbuildpolymesh_1389',['rcBuildPolyMesh',['../group__recast.html#ga6ccf68fa67b52296071764bddf19dd9f',1,'rcBuildPolyMesh(rcContext *ctx, rcContourSet &cset, const int nvp, rcPolyMesh &mesh): RecastMesh.cpp'],['../group__recast.html#ga6ccf68fa67b52296071764bddf19dd9f',1,'rcBuildPolyMesh(rcContext *ctx, rcContourSet &cset, const int nvp, rcPolyMesh &mesh): RecastMesh.cpp']]], + ['rcbuildpolymeshdetail_1390',['rcBuildPolyMeshDetail',['../group__recast.html#ga27bbc4ef9f8c09b68ec63ebe908521a2',1,'rcBuildPolyMeshDetail(rcContext *ctx, const rcPolyMesh &mesh, const rcCompactHeightfield &chf, const float sampleDist, const float sampleMaxError, rcPolyMeshDetail &dmesh): RecastMeshDetail.cpp'],['../group__recast.html#ga27bbc4ef9f8c09b68ec63ebe908521a2',1,'rcBuildPolyMeshDetail(rcContext *ctx, const rcPolyMesh &mesh, const rcCompactHeightfield &chf, float sampleDist, float sampleMaxError, rcPolyMeshDetail &dmesh): RecastMeshDetail.cpp']]], + ['rcbuildregions_1391',['rcBuildRegions',['../group__recast.html#gaf89da5f503884e43f955639343333cea',1,'rcBuildRegions(rcContext *ctx, rcCompactHeightfield &chf, const int borderSize, const int minRegionArea, const int mergeRegionArea): RecastRegion.cpp'],['../group__recast.html#gaf89da5f503884e43f955639343333cea',1,'rcBuildRegions(rcContext *ctx, rcCompactHeightfield &chf, int borderSize, int minRegionArea, int mergeRegionArea): RecastRegion.cpp']]], + ['rcbuildregionsmonotone_1392',['rcBuildRegionsMonotone',['../group__recast.html#gac750ac6caa254759ef0bccf8afc7f67f',1,'rcBuildRegionsMonotone(rcContext *ctx, rcCompactHeightfield &chf, const int borderSize, const int minRegionArea, const int mergeRegionArea): RecastRegion.cpp'],['../group__recast.html#gac750ac6caa254759ef0bccf8afc7f67f',1,'rcBuildRegionsMonotone(rcContext *ctx, rcCompactHeightfield &chf, int borderSize, int minRegionArea, int mergeRegionArea): RecastRegion.cpp']]], + ['rccalcbounds_1393',['rcCalcBounds',['../group__recast.html#ga8d3d926002b6df3a5100a1f1e4086026',1,'rcCalcBounds(const float *verts, int numVerts, float *minBounds, float *maxBounds): Recast.cpp'],['../group__recast.html#ga8d3d926002b6df3a5100a1f1e4086026',1,'rcCalcBounds(const float *verts, int numVerts, float *minBounds, float *maxBounds): Recast.cpp']]], + ['rccalcgridsize_1394',['rcCalcGridSize',['../group__recast.html#ga89dd61f0c62938be9ae41aaf026794c2',1,'rcCalcGridSize(const float *minBounds, const float *maxBounds, const float cellSize, int *sizeX, int *sizeZ): Recast.cpp'],['../group__recast.html#ga89dd61f0c62938be9ae41aaf026794c2',1,'rcCalcGridSize(const float *minBounds, const float *maxBounds, float cellSize, int *sizeX, int *sizeZ): Recast.cpp']]], + ['rcchunkytrimesh_1395',['rcChunkyTriMesh',['../structrcChunkyTriMesh.html',1,'rcChunkyTriMesh'],['../structrcChunkyTriMesh.html#a11e03f096c8d3bcd8a249e6b64fb0502',1,'rcChunkyTriMesh::rcChunkyTriMesh()']]], + ['rcchunkytrimeshnode_1396',['rcChunkyTriMeshNode',['../structrcChunkyTriMeshNode.html',1,'']]], + ['rcclamp_1397',['rcClamp',['../Recast_8h.html#af96c0566e4d2d6787d4bc205159486d3',1,'Recast.h']]], + ['rcclearunwalkabletriangles_1398',['rcClearUnwalkableTriangles',['../group__recast.html#gad293e95cc9b22e4305ad2c6fbf946622',1,'rcClearUnwalkableTriangles(rcContext *context, float walkableSlopeAngle, const float *verts, int numVerts, const int *tris, int numTris, unsigned char *triAreaIDs): Recast.cpp'],['../group__recast.html#gad293e95cc9b22e4305ad2c6fbf946622',1,'rcClearUnwalkableTriangles(rcContext *context, const float walkableSlopeAngle, const float *verts, int numVerts, const int *tris, int numTris, unsigned char *triAreaIDs): Recast.cpp']]], + ['rccompactcell_1399',['rcCompactCell',['../structrcCompactCell.html',1,'']]], + ['rccompactheightfield_1400',['rcCompactHeightfield',['../structrcCompactHeightfield.html#a33d0846cef5f90e605f272b61277ffb0',1,'rcCompactHeightfield::rcCompactHeightfield()'],['../structrcCompactHeightfield.html',1,'rcCompactHeightfield']]], + ['rccompactspan_1401',['rcCompactSpan',['../structrcCompactSpan.html',1,'']]], + ['rcconfig_1402',['rcConfig',['../structrcConfig.html',1,'']]], + ['rccontext_1403',['rcContext',['../classrcContext.html',1,'rcContext'],['../classrcContext.html#ae405295998d6c1db0ceb60d0f64559bc',1,'rcContext::rcContext()']]], + ['rccontour_1404',['rcContour',['../structrcContour.html',1,'']]], + ['rccontourhole_1405',['rcContourHole',['../structrcContourHole.html',1,'']]], + ['rccontourregion_1406',['rcContourRegion',['../structrcContourRegion.html',1,'']]], + ['rccontourset_1407',['rcContourSet',['../structrcContourSet.html#a01481af6f568ea6098fc5fa4fc5140f7',1,'rcContourSet::rcContourSet()'],['../structrcContourSet.html',1,'rcContourSet']]], + ['rccopypolymesh_1408',['rcCopyPolyMesh',['../group__recast.html#gadd16ae360ef930c3ba8c4839e3065d40',1,'rcCopyPolyMesh(rcContext *ctx, const rcPolyMesh &src, rcPolyMesh &dst): RecastMesh.cpp'],['../group__recast.html#gadd16ae360ef930c3ba8c4839e3065d40',1,'rcCopyPolyMesh(rcContext *ctx, const rcPolyMesh &src, rcPolyMesh &dst): RecastMesh.cpp']]], + ['rccreatechunkytrimesh_1409',['rcCreateChunkyTriMesh',['../ChunkyTriMesh_8h.html#af0a0d126ca38738602a567777806a242',1,'rcCreateChunkyTriMesh(const float *verts, const int *tris, int ntris, int trisPerChunk, rcChunkyTriMesh *cm): ChunkyTriMesh.cpp'],['../ChunkyTriMesh_8cpp.html#af0a0d126ca38738602a567777806a242',1,'rcCreateChunkyTriMesh(const float *verts, const int *tris, int ntris, int trisPerChunk, rcChunkyTriMesh *cm): ChunkyTriMesh.cpp']]], + ['rccreateheightfield_1410',['rcCreateHeightfield',['../group__recast.html#ga47eca35f60dbd7ddc1cb18fdb2493833',1,'rcCreateHeightfield(rcContext *context, rcHeightfield &heightfield, int sizeX, int sizeZ, const float *minBounds, const float *maxBounds, float cellSize, float cellHeight): Recast.cpp'],['../group__recast.html#ga47eca35f60dbd7ddc1cb18fdb2493833',1,'rcCreateHeightfield(rcContext *context, rcHeightfield &heightfield, int sizeX, int sizeZ, const float *minBounds, const float *maxBounds, float cellSize, float cellHeight): Recast.cpp']]], + ['rcedge_1411',['rcEdge',['../structrcEdge.html',1,'']]], + ['rcerodewalkablearea_1412',['rcErodeWalkableArea',['../group__recast.html#ga466672bb756c401fbf6dd1e99c920ebb',1,'rcErodeWalkableArea(rcContext *ctx, int radius, rcCompactHeightfield &chf): RecastArea.cpp'],['../group__recast.html#ga466672bb756c401fbf6dd1e99c920ebb',1,'rcErodeWalkableArea(rcContext *ctx, int radius, rcCompactHeightfield &chf): RecastArea.cpp']]], + ['rcfilterledgespans_1413',['rcFilterLedgeSpans',['../group__recast.html#gad40c996631bc70091d7355dc4c950655',1,'rcFilterLedgeSpans(rcContext *context, const int walkableHeight, const int walkableClimb, rcHeightfield &heightfield): RecastFilter.cpp'],['../group__recast.html#gad40c996631bc70091d7355dc4c950655',1,'rcFilterLedgeSpans(rcContext *context, int walkableHeight, int walkableClimb, rcHeightfield &heightfield): RecastFilter.cpp']]], + ['rcfilterlowhangingwalkableobstacles_1414',['rcFilterLowHangingWalkableObstacles',['../group__recast.html#ga009f5e462077cc2f6d1f5fff57f2e412',1,'rcFilterLowHangingWalkableObstacles(rcContext *context, int walkableClimb, rcHeightfield &heightfield): RecastFilter.cpp'],['../group__recast.html#ga009f5e462077cc2f6d1f5fff57f2e412',1,'rcFilterLowHangingWalkableObstacles(rcContext *context, const int walkableClimb, rcHeightfield &heightfield): RecastFilter.cpp']]], + ['rcfilterwalkablelowheightspans_1415',['rcFilterWalkableLowHeightSpans',['../group__recast.html#ga0dbfbeebd642c1b79323ba7723d91a49',1,'rcFilterWalkableLowHeightSpans(rcContext *context, const int walkableHeight, rcHeightfield &heightfield): RecastFilter.cpp'],['../group__recast.html#ga0dbfbeebd642c1b79323ba7723d91a49',1,'rcFilterWalkableLowHeightSpans(rcContext *context, int walkableHeight, rcHeightfield &heightfield): RecastFilter.cpp']]], + ['rcfree_1416',['rcFree',['../RecastAlloc_8cpp.html#a6fc4cfee655e24f94bad226f915ac397',1,'rcFree(void *ptr): RecastAlloc.cpp'],['../RecastAlloc_8h.html#a6fc4cfee655e24f94bad226f915ac397',1,'rcFree(void *ptr): RecastAlloc.cpp']]], + ['rcfreecompactheightfield_1417',['rcFreeCompactHeightfield',['../group__recast.html#ga914ed7cee333a9c29513d917f6bb4716',1,'rcFreeCompactHeightfield(rcCompactHeightfield *compactHeightfield): Recast.cpp'],['../group__recast.html#ga914ed7cee333a9c29513d917f6bb4716',1,'rcFreeCompactHeightfield(rcCompactHeightfield *compactHeightfield): Recast.cpp']]], + ['rcfreecontourset_1418',['rcFreeContourSet',['../group__recast.html#gae3a9621529cb8d471a95161bd7d0ca96',1,'rcFreeContourSet(rcContourSet *contourSet): Recast.cpp'],['../group__recast.html#gae3a9621529cb8d471a95161bd7d0ca96',1,'rcFreeContourSet(rcContourSet *contourSet): Recast.cpp']]], + ['rcfreedefault_1419',['rcFreeDefault',['../RecastAlloc_8cpp.html#a0145e00a43b3248ba49fda410573128f',1,'RecastAlloc.cpp']]], + ['rcfreefunc_1420',['rcFreeFunc',['../RecastAlloc_8h.html#a4b9eeb5aeec74bff1afc64fdf8e72764',1,'RecastAlloc.h']]], + ['rcfreeheightfield_1421',['rcFreeHeightField',['../group__recast.html#ga63549624426821904ecf1a92ddcccaea',1,'rcFreeHeightField(rcHeightfield *heightfield): Recast.cpp'],['../group__recast.html#ga63549624426821904ecf1a92ddcccaea',1,'rcFreeHeightField(rcHeightfield *heightfield): Recast.cpp']]], + ['rcfreeheightfieldlayerset_1422',['rcFreeHeightfieldLayerSet',['../group__recast.html#ga657ea6ef521e4caadc4467bd61e26016',1,'rcFreeHeightfieldLayerSet(rcHeightfieldLayerSet *layerSet): Recast.cpp'],['../group__recast.html#ga657ea6ef521e4caadc4467bd61e26016',1,'rcFreeHeightfieldLayerSet(rcHeightfieldLayerSet *layerSet): Recast.cpp']]], + ['rcfreepolymesh_1423',['rcFreePolyMesh',['../group__recast.html#ga34925f90f2e5da1f84c383bfb0ff8e9f',1,'rcFreePolyMesh(rcPolyMesh *polyMesh): Recast.cpp'],['../group__recast.html#ga34925f90f2e5da1f84c383bfb0ff8e9f',1,'rcFreePolyMesh(rcPolyMesh *polyMesh): Recast.cpp']]], + ['rcfreepolymeshdetail_1424',['rcFreePolyMeshDetail',['../group__recast.html#ga3efa77f1a8305250471c2ac09672d9ae',1,'rcFreePolyMeshDetail(rcPolyMeshDetail *detailMesh): Recast.cpp'],['../group__recast.html#ga3efa77f1a8305250471c2ac09672d9ae',1,'rcFreePolyMeshDetail(rcPolyMeshDetail *detailMesh): Recast.cpp']]], + ['rcgetchunksoverlappingrect_1425',['rcGetChunksOverlappingRect',['../ChunkyTriMesh_8cpp.html#a1ddf6286b85d102c1012cb3db79020e2',1,'rcGetChunksOverlappingRect(const rcChunkyTriMesh *cm, float bmin[2], float bmax[2], int *ids, const int maxIds): ChunkyTriMesh.cpp'],['../ChunkyTriMesh_8h.html#a1ddf6286b85d102c1012cb3db79020e2',1,'rcGetChunksOverlappingRect(const rcChunkyTriMesh *cm, float bmin[2], float bmax[2], int *ids, const int maxIds): ChunkyTriMesh.cpp']]], + ['rcgetchunksoverlappingsegment_1426',['rcGetChunksOverlappingSegment',['../ChunkyTriMesh_8cpp.html#a2738633e684f03e39567d80500039c7d',1,'rcGetChunksOverlappingSegment(const rcChunkyTriMesh *cm, float p[2], float q[2], int *ids, const int maxIds): ChunkyTriMesh.cpp'],['../ChunkyTriMesh_8h.html#a2738633e684f03e39567d80500039c7d',1,'rcGetChunksOverlappingSegment(const rcChunkyTriMesh *cm, float p[2], float q[2], int *ids, const int maxIds): ChunkyTriMesh.cpp']]], + ['rcgetcon_1427',['rcGetCon',['../group__recast.html#gad3ccc7652b12db58c8e58c976bb34b1b',1,'Recast.h']]], + ['rcgetdirforoffset_1428',['rcGetDirForOffset',['../group__recast.html#gaf7827d43d6b3e24ab5aba552343bce26',1,'Recast.h']]], + ['rcgetdiroffsetx_1429',['rcGetDirOffsetX',['../group__recast.html#ga7f308c34d7d5beb73eca24fe30033064',1,'Recast.h']]], + ['rcgetdiroffsety_1430',['rcGetDirOffsetY',['../group__recast.html#ga7d225822d057252755aeeebdc2388cf2',1,'Recast.h']]], + ['rcgetheightfieldspancount_1431',['rcGetHeightFieldSpanCount',['../group__recast.html#gabade813042a8c79ddb2f4ecf84620cf8',1,'rcGetHeightFieldSpanCount(rcContext *context, const rcHeightfield &heightfield): Recast.cpp'],['../group__recast.html#gabade813042a8c79ddb2f4ecf84620cf8',1,'rcGetHeightFieldSpanCount(rcContext *context, const rcHeightfield &heightfield): Recast.cpp']]], + ['rcheightfield_1432',['rcHeightfield',['../structrcHeightfield.html',1,'rcHeightfield'],['../structrcHeightfield.html#acfb6e103d887102196c69f1e28954cd4',1,'rcHeightfield::rcHeightfield()']]], + ['rcheightfieldlayer_1433',['rcHeightfieldLayer',['../structrcHeightfieldLayer.html',1,'']]], + ['rcheightfieldlayerset_1434',['rcHeightfieldLayerSet',['../structrcHeightfieldLayerSet.html',1,'rcHeightfieldLayerSet'],['../structrcHeightfieldLayerSet.html#a5c4ff4d898a2f7e014439ac1c8e98e6f',1,'rcHeightfieldLayerSet::rcHeightfieldLayerSet()']]], + ['rcheightpatch_1435',['rcHeightPatch',['../structrcHeightPatch.html',1,'rcHeightPatch'],['../structrcHeightPatch.html#a7bec65bd5c005d4c47e041596fdf1b8d',1,'rcHeightPatch::rcHeightPatch()']]], + ['rcignoreunused_1436',['rcIgnoreUnused',['../Recast_8h.html#a590be6fed00e1ed747939ee51b0b433c',1,'Recast.h']]], + ['rcintarray_1437',['rcIntArray',['../classrcIntArray.html#a7c2de9614c66762b3083becbdcaf07d4',1,'rcIntArray::rcIntArray()'],['../classrcIntArray.html#ae24aed0e0cb7e79fc0a34de088eba93a',1,'rcIntArray::rcIntArray(int n)'],['../classrcIntArray.html',1,'rcIntArray']]], + ['rclayerregion_1438',['rcLayerRegion',['../structrcLayerRegion.html',1,'']]], + ['rclayersweepspan_1439',['rcLayerSweepSpan',['../structrcLayerSweepSpan.html',1,'']]], + ['rclikely_1440',['rcLikely',['../RecastAlloc_8h.html#ae2660587d43aff9382684c2410bf2dc5',1,'RecastAlloc.h']]], + ['rclogcategory_1441',['rcLogCategory',['../Recast_8h.html#a82cf824a1948a8442785a7ea184f410b',1,'Recast.h']]], + ['rcmarkboxarea_1442',['rcMarkBoxArea',['../group__recast.html#ga527b4c24537e47bcc472f28965c7b7bf',1,'rcMarkBoxArea(rcContext *ctx, const float *bmin, const float *bmax, unsigned char areaId, rcCompactHeightfield &chf): RecastArea.cpp'],['../group__recast.html#ga527b4c24537e47bcc472f28965c7b7bf',1,'rcMarkBoxArea(rcContext *ctx, const float *bmin, const float *bmax, unsigned char areaId, rcCompactHeightfield &chf): RecastArea.cpp']]], + ['rcmarkconvexpolyarea_1443',['rcMarkConvexPolyArea',['../group__recast.html#ga1e8f3c9c2cb664fb2874d01448a1f223',1,'rcMarkConvexPolyArea(rcContext *ctx, const float *verts, const int nverts, const float hmin, const float hmax, unsigned char areaId, rcCompactHeightfield &chf): RecastArea.cpp'],['../group__recast.html#ga1e8f3c9c2cb664fb2874d01448a1f223',1,'rcMarkConvexPolyArea(rcContext *ctx, const float *verts, const int nverts, const float hmin, const float hmax, unsigned char areaId, rcCompactHeightfield &chf): RecastArea.cpp']]], + ['rcmarkcylinderarea_1444',['rcMarkCylinderArea',['../group__recast.html#gac2de1bc06b5804dd4304a90f39829948',1,'rcMarkCylinderArea(rcContext *ctx, const float *pos, const float r, const float h, unsigned char areaId, rcCompactHeightfield &chf): RecastArea.cpp'],['../group__recast.html#gac2de1bc06b5804dd4304a90f39829948',1,'rcMarkCylinderArea(rcContext *ctx, const float *pos, const float r, const float h, unsigned char areaId, rcCompactHeightfield &chf): RecastArea.cpp']]], + ['rcmarkwalkabletriangles_1445',['rcMarkWalkableTriangles',['../group__recast.html#ga63e7b847422bfd78acea724088da6561',1,'rcMarkWalkableTriangles(rcContext *context, float walkableSlopeAngle, const float *verts, int numVerts, const int *tris, int numTris, unsigned char *triAreaIDs): Recast.cpp'],['../group__recast.html#ga63e7b847422bfd78acea724088da6561',1,'rcMarkWalkableTriangles(rcContext *context, const float walkableSlopeAngle, const float *verts, const int numVerts, const int *tris, const int numTris, unsigned char *triAreaIDs): Recast.cpp']]], + ['rcmax_1446',['rcMax',['../Recast_8h.html#accb921a8353da3a74aa90a491aff74c8',1,'Recast.h']]], + ['rcmedianfilterwalkablearea_1447',['rcMedianFilterWalkableArea',['../group__recast.html#ga793672ade7833e916dd3c0e7a5bd6cc5',1,'rcMedianFilterWalkableArea(rcContext *ctx, rcCompactHeightfield &chf): RecastArea.cpp'],['../group__recast.html#ga793672ade7833e916dd3c0e7a5bd6cc5',1,'rcMedianFilterWalkableArea(rcContext *ctx, rcCompactHeightfield &chf): RecastArea.cpp']]], + ['rcmergepolymeshdetails_1448',['rcMergePolyMeshDetails',['../group__recast.html#ga6ef022fcf6dabdb0437b979304c0defe',1,'rcMergePolyMeshDetails(rcContext *ctx, rcPolyMeshDetail **meshes, const int nmeshes, rcPolyMeshDetail &mesh): RecastMeshDetail.cpp'],['../group__recast.html#ga6ef022fcf6dabdb0437b979304c0defe',1,'rcMergePolyMeshDetails(rcContext *ctx, rcPolyMeshDetail **meshes, const int nmeshes, rcPolyMeshDetail &mesh): RecastMeshDetail.cpp']]], + ['rcmergepolymeshes_1449',['rcMergePolyMeshes',['../group__recast.html#gaa28c3eb627ca7d96015c7978ff0eb8f7',1,'rcMergePolyMeshes(rcContext *ctx, rcPolyMesh **meshes, const int nmeshes, rcPolyMesh &mesh): RecastMesh.cpp'],['../group__recast.html#gaa28c3eb627ca7d96015c7978ff0eb8f7',1,'rcMergePolyMeshes(rcContext *ctx, rcPolyMesh **meshes, const int nmeshes, rcPolyMesh &mesh): RecastMesh.cpp']]], + ['rcmeshloaderobj_1450',['rcMeshLoaderObj',['../classrcMeshLoaderObj.html#aca2b288ef62db83a15950ef74e38c598',1,'rcMeshLoaderObj::rcMeshLoaderObj()'],['../classrcMeshLoaderObj.html',1,'rcMeshLoaderObj']]], + ['rcmin_1451',['rcMin',['../Recast_8h.html#aac83e8b749d8fed2164e00e7e0f43687',1,'Recast.h']]], + ['rcnewtag_1452',['rcNewTag',['../structrcNewTag.html',1,'']]], + ['rcoffsetpoly_1453',['rcOffsetPoly',['../group__recast.html#gad71d03bb37c1a16700d57c5f7dff4057',1,'rcOffsetPoly(const float *verts, const int nverts, const float offset, float *outVerts, const int maxOutVerts): RecastArea.cpp'],['../group__recast.html#gad71d03bb37c1a16700d57c5f7dff4057',1,'rcOffsetPoly(const float *verts, const int nverts, const float offset, float *outVerts, const int maxOutVerts): RecastArea.cpp']]], + ['rcpermvector_1454',['rcPermVector',['../classrcPermVector.html',1,'rcPermVector< T >'],['../classrcPermVector.html#a5d48515ae3a5a8e1039d7d50a2c2a983',1,'rcPermVector::rcPermVector(const rcPermVector< T > &other)'],['../classrcPermVector.html#ab845b684e91805b000408677bb5f7950',1,'rcPermVector::rcPermVector(rcSizeType size)'],['../classrcPermVector.html#a6bab96097aa5bc2a52ed9db6cf2bfe44',1,'rcPermVector::rcPermVector(rcSizeType size, const T &value)'],['../classrcPermVector.html#a4a8e2bd6e71f585760376609218e3862',1,'rcPermVector::rcPermVector()'],['../classrcPermVector.html#a89cdaf5eed318260c697bdcbe75a82f1',1,'rcPermVector::rcPermVector(const T *begin, const T *end)']]], + ['rcpolymesh_1455',['rcPolyMesh',['../structrcPolyMesh.html',1,'rcPolyMesh'],['../structrcPolyMesh.html#a219af1d7c18ebc7cea0d845c76166123',1,'rcPolyMesh::rcPolyMesh()']]], + ['rcpolymeshdetail_1456',['rcPolyMeshDetail',['../structrcPolyMeshDetail.html#ac19c2eb106a9a9bd40e15f16fd847c84',1,'rcPolyMeshDetail::rcPolyMeshDetail()'],['../structrcPolyMeshDetail.html',1,'rcPolyMeshDetail']]], + ['rcpotentialdiagonal_1457',['rcPotentialDiagonal',['../structrcPotentialDiagonal.html',1,'']]], + ['rcrasterizetriangle_1458',['rcRasterizeTriangle',['../group__recast.html#ga23a98560fac96a1d2eb9f01c6617e927',1,'rcRasterizeTriangle(rcContext *context, const float *v0, const float *v1, const float *v2, const unsigned char areaID, rcHeightfield &heightfield, const int flagMergeThreshold): RecastRasterization.cpp'],['../group__recast.html#ga23a98560fac96a1d2eb9f01c6617e927',1,'rcRasterizeTriangle(rcContext *context, const float *v0, const float *v1, const float *v2, unsigned char areaID, rcHeightfield &heightfield, int flagMergeThreshold=1): RecastRasterization.cpp']]], + ['rcrasterizetriangles_1459',['rcRasterizeTriangles',['../group__recast.html#gaebc5f38893ede7ee5d107a9ad2dbd369',1,'rcRasterizeTriangles(rcContext *context, const float *verts, const unsigned char *triAreaIDs, int numTris, rcHeightfield &heightfield, int flagMergeThreshold=1): RecastRasterization.cpp'],['../group__recast.html#ga40ce03082b89fd8d890fa65d9b3d64d9',1,'rcRasterizeTriangles(rcContext *context, const float *verts, int numVerts, const unsigned short *tris, const unsigned char *triAreaIDs, int numTris, rcHeightfield &heightfield, int flagMergeThreshold=1): RecastRasterization.cpp'],['../group__recast.html#gadac24191b69876017ed01d85e0a44645',1,'rcRasterizeTriangles(rcContext *context, const float *verts, int numVerts, const int *tris, const unsigned char *triAreaIDs, int numTris, rcHeightfield &heightfield, int flagMergeThreshold=1): RecastRasterization.cpp'],['../group__recast.html#gadac24191b69876017ed01d85e0a44645',1,'rcRasterizeTriangles(rcContext *context, const float *verts, const int, const int *tris, const unsigned char *triAreaIDs, const int numTris, rcHeightfield &heightfield, const int flagMergeThreshold): RecastRasterization.cpp'],['../group__recast.html#ga40ce03082b89fd8d890fa65d9b3d64d9',1,'rcRasterizeTriangles(rcContext *context, const float *verts, const int, const unsigned short *tris, const unsigned char *triAreaIDs, const int numTris, rcHeightfield &heightfield, const int flagMergeThreshold): RecastRasterization.cpp'],['../group__recast.html#gaebc5f38893ede7ee5d107a9ad2dbd369',1,'rcRasterizeTriangles(rcContext *context, const float *verts, const unsigned char *triAreaIDs, const int numTris, rcHeightfield &heightfield, const int flagMergeThreshold): RecastRasterization.cpp']]], + ['rcregion_1460',['rcRegion',['../structrcRegion.html#ac7b24c63bcdaeee325cdc61b4f12f39c',1,'rcRegion::rcRegion()'],['../structrcRegion.html',1,'rcRegion']]], + ['rcscopeddelete_1461',['rcScopedDelete',['../classrcScopedDelete.html#a2f096ff87f4d48259dd85360a4218155',1,'rcScopedDelete::rcScopedDelete(T *p)'],['../classrcScopedDelete.html#a24d9238f78295ccbd1050247030e3741',1,'rcScopedDelete::rcScopedDelete()'],['../classrcScopedDelete.html',1,'rcScopedDelete< T >']]], + ['rcscopedtimer_1462',['rcScopedTimer',['../classrcScopedTimer.html#ac75ae8ce09cdb8fc53a994e027e8735f',1,'rcScopedTimer::rcScopedTimer()'],['../classrcScopedTimer.html',1,'rcScopedTimer']]], + ['rcsetcon_1463',['rcSetCon',['../group__recast.html#ga8cdbebeeb64de5fc7b4b36281f165fc4',1,'Recast.h']]], + ['rcsizetype_1464',['rcSizeType',['../RecastAlloc_8h.html#a44d212414873bc2fc522d9e6493a4c36',1,'RecastAlloc.h']]], + ['rcspan_1465',['rcSpan',['../structrcSpan.html',1,'']]], + ['rcspanpool_1466',['rcSpanPool',['../structrcSpanPool.html',1,'']]], + ['rcsqr_1467',['rcSqr',['../Recast_8h.html#a9c26528d4e9f1c67f9a44c37462fd8fd',1,'Recast.h']]], + ['rcsqrt_1468',['rcSqrt',['../Recast_8h.html#a27c978b5bf2b857ec501ebd86c4e5981',1,'rcSqrt(float x): Recast.cpp'],['../Recast_8cpp.html#a27c978b5bf2b857ec501ebd86c4e5981',1,'rcSqrt(float x): Recast.cpp']]], + ['rcswap_1469',['rcSwap',['../Recast_8h.html#a2b7d8e54f72e8918a8b19c73eedf2d46',1,'Recast.h']]], + ['rcsweepspan_1470',['rcSweepSpan',['../structrcSweepSpan.html',1,'']]], + ['rctempvector_1471',['rcTempVector',['../classrcTempVector.html',1,'rcTempVector< T >'],['../classrcTempVector.html#ad68fddbb8a49de780a7bc5dfd7ba931b',1,'rcTempVector::rcTempVector(const T *begin, const T *end)'],['../classrcTempVector.html#aa33c5488bd5f8a8b2fc744b664492ec0',1,'rcTempVector::rcTempVector(const rcTempVector< T > &other)'],['../classrcTempVector.html#add0f3a3c33369289dbda6c516dcbf2fe',1,'rcTempVector::rcTempVector(rcSizeType size, const T &value)'],['../classrcTempVector.html#a9e491141c491c6f8d486f0d3b1b8c138',1,'rcTempVector::rcTempVector(rcSizeType size)'],['../classrcTempVector.html#af5ec381dde4823dd11a07e6148a24ecb',1,'rcTempVector::rcTempVector()']]], + ['rctempvector_3c_20int_20_3e_1472',['rcTempVector< int >',['../classrcTempVector.html',1,'']]], + ['rctimerlabel_1473',['rcTimerLabel',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18d',1,'Recast.h']]], + ['rcunlikely_1474',['rcUnlikely',['../RecastAlloc_8h.html#a97095ea2bb90ee745014fe8dc36ca483',1,'RecastAlloc.h']]], + ['rcvadd_1475',['rcVadd',['../Recast_8h.html#ac291c13507720ed59b046c7730d1cee7',1,'Recast.h']]], + ['rcvcopy_1476',['rcVcopy',['../Recast_8h.html#a9cbb34310e47a6def133a4b533d073ea',1,'Recast.h']]], + ['rcvcross_1477',['rcVcross',['../Recast_8h.html#a374fcf43c2ade76f195d3089b6964833',1,'Recast.h']]], + ['rcvdist_1478',['rcVdist',['../Recast_8h.html#a0d790d74c5ca7363ba1c0cddc9d2d896',1,'Recast.h']]], + ['rcvdistsqr_1479',['rcVdistSqr',['../Recast_8h.html#aa30870674c29a9777390a289bf862163',1,'Recast.h']]], + ['rcvdot_1480',['rcVdot',['../Recast_8h.html#a0c946b3f2523d0dfb776fc393387279f',1,'Recast.h']]], + ['rcvectorbase_1481',['rcVectorBase',['../classrcVectorBase.html#aac2d9f172cfd893f2d9909307d8f0464',1,'rcVectorBase::rcVectorBase(const T *begin, const T *end)'],['../classrcVectorBase.html#abc573f1079adf53bcedca5399229725a',1,'rcVectorBase::rcVectorBase(rcSizeType count, const T &value)'],['../classrcVectorBase.html',1,'rcVectorBase< T, H >'],['../classrcVectorBase.html#a6208e9739c444e7502096879fb5533c8',1,'rcVectorBase::rcVectorBase(rcSizeType count)'],['../classrcVectorBase.html#a8e430f14a32b2995876ac042d32f674b',1,'rcVectorBase::rcVectorBase(const rcVectorBase< T, H > &other)'],['../classrcVectorBase.html#a82283bb72bbcc6c9c4fada0b12d1594a',1,'rcVectorBase::rcVectorBase()']]], + ['rcvectorbase_3c_20t_2c_20rc_5falloc_5fperm_20_3e_1482',['rcVectorBase< T, RC_ALLOC_PERM >',['../classrcVectorBase.html',1,'']]], + ['rcvectorbase_3c_20t_2c_20rc_5falloc_5ftemp_20_3e_1483',['rcVectorBase< T, RC_ALLOC_TEMP >',['../classrcVectorBase.html',1,'']]], + ['rcvmad_1484',['rcVmad',['../Recast_8h.html#a1a400b0467856a9ab0cbcd8a695484e0',1,'Recast.h']]], + ['rcvmax_1485',['rcVmax',['../Recast_8h.html#a5033980308619575a48cef8f497af3cf',1,'Recast.h']]], + ['rcvmin_1486',['rcVmin',['../Recast_8h.html#ab49a84d90945782df879b0c7e84239db',1,'Recast.h']]], + ['rcvnormalize_1487',['rcVnormalize',['../Recast_8h.html#adad36d3a913091d1288e386192c3c6ab',1,'Recast.h']]], + ['rcvsub_1488',['rcVsub',['../Recast_8h.html#a5d171a02fc4cda0b829b6ff7a4793376',1,'Recast.h']]], + ['read_1489',['read',['../structduFileIO.html#af9c0d46a4697c00c657fa75636d0cf67',1,'duFileIO::read()'],['../classFileIO.html#a11dcd9d7e8a00db63db74abf437dc4a7',1,'FileIO::read()']]], + ['readme_2emd_1490',['README.md',['../README_8md.html',1,'']]], + ['recalc_1491',['recalc',['../classNavMeshTesterTool.html#ae83ed79dc72553b7e14f2fcbaa05d380',1,'NavMeshTesterTool']]], + ['recast_1492',['Recast',['../group__recast.html',1,'']]], + ['recast_20_26_20detour_1493',['Recast & Detour',['../index.html',1,'']]], + ['recast_20development_20roadmap_1494',['Recast Development Roadmap',['../md_Roadmap.html',1,'']]], + ['recast_2ecpp_1495',['Recast.cpp',['../Recast_8cpp.html',1,'']]], + ['recast_2eh_1496',['Recast.h',['../Recast_8h.html',1,'']]], + ['recast_5fapi_2etxt_1497',['Recast_api.txt',['../Recast__api_8txt.html',1,'']]], + ['recastalloc_2ecpp_1498',['RecastAlloc.cpp',['../RecastAlloc_8cpp.html',1,'']]], + ['recastalloc_2eh_1499',['RecastAlloc.h',['../RecastAlloc_8h.html',1,'']]], + ['recastarea_2ecpp_1500',['RecastArea.cpp',['../RecastArea_8cpp.html',1,'']]], + ['recastassert_2ecpp_1501',['RecastAssert.cpp',['../RecastAssert_8cpp.html',1,'']]], + ['recastassert_2eh_1502',['RecastAssert.h',['../RecastAssert_8h.html',1,'']]], + ['recastcontour_2ecpp_1503',['RecastContour.cpp',['../RecastContour_8cpp.html',1,'']]], + ['recastdebugdraw_2ecpp_1504',['RecastDebugDraw.cpp',['../RecastDebugDraw_8cpp.html',1,'']]], + ['recastdebugdraw_2eh_1505',['RecastDebugDraw.h',['../RecastDebugDraw_8h.html',1,'']]], + ['recastdump_2ecpp_1506',['RecastDump.cpp',['../RecastDump_8cpp.html',1,'']]], + ['recastdump_2eh_1507',['RecastDump.h',['../RecastDump_8h.html',1,'']]], + ['recastfilter_2ecpp_1508',['RecastFilter.cpp',['../RecastFilter_8cpp.html',1,'']]], + ['recastlayers_2ecpp_1509',['RecastLayers.cpp',['../RecastLayers_8cpp.html',1,'']]], + ['recastmesh_2ecpp_1510',['RecastMesh.cpp',['../RecastMesh_8cpp.html',1,'']]], + ['recastmeshdetail_2ecpp_1511',['RecastMeshDetail.cpp',['../RecastMeshDetail_8cpp.html',1,'']]], + ['recastrasterization_2ecpp_1512',['RecastRasterization.cpp',['../RecastRasterization_8cpp.html',1,'']]], + ['recastregion_2ecpp_1513',['RecastRegion.cpp',['../RecastRegion_8cpp.html',1,'']]], + ['rect_1514',['rect',['../structimguiGfxCmd.html#a83f785a85c31c45d64870075d76e9b50',1,'imguiGfxCmd']]], + ['ref_1515',['ref',['../structdtTileState.html#a5c3602092e22491b52974d478e229cd0',1,'dtTileState::ref()'],['../structdtSegInterval.html#adeaef89322156ccfb6ecd7fc5e259b70',1,'dtSegInterval::ref()'],['../structdtLink.html#a34c73193fed76de347adb0f2e9841659',1,'dtLink::ref()']]], + ['reg_1516',['reg',['../structdtTileCacheContour.html#a71fc05a4f350f018a5ee82c446381d6a',1,'dtTileCacheContour::reg()'],['../structrcCompactSpan.html#aca1a16c8453c9533120c094979601d77',1,'rcCompactSpan::reg()'],['../structrcContour.html#a8971d5c5cc7c7fb8e5d79a6ff9812cd1',1,'rcContour::reg()']]], + ['regcount_1517',['regCount',['../structdtTileCacheLayer.html#ab9bd3001111fc4512c2ef7f225a4466d',1,'dtTileCacheLayer']]], + ['regid_1518',['regId',['../structdtLayerMonotoneRegion.html#a1f4d98055db146d7bd28129b1f5741cd',1,'dtLayerMonotoneRegion']]], + ['region_1519',['region',['../structDirtyEntry.html#ad3c4712adccfb24f1a7ab8d75f42ab1e',1,'DirtyEntry']]], + ['regionmergesize_1520',['regionMergeSize',['../structBuildSettings.html#af2ca11587809f94520e65568f878b05a',1,'BuildSettings']]], + ['regionminsize_1521',['regionMinSize',['../structBuildSettings.html#a3d005a4039976ee34798ff06775f6d73',1,'BuildSettings']]], + ['regs_1522',['regs',['../structdtTileCacheLayer.html#a2c1f0dc1d5b1b0c5770fdd49aa0cb634',1,'dtTileCacheLayer::regs()'],['../structrcPolyMesh.html#a9ae584e99de152fb89d957d43b7becd8',1,'rcPolyMesh::regs()']]], + ['remap_1523',['remap',['../structrcRegion.html#afacd1efddbdfbb854e7c2cf505365f0b',1,'rcRegion']]], + ['removeadjacentneighbours_1524',['removeAdjacentNeighbours',['../RecastRegion_8cpp.html#acee28f21b593f1ff6a235c444fafc59c',1,'RecastRegion.cpp']]], + ['removeagent_1525',['removeAgent',['../classdtCrowd.html#ae958ada7790a718a2887114264010f62',1,'dtCrowd::removeAgent()'],['../classCrowdToolState.html#a17350c7e2780825c7e0d1ee8d72efc51',1,'CrowdToolState::removeAgent()']]], + ['removealltiles_1526',['removeAllTiles',['../classSample__TileMesh.html#a89b9b604265264545dd4f2e7774bbd38',1,'Sample_TileMesh']]], + ['removedegeneratesegments_1527',['removeDegenerateSegments',['../RecastContour_8cpp.html#a4e79138985b8e7443e813250a17d3f71',1,'RecastContour.cpp']]], + ['removeobstacle_1528',['removeObstacle',['../classdtTileCache.html#afa96b0b04338947f24097a39db50d9f8',1,'dtTileCache']]], + ['removetempobstacle_1529',['removeTempObstacle',['../classSample__TempObstacles.html#aa75dc5c43353654d26725c28d5c70a1a',1,'Sample_TempObstacles']]], + ['removetile_1530',['removeTile',['../classdtNavMesh.html#a5ca09946d00f1cee4987ed5e2f999fdb',1,'dtNavMesh::removeTile()'],['../classdtTileCache.html#a8ead2a72687eec8644f64b3e3cf1942e',1,'dtTileCache::removeTile()'],['../classSample__TileMesh.html#acb20fb7f98bae7e834d9e013a2bfab99',1,'Sample_TileMesh::removeTile()']]], + ['removevertex_1531',['removeVertex',['../DetourTileCacheBuilder_8cpp.html#a5bdb6e945a71779feecea1da449ee446',1,'removeVertex(dtTileCachePolyMesh &mesh, const unsigned short rem, const int maxTris): DetourTileCacheBuilder.cpp'],['../RecastMesh_8cpp.html#ac8ebd1bb6f534d5a37959dcb3321ce7d',1,'removeVertex(rcContext *ctx, rcPolyMesh &mesh, const unsigned short rem, const int maxTris): RecastMesh.cpp']]], + ['rendercachedtile_1532',['renderCachedTile',['../classSample__TempObstacles.html#a7fa8a7f3d017bd06e1d0900d33be8289',1,'Sample_TempObstacles']]], + ['rendercachedtileoverlay_1533',['renderCachedTileOverlay',['../classSample__TempObstacles.html#ac46b5df666eee29f76a1e0a2fa16651b',1,'Sample_TempObstacles']]], + ['renderoverlaytoolstates_1534',['renderOverlayToolStates',['../classSample.html#a3f94bf8837f6fe91430508b1cd6dc33e',1,'Sample']]], + ['rendertoolstates_1535',['renderToolStates',['../classSample.html#ae660249e6e9f94b1606e617cf8c3a7a0',1,'Sample']]], + ['replaceneighbour_1536',['replaceNeighbour',['../RecastRegion_8cpp.html#a5b2ece2d7931891cdb3fe0b7b41de1b4',1,'RecastRegion.cpp']]], + ['request_1537',['request',['../classdtPathQueue.html#acc95d9bf0e1b12543be41c3ca938e994',1,'dtPathQueue']]], + ['requestmovetarget_1538',['requestMoveTarget',['../classdtCrowd.html#aa30c34a65535118989ccd86542e96797',1,'dtCrowd']]], + ['requestmovevelocity_1539',['requestMoveVelocity',['../classdtCrowd.html#a4fe7e43e63d857e77f9db1f20b904806',1,'dtCrowd']]], + ['reserve_1540',['reserve',['../classrcVectorBase.html#a1177670bcc87add05f0e060e93b5e6bd',1,'rcVectorBase']]], + ['reset_1541',['reset',['../classCrowdTool.html#ad997d15d14cf4815d57f843186faeba7',1,'CrowdTool::reset()'],['../classdtLocalBoundary.html#a2a3911b20edb27140857289dd2eea76c',1,'dtLocalBoundary::reset()'],['../classdtObstacleAvoidanceDebugData.html#a2e7d802ea941ad37d5244af91c47f0c9',1,'dtObstacleAvoidanceDebugData::reset()'],['../classdtObstacleAvoidanceQuery.html#a993c62548ead013ac1cb622c43c175ad',1,'dtObstacleAvoidanceQuery::reset()'],['../classdtPathCorridor.html#abe057e7b5e1d6677e3d9eadb558df2b0',1,'dtPathCorridor::reset()'],['../structdtTileCacheAlloc.html#a04f61863b2c6a81e1fbfd96dd519a733',1,'dtTileCacheAlloc::reset()'],['../classConvexVolumeTool.html#a1d76b864c30767fc81ade0dbaa44e6af',1,'ConvexVolumeTool::reset()'],['../classCrowdToolState.html#a759f52b7630a3799e6c616ab28b9e2df',1,'CrowdToolState::reset()'],['../classNavMeshPruneTool.html#a97fbf2b28e1c1df8eb3a2005d688009f',1,'NavMeshPruneTool::reset()'],['../classNavMeshTesterTool.html#a0706dadffb0df9078b205469d62d6d92',1,'NavMeshTesterTool::reset()'],['../classOffMeshConnectionTool.html#a8c283c43fa59b196e16440b177cefcfe',1,'OffMeshConnectionTool::reset()'],['../structSampleTool.html#ac861b5b1d9c1b5be2be6059c1d842cb8',1,'SampleTool::reset()'],['../structSampleToolState.html#aa2dbe87e98b6544ac923398ec93184cf',1,'SampleToolState::reset()'],['../structLinearAllocator.html#acc5d12bb6d334626d7af0aecdbf163ec',1,'LinearAllocator::reset()'],['../classTempObstacleHilightTool.html#a18662a3c7ada140b16aa40cdf678caf5',1,'TempObstacleHilightTool::reset()'],['../classTempObstacleCreateTool.html#a8977e144279facb03ae5bbceb6102b5d',1,'TempObstacleCreateTool::reset()'],['../classNavMeshTileTool.html#aa53d119041aa124651928b09a99adbc6',1,'NavMeshTileTool::reset()']]], + ['resetcommonsettings_1542',['resetCommonSettings',['../classSample.html#a2b527228b469ae5d437e6f0a1caf958d',1,'Sample']]], + ['resetgfxcmdqueue_1543',['resetGfxCmdQueue',['../imgui_8cpp.html#a7b4f83dac967ed4fec237068a1ad2760',1,'imgui.cpp']]], + ['resetlog_1544',['resetLog',['../classrcContext.html#a68403737730ee112c523890a9fdc237d',1,'rcContext']]], + ['resetmovetarget_1545',['resetMoveTarget',['../classdtCrowd.html#a81405dee71882d0a21a4defd6087a270',1,'dtCrowd']]], + ['resettimers_1546',['resetTimers',['../classrcContext.html#a2fcc58bb1e29bbb9a7dfb834efff4a6d',1,'rcContext']]], + ['resettoolstates_1547',['resetToolStates',['../classSample.html#acfb792ed987cf946d264461a04683ff7',1,'Sample']]], + ['resize_1548',['resize',['../classrcVectorBase.html#a1cb229e5cbe8e798fe216393f2f0f327',1,'rcVectorBase::resize()'],['../structLinearAllocator.html#accc8b1eeda78503beeb05db04bedd4b9',1,'LinearAllocator::resize()'],['../classrcVectorBase.html#a7b39b29cfdec8a9cd2aca4a7f0f7a675',1,'rcVectorBase::resize()'],['../classrcIntArray.html#a3b07043775a4b76e7017c645dd9a7590',1,'rcIntArray::resize()']]], + ['restoretilestate_1549',['restoreTileState',['../classdtNavMesh.html#aef336a67e552a9d031d669ec84029fb8',1,'dtNavMesh']]], + ['rgba_1550',['RGBA',['../imguiRenderGL_8cpp.html#a413aaddb1ddea117f86218f2ca0234fe',1,'imguiRenderGL.cpp']]], + ['rid_1551',['rid',['../structrcSweepSpan.html#ab92de3221c19c2c9a2d716ea7680146f',1,'rcSweepSpan']]], + ['roadmap_2emd_1552',['Roadmap.md',['../Roadmap_8md.html',1,'']]], + ['rotaux_1553',['rotAux',['../structdtObstacleOrientedBox.html#a458dd50502225f6b7070f9cad93c537b',1,'dtObstacleOrientedBox']]], + ['rverts_1554',['rverts',['../structrcContour.html#a4875d6bf00efae95009d0fe8ccb1f0e9',1,'rcContour']]] +]; diff --git a/search/classes_0.html b/search/classes_0.html new file mode 100644 index 00000000..af8159ee --- /dev/null +++ b/search/classes_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_0.js b/search/classes_0.js new file mode 100644 index 00000000..d7cf64a4 --- /dev/null +++ b/search/classes_0.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['boundsitem_1841',['BoundsItem',['../structBoundsItem.html',1,'']]], + ['buildcontext_1842',['BuildContext',['../classBuildContext.html',1,'']]], + ['buildsettings_1843',['BuildSettings',['../structBuildSettings.html',1,'']]], + ['bvitem_1844',['BVItem',['../structBVItem.html',1,'']]] +]; diff --git a/search/classes_1.html b/search/classes_1.html new file mode 100644 index 00000000..576e9168 --- /dev/null +++ b/search/classes_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_1.js b/search/classes_1.js new file mode 100644 index 00000000..e038848e --- /dev/null +++ b/search/classes_1.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['convexvolume_1845',['ConvexVolume',['../structConvexVolume.html',1,'']]], + ['convexvolumetool_1846',['ConvexVolumeTool',['../classConvexVolumeTool.html',1,'']]], + ['crowdtool_1847',['CrowdTool',['../classCrowdTool.html',1,'']]], + ['crowdtoolparams_1848',['CrowdToolParams',['../structCrowdToolParams.html',1,'']]], + ['crowdtoolstate_1849',['CrowdToolState',['../classCrowdToolState.html',1,'']]] +]; diff --git a/search/classes_2.html b/search/classes_2.html new file mode 100644 index 00000000..956405e5 --- /dev/null +++ b/search/classes_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_2.js b/search/classes_2.js new file mode 100644 index 00000000..72ff4ebc --- /dev/null +++ b/search/classes_2.js @@ -0,0 +1,64 @@ +var searchData= +[ + ['debugdrawgl_1850',['DebugDrawGL',['../classDebugDrawGL.html',1,'']]], + ['dirtyentry_1851',['DirtyEntry',['../structDirtyEntry.html',1,'']]], + ['dtbvnode_1852',['dtBVNode',['../structdtBVNode.html',1,'']]], + ['dtcollectpolysquery_1853',['dtCollectPolysQuery',['../classdtCollectPolysQuery.html',1,'']]], + ['dtcompressedtile_1854',['dtCompressedTile',['../structdtCompressedTile.html',1,'']]], + ['dtcrowd_1855',['dtCrowd',['../classdtCrowd.html',1,'']]], + ['dtcrowdagent_1856',['dtCrowdAgent',['../structdtCrowdAgent.html',1,'']]], + ['dtcrowdagentanimation_1857',['dtCrowdAgentAnimation',['../structdtCrowdAgentAnimation.html',1,'']]], + ['dtcrowdagentdebuginfo_1858',['dtCrowdAgentDebugInfo',['../structdtCrowdAgentDebugInfo.html',1,'']]], + ['dtcrowdagentparams_1859',['dtCrowdAgentParams',['../structdtCrowdAgentParams.html',1,'']]], + ['dtcrowdneighbour_1860',['dtCrowdNeighbour',['../structdtCrowdNeighbour.html',1,'']]], + ['dtfindnearestpolyquery_1861',['dtFindNearestPolyQuery',['../classdtFindNearestPolyQuery.html',1,'']]], + ['dtfixedarray_1862',['dtFixedArray',['../classdtFixedArray.html',1,'']]], + ['dtlayermonotoneregion_1863',['dtLayerMonotoneRegion',['../structdtLayerMonotoneRegion.html',1,'']]], + ['dtlayersweepspan_1864',['dtLayerSweepSpan',['../structdtLayerSweepSpan.html',1,'']]], + ['dtlink_1865',['dtLink',['../structdtLink.html',1,'']]], + ['dtlocalboundary_1866',['dtLocalBoundary',['../classdtLocalBoundary.html',1,'']]], + ['dtmeshheader_1867',['dtMeshHeader',['../structdtMeshHeader.html',1,'']]], + ['dtmeshtile_1868',['dtMeshTile',['../structdtMeshTile.html',1,'']]], + ['dtnavmesh_1869',['dtNavMesh',['../classdtNavMesh.html',1,'']]], + ['dtnavmeshcreateparams_1870',['dtNavMeshCreateParams',['../structdtNavMeshCreateParams.html',1,'']]], + ['dtnavmeshparams_1871',['dtNavMeshParams',['../structdtNavMeshParams.html',1,'']]], + ['dtnavmeshquery_1872',['dtNavMeshQuery',['../classdtNavMeshQuery.html',1,'']]], + ['dtnode_1873',['dtNode',['../structdtNode.html',1,'']]], + ['dtnodepool_1874',['dtNodePool',['../classdtNodePool.html',1,'']]], + ['dtnodequeue_1875',['dtNodeQueue',['../classdtNodeQueue.html',1,'']]], + ['dtobstacleavoidancedebugdata_1876',['dtObstacleAvoidanceDebugData',['../classdtObstacleAvoidanceDebugData.html',1,'']]], + ['dtobstacleavoidanceparams_1877',['dtObstacleAvoidanceParams',['../structdtObstacleAvoidanceParams.html',1,'']]], + ['dtobstacleavoidancequery_1878',['dtObstacleAvoidanceQuery',['../classdtObstacleAvoidanceQuery.html',1,'']]], + ['dtobstaclebox_1879',['dtObstacleBox',['../structdtObstacleBox.html',1,'']]], + ['dtobstaclecircle_1880',['dtObstacleCircle',['../structdtObstacleCircle.html',1,'']]], + ['dtobstaclecylinder_1881',['dtObstacleCylinder',['../structdtObstacleCylinder.html',1,'']]], + ['dtobstacleorientedbox_1882',['dtObstacleOrientedBox',['../structdtObstacleOrientedBox.html',1,'']]], + ['dtobstaclesegment_1883',['dtObstacleSegment',['../structdtObstacleSegment.html',1,'']]], + ['dtoffmeshconnection_1884',['dtOffMeshConnection',['../structdtOffMeshConnection.html',1,'']]], + ['dtpathcorridor_1885',['dtPathCorridor',['../classdtPathCorridor.html',1,'']]], + ['dtpathqueue_1886',['dtPathQueue',['../classdtPathQueue.html',1,'']]], + ['dtpoly_1887',['dtPoly',['../structdtPoly.html',1,'']]], + ['dtpolydetail_1888',['dtPolyDetail',['../structdtPolyDetail.html',1,'']]], + ['dtpolyquery_1889',['dtPolyQuery',['../classdtPolyQuery.html',1,'']]], + ['dtpolystate_1890',['dtPolyState',['../structdtPolyState.html',1,'']]], + ['dtproximitygrid_1891',['dtProximityGrid',['../classdtProximityGrid.html',1,'']]], + ['dtqueryfilter_1892',['dtQueryFilter',['../classdtQueryFilter.html',1,'']]], + ['dtraycasthit_1893',['dtRaycastHit',['../structdtRaycastHit.html',1,'']]], + ['dtseginterval_1894',['dtSegInterval',['../structdtSegInterval.html',1,'']]], + ['dttempcontour_1895',['dtTempContour',['../structdtTempContour.html',1,'']]], + ['dttilecache_1896',['dtTileCache',['../classdtTileCache.html',1,'']]], + ['dttilecachealloc_1897',['dtTileCacheAlloc',['../structdtTileCacheAlloc.html',1,'']]], + ['dttilecachecompressor_1898',['dtTileCacheCompressor',['../structdtTileCacheCompressor.html',1,'']]], + ['dttilecachecontour_1899',['dtTileCacheContour',['../structdtTileCacheContour.html',1,'']]], + ['dttilecachecontourset_1900',['dtTileCacheContourSet',['../structdtTileCacheContourSet.html',1,'']]], + ['dttilecachelayer_1901',['dtTileCacheLayer',['../structdtTileCacheLayer.html',1,'']]], + ['dttilecachelayerheader_1902',['dtTileCacheLayerHeader',['../structdtTileCacheLayerHeader.html',1,'']]], + ['dttilecachemeshprocess_1903',['dtTileCacheMeshProcess',['../structdtTileCacheMeshProcess.html',1,'']]], + ['dttilecacheobstacle_1904',['dtTileCacheObstacle',['../structdtTileCacheObstacle.html',1,'']]], + ['dttilecacheparams_1905',['dtTileCacheParams',['../structdtTileCacheParams.html',1,'']]], + ['dttilecachepolymesh_1906',['dtTileCachePolyMesh',['../structdtTileCachePolyMesh.html',1,'']]], + ['dttilestate_1907',['dtTileState',['../structdtTileState.html',1,'']]], + ['dudebugdraw_1908',['duDebugDraw',['../structduDebugDraw.html',1,'']]], + ['dudisplaylist_1909',['duDisplayList',['../classduDisplayList.html',1,'']]], + ['dufileio_1910',['duFileIO',['../structduFileIO.html',1,'']]] +]; diff --git a/search/classes_3.html b/search/classes_3.html new file mode 100644 index 00000000..d33343bc --- /dev/null +++ b/search/classes_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_3.js b/search/classes_3.js new file mode 100644 index 00000000..9a7b6ba5 --- /dev/null +++ b/search/classes_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['fastlzcompressor_1911',['FastLZCompressor',['../structFastLZCompressor.html',1,'']]], + ['fileio_1912',['FileIO',['../classFileIO.html',1,'']]] +]; diff --git a/search/classes_4.html b/search/classes_4.html new file mode 100644 index 00000000..8430b07f --- /dev/null +++ b/search/classes_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_4.js b/search/classes_4.js new file mode 100644 index 00000000..ce913f14 --- /dev/null +++ b/search/classes_4.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['glcheckertexture_1913',['GLCheckerTexture',['../classGLCheckerTexture.html',1,'']]], + ['graphparams_1914',['GraphParams',['../structGraphParams.html',1,'']]], + ['guistate_1915',['GuiState',['../structGuiState.html',1,'']]] +]; diff --git a/search/classes_5.html b/search/classes_5.html new file mode 100644 index 00000000..c2f1b767 --- /dev/null +++ b/search/classes_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_5.js b/search/classes_5.js new file mode 100644 index 00000000..55007f0e --- /dev/null +++ b/search/classes_5.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['imguigfxcmd_1916',['imguiGfxCmd',['../structimguiGfxCmd.html',1,'']]], + ['imguigfxline_1917',['imguiGfxLine',['../structimguiGfxLine.html',1,'']]], + ['imguigfxrect_1918',['imguiGfxRect',['../structimguiGfxRect.html',1,'']]], + ['imguigfxtext_1919',['imguiGfxText',['../structimguiGfxText.html',1,'']]], + ['inputgeom_1920',['InputGeom',['../classInputGeom.html',1,'']]] +]; diff --git a/search/classes_6.html b/search/classes_6.html new file mode 100644 index 00000000..e39847ce --- /dev/null +++ b/search/classes_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_6.js b/search/classes_6.js new file mode 100644 index 00000000..c1e5c5d5 --- /dev/null +++ b/search/classes_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['linearallocator_1921',['LinearAllocator',['../structLinearAllocator.html',1,'']]] +]; diff --git a/search/classes_7.html b/search/classes_7.html new file mode 100644 index 00000000..a2c4d1a3 --- /dev/null +++ b/search/classes_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_7.js b/search/classes_7.js new file mode 100644 index 00000000..6ece2280 --- /dev/null +++ b/search/classes_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['meshprocess_1922',['MeshProcess',['../structMeshProcess.html',1,'']]] +]; diff --git a/search/classes_8.html b/search/classes_8.html new file mode 100644 index 00000000..17003e48 --- /dev/null +++ b/search/classes_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_8.js b/search/classes_8.js new file mode 100644 index 00000000..090c54e2 --- /dev/null +++ b/search/classes_8.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['navmeshflags_1923',['NavmeshFlags',['../classNavmeshFlags.html',1,'']]], + ['navmeshprunetool_1924',['NavMeshPruneTool',['../classNavMeshPruneTool.html',1,'']]], + ['navmeshsetheader_1925',['NavMeshSetHeader',['../structNavMeshSetHeader.html',1,'']]], + ['navmeshtestertool_1926',['NavMeshTesterTool',['../classNavMeshTesterTool.html',1,'']]], + ['navmeshtilebuildcontext_1927',['NavMeshTileBuildContext',['../structNavMeshTileBuildContext.html',1,'']]], + ['navmeshtileheader_1928',['NavMeshTileHeader',['../structNavMeshTileHeader.html',1,'']]], + ['navmeshtiletool_1929',['NavMeshTileTool',['../classNavMeshTileTool.html',1,'']]] +]; diff --git a/search/classes_9.html b/search/classes_9.html new file mode 100644 index 00000000..b8afa8cb --- /dev/null +++ b/search/classes_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_9.js b/search/classes_9.js new file mode 100644 index 00000000..ec2d16e9 --- /dev/null +++ b/search/classes_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['offmeshconnectiontool_1930',['OffMeshConnectionTool',['../classOffMeshConnectionTool.html',1,'']]] +]; diff --git a/search/classes_a.html b/search/classes_a.html new file mode 100644 index 00000000..6788af27 --- /dev/null +++ b/search/classes_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_a.js b/search/classes_a.js new file mode 100644 index 00000000..83f515b8 --- /dev/null +++ b/search/classes_a.js @@ -0,0 +1,40 @@ +var searchData= +[ + ['rasterizationcontext_1931',['RasterizationContext',['../structRasterizationContext.html',1,'']]], + ['rcchunkytrimesh_1932',['rcChunkyTriMesh',['../structrcChunkyTriMesh.html',1,'']]], + ['rcchunkytrimeshnode_1933',['rcChunkyTriMeshNode',['../structrcChunkyTriMeshNode.html',1,'']]], + ['rccompactcell_1934',['rcCompactCell',['../structrcCompactCell.html',1,'']]], + ['rccompactheightfield_1935',['rcCompactHeightfield',['../structrcCompactHeightfield.html',1,'']]], + ['rccompactspan_1936',['rcCompactSpan',['../structrcCompactSpan.html',1,'']]], + ['rcconfig_1937',['rcConfig',['../structrcConfig.html',1,'']]], + ['rccontext_1938',['rcContext',['../classrcContext.html',1,'']]], + ['rccontour_1939',['rcContour',['../structrcContour.html',1,'']]], + ['rccontourhole_1940',['rcContourHole',['../structrcContourHole.html',1,'']]], + ['rccontourregion_1941',['rcContourRegion',['../structrcContourRegion.html',1,'']]], + ['rccontourset_1942',['rcContourSet',['../structrcContourSet.html',1,'']]], + ['rcedge_1943',['rcEdge',['../structrcEdge.html',1,'']]], + ['rcheightfield_1944',['rcHeightfield',['../structrcHeightfield.html',1,'']]], + ['rcheightfieldlayer_1945',['rcHeightfieldLayer',['../structrcHeightfieldLayer.html',1,'']]], + ['rcheightfieldlayerset_1946',['rcHeightfieldLayerSet',['../structrcHeightfieldLayerSet.html',1,'']]], + ['rcheightpatch_1947',['rcHeightPatch',['../structrcHeightPatch.html',1,'']]], + ['rcintarray_1948',['rcIntArray',['../classrcIntArray.html',1,'']]], + ['rclayerregion_1949',['rcLayerRegion',['../structrcLayerRegion.html',1,'']]], + ['rclayersweepspan_1950',['rcLayerSweepSpan',['../structrcLayerSweepSpan.html',1,'']]], + ['rcmeshloaderobj_1951',['rcMeshLoaderObj',['../classrcMeshLoaderObj.html',1,'']]], + ['rcnewtag_1952',['rcNewTag',['../structrcNewTag.html',1,'']]], + ['rcpermvector_1953',['rcPermVector',['../classrcPermVector.html',1,'']]], + ['rcpolymesh_1954',['rcPolyMesh',['../structrcPolyMesh.html',1,'']]], + ['rcpolymeshdetail_1955',['rcPolyMeshDetail',['../structrcPolyMeshDetail.html',1,'']]], + ['rcpotentialdiagonal_1956',['rcPotentialDiagonal',['../structrcPotentialDiagonal.html',1,'']]], + ['rcregion_1957',['rcRegion',['../structrcRegion.html',1,'']]], + ['rcscopeddelete_1958',['rcScopedDelete',['../classrcScopedDelete.html',1,'']]], + ['rcscopedtimer_1959',['rcScopedTimer',['../classrcScopedTimer.html',1,'']]], + ['rcspan_1960',['rcSpan',['../structrcSpan.html',1,'']]], + ['rcspanpool_1961',['rcSpanPool',['../structrcSpanPool.html',1,'']]], + ['rcsweepspan_1962',['rcSweepSpan',['../structrcSweepSpan.html',1,'']]], + ['rctempvector_1963',['rcTempVector',['../classrcTempVector.html',1,'']]], + ['rctempvector_3c_20int_20_3e_1964',['rcTempVector< int >',['../classrcTempVector.html',1,'']]], + ['rcvectorbase_1965',['rcVectorBase',['../classrcVectorBase.html',1,'']]], + ['rcvectorbase_3c_20t_2c_20rc_5falloc_5fperm_20_3e_1966',['rcVectorBase< T, RC_ALLOC_PERM >',['../classrcVectorBase.html',1,'']]], + ['rcvectorbase_3c_20t_2c_20rc_5falloc_5ftemp_20_3e_1967',['rcVectorBase< T, RC_ALLOC_TEMP >',['../classrcVectorBase.html',1,'']]] +]; diff --git a/search/classes_b.html b/search/classes_b.html new file mode 100644 index 00000000..3fcb4985 --- /dev/null +++ b/search/classes_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_b.js b/search/classes_b.js new file mode 100644 index 00000000..69918fd0 --- /dev/null +++ b/search/classes_b.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['sample_1968',['Sample',['../classSample.html',1,'']]], + ['sample_5fdebug_1969',['Sample_Debug',['../classSample__Debug.html',1,'']]], + ['sample_5fsolomesh_1970',['Sample_SoloMesh',['../classSample__SoloMesh.html',1,'']]], + ['sample_5ftempobstacles_1971',['Sample_TempObstacles',['../classSample__TempObstacles.html',1,'']]], + ['sample_5ftilemesh_1972',['Sample_TileMesh',['../classSample__TileMesh.html',1,'']]], + ['sampledebugdraw_1973',['SampleDebugDraw',['../classSampleDebugDraw.html',1,'']]], + ['sampleitem_1974',['SampleItem',['../structSampleItem.html',1,'']]], + ['sampletool_1975',['SampleTool',['../structSampleTool.html',1,'']]], + ['sampletoolstate_1976',['SampleToolState',['../structSampleToolState.html',1,'']]] +]; diff --git a/search/classes_c.html b/search/classes_c.html new file mode 100644 index 00000000..2f7b1f3d --- /dev/null +++ b/search/classes_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_c.js b/search/classes_c.js new file mode 100644 index 00000000..8b394b7d --- /dev/null +++ b/search/classes_c.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['tempobstaclecreatetool_1977',['TempObstacleCreateTool',['../classTempObstacleCreateTool.html',1,'']]], + ['tempobstaclehilighttool_1978',['TempObstacleHilightTool',['../classTempObstacleHilightTool.html',1,'']]], + ['testcase_1979',['TestCase',['../classTestCase.html',1,'']]], + ['tilecachedata_1980',['TileCacheData',['../structTileCacheData.html',1,'']]], + ['tilecachesetheader_1981',['TileCacheSetHeader',['../structTileCacheSetHeader.html',1,'']]], + ['tilecachetileheader_1982',['TileCacheTileHeader',['../structTileCacheTileHeader.html',1,'']]] +]; diff --git a/search/classes_d.html b/search/classes_d.html new file mode 100644 index 00000000..f9011e70 --- /dev/null +++ b/search/classes_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_d.js b/search/classes_d.js new file mode 100644 index 00000000..7fa4a0ec --- /dev/null +++ b/search/classes_d.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['valuehistory_1983',['ValueHistory',['../classValueHistory.html',1,'']]] +]; diff --git a/search/close.svg b/search/close.svg new file mode 100644 index 00000000..a933eea1 --- /dev/null +++ b/search/close.svg @@ -0,0 +1,31 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/search/defines_0.html b/search/defines_0.html new file mode 100644 index 00000000..15cc3de3 --- /dev/null +++ b/search/defines_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/defines_0.js b/search/defines_0.js new file mode 100644 index 00000000..3f8524c8 --- /dev/null +++ b/search/defines_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['dtassert_3739',['dtAssert',['../DetourAssert_8h.html#ad9878e9fa0121ff8d1390e21dc086951',1,'DetourAssert.h']]], + ['dump_5freqs_3740',['DUMP_REQS',['../NavMeshTesterTool_8cpp.html#a59ed5f3f1c7bd16332ada259b66afe3f',1,'NavMeshTesterTool.cpp']]] +]; diff --git a/search/defines_1.html b/search/defines_1.html new file mode 100644 index 00000000..c49009c7 --- /dev/null +++ b/search/defines_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/defines_1.js b/search/defines_1.js new file mode 100644 index 00000000..59d0d493 --- /dev/null +++ b/search/defines_1.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['rc_5fsize_5fmax_3741',['RC_SIZE_MAX',['../RecastAlloc_8h.html#a76aa1cda643d12fb282dffdd127c1bac',1,'RecastAlloc.h']]], + ['rcassert_3742',['rcAssert',['../RecastAssert_8h.html#a857ec26f725d5a8d341fedca5a32f649',1,'RecastAssert.h']]], + ['rclikely_3743',['rcLikely',['../RecastAlloc_8h.html#ae2660587d43aff9382684c2410bf2dc5',1,'RecastAlloc.h']]], + ['rcunlikely_3744',['rcUnlikely',['../RecastAlloc_8h.html#a97095ea2bb90ee745014fe8dc36ca483',1,'RecastAlloc.h']]] +]; diff --git a/search/defines_2.html b/search/defines_2.html new file mode 100644 index 00000000..c5510111 --- /dev/null +++ b/search/defines_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/defines_2.js b/search/defines_2.js new file mode 100644 index 00000000..937d2227 --- /dev/null +++ b/search/defines_2.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['stb_5ftruetype_5fimplementation_3745',['STB_TRUETYPE_IMPLEMENTATION',['../imguiRenderGL_8cpp.html#afaa2f2d0d9d6726cfae6da070e736347',1,'imguiRenderGL.cpp']]], + ['stbtt_5ffree_3746',['STBTT_free',['../imguiRenderGL_8cpp.html#ac2d83c500a591ce9b5ff9ca5681caa59',1,'imguiRenderGL.cpp']]], + ['stbtt_5fmalloc_3747',['STBTT_malloc',['../imguiRenderGL_8cpp.html#afe7147641c31bc94935e5711c81087d0',1,'imguiRenderGL.cpp']]] +]; diff --git a/search/enums_0.html b/search/enums_0.html new file mode 100644 index 00000000..141fff57 --- /dev/null +++ b/search/enums_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_0.js b/search/enums_0.js new file mode 100644 index 00000000..afe40625 --- /dev/null +++ b/search/enums_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['crowdagentstate_3560',['CrowdAgentState',['../group__crowd.html#ga59bc9aa54705292d8f0f1ad9ca48ca82',1,'DetourCrowd.h']]] +]; diff --git a/search/enums_1.html b/search/enums_1.html new file mode 100644 index 00000000..d29f3b16 --- /dev/null +++ b/search/enums_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_1.js b/search/enums_1.js new file mode 100644 index 00000000..189fcf9e --- /dev/null +++ b/search/enums_1.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['drawdetailtype_3561',['DrawDetailType',['../Sample__TempObstacles_8cpp.html#a07b411d5626ca18669a36dbce259699a',1,'Sample_TempObstacles.cpp']]], + ['drawmode_3562',['DrawMode',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66d',1,'Sample_SoloMesh::DrawMode()'],['../classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646a',1,'Sample_TempObstacles::DrawMode()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9e',1,'Sample_TileMesh::DrawMode()']]], + ['drawnavmeshflags_3563',['DrawNavMeshFlags',['../DetourDebugDraw_8h.html#a114ab556d129137b6058f93b88da7ef6',1,'DetourDebugDraw.h']]], + ['dtallochint_3564',['dtAllocHint',['../DetourAlloc_8h.html#a318bc084ec7fefd878cd36e0846bd14d',1,'DetourAlloc.h']]], + ['dtcompressedtileflags_3565',['dtCompressedTileFlags',['../DetourTileCache_8h.html#ae7bbfdb463ce9748076a000e6a4f95e7',1,'DetourTileCache.h']]], + ['dtdetailtriedgeflags_3566',['dtDetailTriEdgeFlags',['../DetourNavMesh_8h.html#a42be29b2c7d98704d437ef08e9bc526d',1,'DetourNavMesh.h']]], + ['dtfindpathoptions_3567',['dtFindPathOptions',['../DetourNavMesh_8h.html#aa783b570776c948098378da1a45e1bac',1,'DetourNavMesh.h']]], + ['dtnodeflags_3568',['dtNodeFlags',['../DetourNode_8h.html#a2792299fd5fa6e50bb9c5d5b7dd12974',1,'DetourNode.h']]], + ['dtpolytypes_3569',['dtPolyTypes',['../DetourNavMesh_8h.html#a19937b4ff098f7c52ee08af1b5f39c98',1,'DetourNavMesh.h']]], + ['dtraycastoptions_3570',['dtRaycastOptions',['../DetourNavMesh_8h.html#a667a15950cb93797b15be3c958e440f0',1,'DetourNavMesh.h']]], + ['dtstraightpathflags_3571',['dtStraightPathFlags',['../DetourNavMesh_8h.html#ac8cecf1c1e32f8464a1905edfeaebbc7',1,'DetourNavMesh.h']]], + ['dtstraightpathoptions_3572',['dtStraightPathOptions',['../DetourNavMesh_8h.html#a41a7f5b74dd90b219858a75208bcac4e',1,'DetourNavMesh.h']]], + ['dttileflags_3573',['dtTileFlags',['../DetourNavMesh_8h.html#ace45ee22124392a9026eb6266000ca1c',1,'DetourNavMesh.h']]], + ['dudebugdrawprimitives_3574',['duDebugDrawPrimitives',['../DebugDraw_8h.html#af30c0ce53d5b11fe9d2da8bbd903e90d',1,'DebugDraw.h']]] +]; diff --git a/search/enums_2.html b/search/enums_2.html new file mode 100644 index 00000000..59aadf2c --- /dev/null +++ b/search/enums_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_2.js b/search/enums_2.js new file mode 100644 index 00000000..64bf20dd --- /dev/null +++ b/search/enums_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['edgevalues_3575',['EdgeValues',['../RecastMeshDetail_8cpp.html#a2ce1b25dcb60c164cfbe7620244199cc',1,'RecastMeshDetail.cpp']]] +]; diff --git a/search/enums_3.html b/search/enums_3.html new file mode 100644 index 00000000..87c17443 --- /dev/null +++ b/search/enums_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_3.js b/search/enums_3.js new file mode 100644 index 00000000..9d63d8d7 --- /dev/null +++ b/search/enums_3.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['imguigfxcmdtype_3576',['imguiGfxCmdType',['../imgui_8h.html#abe78cb20eb0e742c2ebc6008bc4f885c',1,'imgui.h']]], + ['imguimousebutton_3577',['imguiMouseButton',['../imgui_8h.html#a10190d2044a9d17a87554f32126b6b75',1,'imgui.h']]], + ['imguitextalign_3578',['imguiTextAlign',['../imgui_8h.html#a81f4e8d4b43d08839e074dd84da74d75',1,'imgui.h']]] +]; diff --git a/search/enums_4.html b/search/enums_4.html new file mode 100644 index 00000000..90dda139 --- /dev/null +++ b/search/enums_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_4.js b/search/enums_4.js new file mode 100644 index 00000000..d190c6d3 --- /dev/null +++ b/search/enums_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['moverequeststate_3579',['MoveRequestState',['../DetourCrowd_8h.html#aad3d0709fbef530774fb64258d384b45',1,'DetourCrowd.h']]] +]; diff --git a/search/enums_5.html b/search/enums_5.html new file mode 100644 index 00000000..c57b8859 --- /dev/null +++ b/search/enums_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_5.js b/search/enums_5.js new file mode 100644 index 00000000..59dbfe3c --- /dev/null +++ b/search/enums_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['obstaclestate_3580',['ObstacleState',['../DetourTileCache_8h.html#aa7ed646a7dd7b710737b2f9519ba6be0',1,'DetourTileCache.h']]], + ['obstacletype_3581',['ObstacleType',['../DetourTileCache_8h.html#a9852a22595ceae4debd70f078e037971',1,'DetourTileCache.h']]] +]; diff --git a/search/enums_6.html b/search/enums_6.html new file mode 100644 index 00000000..ea5e0a68 --- /dev/null +++ b/search/enums_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_6.js b/search/enums_6.js new file mode 100644 index 00000000..b3db65e9 --- /dev/null +++ b/search/enums_6.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['rcallochint_3582',['rcAllocHint',['../RecastAlloc_8h.html#a1e8b4a818c5bf25bceae59a0b1857e60',1,'RecastAlloc.h']]], + ['rcaxis_3583',['rcAxis',['../RecastRasterization_8cpp.html#a62b583caa984b1e6c218932f3218789b',1,'RecastRasterization.cpp']]], + ['rcbuildcontoursflags_3584',['rcBuildContoursFlags',['../Recast_8h.html#a63345b5052e97366027aa92b54c7786f',1,'Recast.h']]], + ['rclogcategory_3585',['rcLogCategory',['../Recast_8h.html#a82cf824a1948a8442785a7ea184f410b',1,'Recast.h']]], + ['rctimerlabel_3586',['rcTimerLabel',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18d',1,'Recast.h']]] +]; diff --git a/search/enums_7.html b/search/enums_7.html new file mode 100644 index 00000000..d1808757 --- /dev/null +++ b/search/enums_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_7.js b/search/enums_7.js new file mode 100644 index 00000000..123d1070 --- /dev/null +++ b/search/enums_7.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['samplepartitiontype_3587',['SamplePartitionType',['../Sample_8h.html#a73f95e7eb01a7e948ecfa34b9cebcdc1',1,'Sample.h']]], + ['samplepolyareas_3588',['SamplePolyAreas',['../Sample_8h.html#a588cb37d59e832fa4f2606474769b6da',1,'Sample.h']]], + ['samplepolyflags_3589',['SamplePolyFlags',['../Sample_8h.html#a7f96856c3ec53bcd8dab2396ae743f8d',1,'Sample.h']]], + ['sampletooltype_3590',['SampleToolType',['../Sample_8h.html#ae448bf9be534170ca5b5f8c97256125b',1,'Sample.h']]] +]; diff --git a/search/enums_8.html b/search/enums_8.html new file mode 100644 index 00000000..71aad59e --- /dev/null +++ b/search/enums_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_8.js b/search/enums_8.js new file mode 100644 index 00000000..261ba29d --- /dev/null +++ b/search/enums_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['updateflags_3591',['UpdateFlags',['../group__crowd.html#gaa94b67d2fdcc390690c523f28019e52f',1,'DetourCrowd.h']]] +]; diff --git a/search/enumvalues_0.html b/search/enumvalues_0.html new file mode 100644 index 00000000..0d131d95 --- /dev/null +++ b/search/enumvalues_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_0.js b/search/enumvalues_0.js new file mode 100644 index 00000000..7ef82f66 --- /dev/null +++ b/search/enumvalues_0.js @@ -0,0 +1,72 @@ +var searchData= +[ + ['drawdetail_5fareas_3592',['DRAWDETAIL_AREAS',['../Sample__TempObstacles_8cpp.html#a07b411d5626ca18669a36dbce259699aa2b3e973aac1d955e6f393405f46a975f',1,'Sample_TempObstacles.cpp']]], + ['drawdetail_5fcontours_3593',['DRAWDETAIL_CONTOURS',['../Sample__TempObstacles_8cpp.html#a07b411d5626ca18669a36dbce259699aa2f2ebb162afcf9d8049d46c65724a304',1,'Sample_TempObstacles.cpp']]], + ['drawdetail_5fmesh_3594',['DRAWDETAIL_MESH',['../Sample__TempObstacles_8cpp.html#a07b411d5626ca18669a36dbce259699aa2583848fa9a65a13d8d705a41b45ac81',1,'Sample_TempObstacles.cpp']]], + ['drawdetail_5fregions_3595',['DRAWDETAIL_REGIONS',['../Sample__TempObstacles_8cpp.html#a07b411d5626ca18669a36dbce259699aa9298e963d230a3f0d094748821ecc09c',1,'Sample_TempObstacles.cpp']]], + ['drawmode_5fboth_5fcontours_3596',['DRAWMODE_BOTH_CONTOURS',['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9eac991bf39fdf9cbf6291b45ebd2ede5a4',1,'Sample_TileMesh::DRAWMODE_BOTH_CONTOURS()'],['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da9722e468551f5e1012433c4f6a1f7c59',1,'Sample_SoloMesh::DRAWMODE_BOTH_CONTOURS()']]], + ['drawmode_5fcache_5fbounds_3597',['DRAWMODE_CACHE_BOUNDS',['../classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aad240eab884b6fce214ae17ee58ff1fc5',1,'Sample_TempObstacles']]], + ['drawmode_5fcompact_3598',['DRAWMODE_COMPACT',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da8e442daf2e83ef3c05694457b5b33436',1,'Sample_SoloMesh::DRAWMODE_COMPACT()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ead11ba96eb63c1bacc8d1974ad5e14729',1,'Sample_TileMesh::DRAWMODE_COMPACT()']]], + ['drawmode_5fcompact_5fdistance_3599',['DRAWMODE_COMPACT_DISTANCE',['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea5835878fb00312ced6fad85225f9f806',1,'Sample_TileMesh::DRAWMODE_COMPACT_DISTANCE()'],['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66dab7e81dc808347a112f588f6c20075cda',1,'Sample_SoloMesh::DRAWMODE_COMPACT_DISTANCE()']]], + ['drawmode_5fcompact_5fregions_3600',['DRAWMODE_COMPACT_REGIONS',['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9eae0f799e8f9c5eea7db9e60a14c3ae876',1,'Sample_TileMesh::DRAWMODE_COMPACT_REGIONS()'],['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da49df193c0a4344b056b1f6102d3dda70',1,'Sample_SoloMesh::DRAWMODE_COMPACT_REGIONS()']]], + ['drawmode_5fcontours_3601',['DRAWMODE_CONTOURS',['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea3ebd86d9a1d56808e28f6ffde61f160c',1,'Sample_TileMesh::DRAWMODE_CONTOURS()'],['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66dafce43a32523d6c5035eefbce35a73826',1,'Sample_SoloMesh::DRAWMODE_CONTOURS()']]], + ['drawmode_5fmesh_3602',['DRAWMODE_MESH',['../classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aa03124cf65d838b25406a05e61fe30ce0',1,'Sample_TempObstacles::DRAWMODE_MESH()'],['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da88b9ae00e25b2e2099647ea4c26a9507',1,'Sample_SoloMesh::DRAWMODE_MESH()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea4742e5992fb0c03b7bb9d6319ef2a212',1,'Sample_TileMesh::DRAWMODE_MESH()']]], + ['drawmode_5fnavmesh_3603',['DRAWMODE_NAVMESH',['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9eaa58491e33fd7f6047459a759075579fb',1,'Sample_TileMesh::DRAWMODE_NAVMESH()'],['../classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aaf041b173541f65f9d180dc5ce6c4faca',1,'Sample_TempObstacles::DRAWMODE_NAVMESH()'],['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66daea0fbcc171dd866c11dceb22f8bbb622',1,'Sample_SoloMesh::DRAWMODE_NAVMESH()']]], + ['drawmode_5fnavmesh_5fbvtree_3604',['DRAWMODE_NAVMESH_BVTREE',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66dacde6a4b06b4f22f9002e93996dd15e99',1,'Sample_SoloMesh::DRAWMODE_NAVMESH_BVTREE()'],['../classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aa2c426926db47a33bbb2d0568be000eb1',1,'Sample_TempObstacles::DRAWMODE_NAVMESH_BVTREE()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea36ceb4d2f09f2dc3f115c9482384f537',1,'Sample_TileMesh::DRAWMODE_NAVMESH_BVTREE()']]], + ['drawmode_5fnavmesh_5finvis_3605',['DRAWMODE_NAVMESH_INVIS',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da98fd365be74b3ea0aa3913f2f2f643da',1,'Sample_SoloMesh::DRAWMODE_NAVMESH_INVIS()'],['../classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aadf002a04b3f50bc4732a5f0e83fe2b82',1,'Sample_TempObstacles::DRAWMODE_NAVMESH_INVIS()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9eaaf7a9b84532c1134b86d5984f4c5da25',1,'Sample_TileMesh::DRAWMODE_NAVMESH_INVIS()']]], + ['drawmode_5fnavmesh_5fnodes_3606',['DRAWMODE_NAVMESH_NODES',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66daf0388faf72ff6fb0a55a80794eb34ebe',1,'Sample_SoloMesh::DRAWMODE_NAVMESH_NODES()'],['../classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aa20a287a5fb92a18accd304ff5a90ff27',1,'Sample_TempObstacles::DRAWMODE_NAVMESH_NODES()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea51bb43eb213451a78a866934612cbce5',1,'Sample_TileMesh::DRAWMODE_NAVMESH_NODES()']]], + ['drawmode_5fnavmesh_5fportals_3607',['DRAWMODE_NAVMESH_PORTALS',['../classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aa18ab8dd09107286c83c01da1701eef5b',1,'Sample_TempObstacles::DRAWMODE_NAVMESH_PORTALS()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea2806d6ae36ddf00223cfe9893d0fde08',1,'Sample_TileMesh::DRAWMODE_NAVMESH_PORTALS()']]], + ['drawmode_5fnavmesh_5ftrans_3608',['DRAWMODE_NAVMESH_TRANS',['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea3db7110a709f8a5cf8271a47ccd1d5bc',1,'Sample_TileMesh::DRAWMODE_NAVMESH_TRANS()'],['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66daa8e2ba3c26d26be4309cbf0f2528f6de',1,'Sample_SoloMesh::DRAWMODE_NAVMESH_TRANS()'],['../classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aa31dbf6b027635abacf086f1039c4a59f',1,'Sample_TempObstacles::DRAWMODE_NAVMESH_TRANS()']]], + ['drawmode_5fpolymesh_3609',['DRAWMODE_POLYMESH',['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9eacf49e2c1b6e94e0175ffce6a8d752957',1,'Sample_TileMesh::DRAWMODE_POLYMESH()'],['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66dabcea7748dcffaf33d0fe31e8af538da8',1,'Sample_SoloMesh::DRAWMODE_POLYMESH()']]], + ['drawmode_5fpolymesh_5fdetail_3610',['DRAWMODE_POLYMESH_DETAIL',['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9eadaab6e3ba300f45526c8feef80f83828',1,'Sample_TileMesh::DRAWMODE_POLYMESH_DETAIL()'],['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da3cfa09fbea29fe5ad080cf664c026f67',1,'Sample_SoloMesh::DRAWMODE_POLYMESH_DETAIL()']]], + ['drawmode_5fraw_5fcontours_3611',['DRAWMODE_RAW_CONTOURS',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66dac8a8e4bb3835a1d5dd15eab30fd2d7c7',1,'Sample_SoloMesh::DRAWMODE_RAW_CONTOURS()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea5d1863e80795971db5f2cadd2140134c',1,'Sample_TileMesh::DRAWMODE_RAW_CONTOURS()']]], + ['drawmode_5fregion_5fconnections_3612',['DRAWMODE_REGION_CONNECTIONS',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da2ddb380ea865ccc1c8fbf75f44a4dbe7',1,'Sample_SoloMesh::DRAWMODE_REGION_CONNECTIONS()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea0b1b4be0a8ce23cf18ec00b8646f9089',1,'Sample_TileMesh::DRAWMODE_REGION_CONNECTIONS()']]], + ['drawmode_5fvoxels_3613',['DRAWMODE_VOXELS',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da79c855d9a3d2f415381199922314b0db',1,'Sample_SoloMesh::DRAWMODE_VOXELS()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9ea96182015a60b98bd4e7134cf28c26fdb',1,'Sample_TileMesh::DRAWMODE_VOXELS()']]], + ['drawmode_5fvoxels_5fwalkable_3614',['DRAWMODE_VOXELS_WALKABLE',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66da1b0b737aee4f595a3e4279759d92e4ea',1,'Sample_SoloMesh::DRAWMODE_VOXELS_WALKABLE()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9eafa79333fa0cd88a039e4b0aae362e13c',1,'Sample_TileMesh::DRAWMODE_VOXELS_WALKABLE()']]], + ['dt_5falloc_5fperm_3615',['DT_ALLOC_PERM',['../DetourAlloc_8h.html#a318bc084ec7fefd878cd36e0846bd14da4b5dc5bf08bcea4978a84327c7faf39f',1,'DetourAlloc.h']]], + ['dt_5falloc_5ftemp_3616',['DT_ALLOC_TEMP',['../DetourAlloc_8h.html#a318bc084ec7fefd878cd36e0846bd14da345c28489f1d9c43bb8d528b4dab5aee',1,'DetourAlloc.h']]], + ['dt_5fcompressedtile_5ffree_5fdata_3617',['DT_COMPRESSEDTILE_FREE_DATA',['../DetourTileCache_8h.html#ae7bbfdb463ce9748076a000e6a4f95e7ae39535ace91c26741052d77c5a2dcb8d',1,'DetourTileCache.h']]], + ['dt_5fcrowd_5fanticipate_5fturns_3618',['DT_CROWD_ANTICIPATE_TURNS',['../group__crowd.html#ggaa94b67d2fdcc390690c523f28019e52fafeecd3363350e50041dca39352c3e268',1,'DetourCrowd.h']]], + ['dt_5fcrowd_5fobstacle_5favoidance_3619',['DT_CROWD_OBSTACLE_AVOIDANCE',['../group__crowd.html#ggaa94b67d2fdcc390690c523f28019e52fad5d5d50e0b623e78e0dd68eb816bcc00',1,'DetourCrowd.h']]], + ['dt_5fcrowd_5foptimize_5ftopo_3620',['DT_CROWD_OPTIMIZE_TOPO',['../group__crowd.html#ggaa94b67d2fdcc390690c523f28019e52fa89c6f7f2e49254e775cb2b85259a0a93',1,'DetourCrowd.h']]], + ['dt_5fcrowd_5foptimize_5fvis_3621',['DT_CROWD_OPTIMIZE_VIS',['../group__crowd.html#ggaa94b67d2fdcc390690c523f28019e52fad11f447facf1bf42c09de64e9483f3aa',1,'DetourCrowd.h']]], + ['dt_5fcrowd_5fseparation_3622',['DT_CROWD_SEPARATION',['../group__crowd.html#ggaa94b67d2fdcc390690c523f28019e52fa07d463e4e35cd6ca1f16e6bede02856e',1,'DetourCrowd.h']]], + ['dt_5fcrowdagent_5fstate_5finvalid_3623',['DT_CROWDAGENT_STATE_INVALID',['../group__crowd.html#gga59bc9aa54705292d8f0f1ad9ca48ca82ac2abcf7abcdba5abeda5801fc771baa8',1,'DetourCrowd.h']]], + ['dt_5fcrowdagent_5fstate_5foffmesh_3624',['DT_CROWDAGENT_STATE_OFFMESH',['../group__crowd.html#gga59bc9aa54705292d8f0f1ad9ca48ca82a4194d4934f447526177f505e93c96fec',1,'DetourCrowd.h']]], + ['dt_5fcrowdagent_5fstate_5fwalking_3625',['DT_CROWDAGENT_STATE_WALKING',['../group__crowd.html#gga59bc9aa54705292d8f0f1ad9ca48ca82ab165ebb808ee9390c7f7ec9f5ea277ec',1,'DetourCrowd.h']]], + ['dt_5fcrowdagent_5ftarget_5ffailed_3626',['DT_CROWDAGENT_TARGET_FAILED',['../DetourCrowd_8h.html#aad3d0709fbef530774fb64258d384b45aaa1525e197b2b6add764e97fd3da5ce7',1,'DetourCrowd.h']]], + ['dt_5fcrowdagent_5ftarget_5fnone_3627',['DT_CROWDAGENT_TARGET_NONE',['../DetourCrowd_8h.html#aad3d0709fbef530774fb64258d384b45a1efdea788539b201e16bcd09e9347ae7',1,'DetourCrowd.h']]], + ['dt_5fcrowdagent_5ftarget_5frequesting_3628',['DT_CROWDAGENT_TARGET_REQUESTING',['../DetourCrowd_8h.html#aad3d0709fbef530774fb64258d384b45a6cde99476549f0f93d670b33bbdd7876',1,'DetourCrowd.h']]], + ['dt_5fcrowdagent_5ftarget_5fvalid_3629',['DT_CROWDAGENT_TARGET_VALID',['../DetourCrowd_8h.html#aad3d0709fbef530774fb64258d384b45a45244b4362aee5863d10bd13b5c66551',1,'DetourCrowd.h']]], + ['dt_5fcrowdagent_5ftarget_5fvelocity_3630',['DT_CROWDAGENT_TARGET_VELOCITY',['../DetourCrowd_8h.html#aad3d0709fbef530774fb64258d384b45a9c2198f765c2c912565af671e5635bbe',1,'DetourCrowd.h']]], + ['dt_5fcrowdagent_5ftarget_5fwaiting_5ffor_5fpath_3631',['DT_CROWDAGENT_TARGET_WAITING_FOR_PATH',['../DetourCrowd_8h.html#aad3d0709fbef530774fb64258d384b45a0f572e76100f026a51452e63824e26b1',1,'DetourCrowd.h']]], + ['dt_5fcrowdagent_5ftarget_5fwaiting_5ffor_5fqueue_3632',['DT_CROWDAGENT_TARGET_WAITING_FOR_QUEUE',['../DetourCrowd_8h.html#aad3d0709fbef530774fb64258d384b45a21672fb406e58d9efd8382d0cdcc4d25',1,'DetourCrowd.h']]], + ['dt_5fdetail_5fedge_5fboundary_3633',['DT_DETAIL_EDGE_BOUNDARY',['../DetourNavMesh_8h.html#a42be29b2c7d98704d437ef08e9bc526da2d515783212eec68c805a91b8de1d723',1,'DetourNavMesh.h']]], + ['dt_5ffindpath_5fany_5fangle_3634',['DT_FINDPATH_ANY_ANGLE',['../DetourNavMesh_8h.html#aa783b570776c948098378da1a45e1bacae68dc8af59dbb706ec70f4482590599b',1,'DetourNavMesh.h']]], + ['dt_5fnode_5fclosed_3635',['DT_NODE_CLOSED',['../DetourNode_8h.html#a2792299fd5fa6e50bb9c5d5b7dd12974aa9a4b8aa94ba18584fa07b2d8ad9aac2',1,'DetourNode.h']]], + ['dt_5fnode_5fopen_3636',['DT_NODE_OPEN',['../DetourNode_8h.html#a2792299fd5fa6e50bb9c5d5b7dd12974a792e67a3226f80ca54332bcbdac1c1c9',1,'DetourNode.h']]], + ['dt_5fnode_5fparent_5fdetached_3637',['DT_NODE_PARENT_DETACHED',['../DetourNode_8h.html#a2792299fd5fa6e50bb9c5d5b7dd12974acbfda68f4c9e956d9b2573521a5156e1',1,'DetourNode.h']]], + ['dt_5fobstacle_5fbox_3638',['DT_OBSTACLE_BOX',['../DetourTileCache_8h.html#a9852a22595ceae4debd70f078e037971ab654da18354a922d963354e55469a66b',1,'DetourTileCache.h']]], + ['dt_5fobstacle_5fcylinder_3639',['DT_OBSTACLE_CYLINDER',['../DetourTileCache_8h.html#a9852a22595ceae4debd70f078e037971a766d09d1314b46ef10e4841c3bee531f',1,'DetourTileCache.h']]], + ['dt_5fobstacle_5fempty_3640',['DT_OBSTACLE_EMPTY',['../DetourTileCache_8h.html#aa7ed646a7dd7b710737b2f9519ba6be0a094b269c342db86c17d4e378a5b40e91',1,'DetourTileCache.h']]], + ['dt_5fobstacle_5foriented_5fbox_3641',['DT_OBSTACLE_ORIENTED_BOX',['../DetourTileCache_8h.html#a9852a22595ceae4debd70f078e037971ab58715685be1dff92c88c3e008f16b04',1,'DetourTileCache.h']]], + ['dt_5fobstacle_5fprocessed_3642',['DT_OBSTACLE_PROCESSED',['../DetourTileCache_8h.html#aa7ed646a7dd7b710737b2f9519ba6be0a4498b976355b555e4f3f44f83a1c00f4',1,'DetourTileCache.h']]], + ['dt_5fobstacle_5fprocessing_3643',['DT_OBSTACLE_PROCESSING',['../DetourTileCache_8h.html#aa7ed646a7dd7b710737b2f9519ba6be0addaffc9e5b62b3804b907d00dd29cc16',1,'DetourTileCache.h']]], + ['dt_5fobstacle_5fremoving_3644',['DT_OBSTACLE_REMOVING',['../DetourTileCache_8h.html#aa7ed646a7dd7b710737b2f9519ba6be0a994e7077e1e02ba53b4b00d5cf0430fb',1,'DetourTileCache.h']]], + ['dt_5fpolytype_5fground_3645',['DT_POLYTYPE_GROUND',['../DetourNavMesh_8h.html#a19937b4ff098f7c52ee08af1b5f39c98a29186313531593c85696d62ff83f6220',1,'DetourNavMesh.h']]], + ['dt_5fpolytype_5foffmesh_5fconnection_3646',['DT_POLYTYPE_OFFMESH_CONNECTION',['../DetourNavMesh_8h.html#a19937b4ff098f7c52ee08af1b5f39c98a5454d6f0a19d046264f5305baa7ba858',1,'DetourNavMesh.h']]], + ['dt_5fraycast_5fuse_5fcosts_3647',['DT_RAYCAST_USE_COSTS',['../DetourNavMesh_8h.html#a667a15950cb93797b15be3c958e440f0a904277bd4cec80e1ec2848c010b779e8',1,'DetourNavMesh.h']]], + ['dt_5fstraightpath_5fall_5fcrossings_3648',['DT_STRAIGHTPATH_ALL_CROSSINGS',['../DetourNavMesh_8h.html#a41a7f5b74dd90b219858a75208bcac4eae6fa64aada65c8ec7458b2a5653d5e02',1,'DetourNavMesh.h']]], + ['dt_5fstraightpath_5farea_5fcrossings_3649',['DT_STRAIGHTPATH_AREA_CROSSINGS',['../DetourNavMesh_8h.html#a41a7f5b74dd90b219858a75208bcac4ea0b347150cb46ca63c54526df691a9aef',1,'DetourNavMesh.h']]], + ['dt_5fstraightpath_5fend_3650',['DT_STRAIGHTPATH_END',['../DetourNavMesh_8h.html#ac8cecf1c1e32f8464a1905edfeaebbc7a3857dec720eca5984c04ecf962b7bfa2',1,'DetourNavMesh.h']]], + ['dt_5fstraightpath_5foffmesh_5fconnection_3651',['DT_STRAIGHTPATH_OFFMESH_CONNECTION',['../DetourNavMesh_8h.html#ac8cecf1c1e32f8464a1905edfeaebbc7a6f3af4eb103dca5d2259f7b8770e2c02',1,'DetourNavMesh.h']]], + ['dt_5fstraightpath_5fstart_3652',['DT_STRAIGHTPATH_START',['../DetourNavMesh_8h.html#ac8cecf1c1e32f8464a1905edfeaebbc7a45732cca36a4a88b3cc5492dc1c4d55a',1,'DetourNavMesh.h']]], + ['dt_5ftile_5ffree_5fdata_3653',['DT_TILE_FREE_DATA',['../DetourNavMesh_8h.html#ace45ee22124392a9026eb6266000ca1ca454ad5984fddf654fc291123ada94d1b',1,'DetourNavMesh.h']]], + ['du_5fdraw_5flines_3654',['DU_DRAW_LINES',['../DebugDraw_8h.html#af30c0ce53d5b11fe9d2da8bbd903e90daae8de3f08d690327bfb9576eaead88a5',1,'DebugDraw.h']]], + ['du_5fdraw_5fpoints_3655',['DU_DRAW_POINTS',['../DebugDraw_8h.html#af30c0ce53d5b11fe9d2da8bbd903e90daf1f6f547b96e18d80d1ac6bb54c66d58',1,'DebugDraw.h']]], + ['du_5fdraw_5fquads_3656',['DU_DRAW_QUADS',['../DebugDraw_8h.html#af30c0ce53d5b11fe9d2da8bbd903e90da43d97537acb0edeec852a77c75de6b87',1,'DebugDraw.h']]], + ['du_5fdraw_5ftris_3657',['DU_DRAW_TRIS',['../DebugDraw_8h.html#af30c0ce53d5b11fe9d2da8bbd903e90dae12876d337e2889fa1aea98caa926242',1,'DebugDraw.h']]], + ['du_5fdrawnavmesh_5fclosedlist_3658',['DU_DRAWNAVMESH_CLOSEDLIST',['../DetourDebugDraw_8h.html#a114ab556d129137b6058f93b88da7ef6ab4ba1b69972d0da1ec7b9e94cb0b6a31',1,'DetourDebugDraw.h']]], + ['du_5fdrawnavmesh_5fcolor_5ftiles_3659',['DU_DRAWNAVMESH_COLOR_TILES',['../DetourDebugDraw_8h.html#a114ab556d129137b6058f93b88da7ef6a0ae84122add4971464d47e94f5e29df8',1,'DetourDebugDraw.h']]], + ['du_5fdrawnavmesh_5foffmeshcons_3660',['DU_DRAWNAVMESH_OFFMESHCONS',['../DetourDebugDraw_8h.html#a114ab556d129137b6058f93b88da7ef6a69a679b05dbd7792ca0cd1d1e9dcf13e',1,'DetourDebugDraw.h']]] +]; diff --git a/search/enumvalues_1.html b/search/enumvalues_1.html new file mode 100644 index 00000000..cd9187ab --- /dev/null +++ b/search/enumvalues_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_1.js b/search/enumvalues_1.js new file mode 100644 index 00000000..611fa934 --- /dev/null +++ b/search/enumvalues_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['ev_5fhull_3661',['EV_HULL',['../RecastMeshDetail_8cpp.html#a2ce1b25dcb60c164cfbe7620244199ccabd0388f662d97f6027f36ea1c9a887df',1,'RecastMeshDetail.cpp']]], + ['ev_5fundef_3662',['EV_UNDEF',['../RecastMeshDetail_8cpp.html#a2ce1b25dcb60c164cfbe7620244199ccad1171dcfff57cf1425e53bd38d69999d',1,'RecastMeshDetail.cpp']]] +]; diff --git a/search/enumvalues_2.html b/search/enumvalues_2.html new file mode 100644 index 00000000..2b95d920 --- /dev/null +++ b/search/enumvalues_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_2.js b/search/enumvalues_2.js new file mode 100644 index 00000000..b9c2f504 --- /dev/null +++ b/search/enumvalues_2.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['imgui_5falign_5fcenter_3663',['IMGUI_ALIGN_CENTER',['../imgui_8h.html#a81f4e8d4b43d08839e074dd84da74d75ac5715ea606af0cc4a0f07f9a8aee41dd',1,'imgui.h']]], + ['imgui_5falign_5fleft_3664',['IMGUI_ALIGN_LEFT',['../imgui_8h.html#a81f4e8d4b43d08839e074dd84da74d75aea56e4d2752754d8d377c79dc9bd8720',1,'imgui.h']]], + ['imgui_5falign_5fright_3665',['IMGUI_ALIGN_RIGHT',['../imgui_8h.html#a81f4e8d4b43d08839e074dd84da74d75a4ffe66465428f5149caf83926a4b85d5',1,'imgui.h']]], + ['imgui_5fgfxcmd_5fline_3666',['IMGUI_GFXCMD_LINE',['../imgui_8h.html#abe78cb20eb0e742c2ebc6008bc4f885ca8605796c258c7a0607f7cedc1f5492b1',1,'imgui.h']]], + ['imgui_5fgfxcmd_5frect_3667',['IMGUI_GFXCMD_RECT',['../imgui_8h.html#abe78cb20eb0e742c2ebc6008bc4f885ca8c0cf32cd9b15b75f537590b22ddb923',1,'imgui.h']]], + ['imgui_5fgfxcmd_5fscissor_3668',['IMGUI_GFXCMD_SCISSOR',['../imgui_8h.html#abe78cb20eb0e742c2ebc6008bc4f885ca9e92c9da0e7ff64db67b78b213e444ee',1,'imgui.h']]], + ['imgui_5fgfxcmd_5ftext_3669',['IMGUI_GFXCMD_TEXT',['../imgui_8h.html#abe78cb20eb0e742c2ebc6008bc4f885ca92881daa45ec0ae49b9f48802f22c5c6',1,'imgui.h']]], + ['imgui_5fgfxcmd_5ftriangle_3670',['IMGUI_GFXCMD_TRIANGLE',['../imgui_8h.html#abe78cb20eb0e742c2ebc6008bc4f885ca80b6621628493473156532a1204c033a',1,'imgui.h']]], + ['imgui_5fmbut_5fleft_3671',['IMGUI_MBUT_LEFT',['../imgui_8h.html#a10190d2044a9d17a87554f32126b6b75adf72e4161c47f203b5849e21f38d2217',1,'imgui.h']]], + ['imgui_5fmbut_5fright_3672',['IMGUI_MBUT_RIGHT',['../imgui_8h.html#a10190d2044a9d17a87554f32126b6b75ab8eb180e6a19ec10ec09f1f6584945f8',1,'imgui.h']]] +]; diff --git a/search/enumvalues_3.html b/search/enumvalues_3.html new file mode 100644 index 00000000..bc0ac8a9 --- /dev/null +++ b/search/enumvalues_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_3.js b/search/enumvalues_3.js new file mode 100644 index 00000000..53aab906 --- /dev/null +++ b/search/enumvalues_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['max_5fdrawmode_3673',['MAX_DRAWMODE',['../classSample__SoloMesh.html#a0b9495bb7c375195b704b91cdf9fd66dac8ad3153e5f19cd59fecff1c383cdcb1',1,'Sample_SoloMesh::MAX_DRAWMODE()'],['../classSample__TempObstacles.html#a6ab371394b122966ab5de8619bd8646aa6b45d4a6889c8d9b98d386cfbcd3e7a3',1,'Sample_TempObstacles::MAX_DRAWMODE()'],['../classSample__TileMesh.html#a46cdc02c19bafa2b469ab431e2858d9eab552cab10902063700d7b86150b3ea64',1,'Sample_TileMesh::MAX_DRAWMODE()']]], + ['max_5ftools_3674',['MAX_TOOLS',['../Sample_8h.html#ae448bf9be534170ca5b5f8c97256125baf21d3b3c7a6296454122cffd465fcb25',1,'Sample.h']]] +]; diff --git a/search/enumvalues_4.html b/search/enumvalues_4.html new file mode 100644 index 00000000..ef94dd8d --- /dev/null +++ b/search/enumvalues_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_4.js b/search/enumvalues_4.js new file mode 100644 index 00000000..b80409c6 --- /dev/null +++ b/search/enumvalues_4.js @@ -0,0 +1,42 @@ +var searchData= +[ + ['rc_5falloc_5fperm_3675',['RC_ALLOC_PERM',['../RecastAlloc_8h.html#a1e8b4a818c5bf25bceae59a0b1857e60ac5753fe6be6e82f85794f719149356a5',1,'RecastAlloc.h']]], + ['rc_5falloc_5ftemp_3676',['RC_ALLOC_TEMP',['../RecastAlloc_8h.html#a1e8b4a818c5bf25bceae59a0b1857e60a5e5b510fb1d2422e28f5262d4bd058ee',1,'RecastAlloc.h']]], + ['rc_5faxis_5fx_3677',['RC_AXIS_X',['../RecastRasterization_8cpp.html#a62b583caa984b1e6c218932f3218789ba4f552701c96db6d643c5ae3741030fda',1,'RecastRasterization.cpp']]], + ['rc_5faxis_5fy_3678',['RC_AXIS_Y',['../RecastRasterization_8cpp.html#a62b583caa984b1e6c218932f3218789ba505b172a6e189588ed8d8607e857f432',1,'RecastRasterization.cpp']]], + ['rc_5faxis_5fz_3679',['RC_AXIS_Z',['../RecastRasterization_8cpp.html#a62b583caa984b1e6c218932f3218789ba5b56c442d066db5cc6e612ae9bcadcf4',1,'RecastRasterization.cpp']]], + ['rc_5fcontour_5ftess_5farea_5fedges_3680',['RC_CONTOUR_TESS_AREA_EDGES',['../Recast_8h.html#a63345b5052e97366027aa92b54c7786faf433dd3fd4cf358173e454a145233810',1,'Recast.h']]], + ['rc_5fcontour_5ftess_5fwall_5fedges_3681',['RC_CONTOUR_TESS_WALL_EDGES',['../Recast_8h.html#a63345b5052e97366027aa92b54c7786fa895b8adb44c79179f5e22f8f65abe5ed',1,'Recast.h']]], + ['rc_5flog_5ferror_3682',['RC_LOG_ERROR',['../Recast_8h.html#a82cf824a1948a8442785a7ea184f410ba50cefdab02ef964b5f5ba6093752eea9',1,'Recast.h']]], + ['rc_5flog_5fprogress_3683',['RC_LOG_PROGRESS',['../Recast_8h.html#a82cf824a1948a8442785a7ea184f410ba4489590461db6062a1d83986297a1bcd',1,'Recast.h']]], + ['rc_5flog_5fwarning_3684',['RC_LOG_WARNING',['../Recast_8h.html#a82cf824a1948a8442785a7ea184f410ba05dd323a1feaf0c125be248057cc40a5',1,'Recast.h']]], + ['rc_5fmax_5ftimers_3685',['RC_MAX_TIMERS',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da3597bcc0a74259286ba7e06ec236b405',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fcompactheightfield_3686',['RC_TIMER_BUILD_COMPACTHEIGHTFIELD',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da303c06e25bf4609eb21ba3b668f10bba',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fcontours_3687',['RC_TIMER_BUILD_CONTOURS',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da5bfad3b856c9ff5f3d94231adc363437',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fcontours_5fsimplify_3688',['RC_TIMER_BUILD_CONTOURS_SIMPLIFY',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18daac93d9ba18d8dedee3b584ef9131fdba',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fcontours_5ftrace_3689',['RC_TIMER_BUILD_CONTOURS_TRACE',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da7780e2f5b2726d76169f8c0a38cfc12b',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fdistancefield_3690',['RC_TIMER_BUILD_DISTANCEFIELD',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da2d9eae7de0473e03695f147c3b0ed4fe',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fdistancefield_5fblur_3691',['RC_TIMER_BUILD_DISTANCEFIELD_BLUR',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da9452d6a2c2be5c1bb92a20440a42509c',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fdistancefield_5fdist_3692',['RC_TIMER_BUILD_DISTANCEFIELD_DIST',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da95ae391397574299fa86757572dadf78',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5flayers_3693',['RC_TIMER_BUILD_LAYERS',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18daa13252ec42af278ed8b511ef2573efba',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fpolymesh_3694',['RC_TIMER_BUILD_POLYMESH',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da2db68b2ee0e88bd48f687d8912be2b87',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fpolymeshdetail_3695',['RC_TIMER_BUILD_POLYMESHDETAIL',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da154109a5c78860b81ce9370a6a8debfd',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fregions_3696',['RC_TIMER_BUILD_REGIONS',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18daeac9f250cd8a04c3d14f8fa548d4b31f',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fregions_5fexpand_3697',['RC_TIMER_BUILD_REGIONS_EXPAND',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da92d9f71f85b57488a09a3d6d0cec04d2',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fregions_5ffilter_3698',['RC_TIMER_BUILD_REGIONS_FILTER',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da14403d6ce136beb776b9004e73dde436',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fregions_5fflood_3699',['RC_TIMER_BUILD_REGIONS_FLOOD',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da51802900abb3935de5b7dbc2423e2d62',1,'Recast.h']]], + ['rc_5ftimer_5fbuild_5fregions_5fwatershed_3700',['RC_TIMER_BUILD_REGIONS_WATERSHED',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da7c9d166e9be3c76d444908348fccde9c',1,'Recast.h']]], + ['rc_5ftimer_5ferode_5farea_3701',['RC_TIMER_ERODE_AREA',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18dad109da926d20816d0fd7b16001b6e463',1,'Recast.h']]], + ['rc_5ftimer_5ffilter_5fborder_3702',['RC_TIMER_FILTER_BORDER',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da438af561b3f22c44dd9a4672ab7efa09',1,'Recast.h']]], + ['rc_5ftimer_5ffilter_5flow_5fobstacles_3703',['RC_TIMER_FILTER_LOW_OBSTACLES',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18dafd77d72ef738a5bb20b2bfc2753ed3c2',1,'Recast.h']]], + ['rc_5ftimer_5ffilter_5fwalkable_3704',['RC_TIMER_FILTER_WALKABLE',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18dae2cf8a1eed8d008417af66448900d120',1,'Recast.h']]], + ['rc_5ftimer_5fmark_5fbox_5farea_3705',['RC_TIMER_MARK_BOX_AREA',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da3ba77f8aaeff3f0ea1c0703144701789',1,'Recast.h']]], + ['rc_5ftimer_5fmark_5fconvexpoly_5farea_3706',['RC_TIMER_MARK_CONVEXPOLY_AREA',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18dac76c8eea599c3cf1c7f76a7a90a245b1',1,'Recast.h']]], + ['rc_5ftimer_5fmark_5fcylinder_5farea_3707',['RC_TIMER_MARK_CYLINDER_AREA',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18daade33c6e1f1b1037e63546ca863d9690',1,'Recast.h']]], + ['rc_5ftimer_5fmedian_5farea_3708',['RC_TIMER_MEDIAN_AREA',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18daff9bd2eec4ca8457b601f3d8186824bf',1,'Recast.h']]], + ['rc_5ftimer_5fmerge_5fpolymesh_3709',['RC_TIMER_MERGE_POLYMESH',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da20a8bc8f7341a3ea1af2b7581b67de6c',1,'Recast.h']]], + ['rc_5ftimer_5fmerge_5fpolymeshdetail_3710',['RC_TIMER_MERGE_POLYMESHDETAIL',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da24182cce77d41ba2d42db93b65dc7535',1,'Recast.h']]], + ['rc_5ftimer_5frasterize_5ftriangles_3711',['RC_TIMER_RASTERIZE_TRIANGLES',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da3fa1b3fe84fd4f3624887a1fa38944e6',1,'Recast.h']]], + ['rc_5ftimer_5ftemp_3712',['RC_TIMER_TEMP',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18da92968e4f7d7e891393de01a5554f4b8c',1,'Recast.h']]], + ['rc_5ftimer_5ftotal_3713',['RC_TIMER_TOTAL',['../Recast_8h.html#a0d44e82cf0c9a0df344aaff8654ea18dade020216459ee686aac7c19d7ee2729a',1,'Recast.h']]] +]; diff --git a/search/enumvalues_5.html b/search/enumvalues_5.html new file mode 100644 index 00000000..1c2e2f33 --- /dev/null +++ b/search/enumvalues_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_5.js b/search/enumvalues_5.js new file mode 100644 index 00000000..ba936143 --- /dev/null +++ b/search/enumvalues_5.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['sample_5fpartition_5flayers_3714',['SAMPLE_PARTITION_LAYERS',['../Sample_8h.html#a73f95e7eb01a7e948ecfa34b9cebcdc1a1fae7df00c1a8f165833e48c67692627',1,'Sample.h']]], + ['sample_5fpartition_5fmonotone_3715',['SAMPLE_PARTITION_MONOTONE',['../Sample_8h.html#a73f95e7eb01a7e948ecfa34b9cebcdc1aa44dc0eb2004b683d4297b7d46cfe979',1,'Sample.h']]], + ['sample_5fpartition_5fwatershed_3716',['SAMPLE_PARTITION_WATERSHED',['../Sample_8h.html#a73f95e7eb01a7e948ecfa34b9cebcdc1a4fe0d0ba0791fe2280ff3821177766a9',1,'Sample.h']]], + ['sample_5fpolyarea_5fdoor_3717',['SAMPLE_POLYAREA_DOOR',['../Sample_8h.html#a588cb37d59e832fa4f2606474769b6daa8dde3ccaff5b35fee2ce73d5744cae9e',1,'Sample.h']]], + ['sample_5fpolyarea_5fgrass_3718',['SAMPLE_POLYAREA_GRASS',['../Sample_8h.html#a588cb37d59e832fa4f2606474769b6daaa740ac4d510c2a3abe962fbfb793f1dc',1,'Sample.h']]], + ['sample_5fpolyarea_5fground_3719',['SAMPLE_POLYAREA_GROUND',['../Sample_8h.html#a588cb37d59e832fa4f2606474769b6daade496ba823714eb3b6d31fa9c1297388',1,'Sample.h']]], + ['sample_5fpolyarea_5fjump_3720',['SAMPLE_POLYAREA_JUMP',['../Sample_8h.html#a588cb37d59e832fa4f2606474769b6daac03a57a3286b6b9f4a5dcc403e269b2e',1,'Sample.h']]], + ['sample_5fpolyarea_5froad_3721',['SAMPLE_POLYAREA_ROAD',['../Sample_8h.html#a588cb37d59e832fa4f2606474769b6daacb78d7e68ad58b5bc62c2313cf3b0e38',1,'Sample.h']]], + ['sample_5fpolyarea_5fwater_3722',['SAMPLE_POLYAREA_WATER',['../Sample_8h.html#a588cb37d59e832fa4f2606474769b6daa08ea8d5a36716a7e74a6c73a25bcadbe',1,'Sample.h']]], + ['sample_5fpolyflags_5fall_3723',['SAMPLE_POLYFLAGS_ALL',['../Sample_8h.html#a7f96856c3ec53bcd8dab2396ae743f8daa00f1707b9fb5af90130ee64d133e68f',1,'Sample.h']]], + ['sample_5fpolyflags_5fdisabled_3724',['SAMPLE_POLYFLAGS_DISABLED',['../Sample_8h.html#a7f96856c3ec53bcd8dab2396ae743f8da2646db68ba40d4004ffb88a37717c4d1',1,'Sample.h']]], + ['sample_5fpolyflags_5fdoor_3725',['SAMPLE_POLYFLAGS_DOOR',['../Sample_8h.html#a7f96856c3ec53bcd8dab2396ae743f8da7d04a970d5e5fa624733a4be27470f3c',1,'Sample.h']]], + ['sample_5fpolyflags_5fjump_3726',['SAMPLE_POLYFLAGS_JUMP',['../Sample_8h.html#a7f96856c3ec53bcd8dab2396ae743f8da15efc6d182fbdd962d5b28f77d3c9e8f',1,'Sample.h']]], + ['sample_5fpolyflags_5fswim_3727',['SAMPLE_POLYFLAGS_SWIM',['../Sample_8h.html#a7f96856c3ec53bcd8dab2396ae743f8da01b0f8a3c0e3f5e7c4c9fa79c13981ea',1,'Sample.h']]], + ['sample_5fpolyflags_5fwalk_3728',['SAMPLE_POLYFLAGS_WALK',['../Sample_8h.html#a7f96856c3ec53bcd8dab2396ae743f8da56be2036bea60e03345da8f4897a4682',1,'Sample.h']]] +]; diff --git a/search/enumvalues_6.html b/search/enumvalues_6.html new file mode 100644 index 00000000..f985df91 --- /dev/null +++ b/search/enumvalues_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_6.js b/search/enumvalues_6.js new file mode 100644 index 00000000..ee20b63e --- /dev/null +++ b/search/enumvalues_6.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['tool_5fconvex_5fvolume_3729',['TOOL_CONVEX_VOLUME',['../Sample_8h.html#ae448bf9be534170ca5b5f8c97256125ba0a31d2fb717946c688d04888a81c2063',1,'Sample.h']]], + ['tool_5fcrowd_3730',['TOOL_CROWD',['../Sample_8h.html#ae448bf9be534170ca5b5f8c97256125ba2c02ab36128a429e63f30ac3beea2a12',1,'Sample.h']]], + ['tool_5fnavmesh_5fprune_3731',['TOOL_NAVMESH_PRUNE',['../Sample_8h.html#ae448bf9be534170ca5b5f8c97256125ba23046ac29087338ff7e8b24cc1778fef',1,'Sample.h']]], + ['tool_5fnavmesh_5ftester_3732',['TOOL_NAVMESH_TESTER',['../Sample_8h.html#ae448bf9be534170ca5b5f8c97256125ba0b913f987aa3e318b76065cfa4985815',1,'Sample.h']]], + ['tool_5fnone_3733',['TOOL_NONE',['../Sample_8h.html#ae448bf9be534170ca5b5f8c97256125baea1b4490f1a21f7bd637324c9a46474e',1,'Sample.h']]], + ['tool_5foffmesh_5fconnection_3734',['TOOL_OFFMESH_CONNECTION',['../Sample_8h.html#ae448bf9be534170ca5b5f8c97256125ba0c30e9d3ebdeca5bddecc218dc342b98',1,'Sample.h']]], + ['tool_5ftemp_5fobstacle_3735',['TOOL_TEMP_OBSTACLE',['../Sample_8h.html#ae448bf9be534170ca5b5f8c97256125ba5b84b6b324182b6d84255bf90ba84468',1,'Sample.h']]], + ['tool_5ftile_5fedit_3736',['TOOL_TILE_EDIT',['../Sample_8h.html#ae448bf9be534170ca5b5f8c97256125ba3cf3ab9c4ec7c40ff509f7eaab437d1b',1,'Sample.h']]], + ['tool_5ftile_5fhighlight_3737',['TOOL_TILE_HIGHLIGHT',['../Sample_8h.html#ae448bf9be534170ca5b5f8c97256125ba9657bb5c075ec7d34b297a657ce25d74',1,'Sample.h']]] +]; diff --git a/search/files_0.html b/search/files_0.html new file mode 100644 index 00000000..9498842a --- /dev/null +++ b/search/files_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_0.js b/search/files_0.js new file mode 100644 index 00000000..1e2432f4 --- /dev/null +++ b/search/files_0.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['chunkytrimesh_2ecpp_1984',['ChunkyTriMesh.cpp',['../ChunkyTriMesh_8cpp.html',1,'']]], + ['chunkytrimesh_2eh_1985',['ChunkyTriMesh.h',['../ChunkyTriMesh_8h.html',1,'']]], + ['contributing_2emd_1986',['CONTRIBUTING.md',['../CONTRIBUTING_8md.html',1,'']]], + ['convexvolumetool_2ecpp_1987',['ConvexVolumeTool.cpp',['../ConvexVolumeTool_8cpp.html',1,'']]], + ['convexvolumetool_2eh_1988',['ConvexVolumeTool.h',['../ConvexVolumeTool_8h.html',1,'']]], + ['crowdtool_2ecpp_1989',['CrowdTool.cpp',['../CrowdTool_8cpp.html',1,'']]], + ['crowdtool_2eh_1990',['CrowdTool.h',['../CrowdTool_8h.html',1,'']]] +]; diff --git a/search/files_1.html b/search/files_1.html new file mode 100644 index 00000000..7050ef48 --- /dev/null +++ b/search/files_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_1.js b/search/files_1.js new file mode 100644 index 00000000..079c2420 --- /dev/null +++ b/search/files_1.js @@ -0,0 +1,39 @@ +var searchData= +[ + ['debugdraw_2ecpp_1991',['DebugDraw.cpp',['../DebugDraw_8cpp.html',1,'']]], + ['debugdraw_2eh_1992',['DebugDraw.h',['../DebugDraw_8h.html',1,'']]], + ['detouralloc_2ecpp_1993',['DetourAlloc.cpp',['../DetourAlloc_8cpp.html',1,'']]], + ['detouralloc_2eh_1994',['DetourAlloc.h',['../DetourAlloc_8h.html',1,'']]], + ['detourassert_2ecpp_1995',['DetourAssert.cpp',['../DetourAssert_8cpp.html',1,'']]], + ['detourassert_2eh_1996',['DetourAssert.h',['../DetourAssert_8h.html',1,'']]], + ['detourcommon_2ecpp_1997',['DetourCommon.cpp',['../DetourCommon_8cpp.html',1,'']]], + ['detourcommon_2eh_1998',['DetourCommon.h',['../DetourCommon_8h.html',1,'']]], + ['detourcrowd_2ecpp_1999',['DetourCrowd.cpp',['../DetourCrowd_8cpp.html',1,'']]], + ['detourcrowd_2eh_2000',['DetourCrowd.h',['../DetourCrowd_8h.html',1,'']]], + ['detourdebugdraw_2ecpp_2001',['DetourDebugDraw.cpp',['../DetourDebugDraw_8cpp.html',1,'']]], + ['detourdebugdraw_2eh_2002',['DetourDebugDraw.h',['../DetourDebugDraw_8h.html',1,'']]], + ['detourlocalboundary_2ecpp_2003',['DetourLocalBoundary.cpp',['../DetourLocalBoundary_8cpp.html',1,'']]], + ['detourlocalboundary_2eh_2004',['DetourLocalBoundary.h',['../DetourLocalBoundary_8h.html',1,'']]], + ['detourmath_2eh_2005',['DetourMath.h',['../DetourMath_8h.html',1,'']]], + ['detournavmesh_2ecpp_2006',['DetourNavMesh.cpp',['../DetourNavMesh_8cpp.html',1,'']]], + ['detournavmesh_2eh_2007',['DetourNavMesh.h',['../DetourNavMesh_8h.html',1,'']]], + ['detournavmeshbuilder_2ecpp_2008',['DetourNavMeshBuilder.cpp',['../DetourNavMeshBuilder_8cpp.html',1,'']]], + ['detournavmeshbuilder_2eh_2009',['DetourNavMeshBuilder.h',['../DetourNavMeshBuilder_8h.html',1,'']]], + ['detournavmeshquery_2ecpp_2010',['DetourNavMeshQuery.cpp',['../DetourNavMeshQuery_8cpp.html',1,'']]], + ['detournavmeshquery_2eh_2011',['DetourNavMeshQuery.h',['../DetourNavMeshQuery_8h.html',1,'']]], + ['detournode_2ecpp_2012',['DetourNode.cpp',['../DetourNode_8cpp.html',1,'']]], + ['detournode_2eh_2013',['DetourNode.h',['../DetourNode_8h.html',1,'']]], + ['detourobstacleavoidance_2ecpp_2014',['DetourObstacleAvoidance.cpp',['../DetourObstacleAvoidance_8cpp.html',1,'']]], + ['detourobstacleavoidance_2eh_2015',['DetourObstacleAvoidance.h',['../DetourObstacleAvoidance_8h.html',1,'']]], + ['detourpathcorridor_2ecpp_2016',['DetourPathCorridor.cpp',['../DetourPathCorridor_8cpp.html',1,'']]], + ['detourpathcorridor_2eh_2017',['DetourPathCorridor.h',['../DetourPathCorridor_8h.html',1,'']]], + ['detourpathqueue_2ecpp_2018',['DetourPathQueue.cpp',['../DetourPathQueue_8cpp.html',1,'']]], + ['detourpathqueue_2eh_2019',['DetourPathQueue.h',['../DetourPathQueue_8h.html',1,'']]], + ['detourproximitygrid_2ecpp_2020',['DetourProximityGrid.cpp',['../DetourProximityGrid_8cpp.html',1,'']]], + ['detourproximitygrid_2eh_2021',['DetourProximityGrid.h',['../DetourProximityGrid_8h.html',1,'']]], + ['detourstatus_2eh_2022',['DetourStatus.h',['../DetourStatus_8h.html',1,'']]], + ['detourtilecache_2ecpp_2023',['DetourTileCache.cpp',['../DetourTileCache_8cpp.html',1,'']]], + ['detourtilecache_2eh_2024',['DetourTileCache.h',['../DetourTileCache_8h.html',1,'']]], + ['detourtilecachebuilder_2ecpp_2025',['DetourTileCacheBuilder.cpp',['../DetourTileCacheBuilder_8cpp.html',1,'']]], + ['detourtilecachebuilder_2eh_2026',['DetourTileCacheBuilder.h',['../DetourTileCacheBuilder_8h.html',1,'']]] +]; diff --git a/search/files_2.html b/search/files_2.html new file mode 100644 index 00000000..497cdf5c --- /dev/null +++ b/search/files_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_2.js b/search/files_2.js new file mode 100644 index 00000000..04325103 --- /dev/null +++ b/search/files_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['filelist_2ecpp_2027',['Filelist.cpp',['../Filelist_8cpp.html',1,'']]], + ['filelist_2eh_2028',['Filelist.h',['../Filelist_8h.html',1,'']]] +]; diff --git a/search/files_3.html b/search/files_3.html new file mode 100644 index 00000000..1ba106b2 --- /dev/null +++ b/search/files_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_3.js b/search/files_3.js new file mode 100644 index 00000000..675944ba --- /dev/null +++ b/search/files_3.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['imgui_2ecpp_2029',['imgui.cpp',['../imgui_8cpp.html',1,'']]], + ['imgui_2eh_2030',['imgui.h',['../imgui_8h.html',1,'']]], + ['imguirendergl_2ecpp_2031',['imguiRenderGL.cpp',['../imguiRenderGL_8cpp.html',1,'']]], + ['imguirendergl_2eh_2032',['imguiRenderGL.h',['../imguiRenderGL_8h.html',1,'']]], + ['inputgeom_2ecpp_2033',['InputGeom.cpp',['../InputGeom_8cpp.html',1,'']]], + ['inputgeom_2eh_2034',['InputGeom.h',['../InputGeom_8h.html',1,'']]] +]; diff --git a/search/files_4.html b/search/files_4.html new file mode 100644 index 00000000..753b7b10 --- /dev/null +++ b/search/files_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_4.js b/search/files_4.js new file mode 100644 index 00000000..6011d740 --- /dev/null +++ b/search/files_4.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['main_2ecpp_2035',['main.cpp',['../main_8cpp.html',1,'']]], + ['meshloaderobj_2ecpp_2036',['MeshLoaderObj.cpp',['../MeshLoaderObj_8cpp.html',1,'']]], + ['meshloaderobj_2eh_2037',['MeshLoaderObj.h',['../MeshLoaderObj_8h.html',1,'']]] +]; diff --git a/search/files_5.html b/search/files_5.html new file mode 100644 index 00000000..7b6affd7 --- /dev/null +++ b/search/files_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_5.js b/search/files_5.js new file mode 100644 index 00000000..f542956b --- /dev/null +++ b/search/files_5.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['navmeshprunetool_2ecpp_2038',['NavMeshPruneTool.cpp',['../NavMeshPruneTool_8cpp.html',1,'']]], + ['navmeshprunetool_2eh_2039',['NavMeshPruneTool.h',['../NavMeshPruneTool_8h.html',1,'']]], + ['navmeshtestertool_2ecpp_2040',['NavMeshTesterTool.cpp',['../NavMeshTesterTool_8cpp.html',1,'']]], + ['navmeshtestertool_2eh_2041',['NavMeshTesterTool.h',['../NavMeshTesterTool_8h.html',1,'']]] +]; diff --git a/search/files_6.html b/search/files_6.html new file mode 100644 index 00000000..802ebf71 --- /dev/null +++ b/search/files_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_6.js b/search/files_6.js new file mode 100644 index 00000000..db283f69 --- /dev/null +++ b/search/files_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['offmeshconnectiontool_2ecpp_2042',['OffMeshConnectionTool.cpp',['../OffMeshConnectionTool_8cpp.html',1,'']]], + ['offmeshconnectiontool_2eh_2043',['OffMeshConnectionTool.h',['../OffMeshConnectionTool_8h.html',1,'']]] +]; diff --git a/search/files_7.html b/search/files_7.html new file mode 100644 index 00000000..365e6484 --- /dev/null +++ b/search/files_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_7.js b/search/files_7.js new file mode 100644 index 00000000..5c39a076 --- /dev/null +++ b/search/files_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['perftimer_2ecpp_2044',['PerfTimer.cpp',['../PerfTimer_8cpp.html',1,'']]], + ['perftimer_2eh_2045',['PerfTimer.h',['../PerfTimer_8h.html',1,'']]] +]; diff --git a/search/files_8.html b/search/files_8.html new file mode 100644 index 00000000..3df0f2fa --- /dev/null +++ b/search/files_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_8.js b/search/files_8.js new file mode 100644 index 00000000..673fa4a4 --- /dev/null +++ b/search/files_8.js @@ -0,0 +1,24 @@ +var searchData= +[ + ['readme_2emd_2046',['README.md',['../README_8md.html',1,'']]], + ['recast_2ecpp_2047',['Recast.cpp',['../Recast_8cpp.html',1,'']]], + ['recast_2eh_2048',['Recast.h',['../Recast_8h.html',1,'']]], + ['recast_5fapi_2etxt_2049',['Recast_api.txt',['../Recast__api_8txt.html',1,'']]], + ['recastalloc_2ecpp_2050',['RecastAlloc.cpp',['../RecastAlloc_8cpp.html',1,'']]], + ['recastalloc_2eh_2051',['RecastAlloc.h',['../RecastAlloc_8h.html',1,'']]], + ['recastarea_2ecpp_2052',['RecastArea.cpp',['../RecastArea_8cpp.html',1,'']]], + ['recastassert_2ecpp_2053',['RecastAssert.cpp',['../RecastAssert_8cpp.html',1,'']]], + ['recastassert_2eh_2054',['RecastAssert.h',['../RecastAssert_8h.html',1,'']]], + ['recastcontour_2ecpp_2055',['RecastContour.cpp',['../RecastContour_8cpp.html',1,'']]], + ['recastdebugdraw_2ecpp_2056',['RecastDebugDraw.cpp',['../RecastDebugDraw_8cpp.html',1,'']]], + ['recastdebugdraw_2eh_2057',['RecastDebugDraw.h',['../RecastDebugDraw_8h.html',1,'']]], + ['recastdump_2ecpp_2058',['RecastDump.cpp',['../RecastDump_8cpp.html',1,'']]], + ['recastdump_2eh_2059',['RecastDump.h',['../RecastDump_8h.html',1,'']]], + ['recastfilter_2ecpp_2060',['RecastFilter.cpp',['../RecastFilter_8cpp.html',1,'']]], + ['recastlayers_2ecpp_2061',['RecastLayers.cpp',['../RecastLayers_8cpp.html',1,'']]], + ['recastmesh_2ecpp_2062',['RecastMesh.cpp',['../RecastMesh_8cpp.html',1,'']]], + ['recastmeshdetail_2ecpp_2063',['RecastMeshDetail.cpp',['../RecastMeshDetail_8cpp.html',1,'']]], + ['recastrasterization_2ecpp_2064',['RecastRasterization.cpp',['../RecastRasterization_8cpp.html',1,'']]], + ['recastregion_2ecpp_2065',['RecastRegion.cpp',['../RecastRegion_8cpp.html',1,'']]], + ['roadmap_2emd_2066',['Roadmap.md',['../Roadmap_8md.html',1,'']]] +]; diff --git a/search/files_9.html b/search/files_9.html new file mode 100644 index 00000000..52f8b6c0 --- /dev/null +++ b/search/files_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_9.js b/search/files_9.js new file mode 100644 index 00000000..a78be061 --- /dev/null +++ b/search/files_9.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['sample_2ecpp_2067',['Sample.cpp',['../Sample_8cpp.html',1,'']]], + ['sample_2eh_2068',['Sample.h',['../Sample_8h.html',1,'']]], + ['sample_5fdebug_2ecpp_2069',['Sample_Debug.cpp',['../Sample__Debug_8cpp.html',1,'']]], + ['sample_5fdebug_2eh_2070',['Sample_Debug.h',['../Sample__Debug_8h.html',1,'']]], + ['sample_5fsolomesh_2ecpp_2071',['Sample_SoloMesh.cpp',['../Sample__SoloMesh_8cpp.html',1,'']]], + ['sample_5fsolomesh_2eh_2072',['Sample_SoloMesh.h',['../Sample__SoloMesh_8h.html',1,'']]], + ['sample_5ftempobstacles_2ecpp_2073',['Sample_TempObstacles.cpp',['../Sample__TempObstacles_8cpp.html',1,'']]], + ['sample_5ftempobstacles_2eh_2074',['Sample_TempObstacles.h',['../Sample__TempObstacles_8h.html',1,'']]], + ['sample_5ftilemesh_2ecpp_2075',['Sample_TileMesh.cpp',['../Sample__TileMesh_8cpp.html',1,'']]], + ['sample_5ftilemesh_2eh_2076',['Sample_TileMesh.h',['../Sample__TileMesh_8h.html',1,'']]], + ['sampleinterfaces_2ecpp_2077',['SampleInterfaces.cpp',['../SampleInterfaces_8cpp.html',1,'']]], + ['sampleinterfaces_2eh_2078',['SampleInterfaces.h',['../SampleInterfaces_8h.html',1,'']]] +]; diff --git a/search/files_a.html b/search/files_a.html new file mode 100644 index 00000000..11d4c117 --- /dev/null +++ b/search/files_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_a.js b/search/files_a.js new file mode 100644 index 00000000..3fa04bbc --- /dev/null +++ b/search/files_a.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['testcase_2ecpp_2079',['TestCase.cpp',['../TestCase_8cpp.html',1,'']]], + ['testcase_2eh_2080',['TestCase.h',['../TestCase_8h.html',1,'']]] +]; diff --git a/search/files_b.html b/search/files_b.html new file mode 100644 index 00000000..9fc83436 --- /dev/null +++ b/search/files_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_b.js b/search/files_b.js new file mode 100644 index 00000000..94ca9a50 --- /dev/null +++ b/search/files_b.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['valuehistory_2ecpp_2081',['ValueHistory.cpp',['../ValueHistory_8cpp.html',1,'']]], + ['valuehistory_2eh_2082',['ValueHistory.h',['../ValueHistory_8h.html',1,'']]] +]; diff --git a/search/functions_0.html b/search/functions_0.html new file mode 100644 index 00000000..eb4c5014 --- /dev/null +++ b/search/functions_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_0.js b/search/functions_0.js new file mode 100644 index 00000000..d585f4d0 --- /dev/null +++ b/search/functions_0.js @@ -0,0 +1,41 @@ +var searchData= +[ + ['addagent_2083',['addAgent',['../classCrowdToolState.html#aa9104be644522ca092091108506ca29c',1,'CrowdToolState::addAgent()'],['../classdtCrowd.html#ae8c89febfd979a6b963c62d8cdb60653',1,'dtCrowd::addAgent()']]], + ['addboxobstacle_2084',['addBoxObstacle',['../classdtTileCache.html#a7bc032ae2bfec09d3ede528841c80ac6',1,'dtTileCache::addBoxObstacle(const float *bmin, const float *bmax, dtObstacleRef *result)'],['../classdtTileCache.html#ac37b6e2373ec3994e87b19606b135522',1,'dtTileCache::addBoxObstacle(const float *center, const float *halfExtents, const float yRadians, dtObstacleRef *result)']]], + ['addcircle_2085',['addCircle',['../classdtObstacleAvoidanceQuery.html#aca861fb3e13b8785124b655b8313de45',1,'dtObstacleAvoidanceQuery']]], + ['addconvexvolume_2086',['addConvexVolume',['../classInputGeom.html#a4656c55e1db085cd7b5bbd90a3770dc7',1,'InputGeom']]], + ['addedge_2087',['addEdge',['../RecastMeshDetail_8cpp.html#aff810577b2aaf1338c7051ad08435ce7',1,'RecastMeshDetail.cpp']]], + ['addgfxcmdline_2088',['addGfxCmdLine',['../imgui_8cpp.html#a7b983f52f1ccf9ca4783c08d6c1a8493',1,'imgui.cpp']]], + ['addgfxcmdrect_2089',['addGfxCmdRect',['../imgui_8cpp.html#a7ba380198ec6ab2a5e8eb7ca82b391e6',1,'imgui.cpp']]], + ['addgfxcmdroundedrect_2090',['addGfxCmdRoundedRect',['../imgui_8cpp.html#a7e0d57d6085430adc31d7a573b3f323a',1,'imgui.cpp']]], + ['addgfxcmdscissor_2091',['addGfxCmdScissor',['../imgui_8cpp.html#a879ceedaee511a3e6d030cf558c62bb8',1,'imgui.cpp']]], + ['addgfxcmdtext_2092',['addGfxCmdText',['../imgui_8cpp.html#a7d2823f41544c3976bd2194bd9b3ae9a',1,'imgui.cpp']]], + ['addgfxcmdtriangle_2093',['addGfxCmdTriangle',['../imgui_8cpp.html#af0a1cd491d202cd5a080758f36814b3b',1,'imgui.cpp']]], + ['additem_2094',['addItem',['../classdtProximityGrid.html#ad19f5adb495c35e386c6e1ba314a2b59',1,'dtProximityGrid']]], + ['addneighbour_2095',['addNeighbour',['../DetourCrowd_8cpp.html#a9e5491a91f795b81e724a48f8a4ee942',1,'DetourCrowd.cpp']]], + ['addobstacle_2096',['addObstacle',['../classdtTileCache.html#a5744412c3e291c0d4dcab91329449466',1,'dtTileCache']]], + ['addoffmeshconnection_2097',['addOffMeshConnection',['../classInputGeom.html#a80409ad925dbb6271d7a3ea67c1b5f6f',1,'InputGeom']]], + ['addsample_2098',['addSample',['../classValueHistory.html#a825b88cef49901ec8da5eccbbcd3afaa',1,'ValueHistory::addSample()'],['../classdtObstacleAvoidanceDebugData.html#a54b01ec0a47c6efd95ebde459791b788',1,'dtObstacleAvoidanceDebugData::addSample()']]], + ['addsegment_2099',['addSegment',['../classdtObstacleAvoidanceQuery.html#ab0abab88b2cba7747e6ed38470ca6eff',1,'dtObstacleAvoidanceQuery']]], + ['addspan_2100',['addSpan',['../RecastRasterization_8cpp.html#a99ae97dd732c3528b730ba714afa9098',1,'RecastRasterization.cpp']]], + ['addtempobstacle_2101',['addTempObstacle',['../classSample__TempObstacles.html#aaac948b9a430a591600c007e6b255aac',1,'Sample_TempObstacles']]], + ['addtile_2102',['addTile',['../classdtTileCache.html#ace9cbc6f688769c9314d453f5cac2432',1,'dtTileCache::addTile()'],['../classdtNavMesh.html#a5b5a7c4fa72c08d9a6d4cc4d8cd3bb89',1,'dtNavMesh::addTile()']]], + ['addtooptqueue_2103',['addToOptQueue',['../DetourCrowd_8cpp.html#a260333ea7db3d2f49d9fdfd9ed4d078c',1,'DetourCrowd.cpp']]], + ['addtopathqueue_2104',['addToPathQueue',['../DetourCrowd_8cpp.html#ad6e17a3fb0a88bbdb9f36d4d1eb483e8',1,'DetourCrowd.cpp']]], + ['addunique_2105',['addUnique',['../RecastLayers_8cpp.html#adc2593ebcf70cf17029ab4a28013c29b',1,'RecastLayers.cpp']]], + ['adduniqueconnection_2106',['addUniqueConnection',['../RecastRegion_8cpp.html#abc58499e6aeb21a4cd58d048c06f2ec0',1,'RecastRegion.cpp']]], + ['adduniquefloorregion_2107',['addUniqueFloorRegion',['../RecastRegion_8cpp.html#a2c802a2c5fc0d5e7e5d95a19539ff9a6',1,'RecastRegion.cpp']]], + ['adduniquelast_2108',['addUniqueLast',['../DetourTileCacheBuilder_8cpp.html#ab94d170b47f0f1d0fa11002939e57bd5',1,'DetourTileCacheBuilder.cpp']]], + ['addvertex_2109',['addVertex',['../RecastMesh_8cpp.html#a80775c4842d1c1c9f9acbe1c99e0ccd5',1,'addVertex(unsigned short x, unsigned short y, unsigned short z, unsigned short *verts, int *firstVert, int *nextVert, int &nv): RecastMesh.cpp'],['../DetourTileCacheBuilder_8cpp.html#a3a9cbf7fe498e49c6bf63e46c5d8ae8f',1,'addVertex(unsigned short x, unsigned short y, unsigned short z, unsigned short *verts, unsigned short *firstVert, unsigned short *nextVert, int &nv): DetourTileCacheBuilder.cpp']]], + ['alloc_2110',['alloc',['../structLinearAllocator.html#aeb98c5c6f9e8c97fd41759b6f0ebd1e2',1,'LinearAllocator::alloc()'],['../structdtTileCacheAlloc.html#a39388622f5af120cf1d32d5794da940b',1,'dtTileCacheAlloc::alloc()']]], + ['alloclink_2111',['allocLink',['../DetourNavMesh_8cpp.html#aa74dd7666e6d665dd48779e18f5d4ed9',1,'DetourNavMesh.cpp']]], + ['allocspan_2112',['allocSpan',['../RecastRasterization_8cpp.html#aa11b8335cd3e2dfd39972a4e9046467c',1,'RecastRasterization.cpp']]], + ['alloctext_2113',['allocText',['../imgui_8cpp.html#a965984c12ad3f79efa5f337bda81f7dd',1,'imgui.cpp']]], + ['anyactive_2114',['anyActive',['../imgui_8cpp.html#a6b421af801049347c033e93202b93cc7',1,'imgui.cpp']]], + ['appendarrowhead_2115',['appendArrowHead',['../DebugDraw_8cpp.html#a92fe9ab381b78d4826302d41f9e3445a',1,'DebugDraw.cpp']]], + ['appendstacks_2116',['appendStacks',['../RecastRegion_8cpp.html#acae78c0a97b367d4ace3294d6dcb8216',1,'RecastRegion.cpp']]], + ['appendvertex_2117',['appendVertex',['../DetourTileCacheBuilder_8cpp.html#a7b70b108373f83e39073cd995c83342e',1,'DetourTileCacheBuilder.cpp']]], + ['area2_2118',['area2',['../DetourTileCacheBuilder_8cpp.html#a4026446823c064e1eee76b85985e82cd',1,'area2(const unsigned char *a, const unsigned char *b, const unsigned char *c): DetourTileCacheBuilder.cpp'],['../RecastContour_8cpp.html#a09ae1f04327bcd46a12ace0769a8f266',1,'area2(const int *a, const int *b, const int *c): RecastContour.cpp'],['../RecastMesh_8cpp.html#a09ae1f04327bcd46a12ace0769a8f266',1,'area2(const int *a, const int *b, const int *c): RecastMesh.cpp']]], + ['areatocol_2119',['areaToCol',['../structduDebugDraw.html#aabdd9cd0f4381c686c3e0beaf50d3d13',1,'duDebugDraw::areaToCol()'],['../classSampleDebugDraw.html#ae30775c5bef8b739d5c25a10e3603571',1,'SampleDebugDraw::areaToCol()']]], + ['assign_2120',['assign',['../classrcVectorBase.html#af2d02ea6aea5354a3954a5902527a7ab',1,'rcVectorBase::assign(rcSizeType count, const T &value)'],['../classrcVectorBase.html#a55225c4d52eda5e77c10b41c34deab95',1,'rcVectorBase::assign(const T *begin, const T *end)']]] +]; diff --git a/search/functions_1.html b/search/functions_1.html new file mode 100644 index 00000000..ef4088b8 --- /dev/null +++ b/search/functions_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_1.js b/search/functions_1.js new file mode 100644 index 00000000..77d15ef2 --- /dev/null +++ b/search/functions_1.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['back_2121',['back',['../classrcVectorBase.html#af153bfe84b00d8d36651e69252750714',1,'rcVectorBase::back()'],['../classrcVectorBase.html#a86784ed19e1fa89f16135f27aa87b7ee',1,'rcVectorBase::back() const']]], + ['begin_2122',['begin',['../structduDebugDraw.html#a6403932173f27503e05cd258f5837d17',1,'duDebugDraw::begin()'],['../classduDisplayList.html#a9b22850cbe77c3e59f00ceda818563ea',1,'duDisplayList::begin()'],['../classrcVectorBase.html#aad94cf6d0ea00bfe36419e4c8fa7e14f',1,'rcVectorBase::begin()'],['../classrcVectorBase.html#ab920e47406cddfec669c07942b715eb7',1,'rcVectorBase::begin() const'],['../classDebugDrawGL.html#ad7f56b0a3ab7c29b6a58e4cf72c78568',1,'DebugDrawGL::begin()']]], + ['between_2123',['between',['../RecastMesh_8cpp.html#a32119d50d88bb48bcab862a57ef86425',1,'between(const int *a, const int *b, const int *c): RecastMesh.cpp'],['../RecastContour_8cpp.html#a32119d50d88bb48bcab862a57ef86425',1,'between(const int *a, const int *b, const int *c): RecastContour.cpp'],['../DetourTileCacheBuilder_8cpp.html#a836449fc0a0e562494f018c093fa5e73',1,'between(const unsigned char *a, const unsigned char *b, const unsigned char *c): DetourTileCacheBuilder.cpp']]], + ['bind_2124',['bind',['../classGLCheckerTexture.html#a6867fb461e1ebdfb5ffaf8572678ef22',1,'GLCheckerTexture']]], + ['bit_2125',['bit',['../DebugDraw_8cpp.html#a540a122c002c99d142af5bfaac50b43d',1,'DebugDraw.cpp']]], + ['boxblur_2126',['boxBlur',['../RecastRegion_8cpp.html#a68b94f221565ed5b4e80e34272f43ef0',1,'RecastRegion.cpp']]], + ['buildalltiles_2127',['buildAllTiles',['../classSample__TileMesh.html#aea5e79d067a5b8120a857653f40fa608',1,'Sample_TileMesh']]], + ['buildcontext_2128',['BuildContext',['../classBuildContext.html#a3103b5538cfde15052e20019018fb3de',1,'BuildContext']]], + ['buildmeshadjacency_2129',['buildMeshAdjacency',['../DetourTileCacheBuilder_8cpp.html#a3cb207997a33b83726f260fe5f0715d4',1,'buildMeshAdjacency(dtTileCacheAlloc *alloc, unsigned short *polys, const int npolys, const unsigned short *verts, const int nverts, const dtTileCacheContourSet &lcset): DetourTileCacheBuilder.cpp'],['../RecastMesh_8cpp.html#a256e19cca110edc31cb96adf9a52521d',1,'buildMeshAdjacency(unsigned short *polys, const int npolys, const int nverts, const int vertsPerPoly): RecastMesh.cpp']]], + ['buildnavmeshtile_2130',['buildNavMeshTile',['../classdtTileCache.html#a58de8a233915bc3aa553d4cf4e10084d',1,'dtTileCache']]], + ['buildnavmeshtilesat_2131',['buildNavMeshTilesAt',['../classdtTileCache.html#ae501e709b8c918b9c60d87816d54bbab',1,'dtTileCache']]], + ['buildpolydetail_2132',['buildPolyDetail',['../RecastMeshDetail_8cpp.html#a71ca10a7c35e12de63aebe7f7cba59b0',1,'RecastMeshDetail.cpp']]], + ['buildtile_2133',['buildTile',['../classSample__TileMesh.html#ab0edd032cb95581c65cd6db2bbcda4c4',1,'Sample_TileMesh']]], + ['buildtilemesh_2134',['buildTileMesh',['../classSample__TileMesh.html#af2d9ae49dfb292df3aa05fe545dde136',1,'Sample_TileMesh']]], + ['buttonlogic_2135',['buttonLogic',['../imgui_8cpp.html#a455558f382e7dcbbc1b3b983d35c349e',1,'imgui.cpp']]] +]; diff --git a/search/functions_10.html b/search/functions_10.html new file mode 100644 index 00000000..1bdc1257 --- /dev/null +++ b/search/functions_10.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_10.js b/search/functions_10.js new file mode 100644 index 00000000..5983827e --- /dev/null +++ b/search/functions_10.js @@ -0,0 +1,44 @@ +var searchData= +[ + ['sample_2892',['Sample',['../classSample.html#a48a4cf559a1ff65b7d4776c262236e27',1,'Sample']]], + ['sample_5fdebug_2893',['Sample_Debug',['../classSample__Debug.html#aeaaa851b59ab27d8ca483d5b8842dc2f',1,'Sample_Debug']]], + ['sample_5fsolomesh_2894',['Sample_SoloMesh',['../classSample__SoloMesh.html#a85b98cc7d5c81d86acccd31156c3258c',1,'Sample_SoloMesh']]], + ['sample_5ftempobstacles_2895',['Sample_TempObstacles',['../classSample__TempObstacles.html#a8b4c95ce918a73325cd1a703eccedc0f',1,'Sample_TempObstacles']]], + ['sample_5ftilemesh_2896',['Sample_TileMesh',['../classSample__TileMesh.html#a595d0f4ba7f8e1c03ddd7571ff53464d',1,'Sample_TileMesh']]], + ['samplevelocityadaptive_2897',['sampleVelocityAdaptive',['../classdtObstacleAvoidanceQuery.html#aecf2d1d53bc0c74997ff3aac1587c242',1,'dtObstacleAvoidanceQuery']]], + ['samplevelocitygrid_2898',['sampleVelocityGrid',['../classdtObstacleAvoidanceQuery.html#a5209e8625a0618fd9c96ba2d0374d90f',1,'dtObstacleAvoidanceQuery']]], + ['saveall_2899',['saveAll',['../classSample.html#a5a6d7fec2a32c30cebc8f4a3c895593d',1,'Sample::saveAll()'],['../classSample__TempObstacles.html#ac466e2df756cdb2a6d6f2ad195b51026',1,'Sample_TempObstacles::saveAll()'],['../classSample__TileMesh.html#a8b0ada6186c1eb4cc2fe759bface0e43',1,'Sample_TileMesh::saveAll()']]], + ['savegeomset_2900',['saveGeomSet',['../classInputGeom.html#a866a12c00d1417a7403258f438a27a86',1,'InputGeom']]], + ['scandirectory_2901',['scanDirectory',['../Filelist_8h.html#a45c5368afb38260fa0c524b2b084efee',1,'scanDirectory(const std::string &path, const std::string &ext, std::vector< std::string > &fileList): Filelist.h'],['../Filelist_8cpp.html#a2baf53e840e4fefc5e6933fb3d53569e',1,'scanDirectory(const string &path, const string &ext, vector< string > &filelist): Filelist.cpp']]], + ['scandirectoryappend_2902',['scanDirectoryAppend',['../Filelist_8h.html#ae20514067f3272c41e207bed25e530d8',1,'scanDirectoryAppend(const std::string &path, const std::string &ext, std::vector< std::string > &fileList): Filelist.h'],['../Filelist_8cpp.html#ab77bcf8d92348f01734b4aeafec8c4d6',1,'scanDirectoryAppend(const string &path, const string &ext, vector< string > &filelist): Filelist.cpp']]], + ['seedarraywithpolycenter_2903',['seedArrayWithPolyCenter',['../RecastMeshDetail_8cpp.html#aa27a15fb0a81befd7f9957f63eb45735',1,'RecastMeshDetail.cpp']]], + ['setactive_2904',['setActive',['../imgui_8cpp.html#a19d012d43ace20552ff625a6bf7d7552',1,'imgui.cpp']]], + ['setarea_2905',['setArea',['../structdtPoly.html#a84f05dcf69d70b26323b65a0c1c66954',1,'dtPoly']]], + ['setareacost_2906',['setAreaCost',['../classdtQueryFilter.html#a36063c39d5c391a393412108a8a33927',1,'dtQueryFilter']]], + ['setcontext_2907',['setContext',['../classSample.html#a86e13c14ae1a347d4867c77ec90e49f1',1,'Sample']]], + ['setcorridor_2908',['setCorridor',['../classdtPathCorridor.html#af26a1205a7e38f0389a2dcb2dc23ca9b',1,'dtPathCorridor']]], + ['setexcludeflags_2909',['setExcludeFlags',['../classdtQueryFilter.html#a18c1b888c9b2c3b30703d6861a793600',1,'dtQueryFilter']]], + ['setflags_2910',['setFlags',['../classNavmeshFlags.html#ace82d60d1c76b7f5fba63a79a8bf3d14',1,'NavmeshFlags']]], + ['sethot_2911',['setHot',['../imgui_8cpp.html#a5bef8420adcaae489e55a652b4c1f14e',1,'imgui.cpp']]], + ['setincludeflags_2912',['setIncludeFlags',['../classdtQueryFilter.html#ab9783c92a30e41df84ebfd2f68338970',1,'dtQueryFilter']]], + ['setmovetarget_2913',['setMoveTarget',['../classCrowdToolState.html#a07c2b6234747c5a0e412ee65d3be038a',1,'CrowdToolState']]], + ['setnavmeshdrawflags_2914',['setNavMeshDrawFlags',['../classSample.html#a0b5f9832856a0880004b8f725366cca1',1,'Sample']]], + ['setobstacleavoidanceparams_2915',['setObstacleAvoidanceParams',['../classdtCrowd.html#a96338b9a99e8d58a3051a9ce7934e8b1',1,'dtCrowd']]], + ['setpolyarea_2916',['setPolyArea',['../classdtNavMesh.html#a74a6e65e04a87a1b6abf837349f214fb',1,'dtNavMesh']]], + ['setpolyflags_2917',['setPolyFlags',['../classdtNavMesh.html#af11a9e69fa88b6d5cf66c376d46b8889',1,'dtNavMesh']]], + ['setrect_2918',['setRect',['../structGraphParams.html#a6bc9e0c7d31219f865e533ee7f279518',1,'GraphParams']]], + ['setrunning_2919',['setRunning',['../classCrowdToolState.html#a5ec55b2d7b4eae5639fdf77534e7db93',1,'CrowdToolState']]], + ['settool_2920',['setTool',['../classSample.html#a0602082aea4402bd6db027a5aa4f33a0',1,'Sample']]], + ['settoolstate_2921',['setToolState',['../classSample.html#a366638d234ad656df8bd3946d11792b5',1,'Sample']]], + ['settype_2922',['setType',['../structdtPoly.html#ac625b3f1acf8df354a50464e210300dc',1,'dtPoly']]], + ['setvaluerange_2923',['setValueRange',['../structGraphParams.html#ab0ee815e9d6e55816a7202d7ef9c8ac9',1,'GraphParams']]], + ['simplifycontour_2924',['simplifyContour',['../RecastContour_8cpp.html#aa7cef37578da730d57670d60132da73f',1,'simplifyContour(rcIntArray &points, rcIntArray &simplified, const float maxError, const int maxEdgeLen, const int buildFlags): RecastContour.cpp'],['../DetourTileCacheBuilder_8cpp.html#aa2cb5549f579c46432cb5af9e0f3c9bb',1,'simplifyContour(dtTempContour &cont, const float maxError): DetourTileCacheBuilder.cpp']]], + ['size_2925',['size',['../classrcIntArray.html#af17b8fb439ac8121af044d4f4d13753c',1,'rcIntArray::size()'],['../classrcVectorBase.html#acfbb0217a292f75069614da62f6af0c7',1,'rcVectorBase::size()'],['../classdtFixedArray.html#aff54b9aa9eb16e7cea87546e6b1aed93',1,'dtFixedArray::size()']]], + ['sortcellsbylevel_2926',['sortCellsByLevel',['../RecastRegion_8cpp.html#a02ba6d0e792550e0ce791fa42ef865d1',1,'RecastRegion.cpp']]], + ['starttimer_2927',['startTimer',['../classrcContext.html#a3c8d3035e1046dd8907b10b7d9c8de57',1,'rcContext']]], + ['stoptimer_2928',['stopTimer',['../classrcContext.html#a3f7042723b8d99d486575eb3d592af25',1,'rcContext']]], + ['storetilestate_2929',['storeTileState',['../classdtNavMesh.html#a141e01263950382365468ea265f48758',1,'dtNavMesh']]], + ['subdivide_2930',['subdivide',['../DetourNavMeshBuilder_8cpp.html#a95ba365676cad314741a13f58b6b0eba',1,'subdivide(BVItem *items, int nitems, int imin, int imax, int &curNode, dtBVNode *nodes): DetourNavMeshBuilder.cpp'],['../ChunkyTriMesh_8cpp.html#af34b40e9f943704bcaa0d14f83fe8d8e',1,'subdivide(BoundsItem *items, int nitems, int imin, int imax, int trisPerChunk, int &curNode, rcChunkyTriMeshNode *nodes, const int maxNodes, int &curTri, int *outTris, const int *inTris): ChunkyTriMesh.cpp']]], + ['swap_2931',['swap',['../classrcVectorBase.html#aea266b993082cb53732f617600378dde',1,'rcVectorBase']]], + ['sweepcirclecircle_2932',['sweepCircleCircle',['../DetourObstacleAvoidance_8cpp.html#a07a96536185de3b5b7e8aae361ac70a9',1,'DetourObstacleAvoidance.cpp']]] +]; diff --git a/search/functions_11.html b/search/functions_11.html new file mode 100644 index 00000000..188076ef --- /dev/null +++ b/search/functions_11.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_11.js b/search/functions_11.js new file mode 100644 index 00000000..30524d90 --- /dev/null +++ b/search/functions_11.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['tempobstaclecreatetool_2933',['TempObstacleCreateTool',['../classTempObstacleCreateTool.html#addc423c98712dd4a0efb01fc231d66b3',1,'TempObstacleCreateTool']]], + ['tempobstaclehilighttool_2934',['TempObstacleHilightTool',['../classTempObstacleHilightTool.html#a784ace19a383584d3754d81733fb25db',1,'TempObstacleHilightTool']]], + ['testcase_2935',['TestCase',['../classTestCase.html#ac62aa15cb45a40bdc0b9a1c6554c7e0a',1,'TestCase']]], + ['texture_2936',['texture',['../structduDebugDraw.html#afd70102a49177ea8068508139c8cdb1e',1,'duDebugDraw::texture()'],['../classDebugDrawGL.html#ad51f99f7707ed09bc19623cd31e9881c',1,'DebugDrawGL::texture()']]], + ['top_2937',['top',['../classdtNodeQueue.html#ad76eefdf18096e14f67c579c20a506af',1,'dtNodeQueue']]], + ['triangulate_2938',['triangulate',['../RecastMesh_8cpp.html#af19401e5d7d90391fe30c6d31de5a533',1,'triangulate(int n, const int *verts, int *indices, int *tris): RecastMesh.cpp'],['../DetourTileCacheBuilder_8cpp.html#a152104956c5f847255758c0ef53945ef',1,'triangulate(int n, const unsigned char *verts, unsigned short *indices, unsigned short *tris): DetourTileCacheBuilder.cpp']]], + ['triangulatehull_2939',['triangulateHull',['../RecastMeshDetail_8cpp.html#a82563f9d527bf5df7f89dd1bb60903c4',1,'RecastMeshDetail.cpp']]], + ['triminvalidpath_2940',['trimInvalidPath',['../classdtPathCorridor.html#a5ed6daf1e663f2b0a854794e431514c8',1,'dtPathCorridor']]], + ['tween_2941',['tween',['../DetourCrowd_8cpp.html#a41b93b1d9ae7dc1511fbee39032e4e9a',1,'DetourCrowd.cpp']]], + ['type_2942',['type',['../classOffMeshConnectionTool.html#a738515bc57b034ff5ed4d1d0721984da',1,'OffMeshConnectionTool::type()'],['../structSampleTool.html#a45b4ac6ce6d23449eb7c7ff3d0f1fdc5',1,'SampleTool::type()'],['../classTempObstacleHilightTool.html#ac3ba6c36507d2caa8835f9420a6470f6',1,'TempObstacleHilightTool::type()'],['../classTempObstacleCreateTool.html#ac7a7b02c2f0972842b0e20276217c1eb',1,'TempObstacleCreateTool::type()'],['../classNavMeshTileTool.html#a55d28798b522df9956f914c1b9677cf0',1,'NavMeshTileTool::type()'],['../classNavMeshTesterTool.html#a209af8804c52d9f3dbce40ab69028483',1,'NavMeshTesterTool::type()'],['../classNavMeshPruneTool.html#a68059436d7e4b5118949d5d7f8204af8',1,'NavMeshPruneTool::type()'],['../classCrowdTool.html#a5b7f620a8f1f319990286c12a4ce2e2d',1,'CrowdTool::type()'],['../classConvexVolumeTool.html#abb88ba3138d3e187b32e94dcf9874aeb',1,'ConvexVolumeTool::type()']]] +]; diff --git a/search/functions_12.html b/search/functions_12.html new file mode 100644 index 00000000..eb29d8f9 --- /dev/null +++ b/search/functions_12.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_12.js b/search/functions_12.js new file mode 100644 index 00000000..be1f58ff --- /dev/null +++ b/search/functions_12.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['uleft_2943',['uleft',['../DetourTileCacheBuilder_8cpp.html#a7779e8ce95da76bac3631db6b39436db',1,'uleft(const unsigned short *a, const unsigned short *b, const unsigned short *c): DetourTileCacheBuilder.cpp'],['../RecastMesh_8cpp.html#a7779e8ce95da76bac3631db6b39436db',1,'uleft(const unsigned short *a, const unsigned short *b, const unsigned short *c): RecastMesh.cpp']]], + ['update_2944',['update',['../classdtCrowd.html#ae3f041e335ca87c323e7340e73113919',1,'dtCrowd::update()'],['../classdtLocalBoundary.html#a270ef7f2e72520df6bd5c3a0e6b9a869',1,'dtLocalBoundary::update()'],['../classdtPathQueue.html#ab28e659d2db86d9f5d5246811cb08da0',1,'dtPathQueue::update()'],['../classdtTileCache.html#a93f931ad563e5cadcc389acdffd4892e',1,'dtTileCache::update()']]], + ['updateagentparameters_2945',['updateAgentParameters',['../classdtCrowd.html#a6ed4aa0026c21593daa9ea12c71f84c2',1,'dtCrowd']]], + ['updateagentparams_2946',['updateAgentParams',['../classCrowdToolState.html#a6054eb8441ec36876cbd2354b9c9957a',1,'CrowdToolState']]], + ['updateinput_2947',['updateInput',['../imgui_8cpp.html#a5cd0710bb09b88cad4cb053553d5bc24',1,'imgui.cpp']]], + ['updateleftface_2948',['updateLeftFace',['../RecastMeshDetail_8cpp.html#a0e67f4996b610668123b58620dae5a4f',1,'RecastMeshDetail.cpp']]], + ['updateslicedfindpath_2949',['updateSlicedFindPath',['../classdtNavMeshQuery.html#aa0c147e3da7fd0b59342da0fc456afc7',1,'dtNavMeshQuery']]], + ['updatetick_2950',['updateTick',['../classCrowdToolState.html#a57ac46cd3a33bd91e3e2280d03fb30d7',1,'CrowdToolState']]], + ['updatetoolstates_2951',['updateToolStates',['../classSample.html#a6b8f01c0007622ce86b236c283ea5ae4',1,'Sample']]] +]; diff --git a/search/functions_13.html b/search/functions_13.html new file mode 100644 index 00000000..3da2ea69 --- /dev/null +++ b/search/functions_13.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_13.js b/search/functions_13.js new file mode 100644 index 00000000..7c4ed611 --- /dev/null +++ b/search/functions_13.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['valuehistory_2952',['ValueHistory',['../classValueHistory.html#a80604d504ef4e5ae9e39649f5e3ab32e',1,'ValueHistory']]], + ['vcross_2953',['vcross',['../DebugDraw_8cpp.html#a053fd5d6f9516c4e4e00ba86fcc602f8',1,'DebugDraw.cpp']]], + ['vcross2_2954',['vcross2',['../RecastMeshDetail_8cpp.html#af3f14f4be46b7208b244f15f2f805e17',1,'RecastMeshDetail.cpp']]], + ['vdist2_2955',['vdist2',['../RecastMeshDetail_8cpp.html#a810b0244c7c29dcf5eae04c805318b85',1,'RecastMeshDetail.cpp']]], + ['vdistsq2_2956',['vdistSq2',['../RecastMeshDetail_8cpp.html#a36172d94785e617bbc5f27dad577dadc',1,'RecastMeshDetail.cpp']]], + ['vdistsqr_2957',['vdistSqr',['../DebugDraw_8cpp.html#a4417fb2f20aaaa3e0d8e4a7e20b5cad9',1,'DebugDraw.cpp']]], + ['vdot2_2958',['vdot2',['../RecastMeshDetail_8cpp.html#a0ad602bda2f516b9a847c3b06c2d97fd',1,'RecastMeshDetail.cpp']]], + ['vequal_2959',['vequal',['../RecastMesh_8cpp.html#ac36ef53201f5b44be2f321d65ae01987',1,'vequal(const int *a, const int *b): RecastMesh.cpp'],['../RecastContour_8cpp.html#ac36ef53201f5b44be2f321d65ae01987',1,'vequal(const int *a, const int *b): RecastContour.cpp'],['../DetourTileCacheBuilder_8cpp.html#aa4f62c267a38a721dda8c1b1f6c76a9d',1,'vequal(const unsigned char *a, const unsigned char *b): DetourTileCacheBuilder.cpp']]], + ['vertex_2960',['vertex',['../structduDebugDraw.html#a8fac1072846b60be4ce4810c68140ee8',1,'duDebugDraw::vertex()'],['../classDebugDrawGL.html#ae2ea264e176f08445b983ae6e3701639',1,'DebugDrawGL::vertex(const float x, const float y, const float z, unsigned int color, const float u, const float v)'],['../classDebugDrawGL.html#a25db0b2def0f18e5f3c87ce50847ed4f',1,'DebugDrawGL::vertex(const float *pos, unsigned int color, const float *uv)'],['../classDebugDrawGL.html#a231dbb0906f35a3a3e782ddc04bd2365',1,'DebugDrawGL::vertex(const float x, const float y, const float z, unsigned int color)'],['../classDebugDrawGL.html#a5c44e91d886860827e4131cea9b03181',1,'DebugDrawGL::vertex(const float *pos, unsigned int color)'],['../classduDisplayList.html#ab4aa562f713485769b68d1989c6e1ec4',1,'duDisplayList::vertex(const float *pos, unsigned int color)'],['../classduDisplayList.html#af724f7566b2c1c2c09453dc064c6eecf',1,'duDisplayList::vertex(const float x, const float y, const float z, unsigned int color)'],['../structduDebugDraw.html#a0f76c61eb9f274f17c91308c739211eb',1,'duDebugDraw::vertex(const float x, const float y, const float z, unsigned int color, const float u, const float v)=0'],['../structduDebugDraw.html#a711146a2e4be2ef9e0d6de7be8c714bc',1,'duDebugDraw::vertex(const float *pos, unsigned int color, const float *uv)=0'],['../structduDebugDraw.html#a2af291d6e63081ce1d3f34e1851ae5e0',1,'duDebugDraw::vertex(const float x, const float y, const float z, unsigned int color)=0']]], + ['vnormalize_2961',['vnormalize',['../DebugDraw_8cpp.html#a484d2a62675fb9c02e36ebd5ae9a1409',1,'DebugDraw.cpp']]], + ['vperpxz_2962',['vperpXZ',['../DetourCommon_8cpp.html#a8c5563632125a8e436ed0dff027370d4',1,'DetourCommon.cpp']]], + ['vsub_2963',['vsub',['../DebugDraw_8cpp.html#a5d1da618860cf741dca5e79581948dc2',1,'DebugDraw.cpp']]] +]; diff --git a/search/functions_14.html b/search/functions_14.html new file mode 100644 index 00000000..29237b44 --- /dev/null +++ b/search/functions_14.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_14.js b/search/functions_14.js new file mode 100644 index 00000000..8cf2ea3a --- /dev/null +++ b/search/functions_14.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['walkcontour_2964',['walkContour',['../DetourTileCacheBuilder_8cpp.html#a45f592986513acd34a53381dc61c8340',1,'walkContour(dtTileCacheLayer &layer, int x, int y, dtTempContour &cont): DetourTileCacheBuilder.cpp'],['../RecastContour_8cpp.html#a5f3ae9ba0be2db4fd93a7a6e01326c05',1,'walkContour(int x, int y, int i, rcCompactHeightfield &chf, unsigned char *flags, rcIntArray &points): RecastContour.cpp'],['../RecastRegion_8cpp.html#ad83298fca0661c495cf8316ffac5dd3c',1,'walkContour(int x, int y, int i, int dir, rcCompactHeightfield &chf, const unsigned short *srcReg, rcIntArray &cont): RecastRegion.cpp']]], + ['write_2965',['write',['../structduFileIO.html#aec33f1c0d1d0d1ec464fc1a5c135cb00',1,'duFileIO::write()'],['../classFileIO.html#aa2ff5f1db6c224a0fa15f3b039a6009d',1,'FileIO::write()']]] +]; diff --git a/search/functions_15.html b/search/functions_15.html new file mode 100644 index 00000000..6d5decd7 --- /dev/null +++ b/search/functions_15.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_15.js b/search/functions_15.js new file mode 100644 index 00000000..f1183c74 --- /dev/null +++ b/search/functions_15.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['xorb_2966',['xorb',['../DetourTileCacheBuilder_8cpp.html#a82c11ae489473adcaa21b9944f3553fd',1,'xorb(bool x, bool y): DetourTileCacheBuilder.cpp'],['../RecastContour_8cpp.html#a82c11ae489473adcaa21b9944f3553fd',1,'xorb(bool x, bool y): RecastContour.cpp'],['../RecastMesh_8cpp.html#a82c11ae489473adcaa21b9944f3553fd',1,'xorb(bool x, bool y): RecastMesh.cpp']]] +]; diff --git a/search/functions_16.html b/search/functions_16.html new file mode 100644 index 00000000..5aed7d09 --- /dev/null +++ b/search/functions_16.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_16.js b/search/functions_16.js new file mode 100644 index 00000000..9daf6bb3 --- /dev/null +++ b/search/functions_16.js @@ -0,0 +1,60 @@ +var searchData= +[ + ['_7ecrowdtoolstate_2967',['~CrowdToolState',['../classCrowdToolState.html#a565655ca9441a3df105c266743937f8b',1,'CrowdToolState']]], + ['_7edtcollectpolysquery_2968',['~dtCollectPolysQuery',['../classdtCollectPolysQuery.html#a30a6baa977d507b2c6f0148a770655b8',1,'dtCollectPolysQuery']]], + ['_7edtcrowd_2969',['~dtCrowd',['../classdtCrowd.html#a9a6817150b328d1646e58713cef9d9b4',1,'dtCrowd']]], + ['_7edtfindnearestpolyquery_2970',['~dtFindNearestPolyQuery',['../classdtFindNearestPolyQuery.html#a0f3122a8f4d6151eb628453b3e99d74c',1,'dtFindNearestPolyQuery']]], + ['_7edtfixedarray_2971',['~dtFixedArray',['../classdtFixedArray.html#a4200a27ea1af879c1f0b19de8d289e8a',1,'dtFixedArray']]], + ['_7edtlocalboundary_2972',['~dtLocalBoundary',['../classdtLocalBoundary.html#a902dbd1ea5d8c1981b36b1ee5dac70c8',1,'dtLocalBoundary']]], + ['_7edtnavmesh_2973',['~dtNavMesh',['../classdtNavMesh.html#a08ff0da5bc8c2d01d26535f67d0f4726',1,'dtNavMesh']]], + ['_7edtnavmeshquery_2974',['~dtNavMeshQuery',['../classdtNavMeshQuery.html#a157a41114dab708dabb05eebe8dc07a2',1,'dtNavMeshQuery']]], + ['_7edtnodepool_2975',['~dtNodePool',['../classdtNodePool.html#acd74c85e290d5b7bcd1f9c44905a0f74',1,'dtNodePool']]], + ['_7edtnodequeue_2976',['~dtNodeQueue',['../classdtNodeQueue.html#a836fbfbac11e06eeadd76919a9bba943',1,'dtNodeQueue']]], + ['_7edtobstacleavoidancedebugdata_2977',['~dtObstacleAvoidanceDebugData',['../classdtObstacleAvoidanceDebugData.html#ad8b6bd04b9c0a8798a75d83671f74859',1,'dtObstacleAvoidanceDebugData']]], + ['_7edtobstacleavoidancequery_2978',['~dtObstacleAvoidanceQuery',['../classdtObstacleAvoidanceQuery.html#a56a81340e58ae836f32c802ab3531772',1,'dtObstacleAvoidanceQuery']]], + ['_7edtpathcorridor_2979',['~dtPathCorridor',['../classdtPathCorridor.html#a10dc98697fb9f6e60063ab49a41c391b',1,'dtPathCorridor']]], + ['_7edtpathqueue_2980',['~dtPathQueue',['../classdtPathQueue.html#a3aed72cee418c920b5fbdc247845dae3',1,'dtPathQueue']]], + ['_7edtpolyquery_2981',['~dtPolyQuery',['../classdtPolyQuery.html#a9ad241119b015028dc392b33b1b32d68',1,'dtPolyQuery']]], + ['_7edtproximitygrid_2982',['~dtProximityGrid',['../classdtProximityGrid.html#a7a68e3c6d5cd84034777c9dd0bc4a937',1,'dtProximityGrid']]], + ['_7edttilecache_2983',['~dtTileCache',['../classdtTileCache.html#abaad84f534e7b782352d5da36a9066dc',1,'dtTileCache']]], + ['_7edttilecachealloc_2984',['~dtTileCacheAlloc',['../structdtTileCacheAlloc.html#a8507c465095ee62fed991ba5a3781c0c',1,'dtTileCacheAlloc']]], + ['_7edttilecachecompressor_2985',['~dtTileCacheCompressor',['../structdtTileCacheCompressor.html#a6db6bd0ea893262196f91d1c5368e655',1,'dtTileCacheCompressor']]], + ['_7edttilecachemeshprocess_2986',['~dtTileCacheMeshProcess',['../structdtTileCacheMeshProcess.html#a4e9d0eaaad8e15203156cd550802efff',1,'dtTileCacheMeshProcess']]], + ['_7edudebugdraw_2987',['~duDebugDraw',['../structduDebugDraw.html#af7942595befad5dab1372d8c8b2c2ec1',1,'duDebugDraw']]], + ['_7edudisplaylist_2988',['~duDisplayList',['../classduDisplayList.html#a5d1cabc63c46e0850927830b9b99db1c',1,'duDisplayList']]], + ['_7edufileio_2989',['~duFileIO',['../structduFileIO.html#afab2836e1a3b9909bebe00e9ab81aae8',1,'duFileIO']]], + ['_7efastlzcompressor_2990',['~FastLZCompressor',['../structFastLZCompressor.html#a884d23606adb0674c0b0b124b4ffe28f',1,'FastLZCompressor']]], + ['_7efileio_2991',['~FileIO',['../classFileIO.html#adc3caa8f1e5d76274d8ffb8b5c17288b',1,'FileIO']]], + ['_7eglcheckertexture_2992',['~GLCheckerTexture',['../classGLCheckerTexture.html#ac9c4e61e9010f42ba1739e81ee2e7403',1,'GLCheckerTexture']]], + ['_7einputgeom_2993',['~InputGeom',['../classInputGeom.html#ad3d91321af5be5aafb797fb3045669bd',1,'InputGeom']]], + ['_7elinearallocator_2994',['~LinearAllocator',['../structLinearAllocator.html#a2a9dbeeec28bfd75d74cc66ffee80296',1,'LinearAllocator']]], + ['_7emeshprocess_2995',['~MeshProcess',['../structMeshProcess.html#a984188b70d20532c8f7230fffb6e61eb',1,'MeshProcess']]], + ['_7enavmeshflags_2996',['~NavmeshFlags',['../classNavmeshFlags.html#a52ff37440c3fe6adfb1621446bc2609f',1,'NavmeshFlags']]], + ['_7enavmeshprunetool_2997',['~NavMeshPruneTool',['../classNavMeshPruneTool.html#a65f0cbf67052f748e96523ed02627eee',1,'NavMeshPruneTool']]], + ['_7enavmeshtilebuildcontext_2998',['~NavMeshTileBuildContext',['../structNavMeshTileBuildContext.html#a4a1734772cf543deb500738ebc457119',1,'NavMeshTileBuildContext']]], + ['_7enavmeshtiletool_2999',['~NavMeshTileTool',['../classNavMeshTileTool.html#a203fa6ab349cd24f1366b6d0aa837a0e',1,'NavMeshTileTool']]], + ['_7eoffmeshconnectiontool_3000',['~OffMeshConnectionTool',['../classOffMeshConnectionTool.html#acc9087666ede6f98badc4da256d52772',1,'OffMeshConnectionTool']]], + ['_7erasterizationcontext_3001',['~RasterizationContext',['../structRasterizationContext.html#ac18e6bedcb3955f81484732ee8908431',1,'RasterizationContext']]], + ['_7ercchunkytrimesh_3002',['~rcChunkyTriMesh',['../structrcChunkyTriMesh.html#abd0bad171797ff8785f0483fc95e260f',1,'rcChunkyTriMesh']]], + ['_7erccompactheightfield_3003',['~rcCompactHeightfield',['../structrcCompactHeightfield.html#aea6121b36d3fb1cab5955a7915c68809',1,'rcCompactHeightfield']]], + ['_7erccontext_3004',['~rcContext',['../classrcContext.html#a02204e324a8ebcf81f489681e80bc61c',1,'rcContext']]], + ['_7erccontourset_3005',['~rcContourSet',['../structrcContourSet.html#ab94de9c515eac08480d33cadc50a5a2b',1,'rcContourSet']]], + ['_7ercheightfield_3006',['~rcHeightfield',['../structrcHeightfield.html#aa8ba94f263c970d09881d362c0a1b38a',1,'rcHeightfield']]], + ['_7ercheightfieldlayerset_3007',['~rcHeightfieldLayerSet',['../structrcHeightfieldLayerSet.html#ac54454771247c643b7978a347051a523',1,'rcHeightfieldLayerSet']]], + ['_7ercheightpatch_3008',['~rcHeightPatch',['../structrcHeightPatch.html#aa25fe10c0b9b186192c1fd8b741e6b96',1,'rcHeightPatch']]], + ['_7ercmeshloaderobj_3009',['~rcMeshLoaderObj',['../classrcMeshLoaderObj.html#a59613496cecd295f9b8346d985d41aff',1,'rcMeshLoaderObj']]], + ['_7ercpolymesh_3010',['~rcPolyMesh',['../structrcPolyMesh.html#a414a3bc052e13abf77d731da160823d4',1,'rcPolyMesh']]], + ['_7ercscopeddelete_3011',['~rcScopedDelete',['../classrcScopedDelete.html#a694ef36a44d1ccac8fd3fb255d7cf9bd',1,'rcScopedDelete']]], + ['_7ercscopedtimer_3012',['~rcScopedTimer',['../classrcScopedTimer.html#a3e1e6f826e8081e67f23cd6c35653b6e',1,'rcScopedTimer']]], + ['_7ercvectorbase_3013',['~rcVectorBase',['../classrcVectorBase.html#a8efb26bcc33ee441869bc1b7cf850171',1,'rcVectorBase']]], + ['_7esample_3014',['~Sample',['../classSample.html#aea8a48c34d94596f6affbbd28938fb2c',1,'Sample']]], + ['_7esample_5fdebug_3015',['~Sample_Debug',['../classSample__Debug.html#a1d922a079270ceae17667276c6372c51',1,'Sample_Debug']]], + ['_7esample_5fsolomesh_3016',['~Sample_SoloMesh',['../classSample__SoloMesh.html#a8b7895596e5ce8977b5727023a39573d',1,'Sample_SoloMesh']]], + ['_7esample_5ftempobstacles_3017',['~Sample_TempObstacles',['../classSample__TempObstacles.html#a2d3988c2615ecb2dae62d6df5522ba1d',1,'Sample_TempObstacles']]], + ['_7esample_5ftilemesh_3018',['~Sample_TileMesh',['../classSample__TileMesh.html#aa115c16452e67c9c47a272d6127c984e',1,'Sample_TileMesh']]], + ['_7esampletool_3019',['~SampleTool',['../structSampleTool.html#a8b20d1398881252989cbfeeff1a5f2f3',1,'SampleTool']]], + ['_7esampletoolstate_3020',['~SampleToolState',['../structSampleToolState.html#a1e263aeadeff1cd905d552fe28eeb32b',1,'SampleToolState']]], + ['_7etempobstaclecreatetool_3021',['~TempObstacleCreateTool',['../classTempObstacleCreateTool.html#a8c2fa24e7c9d71e6cb90f32b61d9ae77',1,'TempObstacleCreateTool']]], + ['_7etempobstaclehilighttool_3022',['~TempObstacleHilightTool',['../classTempObstacleHilightTool.html#af0475ec4f0d02355ea68a78edd39b10b',1,'TempObstacleHilightTool']]], + ['_7etestcase_3023',['~TestCase',['../classTestCase.html#ae4684f6b106fa323a61dd13be03d7919',1,'TestCase']]] +]; diff --git a/search/functions_2.html b/search/functions_2.html new file mode 100644 index 00000000..ca5aa10e --- /dev/null +++ b/search/functions_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_2.js b/search/functions_2.js new file mode 100644 index 00000000..9d21780c --- /dev/null +++ b/search/functions_2.js @@ -0,0 +1,55 @@ +var searchData= +[ + ['calcareaofpolygon2d_2136',['calcAreaOfPolygon2D',['../RecastContour_8cpp.html#a538aea06d768e3c175b9b8e47f254b52',1,'RecastContour.cpp']]], + ['calcextends_2137',['calcExtends',['../ChunkyTriMesh_8cpp.html#ab9e1d32b348378cc47d69088c6c2578b',1,'calcExtends(const BoundsItem *items, const int, const int imin, const int imax, float *bmin, float *bmax): ChunkyTriMesh.cpp'],['../DetourNavMeshBuilder_8cpp.html#a67e97cee06fddfdd0a3eb43661b44637',1,'calcExtends(BVItem *items, const int, const int imin, const int imax, unsigned short *bmin, unsigned short *bmax): DetourNavMeshBuilder.cpp']]], + ['calclayerbuffersize_2138',['calcLayerBufferSize',['../Sample__TempObstacles_8cpp.html#a4298a24291a2d5201ff7a2b1cbfcf56d',1,'Sample_TempObstacles.cpp']]], + ['calcslabendpoints_2139',['calcSlabEndPoints',['../DetourNavMesh_8cpp.html#a80261651de8c5a4a2798b3d64fcb73bb',1,'DetourNavMesh.cpp']]], + ['calcsmoothsteerdirection_2140',['calcSmoothSteerDirection',['../DetourCrowd_8cpp.html#abfe93834630c322a9a508de9c9a1bbb8',1,'DetourCrowd.cpp']]], + ['calcstraightsteerdirection_2141',['calcStraightSteerDirection',['../DetourCrowd_8cpp.html#a13aa5147e130f02757fc14ad317d5dff',1,'DetourCrowd.cpp']]], + ['calctighttilebounds_2142',['calcTightTileBounds',['../classdtTileCache.html#ac3e71498a991117139f007f53ce0a822',1,'dtTileCache']]], + ['calctileloc_2143',['calcTileLoc',['../classdtNavMesh.html#a609d55c59062910ff645dbbd4c72fed1',1,'dtNavMesh']]], + ['calctrinormal_2144',['calcTriNormal',['../Recast_8cpp.html#a60b906db15ec95753e2c46d85ac1f5a7',1,'Recast.cpp']]], + ['calculatedistancefield_2145',['calculateDistanceField',['../RecastRegion_8cpp.html#af63d2a9505ebfbbf63efc02531af5153',1,'RecastRegion.cpp']]], + ['calcvel_2146',['calcVel',['../CrowdTool_8cpp.html#a42d0c4968b7a64410b32b8a6bf0559fd',1,'CrowdTool.cpp']]], + ['canmerge_2147',['canMerge',['../DetourTileCacheBuilder_8cpp.html#a4ccf7916570765c946d2365b933aade5',1,'DetourTileCacheBuilder.cpp']]], + ['canmergewithregion_2148',['canMergeWithRegion',['../RecastRegion_8cpp.html#a9b19ff33ed5153482d1b80b285209e54',1,'RecastRegion.cpp']]], + ['canremovevertex_2149',['canRemoveVertex',['../DetourTileCacheBuilder_8cpp.html#a79d489bfce99f1637549fdf8223a5352',1,'canRemoveVertex(dtTileCachePolyMesh &mesh, const unsigned short rem): DetourTileCacheBuilder.cpp'],['../RecastMesh_8cpp.html#a837800b7a34e1106d7ad287b8cb7fc33',1,'canRemoveVertex(rcContext *ctx, rcPolyMesh &mesh, const unsigned short rem): RecastMesh.cpp']]], + ['capacity_2150',['capacity',['../classrcVectorBase.html#a44e70e9744a1c6e3dcaab2a89a7a2c65',1,'rcVectorBase']]], + ['checkoverlaprect_2151',['checkOverlapRect',['../ChunkyTriMesh_8cpp.html#a488658425e021197b682d2ff039ed0d5',1,'ChunkyTriMesh.cpp']]], + ['checkoverlapsegment_2152',['checkOverlapSegment',['../ChunkyTriMesh_8cpp.html#a9a85b2fd169892112b16a277c6a59ced',1,'ChunkyTriMesh.cpp']]], + ['circumcircle_2153',['circumCircle',['../RecastMeshDetail_8cpp.html#a22704fbc4ce6a6d0aa11821bc4684f22',1,'RecastMeshDetail.cpp']]], + ['classifyoffmeshpoint_2154',['classifyOffMeshPoint',['../DetourNavMeshBuilder_8cpp.html#a9a7e6003820face64f333c968b5c0cdb',1,'DetourNavMeshBuilder.cpp']]], + ['cleanup_2155',['cleanup',['../classSample__SoloMesh.html#afede15e3275e57b471fe72d26957d1b8',1,'Sample_SoloMesh::cleanup()'],['../classSample__TileMesh.html#ac0e18dc57eb1a972815125845e40e464',1,'Sample_TileMesh::cleanup()']]], + ['clear_2156',['clear',['../classduDisplayList.html#a5a6da38566e95882f4b63c0d765b2cc3',1,'duDisplayList::clear()'],['../classdtNodePool.html#a4341af64b1f043b2775b7f1abae34d7b',1,'dtNodePool::clear()'],['../classrcIntArray.html#a1e0b5e96e9aa5bc5e69b4952dd962292',1,'rcIntArray::clear()'],['../classrcVectorBase.html#ac46ddcef1d2b88f2632debbb7e28474b',1,'rcVectorBase::clear()'],['../classdtProximityGrid.html#abfbfdb91797c4414d1201d761d9c1a94',1,'dtProximityGrid::clear()'],['../classdtNodeQueue.html#aa0f83a0d1f38b0b97fb549d1372c8be7',1,'dtNodeQueue::clear()']]], + ['clearactive_2157',['clearActive',['../imgui_8cpp.html#a323f894b86639f571ec7e44fb20fbfea',1,'imgui.cpp']]], + ['clearallflags_2158',['clearAllFlags',['../classNavmeshFlags.html#ad9df0c288de9a604e5bc92aa7a7ce984',1,'NavmeshFlags']]], + ['clearalltempobstacles_2159',['clearAllTempObstacles',['../classSample__TempObstacles.html#a92354fa33e4ace58607b08c49c190a82',1,'Sample_TempObstacles']]], + ['clearinput_2160',['clearInput',['../imgui_8cpp.html#a5d555657ce648c1a47abb70f1029589d',1,'imgui.cpp']]], + ['closestpointonpoly_2161',['closestPointOnPoly',['../classdtNavMeshQuery.html#a07a90efe5d1a2b4b530aa236370574d9',1,'dtNavMeshQuery']]], + ['closestpointonpolyboundary_2162',['closestPointOnPolyBoundary',['../classdtNavMeshQuery.html#aa53b9573e61eda951213ea9e4354e744',1,'dtNavMeshQuery']]], + ['cmppt_2163',['cmppt',['../ConvexVolumeTool_8cpp.html#a9c7eafbf2dc4bd6e44f709540181f6fe',1,'ConvexVolumeTool.cpp']]], + ['collectsettings_2164',['collectSettings',['../classSample__TileMesh.html#a9b5c5cbdc80862c4d8bcd7798ae4b645',1,'Sample_TileMesh::collectSettings()'],['../classSample.html#aaa6103a46cc7a3853012c5743b41de01',1,'Sample::collectSettings()']]], + ['collinear_2165',['collinear',['../DetourTileCacheBuilder_8cpp.html#abb42cfd869a798f46d97f9b6f8a7a3cd',1,'collinear(const unsigned char *a, const unsigned char *b, const unsigned char *c): DetourTileCacheBuilder.cpp'],['../RecastContour_8cpp.html#adbc7fb647489ff66ceda06839a1c4487',1,'collinear(const int *a, const int *b, const int *c): RecastContour.cpp'],['../RecastMesh_8cpp.html#adbc7fb647489ff66ceda06839a1c4487',1,'collinear(const int *a, const int *b, const int *c): RecastMesh.cpp']]], + ['comparediagdist_2166',['compareDiagDist',['../RecastContour_8cpp.html#a68e26a981b0c0fbf9154b0bfd60316ff',1,'RecastContour.cpp']]], + ['compareholes_2167',['compareHoles',['../RecastContour_8cpp.html#a3be71e84d68809762298558ccdd37028',1,'RecastContour.cpp']]], + ['compareitemx_2168',['compareItemX',['../DetourNavMeshBuilder_8cpp.html#a1888720290d8beeb3162f90e197ff7b3',1,'compareItemX(const void *va, const void *vb): DetourNavMeshBuilder.cpp'],['../ChunkyTriMesh_8cpp.html#a1888720290d8beeb3162f90e197ff7b3',1,'compareItemX(const void *va, const void *vb): ChunkyTriMesh.cpp']]], + ['compareitemy_2169',['compareItemY',['../DetourNavMeshBuilder_8cpp.html#ac4386676e18bfd480f6686981f10e595',1,'compareItemY(const void *va, const void *vb): DetourNavMeshBuilder.cpp'],['../ChunkyTriMesh_8cpp.html#ac4386676e18bfd480f6686981f10e595',1,'compareItemY(const void *va, const void *vb): ChunkyTriMesh.cpp']]], + ['compareitemz_2170',['compareItemZ',['../DetourNavMeshBuilder_8cpp.html#a025ef8ddc40e9119efdb4dfa5ab3c1af',1,'DetourNavMeshBuilder.cpp']]], + ['completefacet_2171',['completeFacet',['../RecastMeshDetail_8cpp.html#a96a6ec05a5889ccef86be9992f5631c2',1,'RecastMeshDetail.cpp']]], + ['compress_2172',['compress',['../structdtTileCacheCompressor.html#ad117fb147426232344a3a1d83b572182',1,'dtTileCacheCompressor::compress()'],['../structFastLZCompressor.html#ade3bcdfdf37fed48284a4a4d89e2d804',1,'FastLZCompressor::compress()']]], + ['computetilehash_2173',['computeTileHash',['../DetourNavMesh_8cpp.html#ab22aa4a9219f2568cb77b35fbc2d0f9b',1,'computeTileHash(int x, int y, const int mask): DetourNavMesh.cpp'],['../DetourTileCache_8cpp.html#ab22aa4a9219f2568cb77b35fbc2d0f9b',1,'computeTileHash(int x, int y, const int mask): DetourTileCache.cpp']]], + ['computevertexhash_2174',['computeVertexHash',['../RecastMesh_8cpp.html#ada4ba8a9249ac90f3736b65f6de28e34',1,'RecastMesh.cpp']]], + ['computevertexhash2_2175',['computeVertexHash2',['../DetourTileCacheBuilder_8cpp.html#a2198ce594280787ad201642656e4f73b',1,'DetourTileCacheBuilder.cpp']]], + ['contains_2176',['contains',['../DetourTileCache_8cpp.html#a4cb5c73a94227600c0ab6904dd2e7dbd',1,'contains(const dtCompressedTileRef *a, const int n, const dtCompressedTileRef v): DetourTileCache.cpp'],['../RecastLayers_8cpp.html#a4bb3cae5fa2c81629762ccb89c6d136c',1,'contains(const unsigned char *a, const unsigned char an, const unsigned char v): RecastLayers.cpp']]], + ['convexhull_2177',['convexhull',['../ConvexVolumeTool_8cpp.html#a8c5d9876cd6cec34ee07abb195539ac9',1,'ConvexVolumeTool.cpp']]], + ['convexvolumetool_2178',['ConvexVolumeTool',['../classConvexVolumeTool.html#a45d29f1ecd1ea648fee54ea1aa10b6c3',1,'ConvexVolumeTool']]], + ['copyname_2179',['copyName',['../TestCase_8cpp.html#aa7f9a7a9c338992807552d44ffce013a',1,'TestCase.cpp']]], + ['countpolyverts_2180',['countPolyVerts',['../DetourTileCacheBuilder_8cpp.html#a82b58c9d334362460a2f3b8b95376237',1,'countPolyVerts(const unsigned short *p): DetourTileCacheBuilder.cpp'],['../RecastMesh_8cpp.html#a5ae2b41c36fdf5c74e434c33d31dab95',1,'countPolyVerts(const unsigned short *p, const int nvp): RecastMesh.cpp']]], + ['createbvtree_2181',['createBVTree',['../DetourNavMeshBuilder_8cpp.html#a494edfa1ff65cd394f1d824b57df1781',1,'DetourNavMeshBuilder.cpp']]], + ['createdebug_2182',['createDebug',['../main_8cpp.html#af4336c7a2c0e2345c02f74c70092c4ff',1,'main.cpp']]], + ['createsolo_2183',['createSolo',['../main_8cpp.html#a241d5048537d6cfe972e82c3a6011828',1,'main.cpp']]], + ['createtempobstacle_2184',['createTempObstacle',['../main_8cpp.html#a03a5b1a1ab5c4274dd911f3ff3844bea',1,'main.cpp']]], + ['createtile_2185',['createTile',['../main_8cpp.html#a8ea952f8e0c040f95a23f5f8ce3e684f',1,'main.cpp']]], + ['crowdtool_2186',['CrowdTool',['../classCrowdTool.html#aa66d04ddef79672215f8702a2b063f3c',1,'CrowdTool']]], + ['crowdtoolstate_2187',['CrowdToolState',['../classCrowdToolState.html#a27c76b496c852259d7f13cba5d3486a2',1,'CrowdToolState']]] +]; diff --git a/search/functions_3.html b/search/functions_3.html new file mode 100644 index 00000000..d79f55b8 --- /dev/null +++ b/search/functions_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_3.js b/search/functions_3.js new file mode 100644 index 00000000..c1c9c293 --- /dev/null +++ b/search/functions_3.js @@ -0,0 +1,242 @@ +var searchData= +[ + ['data_2188',['data',['../classrcVectorBase.html#a9495317ad1f22ab74f802aedd3dfc6f9',1,'rcVectorBase::data()'],['../classrcVectorBase.html#a3e332ce609a641c597aab6c04da61304',1,'rcVectorBase::data() const']]], + ['debugdrawtilecacheportals_2189',['debugDrawTileCachePortals',['../DetourDebugDraw_8cpp.html#a8a78e768c829bc09c23c09605a8b33f3',1,'DetourDebugDraw.cpp']]], + ['decodeobstacleidobstacle_2190',['decodeObstacleIdObstacle',['../classdtTileCache.html#a4351916cf85bcc4d3fc2bd477b0f373f',1,'dtTileCache']]], + ['decodeobstacleidsalt_2191',['decodeObstacleIdSalt',['../classdtTileCache.html#ad2ba8e2882fca7ffb2b9239879cac3c7',1,'dtTileCache']]], + ['decodepolyid_2192',['decodePolyId',['../classdtNavMesh.html#afaaf5c22864cdf4a61d5e40a4efce43f',1,'dtNavMesh']]], + ['decodepolyidpoly_2193',['decodePolyIdPoly',['../classdtNavMesh.html#a936c3779e6cb7484e57dd106911eccc2',1,'dtNavMesh']]], + ['decodepolyidsalt_2194',['decodePolyIdSalt',['../classdtNavMesh.html#a588b6f839fd249430cff02cea71f347c',1,'dtNavMesh']]], + ['decodepolyidtile_2195',['decodePolyIdTile',['../classdtNavMesh.html#a94cfcf0015d7d6d856acaf96126cd349',1,'dtNavMesh']]], + ['decodetileidsalt_2196',['decodeTileIdSalt',['../classdtTileCache.html#a30b610f38d3f6a73065fad5438c31ec7',1,'dtTileCache']]], + ['decodetileidtile_2197',['decodeTileIdTile',['../classdtTileCache.html#a9a64eecd18a74bb994d076dced0ec0be',1,'dtTileCache']]], + ['decompress_2198',['decompress',['../structdtTileCacheCompressor.html#a16d46b3a4c03c9d5b89998c80c247ab6',1,'dtTileCacheCompressor::decompress()'],['../structFastLZCompressor.html#a61828cd2e21041b21b8e545efbe1da57',1,'FastLZCompressor::decompress()']]], + ['delaunayhull_2199',['delaunayHull',['../RecastMeshDetail_8cpp.html#ab13d6c0bcebc425fa41a5ce9aeeecf76',1,'RecastMeshDetail.cpp']]], + ['deleteconvexvolume_2200',['deleteConvexVolume',['../classInputGeom.html#a143fe9d9852f2a2be08b8d4c98254160',1,'InputGeom']]], + ['deleteoffmeshconnection_2201',['deleteOffMeshConnection',['../classInputGeom.html#acc866de7fce6ca643c6695cb1f1d3967',1,'InputGeom']]], + ['depthmask_2202',['depthMask',['../classDebugDrawGL.html#ae57953a7117cdacd04416403531cb9aa',1,'DebugDrawGL::depthMask()'],['../classduDisplayList.html#a2bd9a4e455216c4427557a230acfee31',1,'duDisplayList::depthMask()'],['../structduDebugDraw.html#aac0f17039f76220b14b2bdce7e26f521',1,'duDebugDraw::depthMask()']]], + ['diagonal_2203',['diagonal',['../RecastMesh_8cpp.html#a3152b8f34516e03fe3876163cb337bc2',1,'diagonal(int i, int j, int n, const int *verts, int *indices): RecastMesh.cpp'],['../DetourTileCacheBuilder_8cpp.html#ad1596ed1900fd9c42527f5016c47bcd4',1,'diagonal(int i, int j, int n, const unsigned char *verts, const unsigned short *indices): DetourTileCacheBuilder.cpp']]], + ['diagonalie_2204',['diagonalie',['../RecastMesh_8cpp.html#a77080de091f2816bb77dc4a6ef7805af',1,'diagonalie(int i, int j, int n, const int *verts, int *indices): RecastMesh.cpp'],['../DetourTileCacheBuilder_8cpp.html#ad37c515eb8572e663a72d93dba26692f',1,'diagonalie(int i, int j, int n, const unsigned char *verts, const unsigned short *indices): DetourTileCacheBuilder.cpp']]], + ['diagonalieloose_2205',['diagonalieLoose',['../RecastMesh_8cpp.html#a0c1c07732a67621d27fbe34687294ae9',1,'RecastMesh.cpp']]], + ['diagonalloose_2206',['diagonalLoose',['../RecastMesh_8cpp.html#a3e3391b452db19de34e2242eb35ef4bc',1,'RecastMesh.cpp']]], + ['dirtyentry_2207',['DirtyEntry',['../structDirtyEntry.html#a6efa59792bbe3b1feea05da8110151dd',1,'DirtyEntry']]], + ['disableunvisitedpolys_2208',['disableUnvisitedPolys',['../NavMeshPruneTool_8cpp.html#a99526da170fe64ed5ca767aba6bac662',1,'NavMeshPruneTool.cpp']]], + ['distanceptline2d_2209',['distancePtLine2d',['../DetourDebugDraw_8cpp.html#a2c832a347cec9984c7713d8f714932ea',1,'DetourDebugDraw.cpp']]], + ['distanceptseg_2210',['distancePtSeg',['../DetourTileCacheBuilder_8cpp.html#a95bb2b54ba0f6d1cee48278a1ba4980d',1,'distancePtSeg(const int x, const int z, const int px, const int pz, const int qx, const int qz): DetourTileCacheBuilder.cpp'],['../RecastMeshDetail_8cpp.html#a3324f740169bc2196d871cc72aae6fcc',1,'distancePtSeg(const float *pt, const float *p, const float *q): RecastMeshDetail.cpp'],['../RecastContour_8cpp.html#a95bb2b54ba0f6d1cee48278a1ba4980d',1,'distancePtSeg(const int x, const int z, const int px, const int pz, const int qx, const int qz): RecastContour.cpp']]], + ['distanceptseg2d_2211',['distancePtSeg2d',['../RecastMeshDetail_8cpp.html#aeea404279f43e22f8a7677f9a737f7af',1,'RecastMeshDetail.cpp']]], + ['distpttri_2212',['distPtTri',['../RecastMeshDetail_8cpp.html#ac8f54a9fbd62cf31427bdaa1e88979de',1,'RecastMeshDetail.cpp']]], + ['disttopoly_2213',['distToPoly',['../RecastMeshDetail_8cpp.html#a185eb97e9f8ab6642bea84844254a56b',1,'RecastMeshDetail.cpp']]], + ['disttotrimesh_2214',['distToTriMesh',['../RecastMeshDetail_8cpp.html#a33777bf1bf884f96964beb7b7c7526e6',1,'RecastMeshDetail.cpp']]], + ['dividepoly_2215',['dividePoly',['../RecastRasterization_8cpp.html#af54026b5ecdfeabb867b7147d8730303',1,'RecastRasterization.cpp']]], + ['dogetaccumulatedtime_2216',['doGetAccumulatedTime',['../classrcContext.html#aa974806b3533f3ce7bcd8c42715e8d93',1,'rcContext::doGetAccumulatedTime()'],['../classBuildContext.html#afe967c44fb17381c0269d10dc3ca29e2',1,'BuildContext::doGetAccumulatedTime()']]], + ['dolog_2217',['doLog',['../classrcContext.html#a82cccfe74cb76b021acdca506df224e0',1,'rcContext::doLog()'],['../classBuildContext.html#abede9aa172801c0823a679f2431ea932',1,'BuildContext::doLog()']]], + ['doresetlog_2218',['doResetLog',['../classrcContext.html#ae1e5eb9146a011c1f51de76b849d9ec2',1,'rcContext::doResetLog()'],['../classBuildContext.html#a509a0b0bb977dde5bf7a37d949a1e5f9',1,'BuildContext::doResetLog()']]], + ['doresettimers_2219',['doResetTimers',['../classBuildContext.html#a8b823f519f70e837cade2c4c0ef9f12e',1,'BuildContext::doResetTimers()'],['../classrcContext.html#a57a97f408dac1438d6eae0993fa68570',1,'rcContext::doResetTimers()']]], + ['dostarttimer_2220',['doStartTimer',['../classBuildContext.html#ace76debfb627862f622539622f118a55',1,'BuildContext::doStartTimer()'],['../classrcContext.html#aff09f57cc5db39be3cf80c7c0a1457a2',1,'rcContext::doStartTimer(const rcTimerLabel label)']]], + ['dostoptimer_2221',['doStopTimer',['../classrcContext.html#a3510678ae74a930e6d4e492d44fe80c0',1,'rcContext::doStopTimer()'],['../classBuildContext.html#a4be9c92146f0b433a330a965ffa37d3c',1,'BuildContext::doStopTimer()']]], + ['dotests_2222',['doTests',['../classTestCase.html#a648d153c2e6a9bb7e23253cdc2eede0a',1,'TestCase']]], + ['draw_2223',['draw',['../classduDisplayList.html#a53556c9d2afcd9eb625bc4f4cf9cf648',1,'duDisplayList']]], + ['drawagent_2224',['drawAgent',['../classNavMeshTesterTool.html#a8853ba08ecda298d3645a77613130cf2',1,'NavMeshTesterTool']]], + ['drawconvexvolumes_2225',['drawConvexVolumes',['../classInputGeom.html#af1459badee28e6eeeac0dab937cea3bc',1,'InputGeom']]], + ['drawdetail_2226',['drawDetail',['../Sample__TempObstacles_8cpp.html#a9ecfb35d2460e0a349a7ad6e26a7484b',1,'Sample_TempObstacles.cpp']]], + ['drawdetailoverlay_2227',['drawDetailOverlay',['../Sample__TempObstacles_8cpp.html#a8cdaa89bf12f5b9ed7fb37f156873f16',1,'Sample_TempObstacles.cpp']]], + ['drawgraph_2228',['drawGraph',['../ValueHistory_8h.html#ac579b593d7d8316a79163fba0140aa92',1,'drawGraph(const GraphParams *p, const ValueHistory *graph, int idx, const char *label, const unsigned int col): ValueHistory.cpp'],['../ValueHistory_8cpp.html#ac579b593d7d8316a79163fba0140aa92',1,'drawGraph(const GraphParams *p, const ValueHistory *graph, int idx, const char *label, const unsigned int col): ValueHistory.cpp']]], + ['drawgraphbackground_2229',['drawGraphBackground',['../ValueHistory_8h.html#afffb45be2045eb5a3b2e0a21be12ff8a',1,'drawGraphBackground(const GraphParams *p): ValueHistory.cpp'],['../ValueHistory_8cpp.html#afffb45be2045eb5a3b2e0a21be12ff8a',1,'drawGraphBackground(const GraphParams *p): ValueHistory.cpp']]], + ['drawlayerportals_2230',['drawLayerPortals',['../RecastDebugDraw_8cpp.html#a9de1a6c0b9054dd8131c0575bac319b9',1,'RecastDebugDraw.cpp']]], + ['drawline_2231',['drawLine',['../imguiRenderGL_8cpp.html#a0c56d5717a692e41cf3f66a459ef589a',1,'imguiRenderGL.cpp']]], + ['drawmeshtile_2232',['drawMeshTile',['../DetourDebugDraw_8cpp.html#af2a1ee1373016e10eaf947ea88c772de',1,'DetourDebugDraw.cpp']]], + ['drawmeshtilebvtree_2233',['drawMeshTileBVTree',['../DetourDebugDraw_8cpp.html#a0fd6603cb9e0de34bbe38e6e3cad0b75',1,'DetourDebugDraw.cpp']]], + ['drawmeshtileportal_2234',['drawMeshTilePortal',['../DetourDebugDraw_8cpp.html#aee29199f3b0642b89186180c86bb788e',1,'DetourDebugDraw.cpp']]], + ['drawobstacles_2235',['drawObstacles',['../Sample__TempObstacles_8cpp.html#af5c7622ddbc075ed3b5b02fdd4c7ca04',1,'Sample_TempObstacles.cpp']]], + ['drawoffmeshconnections_2236',['drawOffMeshConnections',['../classInputGeom.html#ad808df6e1a015da72bb10279e6231fd2',1,'InputGeom']]], + ['drawpolyboundaries_2237',['drawPolyBoundaries',['../DetourDebugDraw_8cpp.html#a2c6ebd24958b7956f65fc24a718d18ee',1,'DetourDebugDraw.cpp']]], + ['drawpolygon_2238',['drawPolygon',['../imguiRenderGL_8cpp.html#ac942be741579139e88992ba1d5037480',1,'imguiRenderGL.cpp']]], + ['drawrect_2239',['drawRect',['../imguiRenderGL_8cpp.html#a5a436da38db73ddd2a5ceb6e440d5b4e',1,'imguiRenderGL.cpp']]], + ['drawroundedrect_2240',['drawRoundedRect',['../imguiRenderGL_8cpp.html#ac510a2126cccc18d9b72a46b22e41140',1,'imguiRenderGL.cpp']]], + ['drawtext_2241',['drawText',['../imguiRenderGL_8cpp.html#a06ae1ffc6ae4adb308416ab8480327a9',1,'imguiRenderGL.cpp']]], + ['drawtiles_2242',['drawTiles',['../Sample__TempObstacles_8cpp.html#a86c92574bc37c2279e1cd899ba2dd8c7',1,'Sample_TempObstacles.cpp']]], + ['dtabs_2243',['dtAbs',['../DetourCommon_8h.html#a6dd5612e0be99e2c657d7164c699c044',1,'DetourCommon.h']]], + ['dtalign4_2244',['dtAlign4',['../DetourCommon_8h.html#af0b670bfe127997c427f8f79b7e6d2dd',1,'DetourCommon.h']]], + ['dtalloc_2245',['dtAlloc',['../DetourAlloc_8h.html#ac7a1c461b037f7cc0cd1b2e480d12920',1,'dtAlloc(size_t size, dtAllocHint hint): DetourAlloc.cpp'],['../DetourAlloc_8cpp.html#ac7a1c461b037f7cc0cd1b2e480d12920',1,'dtAlloc(size_t size, dtAllocHint hint): DetourAlloc.cpp']]], + ['dtalloccrowd_2246',['dtAllocCrowd',['../group__crowd.html#ga01a53c9d76d1b61678ab1944dfbfac55',1,'dtAllocCrowd(): DetourCrowd.cpp'],['../group__crowd.html#ga01a53c9d76d1b61678ab1944dfbfac55',1,'dtAllocCrowd(): DetourCrowd.cpp']]], + ['dtallocdefault_2247',['dtAllocDefault',['../DetourAlloc_8cpp.html#aa7c0af28baaf8fe3cc98abd4d7b6e9ea',1,'DetourAlloc.cpp']]], + ['dtallocnavmesh_2248',['dtAllocNavMesh',['../group__detour.html#ga73648d53c5a414855a2aa264aab9263c',1,'dtAllocNavMesh(): DetourNavMesh.cpp'],['../group__detour.html#ga73648d53c5a414855a2aa264aab9263c',1,'dtAllocNavMesh(): DetourNavMesh.cpp']]], + ['dtallocnavmeshquery_2249',['dtAllocNavMeshQuery',['../group__detour.html#gae547f165feefc955136130c8e22f207a',1,'dtAllocNavMeshQuery(): DetourNavMeshQuery.cpp'],['../group__detour.html#gae547f165feefc955136130c8e22f207a',1,'dtAllocNavMeshQuery(): DetourNavMeshQuery.cpp']]], + ['dtallocobstacleavoidancedebugdata_2250',['dtAllocObstacleAvoidanceDebugData',['../DetourObstacleAvoidance_8h.html#a73b364d644159af0553fb750f43749bb',1,'dtAllocObstacleAvoidanceDebugData(): DetourObstacleAvoidance.cpp'],['../DetourObstacleAvoidance_8cpp.html#a73b364d644159af0553fb750f43749bb',1,'dtAllocObstacleAvoidanceDebugData(): DetourObstacleAvoidance.cpp']]], + ['dtallocobstacleavoidancequery_2251',['dtAllocObstacleAvoidanceQuery',['../DetourObstacleAvoidance_8h.html#affb10f1420abfa15837a5fb1cdfd9d6e',1,'dtAllocObstacleAvoidanceQuery(): DetourObstacleAvoidance.cpp'],['../DetourObstacleAvoidance_8cpp.html#affb10f1420abfa15837a5fb1cdfd9d6e',1,'dtAllocObstacleAvoidanceQuery(): DetourObstacleAvoidance.cpp']]], + ['dtallocproximitygrid_2252',['dtAllocProximityGrid',['../DetourProximityGrid_8h.html#aa385f0e14495008ab9f08493071e6a1b',1,'dtAllocProximityGrid(): DetourProximityGrid.cpp'],['../DetourProximityGrid_8cpp.html#aa385f0e14495008ab9f08493071e6a1b',1,'dtAllocProximityGrid(): DetourProximityGrid.cpp']]], + ['dtallocsetcustom_2253',['dtAllocSetCustom',['../DetourAlloc_8h.html#af867be65f8ee4fcdcabd89cca01f2f4a',1,'dtAllocSetCustom(dtAllocFunc *allocFunc, dtFreeFunc *freeFunc): DetourAlloc.cpp'],['../DetourAlloc_8cpp.html#af867be65f8ee4fcdcabd89cca01f2f4a',1,'dtAllocSetCustom(dtAllocFunc *allocFunc, dtFreeFunc *freeFunc): DetourAlloc.cpp']]], + ['dtalloctilecache_2254',['dtAllocTileCache',['../DetourTileCache_8h.html#abbf86fa9f52a802f0a1005b9dfd31b53',1,'dtAllocTileCache(): DetourTileCache.cpp'],['../DetourTileCache_8cpp.html#abbf86fa9f52a802f0a1005b9dfd31b53',1,'dtAllocTileCache(): DetourTileCache.cpp']]], + ['dtalloctilecachecontourset_2255',['dtAllocTileCacheContourSet',['../DetourTileCacheBuilder_8cpp.html#ac56fd75ce61e6791ab64e1acc013e290',1,'dtAllocTileCacheContourSet(dtTileCacheAlloc *alloc): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8h.html#ac56fd75ce61e6791ab64e1acc013e290',1,'dtAllocTileCacheContourSet(dtTileCacheAlloc *alloc): DetourTileCacheBuilder.cpp']]], + ['dtalloctilecachepolymesh_2256',['dtAllocTileCachePolyMesh',['../DetourTileCacheBuilder_8h.html#ad0aff6c472d0b05eb355467290740ac2',1,'dtAllocTileCachePolyMesh(dtTileCacheAlloc *alloc): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8cpp.html#ad0aff6c472d0b05eb355467290740ac2',1,'dtAllocTileCachePolyMesh(dtTileCacheAlloc *alloc): DetourTileCacheBuilder.cpp']]], + ['dtassertfailgetcustom_2257',['dtAssertFailGetCustom',['../DetourAssert_8h.html#ad48579f8f6df6d400f91ad83a7d7cad2',1,'dtAssertFailGetCustom(): DetourAssert.cpp'],['../DetourAssert_8cpp.html#ad48579f8f6df6d400f91ad83a7d7cad2',1,'dtAssertFailGetCustom(): DetourAssert.cpp']]], + ['dtassertfailsetcustom_2258',['dtAssertFailSetCustom',['../DetourAssert_8h.html#a34ec62fa292227b2ce32428549fe2b97',1,'dtAssertFailSetCustom(dtAssertFailFunc *assertFailFunc): DetourAssert.cpp'],['../DetourAssert_8cpp.html#a34ec62fa292227b2ce32428549fe2b97',1,'dtAssertFailSetCustom(dtAssertFailFunc *assertFailFunc): DetourAssert.cpp']]], + ['dtbuildtilecachecontours_2259',['dtBuildTileCacheContours',['../DetourTileCacheBuilder_8h.html#a35744562caae9f2aa05e02d3ec242433',1,'dtBuildTileCacheContours(dtTileCacheAlloc *alloc, dtTileCacheLayer &layer, const int walkableClimb, const float maxError, dtTileCacheContourSet &lcset): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8cpp.html#a35744562caae9f2aa05e02d3ec242433',1,'dtBuildTileCacheContours(dtTileCacheAlloc *alloc, dtTileCacheLayer &layer, const int walkableClimb, const float maxError, dtTileCacheContourSet &lcset): DetourTileCacheBuilder.cpp']]], + ['dtbuildtilecachelayer_2260',['dtBuildTileCacheLayer',['../DetourTileCacheBuilder_8h.html#ab894d05678218a7c3a1cff480958395d',1,'dtBuildTileCacheLayer(dtTileCacheCompressor *comp, dtTileCacheLayerHeader *header, const unsigned char *heights, const unsigned char *areas, const unsigned char *cons, unsigned char **outData, int *outDataSize): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8cpp.html#ab894d05678218a7c3a1cff480958395d',1,'dtBuildTileCacheLayer(dtTileCacheCompressor *comp, dtTileCacheLayerHeader *header, const unsigned char *heights, const unsigned char *areas, const unsigned char *cons, unsigned char **outData, int *outDataSize): DetourTileCacheBuilder.cpp']]], + ['dtbuildtilecachepolymesh_2261',['dtBuildTileCachePolyMesh',['../DetourTileCacheBuilder_8h.html#a09f7cfe18183529c3d88726a3a522d38',1,'dtBuildTileCachePolyMesh(dtTileCacheAlloc *alloc, dtTileCacheContourSet &lcset, dtTileCachePolyMesh &mesh): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8cpp.html#a09f7cfe18183529c3d88726a3a522d38',1,'dtBuildTileCachePolyMesh(dtTileCacheAlloc *alloc, dtTileCacheContourSet &lcset, dtTileCachePolyMesh &mesh): DetourTileCacheBuilder.cpp']]], + ['dtbuildtilecacheregions_2262',['dtBuildTileCacheRegions',['../DetourTileCacheBuilder_8h.html#acfc6b37c6276eaf3a61fec688b2ba0e3',1,'dtBuildTileCacheRegions(dtTileCacheAlloc *alloc, dtTileCacheLayer &layer, const int walkableClimb): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8cpp.html#acfc6b37c6276eaf3a61fec688b2ba0e3',1,'dtBuildTileCacheRegions(dtTileCacheAlloc *alloc, dtTileCacheLayer &layer, const int walkableClimb): DetourTileCacheBuilder.cpp']]], + ['dtcalcpolycenter_2263',['dtCalcPolyCenter',['../DetourCommon_8h.html#ae5a2810aa8c6eeebde512561a1706515',1,'dtCalcPolyCenter(float *tc, const unsigned short *idx, int nidx, const float *verts): DetourCommon.cpp'],['../DetourCommon_8cpp.html#ae5a2810aa8c6eeebde512561a1706515',1,'dtCalcPolyCenter(float *tc, const unsigned short *idx, int nidx, const float *verts): DetourCommon.cpp']]], + ['dtclamp_2264',['dtClamp',['../DetourCommon_8h.html#a488d89869306c3d57c7a685aab89f9e6',1,'DetourCommon.h']]], + ['dtclosestheightpointtriangle_2265',['dtClosestHeightPointTriangle',['../DetourCommon_8h.html#ae04f7da639a87bf34242ff362e31bef4',1,'dtClosestHeightPointTriangle(const float *p, const float *a, const float *b, const float *c, float &h): DetourCommon.cpp'],['../DetourCommon_8cpp.html#ae04f7da639a87bf34242ff362e31bef4',1,'dtClosestHeightPointTriangle(const float *p, const float *a, const float *b, const float *c, float &h): DetourCommon.cpp']]], + ['dtclosestptpointtriangle_2266',['dtClosestPtPointTriangle',['../DetourCommon_8cpp.html#a4895e82b2b41cc99acade7e8f88eba6e',1,'dtClosestPtPointTriangle(float *closest, const float *p, const float *a, const float *b, const float *c): DetourCommon.cpp'],['../DetourCommon_8h.html#a4895e82b2b41cc99acade7e8f88eba6e',1,'dtClosestPtPointTriangle(float *closest, const float *p, const float *a, const float *b, const float *c): DetourCommon.cpp']]], + ['dtcollectpolysquery_2267',['dtCollectPolysQuery',['../classdtCollectPolysQuery.html#a9bcdd3786ee5580ad5d52680f6edd03f',1,'dtCollectPolysQuery']]], + ['dtcreatenavmeshdata_2268',['dtCreateNavMeshData',['../group__detour.html#gaf56ac19e79e5948fdb1051158577e648',1,'dtCreateNavMeshData(dtNavMeshCreateParams *params, unsigned char **outData, int *outDataSize): DetourNavMeshBuilder.cpp'],['../group__detour.html#gaf56ac19e79e5948fdb1051158577e648',1,'dtCreateNavMeshData(dtNavMeshCreateParams *params, unsigned char **outData, int *outDataSize): DetourNavMeshBuilder.cpp']]], + ['dtcrowd_2269',['dtCrowd',['../classdtCrowd.html#a2210ecc99a80dfda29e1b57f22b3f8a8',1,'dtCrowd']]], + ['dtdecompresstilecachelayer_2270',['dtDecompressTileCacheLayer',['../DetourTileCacheBuilder_8h.html#a688d7e55e37ccfb358962a552b86423c',1,'dtDecompressTileCacheLayer(dtTileCacheAlloc *alloc, dtTileCacheCompressor *comp, unsigned char *compressed, const int compressedSize, dtTileCacheLayer **layerOut): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8cpp.html#a688d7e55e37ccfb358962a552b86423c',1,'dtDecompressTileCacheLayer(dtTileCacheAlloc *alloc, dtTileCacheCompressor *comp, unsigned char *compressed, const int compressedSize, dtTileCacheLayer **layerOut): DetourTileCacheBuilder.cpp']]], + ['dtdistanceptpolyedgessqr_2271',['dtDistancePtPolyEdgesSqr',['../DetourCommon_8h.html#a9364781fff515c2d8e1fe654e9491b5d',1,'dtDistancePtPolyEdgesSqr(const float *pt, const float *verts, const int nverts, float *ed, float *et): DetourCommon.cpp'],['../DetourCommon_8cpp.html#a9364781fff515c2d8e1fe654e9491b5d',1,'dtDistancePtPolyEdgesSqr(const float *pt, const float *verts, const int nverts, float *ed, float *et): DetourCommon.cpp']]], + ['dtdistanceptsegsqr2d_2272',['dtDistancePtSegSqr2D',['../DetourCommon_8h.html#a99afe0b6e77a0c800e9582faea87cf6d',1,'dtDistancePtSegSqr2D(const float *pt, const float *p, const float *q, float &t): DetourCommon.cpp'],['../DetourCommon_8cpp.html#a99afe0b6e77a0c800e9582faea87cf6d',1,'dtDistancePtSegSqr2D(const float *pt, const float *p, const float *q, float &t): DetourCommon.cpp']]], + ['dtfindnearestpolyquery_2273',['dtFindNearestPolyQuery',['../classdtFindNearestPolyQuery.html#a8900d818df939f8917d5220b854675c6',1,'dtFindNearestPolyQuery']]], + ['dtfixedarray_2274',['dtFixedArray',['../classdtFixedArray.html#a33185d41a3c263367ab862014104f89e',1,'dtFixedArray']]], + ['dtfree_2275',['dtFree',['../DetourAlloc_8h.html#adb7919ae2642d1a487ce5fce6ae3af0d',1,'dtFree(void *ptr): DetourAlloc.cpp'],['../DetourAlloc_8cpp.html#adb7919ae2642d1a487ce5fce6ae3af0d',1,'dtFree(void *ptr): DetourAlloc.cpp']]], + ['dtfreecrowd_2276',['dtFreeCrowd',['../group__crowd.html#ga9475313642645070e78c359e0fc02b7a',1,'dtFreeCrowd(dtCrowd *ptr): DetourCrowd.cpp'],['../group__crowd.html#ga9475313642645070e78c359e0fc02b7a',1,'dtFreeCrowd(dtCrowd *ptr): DetourCrowd.cpp']]], + ['dtfreedefault_2277',['dtFreeDefault',['../DetourAlloc_8cpp.html#ab4adb8d35383b40b861395dc36b82a3e',1,'DetourAlloc.cpp']]], + ['dtfreenavmesh_2278',['dtFreeNavMesh',['../group__detour.html#gad938af5675a2f62c7c3830b38ea9a184',1,'dtFreeNavMesh(dtNavMesh *navmesh): DetourNavMesh.cpp'],['../group__detour.html#gad938af5675a2f62c7c3830b38ea9a184',1,'dtFreeNavMesh(dtNavMesh *navmesh): DetourNavMesh.cpp']]], + ['dtfreenavmeshquery_2279',['dtFreeNavMeshQuery',['../group__detour.html#ga24ccc133f15a0aa85f06f1c1ead2e6c4',1,'dtFreeNavMeshQuery(dtNavMeshQuery *query): DetourNavMeshQuery.cpp'],['../group__detour.html#ga24ccc133f15a0aa85f06f1c1ead2e6c4',1,'dtFreeNavMeshQuery(dtNavMeshQuery *navmesh): DetourNavMeshQuery.cpp']]], + ['dtfreeobstacleavoidancedebugdata_2280',['dtFreeObstacleAvoidanceDebugData',['../DetourObstacleAvoidance_8h.html#adc41dc4522eeb508fad47cfa044e7e1b',1,'dtFreeObstacleAvoidanceDebugData(dtObstacleAvoidanceDebugData *ptr): DetourObstacleAvoidance.cpp'],['../DetourObstacleAvoidance_8cpp.html#adc41dc4522eeb508fad47cfa044e7e1b',1,'dtFreeObstacleAvoidanceDebugData(dtObstacleAvoidanceDebugData *ptr): DetourObstacleAvoidance.cpp']]], + ['dtfreeobstacleavoidancequery_2281',['dtFreeObstacleAvoidanceQuery',['../DetourObstacleAvoidance_8h.html#aef93bd8686c7ffe189f66a3ac387fe22',1,'dtFreeObstacleAvoidanceQuery(dtObstacleAvoidanceQuery *ptr): DetourObstacleAvoidance.cpp'],['../DetourObstacleAvoidance_8cpp.html#aef93bd8686c7ffe189f66a3ac387fe22',1,'dtFreeObstacleAvoidanceQuery(dtObstacleAvoidanceQuery *ptr): DetourObstacleAvoidance.cpp']]], + ['dtfreeproximitygrid_2282',['dtFreeProximityGrid',['../DetourProximityGrid_8h.html#a6e5d0e95e7ed462c5732e66a17410338',1,'dtFreeProximityGrid(dtProximityGrid *ptr): DetourProximityGrid.cpp'],['../DetourProximityGrid_8cpp.html#a6e5d0e95e7ed462c5732e66a17410338',1,'dtFreeProximityGrid(dtProximityGrid *ptr): DetourProximityGrid.cpp']]], + ['dtfreetilecache_2283',['dtFreeTileCache',['../DetourTileCache_8h.html#ac7924ac4ce94c94affdfbe6a07cea976',1,'dtFreeTileCache(dtTileCache *tc): DetourTileCache.cpp'],['../DetourTileCache_8cpp.html#ac7924ac4ce94c94affdfbe6a07cea976',1,'dtFreeTileCache(dtTileCache *tc): DetourTileCache.cpp']]], + ['dtfreetilecachecontourset_2284',['dtFreeTileCacheContourSet',['../DetourTileCacheBuilder_8h.html#abc76def8bcf87c7c15ad4a308126de6f',1,'dtFreeTileCacheContourSet(dtTileCacheAlloc *alloc, dtTileCacheContourSet *cset): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8cpp.html#abc76def8bcf87c7c15ad4a308126de6f',1,'dtFreeTileCacheContourSet(dtTileCacheAlloc *alloc, dtTileCacheContourSet *cset): DetourTileCacheBuilder.cpp']]], + ['dtfreetilecachelayer_2285',['dtFreeTileCacheLayer',['../DetourTileCacheBuilder_8h.html#a5d8bca7845ae4c593726e2c0062ed0a7',1,'dtFreeTileCacheLayer(dtTileCacheAlloc *alloc, dtTileCacheLayer *layer): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8cpp.html#a5d8bca7845ae4c593726e2c0062ed0a7',1,'dtFreeTileCacheLayer(dtTileCacheAlloc *alloc, dtTileCacheLayer *layer): DetourTileCacheBuilder.cpp']]], + ['dtfreetilecachepolymesh_2286',['dtFreeTileCachePolyMesh',['../DetourTileCacheBuilder_8h.html#a6b46fb526524261ff8383bc38d9e1983',1,'dtFreeTileCachePolyMesh(dtTileCacheAlloc *alloc, dtTileCachePolyMesh *lmesh): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8cpp.html#a6b46fb526524261ff8383bc38d9e1983',1,'dtFreeTileCachePolyMesh(dtTileCacheAlloc *alloc, dtTileCachePolyMesh *lmesh): DetourTileCacheBuilder.cpp']]], + ['dtgetdetailtriedgeflags_2287',['dtGetDetailTriEdgeFlags',['../DetourNavMesh_8h.html#a5368111c9ec95da8fd3ad0c45b90c902',1,'DetourNavMesh.h']]], + ['dtgetthenadvancebufferpointer_2288',['dtGetThenAdvanceBufferPointer',['../DetourCommon_8h.html#a36687a200ee5ef42291fb2618c678298',1,'dtGetThenAdvanceBufferPointer(const unsigned char *&buffer, const size_t distanceToAdvance): DetourCommon.h'],['../DetourCommon_8h.html#ab994073a9dc4b569d776786b00d90e1d',1,'dtGetThenAdvanceBufferPointer(unsigned char *&buffer, const size_t distanceToAdvance): DetourCommon.h']]], + ['dthashref_2289',['dtHashRef',['../DetourNode_8cpp.html#abe28cb23dd9bd2f51a0146c2448827d2',1,'DetourNode.cpp']]], + ['dtignoreunused_2290',['dtIgnoreUnused',['../DetourCommon_8h.html#a339afb43c105f3923f719bd63dca7312',1,'DetourCommon.h']]], + ['dtilog2_2291',['dtIlog2',['../DetourCommon_8h.html#a8c49318f4e7f77972684dd9de93849e3',1,'DetourCommon.h']]], + ['dtintersectsegmentpoly2d_2292',['dtIntersectSegmentPoly2D',['../DetourCommon_8cpp.html#a5cb54b8f523d837ab0d99bf4acfc7e2a',1,'dtIntersectSegmentPoly2D(const float *p0, const float *p1, const float *verts, int nverts, float &tmin, float &tmax, int &segMin, int &segMax): DetourCommon.cpp'],['../DetourCommon_8h.html#a5cb54b8f523d837ab0d99bf4acfc7e2a',1,'dtIntersectSegmentPoly2D(const float *p0, const float *p1, const float *verts, int nverts, float &tmin, float &tmax, int &segMin, int &segMax): DetourCommon.cpp']]], + ['dtintersectsegseg2d_2293',['dtIntersectSegSeg2D',['../DetourCommon_8cpp.html#af683acdd2685f36cbfd62202251857df',1,'dtIntersectSegSeg2D(const float *ap, const float *aq, const float *bp, const float *bq, float &s, float &t): DetourCommon.cpp'],['../DetourCommon_8h.html#af683acdd2685f36cbfd62202251857df',1,'dtIntersectSegSeg2D(const float *ap, const float *aq, const float *bp, const float *bq, float &s, float &t): DetourCommon.cpp']]], + ['dtlocalboundary_2294',['dtLocalBoundary',['../classdtLocalBoundary.html#abfe1c882605189d161280f28aaeede2e',1,'dtLocalBoundary']]], + ['dtmarkboxarea_2295',['dtMarkBoxArea',['../DetourTileCacheBuilder_8cpp.html#ae2f86fd0c1c1184e6d25d9f410c577f0',1,'dtMarkBoxArea(dtTileCacheLayer &layer, const float *orig, const float cs, const float ch, const float *center, const float *halfExtents, const float *rotAux, const unsigned char areaId): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8cpp.html#a56fa849023117c068a54f84248b4d1c9',1,'dtMarkBoxArea(dtTileCacheLayer &layer, const float *orig, const float cs, const float ch, const float *bmin, const float *bmax, const unsigned char areaId): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8h.html#ae2f86fd0c1c1184e6d25d9f410c577f0',1,'dtMarkBoxArea(dtTileCacheLayer &layer, const float *orig, const float cs, const float ch, const float *center, const float *halfExtents, const float *rotAux, const unsigned char areaId): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8h.html#a56fa849023117c068a54f84248b4d1c9',1,'dtMarkBoxArea(dtTileCacheLayer &layer, const float *orig, const float cs, const float ch, const float *bmin, const float *bmax, const unsigned char areaId): DetourTileCacheBuilder.cpp']]], + ['dtmarkcylinderarea_2296',['dtMarkCylinderArea',['../DetourTileCacheBuilder_8cpp.html#a85bd937d84ac57718deca82e3573588d',1,'dtMarkCylinderArea(dtTileCacheLayer &layer, const float *orig, const float cs, const float ch, const float *pos, const float radius, const float height, const unsigned char areaId): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8h.html#a85bd937d84ac57718deca82e3573588d',1,'dtMarkCylinderArea(dtTileCacheLayer &layer, const float *orig, const float cs, const float ch, const float *pos, const float radius, const float height, const unsigned char areaId): DetourTileCacheBuilder.cpp']]], + ['dtmathatan2f_2297',['dtMathAtan2f',['../DetourMath_8h.html#a292378604b8f33cb144e143f9d33a2e4',1,'DetourMath.h']]], + ['dtmathceilf_2298',['dtMathCeilf',['../DetourMath_8h.html#aa4a2945349a192a21dd0d9b8d66929d8',1,'DetourMath.h']]], + ['dtmathcosf_2299',['dtMathCosf',['../DetourMath_8h.html#acfd5b167b14008287b6bc277c8d8d63f',1,'DetourMath.h']]], + ['dtmathfabsf_2300',['dtMathFabsf',['../DetourMath_8h.html#a2ad54989ede65d69ab7a72a06b99941e',1,'DetourMath.h']]], + ['dtmathfloorf_2301',['dtMathFloorf',['../DetourMath_8h.html#a3969a62f73c241ca665136b5c705be2c',1,'DetourMath.h']]], + ['dtmathisfinite_2302',['dtMathIsfinite',['../DetourMath_8h.html#aada58cd45766fc2aa5c722315d5ba04c',1,'DetourMath.h']]], + ['dtmathsinf_2303',['dtMathSinf',['../DetourMath_8h.html#a79b7b16693ad3fed887aa65c1207724d',1,'DetourMath.h']]], + ['dtmathsqrtf_2304',['dtMathSqrtf',['../DetourMath_8h.html#a7d78191f5515fca287061332e9792632',1,'DetourMath.h']]], + ['dtmax_2305',['dtMax',['../DetourCommon_8h.html#a8823f3ed1d46c80aa4d8d6b6646e8e72',1,'DetourCommon.h']]], + ['dtmergecorridorendmoved_2306',['dtMergeCorridorEndMoved',['../DetourPathCorridor_8cpp.html#a4d27cc6ca58f90a5d92f6081d9a8d4f3',1,'dtMergeCorridorEndMoved(dtPolyRef *path, const int npath, const int maxPath, const dtPolyRef *visited, const int nvisited): DetourPathCorridor.cpp'],['../DetourPathCorridor_8h.html#a4d27cc6ca58f90a5d92f6081d9a8d4f3',1,'dtMergeCorridorEndMoved(dtPolyRef *path, const int npath, const int maxPath, const dtPolyRef *visited, const int nvisited): DetourPathCorridor.cpp']]], + ['dtmergecorridorstartmoved_2307',['dtMergeCorridorStartMoved',['../DetourPathCorridor_8cpp.html#ae7c0ed2b3c1e994b2591716f66f3ecaf',1,'dtMergeCorridorStartMoved(dtPolyRef *path, const int npath, const int maxPath, const dtPolyRef *visited, const int nvisited): DetourPathCorridor.cpp'],['../DetourPathCorridor_8h.html#ae7c0ed2b3c1e994b2591716f66f3ecaf',1,'dtMergeCorridorStartMoved(dtPolyRef *path, const int npath, const int maxPath, const dtPolyRef *visited, const int nvisited): DetourPathCorridor.cpp']]], + ['dtmergecorridorstartshortcut_2308',['dtMergeCorridorStartShortcut',['../DetourPathCorridor_8cpp.html#a0cce0c029141de4e0cadc120729f945b',1,'dtMergeCorridorStartShortcut(dtPolyRef *path, const int npath, const int maxPath, const dtPolyRef *visited, const int nvisited): DetourPathCorridor.cpp'],['../DetourPathCorridor_8h.html#a0cce0c029141de4e0cadc120729f945b',1,'dtMergeCorridorStartShortcut(dtPolyRef *path, const int npath, const int maxPath, const dtPolyRef *visited, const int nvisited): DetourPathCorridor.cpp']]], + ['dtmin_2309',['dtMin',['../DetourCommon_8h.html#a1ba504117782e7d67fe3106ecd76988a',1,'DetourCommon.h']]], + ['dtnavmesh_2310',['dtNavMesh',['../classdtNavMesh.html#a2c0a9164f97121d8d6fc5d48d3b2c544',1,'dtNavMesh']]], + ['dtnavmeshdataswapendian_2311',['dtNavMeshDataSwapEndian',['../DetourNavMeshBuilder_8h.html#a619569f8035bcbf9973ac3bdf391ca49',1,'dtNavMeshDataSwapEndian(unsigned char *data, const int dataSize): DetourNavMeshBuilder.cpp'],['../DetourNavMeshBuilder_8cpp.html#a4a05bdb40ab3e0ea33220421ed049d15',1,'dtNavMeshDataSwapEndian(unsigned char *data, const int): DetourNavMeshBuilder.cpp']]], + ['dtnavmeshheaderswapendian_2312',['dtNavMeshHeaderSwapEndian',['../DetourNavMeshBuilder_8cpp.html#ace48ade47c4974b02f054b9f5c46f9e3',1,'dtNavMeshHeaderSwapEndian(unsigned char *data, const int): DetourNavMeshBuilder.cpp'],['../DetourNavMeshBuilder_8h.html#aeec7de5f61c6a26b6ae2917864a040df',1,'dtNavMeshHeaderSwapEndian(unsigned char *data, const int dataSize): DetourNavMeshBuilder.cpp']]], + ['dtnavmeshquery_2313',['dtNavMeshQuery',['../classdtNavMeshQuery.html#aa5adfa9c92f7d77bb144c3283bf76d2e',1,'dtNavMeshQuery']]], + ['dtnextpow2_2314',['dtNextPow2',['../DetourCommon_8h.html#aca8a96b35bdd0d6ca037cb40611bc1b5',1,'DetourCommon.h']]], + ['dtnodepool_2315',['dtNodePool',['../classdtNodePool.html#a7239dd92a9ea9b604c33a0a3472dc7ee',1,'dtNodePool']]], + ['dtnodequeue_2316',['dtNodeQueue',['../classdtNodeQueue.html#a98462fc76364861576fa8547987d5458',1,'dtNodeQueue']]], + ['dtnormalize2d_2317',['dtNormalize2D',['../DetourObstacleAvoidance_8cpp.html#ab7fb56742ba1ed08dd87f2f2b59d1b63',1,'DetourObstacleAvoidance.cpp']]], + ['dtobstacleavoidancedebugdata_2318',['dtObstacleAvoidanceDebugData',['../classdtObstacleAvoidanceDebugData.html#ae6e3e2e17696666996e3971c02989400',1,'dtObstacleAvoidanceDebugData']]], + ['dtobstacleavoidancequery_2319',['dtObstacleAvoidanceQuery',['../classdtObstacleAvoidanceQuery.html#a353d5b1f7b8feb1e5867528255924968',1,'dtObstacleAvoidanceQuery']]], + ['dtoppositetile_2320',['dtOppositeTile',['../DetourCommon_8h.html#ab20ff0c590db06a62e05c6f6df292404',1,'DetourCommon.h']]], + ['dtoverlapbounds_2321',['dtOverlapBounds',['../DetourCommon_8h.html#ad63541204d445957e2ddc5eff010e485',1,'DetourCommon.h']]], + ['dtoverlappolypoly2d_2322',['dtOverlapPolyPoly2D',['../DetourCommon_8h.html#a5eb3e9100fdc574add9a344030161dfa',1,'dtOverlapPolyPoly2D(const float *polya, const int npolya, const float *polyb, const int npolyb): DetourCommon.cpp'],['../DetourCommon_8cpp.html#a5eb3e9100fdc574add9a344030161dfa',1,'dtOverlapPolyPoly2D(const float *polya, const int npolya, const float *polyb, const int npolyb): DetourCommon.cpp']]], + ['dtoverlapquantbounds_2323',['dtOverlapQuantBounds',['../DetourCommon_8h.html#acd68b769b30c3bf711467f5d8652b15d',1,'DetourCommon.h']]], + ['dtpathcorridor_2324',['dtPathCorridor',['../classdtPathCorridor.html#a2e7ceb397b60be4ff6e839206e6ef571',1,'dtPathCorridor']]], + ['dtpathqueue_2325',['dtPathQueue',['../classdtPathQueue.html#a586a27d4f141dd4d47f3f92bad82be1c',1,'dtPathQueue']]], + ['dtpointinpolygon_2326',['dtPointInPolygon',['../DetourCommon_8cpp.html#a7b3806c429b5b231f316988edd4373aa',1,'dtPointInPolygon(const float *pt, const float *verts, const int nverts): DetourCommon.cpp'],['../DetourCommon_8h.html#a7b3806c429b5b231f316988edd4373aa',1,'dtPointInPolygon(const float *pt, const float *verts, const int nverts): DetourCommon.cpp']]], + ['dtproximitygrid_2327',['dtProximityGrid',['../classdtProximityGrid.html#af5efb745e3d3048683f8d8a399159465',1,'dtProximityGrid']]], + ['dtqueryfilter_2328',['dtQueryFilter',['../classdtQueryFilter.html#ad686b0d14e2826de3b674c663f7f1456',1,'dtQueryFilter']]], + ['dtrandompointinconvexpoly_2329',['dtRandomPointInConvexPoly',['../DetourCommon_8h.html#a846b4291b0c9a3dde72c6979c428ffa3',1,'dtRandomPointInConvexPoly(const float *pts, const int npts, float *areas, const float s, const float t, float *out): DetourCommon.cpp'],['../DetourCommon_8cpp.html#a846b4291b0c9a3dde72c6979c428ffa3',1,'dtRandomPointInConvexPoly(const float *pts, const int npts, float *areas, const float s, const float t, float *out): DetourCommon.cpp']]], + ['dtrorate2d_2330',['dtRorate2D',['../DetourObstacleAvoidance_8cpp.html#aa044036b3af9615bec7948ecce6c7ba7',1,'DetourObstacleAvoidance.cpp']]], + ['dtsqr_2331',['dtSqr',['../DetourCommon_8h.html#af0a088077730ad6995ce4d82093588cc',1,'DetourCommon.h']]], + ['dtstatusdetail_2332',['dtStatusDetail',['../DetourStatus_8h.html#a2f6509593648b76814a60b412a7be2dd',1,'DetourStatus.h']]], + ['dtstatusfailed_2333',['dtStatusFailed',['../DetourStatus_8h.html#ab98b21afb80f30cc60a1f4e86ebc19d8',1,'DetourStatus.h']]], + ['dtstatusinprogress_2334',['dtStatusInProgress',['../DetourStatus_8h.html#a9f7cad6c2320bb7f491eb9a5ff63ab91',1,'DetourStatus.h']]], + ['dtstatussucceed_2335',['dtStatusSucceed',['../DetourStatus_8h.html#aa8caf42fec99929be1a30d6fdb861c8e',1,'DetourStatus.h']]], + ['dtswap_2336',['dtSwap',['../DetourCommon_8h.html#af347205bbcdcd802e8a41f0e2897c7f2',1,'DetourCommon.h']]], + ['dtswapbyte_2337',['dtSwapByte',['../DetourCommon_8h.html#ab940927fe9d901d2f763fb7de105239e',1,'DetourCommon.h']]], + ['dtswapendian_2338',['dtSwapEndian',['../DetourCommon_8h.html#a11c2aec43edd3160f39b9b60eed4c763',1,'dtSwapEndian(unsigned short *v): DetourCommon.h'],['../DetourCommon_8h.html#a0efb26f29e363d814b1caeac7450d9f7',1,'dtSwapEndian(short *v): DetourCommon.h'],['../DetourCommon_8h.html#a12856916647f1a32e1964e457fb4e0e6',1,'dtSwapEndian(unsigned int *v): DetourCommon.h'],['../DetourCommon_8h.html#af91067419d846eaecd54af7a91874d25',1,'dtSwapEndian(int *v): DetourCommon.h'],['../DetourCommon_8h.html#a42ad975ca7ff142a500805e113bd3ac4',1,'dtSwapEndian(float *v): DetourCommon.h']]], + ['dttempcontour_2339',['dtTempContour',['../structdtTempContour.html#a7bc7026b48e8a23448e6fe5363c7e20f',1,'dtTempContour']]], + ['dttilecache_2340',['dtTileCache',['../classdtTileCache.html#ae10595cf54f85416c0081fa0af530ed1',1,'dtTileCache']]], + ['dttilecacheheaderswapendian_2341',['dtTileCacheHeaderSwapEndian',['../DetourTileCacheBuilder_8h.html#af7089fb5010342e6c48ca705a8f49928',1,'dtTileCacheHeaderSwapEndian(unsigned char *data, const int dataSize): DetourTileCacheBuilder.cpp'],['../DetourTileCacheBuilder_8cpp.html#af7089fb5010342e6c48ca705a8f49928',1,'dtTileCacheHeaderSwapEndian(unsigned char *data, const int dataSize): DetourTileCacheBuilder.cpp']]], + ['dttriarea2d_2342',['dtTriArea2D',['../DetourCommon_8h.html#ace29bd80c4e15d0e4e4a5738aaa77408',1,'DetourCommon.h']]], + ['dtvadd_2343',['dtVadd',['../DetourCommon_8h.html#acad549159189d387ad9496e51994c70e',1,'DetourCommon.h']]], + ['dtvcopy_2344',['dtVcopy',['../DetourCommon_8h.html#a20bd1921d4bb81875f48bb8cbf7a63b4',1,'DetourCommon.h']]], + ['dtvcross_2345',['dtVcross',['../DetourCommon_8h.html#a950177c2c05a3853ece198cc303ba972',1,'DetourCommon.h']]], + ['dtvdist_2346',['dtVdist',['../DetourCommon_8h.html#a000a4b437d73fd37c831c4bcbc3abb8d',1,'DetourCommon.h']]], + ['dtvdist2d_2347',['dtVdist2D',['../DetourCommon_8h.html#a37a45cfe0cfc45112b6219fba1949e42',1,'DetourCommon.h']]], + ['dtvdist2dsqr_2348',['dtVdist2DSqr',['../DetourCommon_8h.html#ad68b02ca8e48bb8098b512fd3157c4d7',1,'DetourCommon.h']]], + ['dtvdistsqr_2349',['dtVdistSqr',['../DetourCommon_8h.html#acebfa3b142ae9b3ad052bf0dd0b3a820',1,'DetourCommon.h']]], + ['dtvdot_2350',['dtVdot',['../DetourCommon_8h.html#a668c20a766e16f1e88b0ce55fcff6b3a',1,'DetourCommon.h']]], + ['dtvdot2d_2351',['dtVdot2D',['../DetourCommon_8h.html#ab16c954d6f9b1c271916d56a1210fb31',1,'DetourCommon.h']]], + ['dtvequal_2352',['dtVequal',['../DetourCommon_8h.html#ad246e02163e1de850ffe6a2645f3c28e',1,'DetourCommon.h']]], + ['dtvisfinite_2353',['dtVisfinite',['../DetourCommon_8h.html#a1de203d55d933ccaa2ae9f3e126f4e63',1,'DetourCommon.h']]], + ['dtvisfinite2d_2354',['dtVisfinite2D',['../DetourCommon_8h.html#ae3ddf094d63f2630a272f4dd865db7a3',1,'DetourCommon.h']]], + ['dtvlen_2355',['dtVlen',['../DetourCommon_8h.html#a3d534f22feca897eab0c01da28083bb3',1,'DetourCommon.h']]], + ['dtvlensqr_2356',['dtVlenSqr',['../DetourCommon_8h.html#a509bf6e4d1ac9f683c8547163591ff8a',1,'DetourCommon.h']]], + ['dtvlerp_2357',['dtVlerp',['../DetourCommon_8h.html#a7b3295d18cd477fca1fe541b59b1b231',1,'DetourCommon.h']]], + ['dtvmad_2358',['dtVmad',['../DetourCommon_8h.html#a1c4e6b8a509d183f62f57af1e73e1c6e',1,'DetourCommon.h']]], + ['dtvmax_2359',['dtVmax',['../DetourCommon_8h.html#a0bb8468867be21e93fab6c7fd343ca67',1,'DetourCommon.h']]], + ['dtvmin_2360',['dtVmin',['../DetourCommon_8h.html#a01ec3e541001b08eb054bfaf019c34d7',1,'DetourCommon.h']]], + ['dtvnormalize_2361',['dtVnormalize',['../DetourCommon_8h.html#a68f410fb499f25b1bf72ff4c6051cb3c',1,'DetourCommon.h']]], + ['dtvperp2d_2362',['dtVperp2D',['../DetourCommon_8h.html#aebb664a885e741148b381caeeb4f0dba',1,'DetourCommon.h']]], + ['dtvscale_2363',['dtVscale',['../DetourCommon_8h.html#a865e98b3352fdea9216c36374d1f0b6a',1,'DetourCommon.h']]], + ['dtvset_2364',['dtVset',['../DetourCommon_8h.html#a78ab75edc5f87fc90471873c2652ca89',1,'DetourCommon.h']]], + ['dtvsub_2365',['dtVsub',['../DetourCommon_8h.html#a8b3255050bf09f5459f3c575ba1574b4',1,'DetourCommon.h']]], + ['duappendarc_2366',['duAppendArc',['../DebugDraw_8h.html#a4abde7bf119bbc15c7ce11e0fd29f433',1,'duAppendArc(struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float h, const float as0, const float as1, unsigned int col): DebugDraw.cpp'],['../DebugDraw_8cpp.html#a4abde7bf119bbc15c7ce11e0fd29f433',1,'duAppendArc(struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float h, const float as0, const float as1, unsigned int col): DebugDraw.cpp']]], + ['duappendarrow_2367',['duAppendArrow',['../DebugDraw_8h.html#af903a7d4db1e5a0b5199530b30fa0d04',1,'duAppendArrow(struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float as0, const float as1, unsigned int col): DebugDraw.cpp'],['../DebugDraw_8cpp.html#af903a7d4db1e5a0b5199530b30fa0d04',1,'duAppendArrow(struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float as0, const float as1, unsigned int col): DebugDraw.cpp']]], + ['duappendbox_2368',['duAppendBox',['../DebugDraw_8h.html#a31e157d9851ea970b3846f2e414a7a6b',1,'duAppendBox(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, const unsigned int *fcol): DebugDraw.cpp'],['../DebugDraw_8cpp.html#a31e157d9851ea970b3846f2e414a7a6b',1,'duAppendBox(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, const unsigned int *fcol): DebugDraw.cpp']]], + ['duappendboxpoints_2369',['duAppendBoxPoints',['../DebugDraw_8h.html#af642edb7bee9ad03a4888734aabc8722',1,'duAppendBoxPoints(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col): DebugDraw.cpp'],['../DebugDraw_8cpp.html#af642edb7bee9ad03a4888734aabc8722',1,'duAppendBoxPoints(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col): DebugDraw.cpp']]], + ['duappendboxwire_2370',['duAppendBoxWire',['../DebugDraw_8h.html#ad8477d27dac2e71ac54ab62b57681444',1,'duAppendBoxWire(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col): DebugDraw.cpp'],['../DebugDraw_8cpp.html#ad8477d27dac2e71ac54ab62b57681444',1,'duAppendBoxWire(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col): DebugDraw.cpp']]], + ['duappendcircle_2371',['duAppendCircle',['../DebugDraw_8h.html#a20f175472f6ec05add11a46ea87216ac',1,'duAppendCircle(struct duDebugDraw *dd, const float x, const float y, const float z, const float r, unsigned int col): DebugDraw.cpp'],['../DebugDraw_8cpp.html#a20f175472f6ec05add11a46ea87216ac',1,'duAppendCircle(struct duDebugDraw *dd, const float x, const float y, const float z, const float r, unsigned int col): DebugDraw.cpp']]], + ['duappendcross_2372',['duAppendCross',['../DebugDraw_8h.html#a9f4496fab81105908e92c2cfb8a8155b',1,'duAppendCross(struct duDebugDraw *dd, const float x, const float y, const float z, const float size, unsigned int col): DebugDraw.cpp'],['../DebugDraw_8cpp.html#a39a74525468b9153cc928f670a1bff6b',1,'duAppendCross(struct duDebugDraw *dd, const float x, const float y, const float z, const float s, unsigned int col): DebugDraw.cpp']]], + ['duappendcylinder_2373',['duAppendCylinder',['../DebugDraw_8h.html#ac8e97c3691067f8e62ed9f8eb3b255f7',1,'duAppendCylinder(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col): DebugDraw.cpp'],['../DebugDraw_8cpp.html#ac8e97c3691067f8e62ed9f8eb3b255f7',1,'duAppendCylinder(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col): DebugDraw.cpp']]], + ['duappendcylinderwire_2374',['duAppendCylinderWire',['../DebugDraw_8h.html#abb1f308b5bc7bf286afdde8b5bfeda7f',1,'duAppendCylinderWire(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col): DebugDraw.cpp'],['../DebugDraw_8cpp.html#abb1f308b5bc7bf286afdde8b5bfeda7f',1,'duAppendCylinderWire(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col): DebugDraw.cpp']]], + ['ducalcboxcolors_2375',['duCalcBoxColors',['../DebugDraw_8h.html#aed1355423ffd7e15f1114ff985836be0',1,'duCalcBoxColors(unsigned int *colors, unsigned int colTop, unsigned int colSide): DebugDraw.cpp'],['../DebugDraw_8cpp.html#aed1355423ffd7e15f1114ff985836be0',1,'duCalcBoxColors(unsigned int *colors, unsigned int colTop, unsigned int colSide): DebugDraw.cpp']]], + ['dudarkencol_2376',['duDarkenCol',['../DebugDraw_8h.html#ab829d0ae7d4e7aa199bea0a6bf27b5f5',1,'DebugDraw.h']]], + ['dudebugdrawarc_2377',['duDebugDrawArc',['../DebugDraw_8h.html#a5f9e91a48539eaead1b44f1f1235093d',1,'duDebugDrawArc(struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float h, const float as0, const float as1, unsigned int col, const float lineWidth): DebugDraw.cpp'],['../DebugDraw_8cpp.html#a5f9e91a48539eaead1b44f1f1235093d',1,'duDebugDrawArc(struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float h, const float as0, const float as1, unsigned int col, const float lineWidth): DebugDraw.cpp']]], + ['dudebugdrawarrow_2378',['duDebugDrawArrow',['../DebugDraw_8h.html#abf367a1fd1a0fbb2993beb99454e095c',1,'duDebugDrawArrow(struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float as0, const float as1, unsigned int col, const float lineWidth): DebugDraw.cpp'],['../DebugDraw_8cpp.html#abf367a1fd1a0fbb2993beb99454e095c',1,'duDebugDrawArrow(struct duDebugDraw *dd, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float as0, const float as1, unsigned int col, const float lineWidth): DebugDraw.cpp']]], + ['dudebugdrawbox_2379',['duDebugDrawBox',['../DebugDraw_8h.html#a445be6c90ff146c39c5ba3c9c4597be1',1,'duDebugDrawBox(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, const unsigned int *fcol): DebugDraw.cpp'],['../DebugDraw_8cpp.html#a445be6c90ff146c39c5ba3c9c4597be1',1,'duDebugDrawBox(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, const unsigned int *fcol): DebugDraw.cpp']]], + ['dudebugdrawboxwire_2380',['duDebugDrawBoxWire',['../DebugDraw_8h.html#aa351fc1c5dd7f39140446690e6784395',1,'duDebugDrawBoxWire(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col, const float lineWidth): DebugDraw.cpp'],['../DebugDraw_8cpp.html#aa351fc1c5dd7f39140446690e6784395',1,'duDebugDrawBoxWire(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col, const float lineWidth): DebugDraw.cpp']]], + ['dudebugdrawcircle_2381',['duDebugDrawCircle',['../DebugDraw_8h.html#a9701dd640ff0167c71e02921bb5004e2',1,'duDebugDrawCircle(struct duDebugDraw *dd, const float x, const float y, const float z, const float r, unsigned int col, const float lineWidth): DebugDraw.cpp'],['../DebugDraw_8cpp.html#a9701dd640ff0167c71e02921bb5004e2',1,'duDebugDrawCircle(struct duDebugDraw *dd, const float x, const float y, const float z, const float r, unsigned int col, const float lineWidth): DebugDraw.cpp']]], + ['dudebugdrawcompactheightfielddistance_2382',['duDebugDrawCompactHeightfieldDistance',['../RecastDebugDraw_8h.html#aa0dcb87104fd153b14d82061253f05a3',1,'duDebugDrawCompactHeightfieldDistance(struct duDebugDraw *dd, const struct rcCompactHeightfield &chf): RecastDebugDraw.h'],['../RecastDebugDraw_8cpp.html#a235d4984c3af57709f747318682fc28c',1,'duDebugDrawCompactHeightfieldDistance(duDebugDraw *dd, const rcCompactHeightfield &chf): RecastDebugDraw.cpp']]], + ['dudebugdrawcompactheightfieldregions_2383',['duDebugDrawCompactHeightfieldRegions',['../RecastDebugDraw_8h.html#a22ee02b05453303381db3765dd1144fc',1,'duDebugDrawCompactHeightfieldRegions(struct duDebugDraw *dd, const struct rcCompactHeightfield &chf): RecastDebugDraw.h'],['../RecastDebugDraw_8cpp.html#a4000bfb06774ee55ec1233fc8a7b355f',1,'duDebugDrawCompactHeightfieldRegions(duDebugDraw *dd, const rcCompactHeightfield &chf): RecastDebugDraw.cpp']]], + ['dudebugdrawcompactheightfieldsolid_2384',['duDebugDrawCompactHeightfieldSolid',['../RecastDebugDraw_8h.html#a2ac8ef50c91af41f727d85d03881279c',1,'duDebugDrawCompactHeightfieldSolid(struct duDebugDraw *dd, const struct rcCompactHeightfield &chf): RecastDebugDraw.h'],['../RecastDebugDraw_8cpp.html#af63209223e103a854da9e8991c662693',1,'duDebugDrawCompactHeightfieldSolid(duDebugDraw *dd, const rcCompactHeightfield &chf): RecastDebugDraw.cpp']]], + ['dudebugdrawcontours_2385',['duDebugDrawContours',['../RecastDebugDraw_8h.html#aded380127861ec22ecce3f14567dd922',1,'duDebugDrawContours(struct duDebugDraw *dd, const struct rcContourSet &cset, const float alpha=1.0f): RecastDebugDraw.h'],['../RecastDebugDraw_8cpp.html#ae8374807e50186e8dbdcb9d9d628d7c1',1,'duDebugDrawContours(duDebugDraw *dd, const rcContourSet &cset, const float alpha): RecastDebugDraw.cpp']]], + ['dudebugdrawcross_2386',['duDebugDrawCross',['../DebugDraw_8h.html#afbf7aba36432ed758d110faac052043f',1,'duDebugDrawCross(struct duDebugDraw *dd, const float x, const float y, const float z, const float size, unsigned int col, const float lineWidth): DebugDraw.cpp'],['../DebugDraw_8cpp.html#afbf7aba36432ed758d110faac052043f',1,'duDebugDrawCross(struct duDebugDraw *dd, const float x, const float y, const float z, const float size, unsigned int col, const float lineWidth): DebugDraw.cpp']]], + ['dudebugdrawcylinder_2387',['duDebugDrawCylinder',['../DebugDraw_8h.html#a02552e2c7419bd786631e6f443826004',1,'duDebugDrawCylinder(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col): DebugDraw.cpp'],['../DebugDraw_8cpp.html#a02552e2c7419bd786631e6f443826004',1,'duDebugDrawCylinder(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col): DebugDraw.cpp']]], + ['dudebugdrawcylinderwire_2388',['duDebugDrawCylinderWire',['../DebugDraw_8h.html#a8d197b1cb938eb6a5d395fe86454fbc8',1,'duDebugDrawCylinderWire(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col, const float lineWidth): DebugDraw.cpp'],['../DebugDraw_8cpp.html#a8d197b1cb938eb6a5d395fe86454fbc8',1,'duDebugDrawCylinderWire(struct duDebugDraw *dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, unsigned int col, const float lineWidth): DebugDraw.cpp']]], + ['dudebugdrawgridxz_2389',['duDebugDrawGridXZ',['../DebugDraw_8h.html#abe21ceb0657dac9e04e7314e1636b6c7',1,'duDebugDrawGridXZ(struct duDebugDraw *dd, const float ox, const float oy, const float oz, const int w, const int h, const float size, const unsigned int col, const float lineWidth): DebugDraw.cpp'],['../DebugDraw_8cpp.html#abe21ceb0657dac9e04e7314e1636b6c7',1,'duDebugDrawGridXZ(struct duDebugDraw *dd, const float ox, const float oy, const float oz, const int w, const int h, const float size, const unsigned int col, const float lineWidth): DebugDraw.cpp']]], + ['dudebugdrawheightfieldlayer_2390',['duDebugDrawHeightfieldLayer',['../RecastDebugDraw_8h.html#a993feadf9b8305559fef2b46309b7b72',1,'duDebugDrawHeightfieldLayer(duDebugDraw *dd, const struct rcHeightfieldLayer &layer, const int idx): RecastDebugDraw.cpp'],['../RecastDebugDraw_8cpp.html#a993feadf9b8305559fef2b46309b7b72',1,'duDebugDrawHeightfieldLayer(duDebugDraw *dd, const struct rcHeightfieldLayer &layer, const int idx): RecastDebugDraw.cpp']]], + ['dudebugdrawheightfieldlayers_2391',['duDebugDrawHeightfieldLayers',['../RecastDebugDraw_8h.html#adaac7d02f53973fdeca92cf7c8e9b14b',1,'duDebugDrawHeightfieldLayers(duDebugDraw *dd, const struct rcHeightfieldLayerSet &lset): RecastDebugDraw.cpp'],['../RecastDebugDraw_8cpp.html#adaac7d02f53973fdeca92cf7c8e9b14b',1,'duDebugDrawHeightfieldLayers(duDebugDraw *dd, const struct rcHeightfieldLayerSet &lset): RecastDebugDraw.cpp']]], + ['dudebugdrawheightfieldlayersregions_2392',['duDebugDrawHeightfieldLayersRegions',['../RecastDebugDraw_8h.html#a2222614f4dc750b926d364145f950149',1,'RecastDebugDraw.h']]], + ['dudebugdrawheightfieldsolid_2393',['duDebugDrawHeightfieldSolid',['../RecastDebugDraw_8h.html#a3c760b859a679f2fac314e024702e710',1,'duDebugDrawHeightfieldSolid(struct duDebugDraw *dd, const struct rcHeightfield &hf): RecastDebugDraw.h'],['../RecastDebugDraw_8cpp.html#a528f5b6c42bf277945ab02d34337b4dc',1,'duDebugDrawHeightfieldSolid(duDebugDraw *dd, const rcHeightfield &hf): RecastDebugDraw.cpp']]], + ['dudebugdrawheightfieldwalkable_2394',['duDebugDrawHeightfieldWalkable',['../RecastDebugDraw_8h.html#a58116ac621789250210772e7c84ba860',1,'duDebugDrawHeightfieldWalkable(struct duDebugDraw *dd, const struct rcHeightfield &hf): RecastDebugDraw.h'],['../RecastDebugDraw_8cpp.html#abea389cf7769de66629aa525def924d8',1,'duDebugDrawHeightfieldWalkable(duDebugDraw *dd, const rcHeightfield &hf): RecastDebugDraw.cpp']]], + ['dudebugdrawnavmesh_2395',['duDebugDrawNavMesh',['../DetourDebugDraw_8h.html#adb702f765bd63cea5084faaf24ee18f7',1,'duDebugDrawNavMesh(struct duDebugDraw *dd, const dtNavMesh &mesh, unsigned char flags): DetourDebugDraw.cpp'],['../DetourDebugDraw_8cpp.html#a4f1b28d605cfc117094788cacd4fb64b',1,'duDebugDrawNavMesh(duDebugDraw *dd, const dtNavMesh &mesh, unsigned char flags): DetourDebugDraw.cpp']]], + ['dudebugdrawnavmeshbvtree_2396',['duDebugDrawNavMeshBVTree',['../DetourDebugDraw_8h.html#ad879d0dcbf2511741b83a254d574896b',1,'duDebugDrawNavMeshBVTree(struct duDebugDraw *dd, const dtNavMesh &mesh): DetourDebugDraw.cpp'],['../DetourDebugDraw_8cpp.html#a4ff4399141d9f50af406373b7c648fbb',1,'duDebugDrawNavMeshBVTree(duDebugDraw *dd, const dtNavMesh &mesh): DetourDebugDraw.cpp']]], + ['dudebugdrawnavmeshnodes_2397',['duDebugDrawNavMeshNodes',['../DetourDebugDraw_8cpp.html#aea1b04e77329d2698cf52c9daf844338',1,'duDebugDrawNavMeshNodes(struct duDebugDraw *dd, const dtNavMeshQuery &query): DetourDebugDraw.cpp'],['../DetourDebugDraw_8h.html#aea1b04e77329d2698cf52c9daf844338',1,'duDebugDrawNavMeshNodes(struct duDebugDraw *dd, const dtNavMeshQuery &query): DetourDebugDraw.cpp']]], + ['dudebugdrawnavmeshpoly_2398',['duDebugDrawNavMeshPoly',['../DetourDebugDraw_8h.html#a07a430d9d45107d565eb986fab0b9343',1,'duDebugDrawNavMeshPoly(struct duDebugDraw *dd, const dtNavMesh &mesh, dtPolyRef ref, const unsigned int col): DetourDebugDraw.cpp'],['../DetourDebugDraw_8cpp.html#abe21458cb541f67811a7887c9ad2730a',1,'duDebugDrawNavMeshPoly(duDebugDraw *dd, const dtNavMesh &mesh, dtPolyRef ref, const unsigned int col): DetourDebugDraw.cpp']]], + ['dudebugdrawnavmeshpolyswithflags_2399',['duDebugDrawNavMeshPolysWithFlags',['../DetourDebugDraw_8h.html#a6f6cbcb5c4104aa25f96f04469f2aeee',1,'duDebugDrawNavMeshPolysWithFlags(struct duDebugDraw *dd, const dtNavMesh &mesh, const unsigned short polyFlags, const unsigned int col): DetourDebugDraw.cpp'],['../DetourDebugDraw_8cpp.html#a6f6cbcb5c4104aa25f96f04469f2aeee',1,'duDebugDrawNavMeshPolysWithFlags(struct duDebugDraw *dd, const dtNavMesh &mesh, const unsigned short polyFlags, const unsigned int col): DetourDebugDraw.cpp']]], + ['dudebugdrawnavmeshportals_2400',['duDebugDrawNavMeshPortals',['../DetourDebugDraw_8h.html#a337c55285d250b7419b9dfa8a8bc0315',1,'duDebugDrawNavMeshPortals(struct duDebugDraw *dd, const dtNavMesh &mesh): DetourDebugDraw.cpp'],['../DetourDebugDraw_8cpp.html#a2f05a4c6d4c49272108f23cd01772774',1,'duDebugDrawNavMeshPortals(duDebugDraw *dd, const dtNavMesh &mesh): DetourDebugDraw.cpp']]], + ['dudebugdrawnavmeshwithclosedlist_2401',['duDebugDrawNavMeshWithClosedList',['../DetourDebugDraw_8h.html#ae33b26c815bcc08ba69313bbb5cff60e',1,'duDebugDrawNavMeshWithClosedList(struct duDebugDraw *dd, const dtNavMesh &mesh, const dtNavMeshQuery &query, unsigned char flags): DetourDebugDraw.cpp'],['../DetourDebugDraw_8cpp.html#ae33b26c815bcc08ba69313bbb5cff60e',1,'duDebugDrawNavMeshWithClosedList(struct duDebugDraw *dd, const dtNavMesh &mesh, const dtNavMeshQuery &query, unsigned char flags): DetourDebugDraw.cpp']]], + ['dudebugdrawpolymesh_2402',['duDebugDrawPolyMesh',['../RecastDebugDraw_8h.html#a8c4b9add262ac0610b058981b54e11ef',1,'duDebugDrawPolyMesh(struct duDebugDraw *dd, const struct rcPolyMesh &mesh): RecastDebugDraw.cpp'],['../RecastDebugDraw_8cpp.html#a5262792ab9c0374fb32869e6ee146a10',1,'duDebugDrawPolyMesh(duDebugDraw *dd, const struct rcPolyMesh &mesh): RecastDebugDraw.cpp']]], + ['dudebugdrawpolymeshdetail_2403',['duDebugDrawPolyMeshDetail',['../RecastDebugDraw_8h.html#a6354e7ba85ef550882d6b474bd20d402',1,'duDebugDrawPolyMeshDetail(struct duDebugDraw *dd, const struct rcPolyMeshDetail &dmesh): RecastDebugDraw.cpp'],['../RecastDebugDraw_8cpp.html#a534917922155f1d5a1bc8c2099b0b28e',1,'duDebugDrawPolyMeshDetail(duDebugDraw *dd, const struct rcPolyMeshDetail &dmesh): RecastDebugDraw.cpp']]], + ['dudebugdrawrawcontours_2404',['duDebugDrawRawContours',['../RecastDebugDraw_8h.html#a23f240dc7ca409e589b8fc6ff9c13703',1,'duDebugDrawRawContours(struct duDebugDraw *dd, const struct rcContourSet &cset, const float alpha=1.0f): RecastDebugDraw.h'],['../RecastDebugDraw_8cpp.html#a64daf33453c16f1f032a7cd270ba4cb0',1,'duDebugDrawRawContours(duDebugDraw *dd, const rcContourSet &cset, const float alpha): RecastDebugDraw.cpp']]], + ['dudebugdrawregionconnections_2405',['duDebugDrawRegionConnections',['../RecastDebugDraw_8h.html#ab61190774f8a73f704db0a69ebff30da',1,'duDebugDrawRegionConnections(struct duDebugDraw *dd, const struct rcContourSet &cset, const float alpha=1.0f): RecastDebugDraw.h'],['../RecastDebugDraw_8cpp.html#a5ad1b6b9a7906e15a003c1a6ce88c8fb',1,'duDebugDrawRegionConnections(duDebugDraw *dd, const rcContourSet &cset, const float alpha): RecastDebugDraw.cpp']]], + ['dudebugdrawtilecachecontours_2406',['duDebugDrawTileCacheContours',['../DetourDebugDraw_8h.html#aafa0931f8e76ca201b8ffdd2e0c4c4be',1,'duDebugDrawTileCacheContours(duDebugDraw *dd, const struct dtTileCacheContourSet &lcset, const float *orig, const float cs, const float ch): DetourDebugDraw.cpp'],['../DetourDebugDraw_8cpp.html#aafa0931f8e76ca201b8ffdd2e0c4c4be',1,'duDebugDrawTileCacheContours(duDebugDraw *dd, const struct dtTileCacheContourSet &lcset, const float *orig, const float cs, const float ch): DetourDebugDraw.cpp']]], + ['dudebugdrawtilecachelayerareas_2407',['duDebugDrawTileCacheLayerAreas',['../DetourDebugDraw_8h.html#a395f60215ed954912bd63dbed81d1c78',1,'duDebugDrawTileCacheLayerAreas(struct duDebugDraw *dd, const dtTileCacheLayer &layer, const float cs, const float ch): DetourDebugDraw.cpp'],['../DetourDebugDraw_8cpp.html#a395f60215ed954912bd63dbed81d1c78',1,'duDebugDrawTileCacheLayerAreas(struct duDebugDraw *dd, const dtTileCacheLayer &layer, const float cs, const float ch): DetourDebugDraw.cpp']]], + ['dudebugdrawtilecachelayerregions_2408',['duDebugDrawTileCacheLayerRegions',['../DetourDebugDraw_8h.html#a5e3b1e9d9d420ae6a99e6f5e17c326cb',1,'duDebugDrawTileCacheLayerRegions(struct duDebugDraw *dd, const dtTileCacheLayer &layer, const float cs, const float ch): DetourDebugDraw.cpp'],['../DetourDebugDraw_8cpp.html#a5e3b1e9d9d420ae6a99e6f5e17c326cb',1,'duDebugDrawTileCacheLayerRegions(struct duDebugDraw *dd, const dtTileCacheLayer &layer, const float cs, const float ch): DetourDebugDraw.cpp']]], + ['dudebugdrawtilecachepolymesh_2409',['duDebugDrawTileCachePolyMesh',['../DetourDebugDraw_8h.html#a884d4beb61d64886df056e39ec77c528',1,'duDebugDrawTileCachePolyMesh(duDebugDraw *dd, const struct dtTileCachePolyMesh &lmesh, const float *orig, const float cs, const float ch): DetourDebugDraw.cpp'],['../DetourDebugDraw_8cpp.html#a884d4beb61d64886df056e39ec77c528',1,'duDebugDrawTileCachePolyMesh(duDebugDraw *dd, const struct dtTileCachePolyMesh &lmesh, const float *orig, const float cs, const float ch): DetourDebugDraw.cpp']]], + ['dudebugdrawtrimesh_2410',['duDebugDrawTriMesh',['../RecastDebugDraw_8h.html#aa27138eac68bd4fba98a18940998b89c',1,'duDebugDrawTriMesh(struct duDebugDraw *dd, const float *verts, int nverts, const int *tris, const float *normals, int ntris, const unsigned char *flags, const float texScale): RecastDebugDraw.cpp'],['../RecastDebugDraw_8cpp.html#a949d0745bd2b4d6970d824b4c840513c',1,'duDebugDrawTriMesh(duDebugDraw *dd, const float *verts, int, const int *tris, const float *normals, int ntris, const unsigned char *flags, const float texScale): RecastDebugDraw.cpp']]], + ['dudebugdrawtrimeshslope_2411',['duDebugDrawTriMeshSlope',['../RecastDebugDraw_8h.html#aad3643ecdf0a8b18414baebc88acb048',1,'duDebugDrawTriMeshSlope(struct duDebugDraw *dd, const float *verts, int nverts, const int *tris, const float *normals, int ntris, const float walkableSlopeAngle, const float texScale): RecastDebugDraw.cpp'],['../RecastDebugDraw_8cpp.html#af311eef9340f1e71adea608d35bdbbd9',1,'duDebugDrawTriMeshSlope(duDebugDraw *dd, const float *verts, int, const int *tris, const float *normals, int ntris, const float walkableSlopeAngle, const float texScale): RecastDebugDraw.cpp']]], + ['dudisplaylist_2412',['duDisplayList',['../classduDisplayList.html#a841869a8b7db7c4c67470578e3f2e050',1,'duDisplayList']]], + ['dudumpcompactheightfield_2413',['duDumpCompactHeightfield',['../RecastDump_8h.html#adec19cdb843932197e6538ea2e234cc1',1,'duDumpCompactHeightfield(struct rcCompactHeightfield &chf, duFileIO *io): RecastDump.cpp'],['../RecastDump_8cpp.html#adec19cdb843932197e6538ea2e234cc1',1,'duDumpCompactHeightfield(struct rcCompactHeightfield &chf, duFileIO *io): RecastDump.cpp']]], + ['dudumpcontourset_2414',['duDumpContourSet',['../RecastDump_8h.html#a6ae5d539309d07370f7ec5eb53e94743',1,'duDumpContourSet(struct rcContourSet &cset, duFileIO *io): RecastDump.cpp'],['../RecastDump_8cpp.html#a6ae5d539309d07370f7ec5eb53e94743',1,'duDumpContourSet(struct rcContourSet &cset, duFileIO *io): RecastDump.cpp']]], + ['dudumppolymeshdetailtoobj_2415',['duDumpPolyMeshDetailToObj',['../RecastDump_8h.html#a129a91fa790aafc645396c31759dfd80',1,'duDumpPolyMeshDetailToObj(struct rcPolyMeshDetail &dmesh, duFileIO *io): RecastDump.cpp'],['../RecastDump_8cpp.html#aa0cb505c86286978f1d3e3af54f78816',1,'duDumpPolyMeshDetailToObj(rcPolyMeshDetail &dmesh, duFileIO *io): RecastDump.cpp']]], + ['dudumppolymeshtoobj_2416',['duDumpPolyMeshToObj',['../RecastDump_8h.html#a0a79a720e9e9bbcc7c299260c7e6d327',1,'duDumpPolyMeshToObj(struct rcPolyMesh &pmesh, duFileIO *io): RecastDump.cpp'],['../RecastDump_8cpp.html#a6dc94dd7f5e9b4a1bf998c45b06dbce8',1,'duDumpPolyMeshToObj(rcPolyMesh &pmesh, duFileIO *io): RecastDump.cpp']]], + ['duinttocol_2417',['duIntToCol',['../DebugDraw_8cpp.html#aa7ed02712813d056a5a092b0eb30b23f',1,'duIntToCol(int i, float *col): DebugDraw.cpp'],['../DebugDraw_8cpp.html#a731cb6ff6a2a2f0ef9867339999cc615',1,'duIntToCol(int i, int a): DebugDraw.cpp'],['../DebugDraw_8h.html#aa7ed02712813d056a5a092b0eb30b23f',1,'duIntToCol(int i, float *col): DebugDraw.cpp'],['../DebugDraw_8h.html#a731cb6ff6a2a2f0ef9867339999cc615',1,'duIntToCol(int i, int a): DebugDraw.cpp']]], + ['dulerpcol_2418',['duLerpCol',['../DebugDraw_8h.html#af86f10d8c5ee26ff8f70a9dbd457b76a',1,'DebugDraw.h']]], + ['dulogbuildtimes_2419',['duLogBuildTimes',['../RecastDump_8h.html#a32dd617dc1eeb615d779834c760131a5',1,'duLogBuildTimes(rcContext &ctx, const int totalTileUsec): RecastDump.cpp'],['../RecastDump_8cpp.html#a99bee52e313edc310e3bd5b07f77b66c',1,'duLogBuildTimes(rcContext &ctx, const int totalTimeUsec): RecastDump.cpp']]], + ['dumplog_2420',['dumpLog',['../classBuildContext.html#aeaaab27f3952ade9fbb1e5ac85c4bf8b',1,'BuildContext']]], + ['dumultcol_2421',['duMultCol',['../DebugDraw_8h.html#afe81eed2bd74c26dc0fc402c509571f7',1,'DebugDraw.h']]], + ['dureadcompactheightfield_2422',['duReadCompactHeightfield',['../RecastDump_8h.html#aa11f7a7470e8e8aeea6f155e39edccf8',1,'duReadCompactHeightfield(struct rcCompactHeightfield &chf, duFileIO *io): RecastDump.cpp'],['../RecastDump_8cpp.html#aa11f7a7470e8e8aeea6f155e39edccf8',1,'duReadCompactHeightfield(struct rcCompactHeightfield &chf, duFileIO *io): RecastDump.cpp']]], + ['dureadcontourset_2423',['duReadContourSet',['../RecastDump_8h.html#a9e1f8ba842160742ce414e710c6472fb',1,'duReadContourSet(struct rcContourSet &cset, duFileIO *io): RecastDump.cpp'],['../RecastDump_8cpp.html#a9e1f8ba842160742ce414e710c6472fb',1,'duReadContourSet(struct rcContourSet &cset, duFileIO *io): RecastDump.cpp']]], + ['durgba_2424',['duRGBA',['../DebugDraw_8h.html#af2db5f73ed824805a2f93ee69734aebf',1,'DebugDraw.h']]], + ['durgbaf_2425',['duRGBAf',['../DebugDraw_8h.html#ab37b3884a567e012a9149cf260cb1a02',1,'DebugDraw.h']]], + ['dutranscol_2426',['duTransCol',['../DebugDraw_8h.html#aba3168c3b213a2a18a2ca637e2b009b8',1,'DebugDraw.h']]] +]; diff --git a/search/functions_4.html b/search/functions_4.html new file mode 100644 index 00000000..1657cad0 --- /dev/null +++ b/search/functions_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_4.js b/search/functions_4.js new file mode 100644 index 00000000..74bc60bd --- /dev/null +++ b/search/functions_4.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['empty_2427',['empty',['../classdtNodeQueue.html#a15693f0c97c5d9a32cd0302cdcafd27c',1,'dtNodeQueue::empty()'],['../classrcVectorBase.html#abea713b48ccadfde8ef3f3f61af23553',1,'rcVectorBase::empty()']]], + ['enablelog_2428',['enableLog',['../classrcContext.html#a03dcf9240dc69a7c329c15e32be12d8e',1,'rcContext']]], + ['enabletimer_2429',['enableTimer',['../classrcContext.html#aa4680430d751824f83634ac753df9669',1,'rcContext']]], + ['encodeobstacleid_2430',['encodeObstacleId',['../classdtTileCache.html#a0d0ae89585f257f5ff0961e9eabfb52d',1,'dtTileCache']]], + ['encodepolyid_2431',['encodePolyId',['../classdtNavMesh.html#a168a479840e7e32613f4b68ee4662d78',1,'dtNavMesh']]], + ['encodetileid_2432',['encodeTileId',['../classdtTileCache.html#a8e894bf86dc38b622fac1afe3ba5fe84',1,'dtTileCache']]], + ['end_2433',['end',['../structduDebugDraw.html#ac699459669944f2f950bbf972fe62a14',1,'duDebugDraw::end()'],['../classduDisplayList.html#ad8283f5518c514d0635d8ad0c359e11a',1,'duDisplayList::end()'],['../classrcVectorBase.html#a2345659d7f6de686d45030f84162ac3b',1,'rcVectorBase::end()'],['../classrcVectorBase.html#adb66e7f35934f7ec18347cf53441bbeb',1,'rcVectorBase::end() const'],['../classDebugDrawGL.html#a28de738a8a277da6c534e46850ffc1e8',1,'DebugDrawGL::end()']]], + ['evalarc_2434',['evalArc',['../DebugDraw_8cpp.html#a1981953ed43c0c1f2bf6c49dff16b092',1,'DebugDraw.cpp']]], + ['expandregions_2435',['expandRegions',['../RecastRegion_8cpp.html#a019a1b335b38abce33594128c4806a04',1,'RecastRegion.cpp']]] +]; diff --git a/search/functions_5.html b/search/functions_5.html new file mode 100644 index 00000000..9301d6b9 --- /dev/null +++ b/search/functions_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_5.js b/search/functions_5.js new file mode 100644 index 00000000..5b937fbb --- /dev/null +++ b/search/functions_5.js @@ -0,0 +1,31 @@ +var searchData= +[ + ['fileio_2436',['FileIO',['../classFileIO.html#a8b0d602c3461181e12c05f655dea5018',1,'FileIO']]], + ['finalizeslicedfindpath_2437',['finalizeSlicedFindPath',['../classdtNavMeshQuery.html#a98673bb238fbb139ec8407e266fa76fd',1,'dtNavMeshQuery']]], + ['finalizeslicedfindpathpartial_2438',['finalizeSlicedFindPathPartial',['../classdtNavMeshQuery.html#a01b18dcb5d25fc392b6030ae5d4f310e',1,'dtNavMeshQuery']]], + ['findcontourfromset_2439',['findContourFromSet',['../RecastDebugDraw_8cpp.html#a37989abb1222e6e68c099a399db289b3',1,'RecastDebugDraw.cpp']]], + ['findcorners_2440',['findCorners',['../classdtPathCorridor.html#aa1076957ddf987a274a756fbf8202cab',1,'dtPathCorridor']]], + ['finddistancetowall_2441',['findDistanceToWall',['../classdtNavMeshQuery.html#a1576a980ae29e44ad4809a25974fbd40',1,'dtNavMeshQuery']]], + ['findedge_2442',['findEdge',['../RecastMeshDetail_8cpp.html#a16c4ee55e57347991da140a8cd13c313',1,'RecastMeshDetail.cpp']]], + ['findleftmostvertex_2443',['findLeftMostVertex',['../RecastContour_8cpp.html#adc1ece72b40b8cca1718d9c32ab9abe6',1,'RecastContour.cpp']]], + ['findlocalneighbourhood_2444',['findLocalNeighbourhood',['../classdtNavMeshQuery.html#a9864032da48ba6f1055deab90633ffd6',1,'dtNavMeshQuery']]], + ['findnearestpoly_2445',['findNearestPoly',['../classdtNavMeshQuery.html#a5317939092cb4b55fed4b0bb61afc74a',1,'dtNavMeshQuery::findNearestPoly(const float *center, const float *halfExtents, const dtQueryFilter *filter, dtPolyRef *nearestRef, float *nearestPt) const'],['../classdtNavMeshQuery.html#a0b5d26748dfa4bd9f3d8ba0c1d972b56',1,'dtNavMeshQuery::findNearestPoly(const float *center, const float *halfExtents, const dtQueryFilter *filter, dtPolyRef *nearestRef, float *nearestPt, bool *isOverPoly) const']]], + ['findnode_2446',['findNode',['../classdtNodePool.html#a3d824305e2dbebe242e9f664b3aaceb7',1,'dtNodePool']]], + ['findnodes_2447',['findNodes',['../classdtNodePool.html#a5fa3decff570f26616282fcf50a3e7f9',1,'dtNodePool']]], + ['findpath_2448',['findPath',['../classdtNavMeshQuery.html#a9d86502949fcd4f96ffd350d4ef69e3c',1,'dtNavMeshQuery']]], + ['findpolysaroundcircle_2449',['findPolysAroundCircle',['../classdtNavMeshQuery.html#a1131b39f205440349e7efe7f2d9b0ef9',1,'dtNavMeshQuery']]], + ['findpolysaroundshape_2450',['findPolysAroundShape',['../classdtNavMeshQuery.html#aa142b8c1e54bdefc39ab41507fe931d1',1,'dtNavMeshQuery']]], + ['findrandompoint_2451',['findRandomPoint',['../classdtNavMeshQuery.html#af86c392a14bd788b0caecf21d9fb4b3d',1,'dtNavMeshQuery']]], + ['findrandompointaroundcircle_2452',['findRandomPointAroundCircle',['../classdtNavMeshQuery.html#abfb87531eb962cbd51c649469de2e4fa',1,'dtNavMeshQuery']]], + ['findstraightpath_2453',['findStraightPath',['../classdtNavMeshQuery.html#ac160434c85bdf9edec24fa621f120d2d',1,'dtNavMeshQuery']]], + ['fixpathstart_2454',['fixPathStart',['../classdtPathCorridor.html#ae2e11d477d193c79197fa28acae824b8',1,'dtPathCorridor']]], + ['fixupcorridor_2455',['fixupCorridor',['../NavMeshTesterTool_8cpp.html#aa0a7c979eb3968d46f3ccffcd664b71d',1,'NavMeshTesterTool.cpp']]], + ['fixupshortcuts_2456',['fixupShortcuts',['../NavMeshTesterTool_8cpp.html#afdd1fc4764fb0feadc7f2ae478064b69',1,'NavMeshTesterTool.cpp']]], + ['floodnavmesh_2457',['floodNavmesh',['../NavMeshPruneTool_8cpp.html#aabe57f3100ff784616cd66607f181017',1,'NavMeshPruneTool.cpp']]], + ['floodregion_2458',['floodRegion',['../RecastRegion_8cpp.html#ad881e621a7be30bee577ec6a56bf18b3',1,'RecastRegion.cpp']]], + ['frand_2459',['frand',['../NavMeshTesterTool_8cpp.html#ac8e3cc6c626394b36e557edb46eb23c5',1,'NavMeshTesterTool.cpp']]], + ['free_2460',['free',['../structLinearAllocator.html#ab7af21e0264ea0621822ed212ca925a3',1,'LinearAllocator::free()'],['../structdtTileCacheAlloc.html#aeb9afcb80b4e923d173b2c1706c56130',1,'dtTileCacheAlloc::free()']]], + ['freelink_2461',['freeLink',['../DetourNavMesh_8cpp.html#abcf0226951222dd602078a87bd7d347d',1,'DetourNavMesh.cpp']]], + ['freespan_2462',['freeSpan',['../RecastRasterization_8cpp.html#a37457137923a03210b6e72b0c091225c',1,'RecastRasterization.cpp']]], + ['front_2463',['front',['../classrcVectorBase.html#aafaf7e6b45be95ab279c5f6a6bc308fe',1,'rcVectorBase::front() const'],['../classrcVectorBase.html#ade9804e2b52a1024f60da5add98a8d6c',1,'rcVectorBase::front()']]] +]; diff --git a/search/functions_6.html b/search/functions_6.html new file mode 100644 index 00000000..9c4f5fc6 --- /dev/null +++ b/search/functions_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_6.js b/search/functions_6.js new file mode 100644 index 00000000..e24bc634 --- /dev/null +++ b/search/functions_6.js @@ -0,0 +1,157 @@ +var searchData= +[ + ['getaccumulatedtime_2464',['getAccumulatedTime',['../classrcContext.html#a17e7b79afff2f042961698aa1c818c3d',1,'rcContext']]], + ['getactiveagents_2465',['getActiveAgents',['../classdtCrowd.html#a15a4b9b9fb72a358514489ea8f755405',1,'dtCrowd']]], + ['getagent_2466',['getAgent',['../classdtCrowd.html#aeef39643256ddad7ae421c78dda0ce06',1,'dtCrowd']]], + ['getagentbounds_2467',['getAgentBounds',['../CrowdTool_8cpp.html#ae28c4a889bb4d9fac0cd88f0d0b93dd0',1,'CrowdTool.cpp']]], + ['getagentclimb_2468',['getAgentClimb',['../classSample.html#ae94b1470cd74ee7abe9cf39a74c2bbd8',1,'Sample']]], + ['getagentcount_2469',['getAgentCount',['../classdtCrowd.html#a87dc2372038ee12d9043a65737880b78',1,'dtCrowd']]], + ['getagentheight_2470',['getAgentHeight',['../classSample.html#a7d914e678845642d42a09469377a7f83',1,'Sample']]], + ['getagentradius_2471',['getAgentRadius',['../classSample.html#a3d6dc892150a705128c5799e7e4e3aab',1,'Sample']]], + ['getalloc_2472',['getAlloc',['../classdtTileCache.html#adc396e35c754ef44cadea9cd113b7440',1,'dtTileCache']]], + ['getarea_2473',['getArea',['../structdtPoly.html#ab5e97720847977aa7a4caf8c75e73792',1,'dtPoly']]], + ['getareacost_2474',['getAreaCost',['../classdtQueryFilter.html#a1e41582a45d2a10eb7e68740475e5665',1,'dtQueryFilter']]], + ['getattachednavmesh_2475',['getAttachedNavMesh',['../classdtNavMeshQuery.html#a05ddaa41019804494be7da66207882de',1,'dtNavMeshQuery']]], + ['getaverage_2476',['getAverage',['../classValueHistory.html#aafc75b895663a6d7390146c81c883838',1,'ValueHistory']]], + ['getbakedquad_2477',['getBakedQuad',['../imguiRenderGL_8cpp.html#aa0edb56b070edf4da63eb716e7c32bc6',1,'imguiRenderGL.cpp']]], + ['getbounds_2478',['getBounds',['../classdtProximityGrid.html#a9850e14d04f7d60909c46bec50c5ef65',1,'dtProximityGrid']]], + ['getboundsmax_2479',['getBoundsMax',['../classSample__Debug.html#aa1e603f5ef26815d521d7b89e7fe4e7d',1,'Sample_Debug']]], + ['getboundsmin_2480',['getBoundsMin',['../classSample__Debug.html#a973cd339736c98e7ecd5cdc4ee7988c5',1,'Sample_Debug']]], + ['getbuildsettings_2481',['getBuildSettings',['../classInputGeom.html#a2a76738d42d4a398ba82e0087d3ea565',1,'InputGeom']]], + ['getcapacity_2482',['getCapacity',['../classdtNodeQueue.html#a3bd1e5d3450e90384d8d8ce7f59080de',1,'dtNodeQueue']]], + ['getcellsize_2483',['getCellSize',['../classdtProximityGrid.html#aca646eb6926a096bb8062e7bf3a09945',1,'dtProximityGrid']]], + ['getcenter_2484',['getCenter',['../classdtLocalBoundary.html#ab89e6bc9a4985f2c25e97fb1f70b6060',1,'dtLocalBoundary']]], + ['getchunkymesh_2485',['getChunkyMesh',['../classInputGeom.html#a1ad88411b19c3148c0ca68834fc981a4',1,'InputGeom']]], + ['getcompressor_2486',['getCompressor',['../classdtTileCache.html#a14aed84748e8c2b3c1ce827342ca16f1',1,'dtTileCache']]], + ['getcontourcenter_2487',['getContourCenter',['../RecastDebugDraw_8cpp.html#a3486bd0130a48ea79695f01e2cc88b05',1,'RecastDebugDraw.cpp']]], + ['getconvexvolumecount_2488',['getConvexVolumeCount',['../classInputGeom.html#a18f14e5605e256a5793515a66f77887d',1,'InputGeom']]], + ['getconvexvolumes_2489',['getConvexVolumes',['../classInputGeom.html#a4665548e2789759d57d169fb0fd9de22',1,'InputGeom']]], + ['getcornerheight_2490',['getCornerHeight',['../RecastContour_8cpp.html#a10f7bbb90e6028365b2637249b6bb29a',1,'getCornerHeight(int x, int y, int i, int dir, const rcCompactHeightfield &chf, bool &isBorderVertex): RecastContour.cpp'],['../DetourTileCacheBuilder_8cpp.html#af136bc352d829a1715b8a46ffb539aff',1,'getCornerHeight(dtTileCacheLayer &layer, const int x, const int y, const int z, const int walkableClimb, bool &shouldRemove): DetourTileCacheBuilder.cpp']]], + ['getcost_2491',['getCost',['../classdtQueryFilter.html#a11d016505b732a1a013c3771a4157dea',1,'dtQueryFilter']]], + ['getcrowd_2492',['getCrowd',['../classSample.html#af3671d3b21ff1992948cb7092ce0fc08',1,'Sample']]], + ['getdebugdraw_2493',['getDebugDraw',['../classSample.html#a7e157d7dcc5164d3014ba248a8a1bbbe',1,'Sample']]], + ['getdiroffsetx_2494',['getDirOffsetX',['../DetourTileCacheBuilder_8cpp.html#a59fc3411f762def701ca3f15f07cda12',1,'DetourTileCacheBuilder.cpp']]], + ['getdiroffsety_2495',['getDirOffsetY',['../DetourTileCacheBuilder_8cpp.html#aca2add941eccb01df6af4cc78f0e8239',1,'DetourTileCacheBuilder.cpp']]], + ['getdistancetogoal_2496',['getDistanceToGoal',['../DetourCrowd_8cpp.html#aa1c9aee7599d23c1b1b5db2363cc3a1c',1,'DetourCrowd.cpp']]], + ['getedgeflags_2497',['getEdgeFlags',['../RecastMeshDetail_8cpp.html#a237fe0f624a27a47a9c0885fa1450dcc',1,'RecastMeshDetail.cpp']]], + ['geteditableagent_2498',['getEditableAgent',['../classdtCrowd.html#aa6b571af2a8c628063b904c7b1a5e910',1,'dtCrowd']]], + ['geteditablefilter_2499',['getEditableFilter',['../classdtCrowd.html#a170a9c4cc9f88a7ee3d560abce9ad552',1,'dtCrowd']]], + ['getexcludeflags_2500',['getExcludeFlags',['../classdtQueryFilter.html#ac3e2d16755c3510003f0580e27ce4897',1,'dtQueryFilter']]], + ['getfilename_2501',['getFileName',['../classrcMeshLoaderObj.html#a2f4d3abf3fb4e558d49c9fd80d0d69ca',1,'rcMeshLoaderObj']]], + ['getfilter_2502',['getFilter',['../classdtCrowd.html#ae712fb6e6e907454ec0a827d11957373',1,'dtCrowd']]], + ['getfirst_2503',['getFirst',['../classdtNodePool.html#a74e68feacf8667422d426e98ab86e612',1,'dtNodePool']]], + ['getfirstpoly_2504',['getFirstPoly',['../classdtPathCorridor.html#a1328df3808790d4bedec54112b0fab43',1,'dtPathCorridor']]], + ['getflags_2505',['getFlags',['../classNavmeshFlags.html#a86f58d0fc045e50c3751487394f4ec26',1,'NavmeshFlags']]], + ['getgeomfilename_2506',['getGeomFileName',['../classTestCase.html#a485b056a0d259c0947354e0434871858',1,'TestCase']]], + ['getgrid_2507',['getGrid',['../classdtCrowd.html#a1d1534a46f29afd4ab82ac37080c5ad0',1,'dtCrowd']]], + ['gethashsize_2508',['getHashSize',['../classdtNodePool.html#a906d7f69b2ee45e8179926f47b4b3153',1,'dtNodePool']]], + ['getheight_2509',['getHeight',['../RecastMeshDetail_8cpp.html#a2604c39cdc6af9e468adceb40145d93f',1,'RecastMeshDetail.cpp']]], + ['getheightdata_2510',['getHeightData',['../RecastMeshDetail_8cpp.html#abb8411f8d3acf15a62f60228d6c4ff21',1,'RecastMeshDetail.cpp']]], + ['getincludeflags_2511',['getIncludeFlags',['../classdtQueryFilter.html#a5bae688840167576dc6ab7913dda1b34',1,'dtQueryFilter']]], + ['getinputgeom_2512',['getInputGeom',['../classSample.html#aab3a8fd2e47d84d952a21b2daa7f8318',1,'Sample']]], + ['getitemcountat_2513',['getItemCountAt',['../classdtProximityGrid.html#ac788d2fbab7612826abeeab20a4f94fb',1,'dtProximityGrid']]], + ['getjitterx_2514',['getJitterX',['../RecastMeshDetail_8cpp.html#ab4cd0a143a512c295ef95569bbfbbeef',1,'RecastMeshDetail.cpp']]], + ['getjittery_2515',['getJitterY',['../RecastMeshDetail_8cpp.html#a194240aeeb96887533303bf652a3c201',1,'RecastMeshDetail.cpp']]], + ['getlastpoly_2516',['getLastPoly',['../classdtPathCorridor.html#a4d23baaf31661832ea81fd5a6fcc0a59',1,'dtPathCorridor']]], + ['getlogcount_2517',['getLogCount',['../classBuildContext.html#a94c60dd0d7398cddc2898a3b7b0ec220',1,'BuildContext']]], + ['getlogtext_2518',['getLogText',['../classBuildContext.html#af63760315f9dcdd54dad7bc82bdc9e9f',1,'BuildContext']]], + ['getmaxnodes_2519',['getMaxNodes',['../classdtNodePool.html#ad72b1d9c53d064e7b975bbb073e37b3c',1,'dtNodePool']]], + ['getmaxtiles_2520',['getMaxTiles',['../classdtNavMesh.html#a17672fe19464d55eb66dc69f5f2f2b3f',1,'dtNavMesh']]], + ['getmemused_2521',['getMemUsed',['../classdtNodeQueue.html#a024e0d15d235157f79bd6a386e090804',1,'dtNodeQueue::getMemUsed()'],['../classdtNodePool.html#a30a089ded0f298f4dd4654f39cd808d4',1,'dtNodePool::getMemUsed()']]], + ['getmesh_2522',['getMesh',['../classInputGeom.html#a474a85ab24b2378a9734f1deacbf5060',1,'InputGeom']]], + ['getmeshboundsmax_2523',['getMeshBoundsMax',['../classInputGeom.html#a807bb7df9302e27bcd3e0f8070bf092a',1,'InputGeom']]], + ['getmeshboundsmin_2524',['getMeshBoundsMin',['../classInputGeom.html#af7343e9a8f1802062ae274ee57efeefc',1,'InputGeom']]], + ['getnavmesh_2525',['getNavMesh',['../classSample.html#abf2cdbfa68c12b4f309bdf74671de539',1,'Sample']]], + ['getnavmeshboundsmax_2526',['getNavMeshBoundsMax',['../classInputGeom.html#ae2c111ef2f6eccd803b4b28503aebbd5',1,'InputGeom']]], + ['getnavmeshboundsmin_2527',['getNavMeshBoundsMin',['../classInputGeom.html#af65a1d3856edbd4145418f83862de88f',1,'InputGeom']]], + ['getnavmeshdrawflags_2528',['getNavMeshDrawFlags',['../classSample.html#a20186dffd1c83837a2a32068fe819150',1,'Sample']]], + ['getnavmeshquery_2529',['getNavMeshQuery',['../classdtCrowd.html#ae58e2252287003e9b7226936cf8b4ea7',1,'dtCrowd::getNavMeshQuery()'],['../classSample.html#a120cb5edc22425e12445366f340578b2',1,'Sample::getNavMeshQuery()']]], + ['getnavquery_2530',['getNavQuery',['../classdtPathQueue.html#ad4fb7d75b1b65ad1db89782f8ad4e8da',1,'dtPathQueue']]], + ['getneighbourreg_2531',['getNeighbourReg',['../DetourTileCacheBuilder_8cpp.html#af535796b148f37dcc11d1a3416ee9b53',1,'DetourTileCacheBuilder.cpp']]], + ['getneighbours_2532',['getNeighbours',['../DetourCrowd_8cpp.html#a5fcc526c98bb123bbcb22c103d5f736b',1,'DetourCrowd.cpp']]], + ['getnext_2533',['getNext',['../classdtNodePool.html#af4651c815c5cb0aa9779188094d4a488',1,'dtNodePool']]], + ['getnode_2534',['getNode',['../classdtNodePool.html#a9642659acf1f7fbfcd408b4c3da8a885',1,'dtNodePool']]], + ['getnodeatidx_2535',['getNodeAtIdx',['../classdtNodePool.html#af5fa2f9dcde54a5d487fef4575d5130b',1,'dtNodePool::getNodeAtIdx(unsigned int idx) const'],['../classdtNodePool.html#a5f6d20bd49d338b03885909b0c13ccea',1,'dtNodePool::getNodeAtIdx(unsigned int idx)']]], + ['getnodecount_2536',['getNodeCount',['../classdtNodePool.html#a5f1217cd13ee7e57ab29f05f451927f9',1,'dtNodePool']]], + ['getnodeidx_2537',['getNodeIdx',['../classdtNodePool.html#a5b223e8441b2d202fb1a18022228d6e1',1,'dtNodePool']]], + ['getnodepool_2538',['getNodePool',['../classdtNavMeshQuery.html#a5f5baaa868aad36ba023ea81b10e70bd',1,'dtNavMeshQuery']]], + ['getnormals_2539',['getNormals',['../classrcMeshLoaderObj.html#a988e6f79382df2eb9345cc031918a876',1,'rcMeshLoaderObj']]], + ['getobstacle_2540',['getObstacle',['../classdtTileCache.html#a5c447f013845eeb64d65a58085dee5b7',1,'dtTileCache']]], + ['getobstacleavoidanceparams_2541',['getObstacleAvoidanceParams',['../classdtCrowd.html#a4da076dabe04b63d801c63c99d2fb5bb',1,'dtCrowd']]], + ['getobstaclebounds_2542',['getObstacleBounds',['../classdtTileCache.html#a71b5f91b742cc8339d36ac7b1c04ac0e',1,'dtTileCache']]], + ['getobstaclebyref_2543',['getObstacleByRef',['../classdtTileCache.html#a6aaf88b2bb53c59d8a57d1b95eba8ce9',1,'dtTileCache']]], + ['getobstaclecircle_2544',['getObstacleCircle',['../classdtObstacleAvoidanceQuery.html#a2de5b7639831faa59a708b2ed3cd6f15',1,'dtObstacleAvoidanceQuery']]], + ['getobstaclecirclecount_2545',['getObstacleCircleCount',['../classdtObstacleAvoidanceQuery.html#ae520788c1150ae9c0efa15ddee6b44a6',1,'dtObstacleAvoidanceQuery']]], + ['getobstaclecount_2546',['getObstacleCount',['../classdtTileCache.html#a7f76bec4205d0f8a2a78683dd8766ea9',1,'dtTileCache']]], + ['getobstacleref_2547',['getObstacleRef',['../classdtTileCache.html#ab8e216fc463a72e59fc9c54df3acc13a',1,'dtTileCache']]], + ['getobstaclesegment_2548',['getObstacleSegment',['../classdtObstacleAvoidanceQuery.html#a60779b0d519def7ae2101ad153266cd2',1,'dtObstacleAvoidanceQuery']]], + ['getobstaclesegmentcount_2549',['getObstacleSegmentCount',['../classdtObstacleAvoidanceQuery.html#a38c5fdba38e19e6c7481b75d089e45b6',1,'dtObstacleAvoidanceQuery']]], + ['getoffmeshconnectionareas_2550',['getOffMeshConnectionAreas',['../classInputGeom.html#a4993dc182c72eba3e246bda25cfec258',1,'InputGeom']]], + ['getoffmeshconnectionbyref_2551',['getOffMeshConnectionByRef',['../classdtNavMesh.html#a1db2c979241da0b6e0fda278206678de',1,'dtNavMesh']]], + ['getoffmeshconnectioncount_2552',['getOffMeshConnectionCount',['../classInputGeom.html#ad31d93691d942948af8d79798e4d2ad5',1,'InputGeom']]], + ['getoffmeshconnectiondirs_2553',['getOffMeshConnectionDirs',['../classInputGeom.html#a99352ee32c8a668d73c7f8ce70e3f9c9',1,'InputGeom']]], + ['getoffmeshconnectionflags_2554',['getOffMeshConnectionFlags',['../classInputGeom.html#a53ff2a13a9ca55c0e40cc0e36c420557',1,'InputGeom']]], + ['getoffmeshconnectionid_2555',['getOffMeshConnectionId',['../classInputGeom.html#a4ce0f47be81216e39eed6d1e38fcfa7c',1,'InputGeom']]], + ['getoffmeshconnectionpolyendpoints_2556',['getOffMeshConnectionPolyEndPoints',['../classdtNavMesh.html#a5f4c392080406146805f674489feac4a',1,'dtNavMesh']]], + ['getoffmeshconnectionrads_2557',['getOffMeshConnectionRads',['../classInputGeom.html#a2d5d1c04bf9bd3b3e6e4e896214d1e01',1,'InputGeom']]], + ['getoffmeshconnectionverts_2558',['getOffMeshConnectionVerts',['../classInputGeom.html#ad6bdbb58ced2ad9d1b9c6905e20e4c69',1,'InputGeom']]], + ['getparams_2559',['getParams',['../classdtNavMesh.html#a9202ff1b571f26d948c0ee2f07c9bce8',1,'dtNavMesh::getParams()'],['../classdtTileCache.html#addea8bf2f66682e00c45a6948de77084',1,'dtTileCache::getParams()']]], + ['getpath_2560',['getPath',['../classdtPathCorridor.html#adc4aee4a1867ce60e6b319edc686661f',1,'dtPathCorridor']]], + ['getpathcount_2561',['getPathCount',['../classdtPathCorridor.html#a16bfdb275fb8f385c269cd06236f8213',1,'dtPathCorridor']]], + ['getpathfromdijkstrasearch_2562',['getPathFromDijkstraSearch',['../classdtNavMeshQuery.html#af0eadf81ceef919bd502469529b02fd0',1,'dtNavMeshQuery']]], + ['getpathqueue_2563',['getPathQueue',['../classdtCrowd.html#a5300bc081c832dde048affb6bd077afb',1,'dtCrowd']]], + ['getpathresult_2564',['getPathResult',['../classdtPathQueue.html#a6599518fe1e3c0e4c7d8c3cba062aeab',1,'dtPathQueue']]], + ['getperftime_2565',['getPerfTime',['../PerfTimer_8cpp.html#a4d18b93b9130c4ec1c2f5ffe91457b48',1,'getPerfTime(): PerfTimer.cpp'],['../PerfTimer_8h.html#a4d18b93b9130c4ec1c2f5ffe91457b48',1,'getPerfTime(): PerfTimer.cpp']]], + ['getperftimeusec_2566',['getPerfTimeUsec',['../PerfTimer_8cpp.html#aee1c2f57e875e53264038a845598267f',1,'getPerfTimeUsec(const TimeVal duration): PerfTimer.cpp'],['../PerfTimer_8h.html#aee1c2f57e875e53264038a845598267f',1,'getPerfTimeUsec(const TimeVal duration): PerfTimer.cpp']]], + ['getpolyarea_2567',['getPolyArea',['../classdtNavMesh.html#aac53c07a2ab699b15228c91a17b3bafd',1,'dtNavMesh']]], + ['getpolycenter_2568',['getPolyCenter',['../NavMeshTesterTool_8cpp.html#a813b28088279288c343afbad843ada3a',1,'NavMeshTesterTool.cpp']]], + ['getpolyflags_2569',['getPolyFlags',['../classdtNavMesh.html#a8d5d33030fc21afa6b1be3c80689f9b7',1,'dtNavMesh']]], + ['getpolyheight_2570',['getPolyHeight',['../classdtNavMeshQuery.html#af8303a12749e252c6688c15c5c887b69',1,'dtNavMeshQuery']]], + ['getpolymergevalue_2571',['getPolyMergeValue',['../RecastMesh_8cpp.html#aa51188672fa9e4efd3dffdb7012765b5',1,'getPolyMergeValue(unsigned short *pa, unsigned short *pb, const unsigned short *verts, int &ea, int &eb, const int nvp): RecastMesh.cpp'],['../DetourTileCacheBuilder_8cpp.html#a30135fcd690b0ae1c9ebd9bd00e7349b',1,'getPolyMergeValue(unsigned short *pa, unsigned short *pb, const unsigned short *verts, int &ea, int &eb): DetourTileCacheBuilder.cpp']]], + ['getpolyrefbase_2572',['getPolyRefBase',['../classdtNavMesh.html#a0741871ed1357c51e3847f22673fcc9c',1,'dtNavMesh']]], + ['getpolywallsegments_2573',['getPolyWallSegments',['../classdtNavMeshQuery.html#a2c49662f07e52f1488622089952a154c',1,'dtNavMeshQuery']]], + ['getpos_2574',['getPos',['../classdtPathCorridor.html#a607e96864c9cb68386d57e90d8681159',1,'dtPathCorridor']]], + ['getqueryextents_2575',['getQueryExtents',['../classdtCrowd.html#a6a37c9f57844d91e46fd4c8ef9de17b0',1,'dtCrowd']]], + ['getqueryhalfextents_2576',['getQueryHalfExtents',['../classdtCrowd.html#a24dd5232d34c87b80b75a6ae2729fd27',1,'dtCrowd']]], + ['getrequeststatus_2577',['getRequestStatus',['../classdtPathQueue.html#a2b1a005dfc3d8d3efd1bb4bc46f49e32',1,'dtPathQueue']]], + ['getsample_2578',['getSample',['../classValueHistory.html#a98d7b0157cbb602c086c0b148bf3fb46',1,'ValueHistory']]], + ['getsamplecollisiontimepenalty_2579',['getSampleCollisionTimePenalty',['../classdtObstacleAvoidanceDebugData.html#a57737b7b4d07179326e69c70032a9f71',1,'dtObstacleAvoidanceDebugData']]], + ['getsamplecount_2580',['getSampleCount',['../classdtObstacleAvoidanceDebugData.html#a48f21bd0b2d2f591290e127b00953ec2',1,'dtObstacleAvoidanceDebugData::getSampleCount()'],['../classValueHistory.html#a4adf44b53d488361ec87c6c1fda04eab',1,'ValueHistory::getSampleCount()']]], + ['getsamplecurrentvelocitypenalty_2581',['getSampleCurrentVelocityPenalty',['../classdtObstacleAvoidanceDebugData.html#ae6bce4f174195e5b114a79c13fc46c02',1,'dtObstacleAvoidanceDebugData']]], + ['getsampledesiredvelocitypenalty_2582',['getSampleDesiredVelocityPenalty',['../classdtObstacleAvoidanceDebugData.html#aa18a04d3c916740d7ddbd8d747de4e0f',1,'dtObstacleAvoidanceDebugData']]], + ['getsamplemax_2583',['getSampleMax',['../classValueHistory.html#a92ddbeb8e333478b4bb752ba7eeca462',1,'ValueHistory']]], + ['getsamplemin_2584',['getSampleMin',['../classValueHistory.html#a828b36952411fe49d5d6de00f5e3e84d',1,'ValueHistory']]], + ['getsamplename_2585',['getSampleName',['../classTestCase.html#a92b93e1bed1be7317a6ef8b2271f6c7a',1,'TestCase']]], + ['getsamplepenalty_2586',['getSamplePenalty',['../classdtObstacleAvoidanceDebugData.html#a3bde3898f9ed1ada5e487010e502e4fd',1,'dtObstacleAvoidanceDebugData']]], + ['getsamplepreferredsidepenalty_2587',['getSamplePreferredSidePenalty',['../classdtObstacleAvoidanceDebugData.html#a54805fdf39b6fb3d294c0610f051b1a0',1,'dtObstacleAvoidanceDebugData']]], + ['getsamplesize_2588',['getSampleSize',['../classdtObstacleAvoidanceDebugData.html#a87816c09e68ea4d93a01b54b2b5025b1',1,'dtObstacleAvoidanceDebugData']]], + ['getsamplevelocity_2589',['getSampleVelocity',['../classdtObstacleAvoidanceDebugData.html#a682696e8fc9185544690fe3391c9b613',1,'dtObstacleAvoidanceDebugData']]], + ['getsegment_2590',['getSegment',['../classdtLocalBoundary.html#a25ca9796be0ec6ff775a56f911c3fa17',1,'dtLocalBoundary']]], + ['getsegmentcount_2591',['getSegmentCount',['../classdtLocalBoundary.html#a051ee9bba1b9e3bb563735d9ec047c7f',1,'dtLocalBoundary']]], + ['getslabcoord_2592',['getSlabCoord',['../DetourNavMesh_8cpp.html#a3e7eb7995c416f34e56ae9a40d233655',1,'DetourNavMesh.cpp']]], + ['getsteertarget_2593',['getSteerTarget',['../NavMeshTesterTool_8cpp.html#ab556b9cab58165a7bb55dc0eefe89fb9',1,'NavMeshTesterTool.cpp']]], + ['gettarget_2594',['getTarget',['../classdtPathCorridor.html#aa1ea66fedbbab0cabfb279287aee392b',1,'dtPathCorridor']]], + ['gettextlength_2595',['getTextLength',['../imguiRenderGL_8cpp.html#ae0f324fe5e1454b8bdcdb05e2eb17762',1,'imguiRenderGL.cpp']]], + ['gettile_2596',['getTile',['../classdtTileCache.html#abc5a037f106bae848fee5faad7cbc389',1,'dtTileCache::getTile()'],['../classdtNavMesh.html#a52bb4f57b24a139600cfb6aeec1d9bcd',1,'dtNavMesh::getTile(int i) const']]], + ['gettileandpolybyref_2597',['getTileAndPolyByRef',['../classdtNavMesh.html#a36a84aa7296d5cc257eb3ddc38181253',1,'dtNavMesh']]], + ['gettileandpolybyrefunsafe_2598',['getTileAndPolyByRefUnsafe',['../classdtNavMesh.html#ac5c5b89a6af63b7de29089ae83091e0f',1,'dtNavMesh']]], + ['gettileat_2599',['getTileAt',['../classdtTileCache.html#ae13e3a13020a99039b96ccb51ea0dbc2',1,'dtTileCache::getTileAt()'],['../classdtNavMesh.html#aecd08fb7ce20324cd18de51a834ff2ef',1,'dtNavMesh::getTileAt(const int x, const int y, const int layer) const']]], + ['gettilebyref_2600',['getTileByRef',['../classdtNavMesh.html#ac7924d8eeed5c67b04d2d23d0cc766ad',1,'dtNavMesh::getTileByRef()'],['../classdtTileCache.html#a6d59bed3d3db9550ca4cf9eb17c14b75',1,'dtTileCache::getTileByRef(dtCompressedTileRef ref) const']]], + ['gettilecount_2601',['getTileCount',['../classdtTileCache.html#af97fdd9fe05fa93455a203c5dd927df6',1,'dtTileCache']]], + ['gettilepos_2602',['getTilePos',['../classSample__TempObstacles.html#a079e060f05421edf67dc12e8f494c830',1,'Sample_TempObstacles::getTilePos()'],['../classSample__TileMesh.html#a5588a4adb46cc3a97805eb6bc87f2d79',1,'Sample_TileMesh::getTilePos()']]], + ['gettileref_2603',['getTileRef',['../classdtTileCache.html#a3154cf5071666a7cf12495c809255541',1,'dtTileCache::getTileRef()'],['../classdtNavMesh.html#a6027a9a6f032dfd6a3b72563f17d80d7',1,'dtNavMesh::getTileRef(const dtMeshTile *tile) const']]], + ['gettilerefat_2604',['getTileRefAt',['../classdtNavMesh.html#a88f53f80fa95524b1e7197dface10948',1,'dtNavMesh']]], + ['gettilesat_2605',['getTilesAt',['../classdtTileCache.html#a4d60dcc8a8395400838cde8f6aa33fc9',1,'dtTileCache::getTilesAt()'],['../classdtNavMesh.html#a1a89053de47c9ed459d598fc7f739670',1,'dtNavMesh::getTilesAt(const int x, const int y, dtMeshTile const **tiles, const int maxTiles) const']]], + ['gettilestatesize_2606',['getTileStateSize',['../classdtNavMesh.html#aaf6f0b0ce2bd81c5e6cd8ac67f6a8638',1,'dtNavMesh']]], + ['gettoolparams_2607',['getToolParams',['../classCrowdToolState.html#a7b1674127e1b1a0020ea471c78ae0809',1,'CrowdToolState']]], + ['gettoolstate_2608',['getToolState',['../classSample.html#a7ba24b29a3f97965904b66c17ade4645',1,'Sample']]], + ['gettricount_2609',['getTriCount',['../classrcMeshLoaderObj.html#a1357f8619f9403cd3167ed5ad47dd0a9',1,'rcMeshLoaderObj']]], + ['gettriflags_2610',['getTriFlags',['../RecastMeshDetail_8cpp.html#ab92e230a5419da84e12aadb8bbfc1819',1,'RecastMeshDetail.cpp']]], + ['gettris_2611',['getTris',['../classrcMeshLoaderObj.html#a286866274c7dcea48d07d1577a413cdf',1,'rcMeshLoaderObj']]], + ['gettype_2612',['getType',['../structdtPoly.html#a12a7d5dcd2f1d7164531be4ecb5f35a4',1,'dtPoly']]], + ['getvelocitysamplecount_2613',['getVelocitySampleCount',['../classdtCrowd.html#a22ceec36962e3fdaccfbe4e84a8b24b3',1,'dtCrowd']]], + ['getvertcount_2614',['getVertCount',['../classrcMeshLoaderObj.html#a07a41abbabedde7bcfa4b5c9b4e767a7',1,'rcMeshLoaderObj']]], + ['getverts_2615',['getVerts',['../classrcMeshLoaderObj.html#ab3e86cdf9f4f15c5883a44c767cbee96',1,'rcMeshLoaderObj']]], + ['glcheckertexture_2616',['GLCheckerTexture',['../classGLCheckerTexture.html#a361178710e61b228d921d38e9c2d54f7',1,'GLCheckerTexture']]], + ['guistate_2617',['GuiState',['../structGuiState.html#a1159b7a2b218c020875b65881ebfd4cb',1,'GuiState']]] +]; diff --git a/search/functions_7.html b/search/functions_7.html new file mode 100644 index 00000000..46b5c0f6 --- /dev/null +++ b/search/functions_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_7.js b/search/functions_7.js new file mode 100644 index 00000000..0ed5c287 --- /dev/null +++ b/search/functions_7.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['handlebuild_2618',['handleBuild',['../classSample__Debug.html#a72d94e452001b3bd546193e482651803',1,'Sample_Debug::handleBuild()'],['../classSample__SoloMesh.html#aa64471f37aa3d47e0efb58d01004d259',1,'Sample_SoloMesh::handleBuild()'],['../classSample__TempObstacles.html#abade4c42a2c0acae65fda15bf8179278',1,'Sample_TempObstacles::handleBuild()'],['../classSample__TileMesh.html#a42df1d970d17438695b2714fa795a538',1,'Sample_TileMesh::handleBuild()'],['../classSample.html#aed281e16d0d13265d6d43d3604bc10ad',1,'Sample::handleBuild()']]], + ['handleclick_2619',['handleClick',['../structSampleTool.html#ad411c329c46227d3bd4552ab9e2fb5c3',1,'SampleTool::handleClick()'],['../classNavMeshTileTool.html#a8203dd4c8225ce9029dcba8581780340',1,'NavMeshTileTool::handleClick()'],['../classTempObstacleCreateTool.html#a27483a3ec7a6c2dd91d08eb58b5b7dce',1,'TempObstacleCreateTool::handleClick()'],['../classTempObstacleHilightTool.html#a066ac99df2d343aab8433c122af73fa6',1,'TempObstacleHilightTool::handleClick()'],['../classSample__Debug.html#a0c0de127e725454c8767d09bc5e0b8a5',1,'Sample_Debug::handleClick()'],['../classSample.html#a01d84b29a038e029bca701f34a72cbdd',1,'Sample::handleClick()'],['../classOffMeshConnectionTool.html#af561c2eb8e49bbdc14a271c09f2bf433',1,'OffMeshConnectionTool::handleClick()'],['../classNavMeshTesterTool.html#af11c1a094222f1206933071ff15f5a8f',1,'NavMeshTesterTool::handleClick()'],['../classNavMeshPruneTool.html#acb49419c8e5df7d2c10d99e502b64c9c',1,'NavMeshPruneTool::handleClick()'],['../classCrowdTool.html#a8b1890ee57fab07f458d8370a86a6daa',1,'CrowdTool::handleClick()'],['../classConvexVolumeTool.html#ab08815465ecb5f424ec136663221cbda',1,'ConvexVolumeTool::handleClick()']]], + ['handlecommonsettings_2620',['handleCommonSettings',['../classSample.html#ad24b41fce326733944174ce5c4b4b30c',1,'Sample']]], + ['handledebugmode_2621',['handleDebugMode',['../classSample.html#a013d5178776491775faec65ee8627233',1,'Sample::handleDebugMode()'],['../classSample__TileMesh.html#ae53626fc9ea2503b6a4f57200dae9153',1,'Sample_TileMesh::handleDebugMode()'],['../classSample__TempObstacles.html#ad13bab4ba46fe776398b28f5036fa439',1,'Sample_TempObstacles::handleDebugMode()'],['../classSample__SoloMesh.html#a1e7120d697077a25672a5e6edceb2044',1,'Sample_SoloMesh::handleDebugMode()'],['../classSample__Debug.html#a4a67b68c13adbdc12f65a4bb15532ca4',1,'Sample_Debug::handleDebugMode()']]], + ['handlemenu_2622',['handleMenu',['../classConvexVolumeTool.html#ad59fb729fe96406bc4254083189d01b0',1,'ConvexVolumeTool::handleMenu()'],['../classCrowdTool.html#a10481889d96be986ffbba99e4f4d751f',1,'CrowdTool::handleMenu()'],['../classNavMeshPruneTool.html#ad7251daa12a7de6c23aa26f514352c17',1,'NavMeshPruneTool::handleMenu()'],['../classNavMeshTesterTool.html#a63adba51a9b8f7b6c06da0bd08c35a3b',1,'NavMeshTesterTool::handleMenu()'],['../classOffMeshConnectionTool.html#a74209dcf32093be78df51f0bd36aae43',1,'OffMeshConnectionTool::handleMenu()'],['../structSampleTool.html#a305d8f95fe8f79feb757b49ff4e55ead',1,'SampleTool::handleMenu()'],['../classTempObstacleHilightTool.html#a55d084b3c5600bda192903b9f3546f79',1,'TempObstacleHilightTool::handleMenu()'],['../classTempObstacleCreateTool.html#a14e886d838141c3edb870d25819e030d',1,'TempObstacleCreateTool::handleMenu()'],['../classNavMeshTileTool.html#ad1b0d7145268c0d53999e027d469451d',1,'NavMeshTileTool::handleMenu()']]], + ['handlemeshchanged_2623',['handleMeshChanged',['../classSample.html#a469aa66ff46ed039e8b6d0067f7e500c',1,'Sample::handleMeshChanged()'],['../classSample__TileMesh.html#a9a6d5eedb98ca2254269889dc02f10b3',1,'Sample_TileMesh::handleMeshChanged()'],['../classSample__TempObstacles.html#adad1a039be5d34890562fbe476bf683a',1,'Sample_TempObstacles::handleMeshChanged()'],['../classSample__Debug.html#ab5cb622ee5868b780744f184fafd6771',1,'Sample_Debug::handleMeshChanged()'],['../classSample__SoloMesh.html#af63e6f988dc1866aabc7257802f794ce',1,'Sample_SoloMesh::handleMeshChanged()']]], + ['handlerender_2624',['handleRender',['../classSample__TileMesh.html#a86b371a0f7c07eff2473cc58562c417b',1,'Sample_TileMesh::handleRender()'],['../classNavMeshTileTool.html#a76314b53a3e1beeb8fe39f377e364652',1,'NavMeshTileTool::handleRender()'],['../classTempObstacleCreateTool.html#a84a0a1049ce50a1f7ea9be8925f84979',1,'TempObstacleCreateTool::handleRender()'],['../classTempObstacleHilightTool.html#aa28bfbf2dee308b7b8fad4a761f67fc4',1,'TempObstacleHilightTool::handleRender()'],['../classTestCase.html#ab26ff5960975d08e337509f96cacccb4',1,'TestCase::handleRender()'],['../classSample__TempObstacles.html#a3235d4811d8fe109c1917e7096359377',1,'Sample_TempObstacles::handleRender()'],['../classSample__SoloMesh.html#a08cee8a58d6ef5897847ab85518c9a91',1,'Sample_SoloMesh::handleRender()'],['../classSample__Debug.html#a63a4a62f44a207f65c41637d5b54c842',1,'Sample_Debug::handleRender()'],['../structSampleToolState.html#aba928b81e7813277bfcc6a0854f93658',1,'SampleToolState::handleRender()'],['../structSampleTool.html#af78bbe22e6d974d7af841d6f81526a64',1,'SampleTool::handleRender()'],['../classOffMeshConnectionTool.html#a3b1c066c3145af2f4b14e7cb577d302a',1,'OffMeshConnectionTool::handleRender()'],['../classNavMeshTesterTool.html#af5d6204e60c661420e07243ebb7295e8',1,'NavMeshTesterTool::handleRender()'],['../classNavMeshPruneTool.html#a7fd5ad545aa1da51f6e34434ac34a12c',1,'NavMeshPruneTool::handleRender()'],['../classCrowdTool.html#a298f481f68d5e8a0cb183c276d182d44',1,'CrowdTool::handleRender()'],['../classCrowdToolState.html#a127ea871607dd8ca52c254100be1e0af',1,'CrowdToolState::handleRender()'],['../classConvexVolumeTool.html#a83f337f3a9a96ad6464c9179ad663a11',1,'ConvexVolumeTool::handleRender()'],['../classSample.html#ada97cd12664f32a84c23c2e2b50890d3',1,'Sample::handleRender()']]], + ['handlerenderoverlay_2625',['handleRenderOverlay',['../classSample__Debug.html#a230fb5fe100409fc376604e0a470e259',1,'Sample_Debug::handleRenderOverlay()'],['../classSample__SoloMesh.html#a9ee1ce62bf30f0b6c4b743101bbe2c7e',1,'Sample_SoloMesh::handleRenderOverlay()'],['../structSampleTool.html#a1c493f6e6a5f733d09c6010467154531',1,'SampleTool::handleRenderOverlay()'],['../classSample__TempObstacles.html#a3b72ce76d2ee91aea7e4fe96c0901099',1,'Sample_TempObstacles::handleRenderOverlay()'],['../classSample__TileMesh.html#a2acfdfc5153bf2bec6207368619b5006',1,'Sample_TileMesh::handleRenderOverlay()'],['../classTestCase.html#a67291ec62ce5a7ca538522a6231189f7',1,'TestCase::handleRenderOverlay()'],['../classTempObstacleHilightTool.html#a6b0fe1e1a746e01a7388cd1bcee8a779',1,'TempObstacleHilightTool::handleRenderOverlay()'],['../classTempObstacleCreateTool.html#a800e3e9d3f26b1b247e9f300854dc794',1,'TempObstacleCreateTool::handleRenderOverlay()'],['../classNavMeshTileTool.html#ae454705cabb91cc34a5d11f8ed541c94',1,'NavMeshTileTool::handleRenderOverlay()'],['../structSampleToolState.html#ab3c7ab10984d2ca744f28a068d882750',1,'SampleToolState::handleRenderOverlay()'],['../classSample.html#aa6c6bd9c1947f9699e75c726f0bbd4d5',1,'Sample::handleRenderOverlay()'],['../classConvexVolumeTool.html#af1ebf43ef0309a5f058ae8094dd83312',1,'ConvexVolumeTool::handleRenderOverlay()'],['../classCrowdToolState.html#aaaf12376476f0e109150ce7b0e618357',1,'CrowdToolState::handleRenderOverlay()'],['../classCrowdTool.html#a00641ff12ce93e817d07f9cfda7d500b',1,'CrowdTool::handleRenderOverlay()'],['../classNavMeshTesterTool.html#ac161b92950bfe0c7803ce602ec54ff7d',1,'NavMeshTesterTool::handleRenderOverlay()'],['../classOffMeshConnectionTool.html#af023858b0abb68e538a842ddc9e25022',1,'OffMeshConnectionTool::handleRenderOverlay()'],['../classNavMeshPruneTool.html#af5fd93ff57b645fc8dfdf4c2761fb3cf',1,'NavMeshPruneTool::handleRenderOverlay()']]], + ['handlesettings_2626',['handleSettings',['../classSample.html#a06fbc4cf5c3cd6b5581ae33db37ac324',1,'Sample::handleSettings()'],['../classSample__Debug.html#ae400fa9f870766e9f284b361accd9427',1,'Sample_Debug::handleSettings()'],['../classSample__SoloMesh.html#a756bbc11445f8ad9af9cbb5b4cb44ec8',1,'Sample_SoloMesh::handleSettings()'],['../classSample__TempObstacles.html#ab669992dfb881d998114798d0978fc83',1,'Sample_TempObstacles::handleSettings()'],['../classSample__TileMesh.html#a67ac0028f5834faaf6d89421b13a31f2',1,'Sample_TileMesh::handleSettings()']]], + ['handlestep_2627',['handleStep',['../classOffMeshConnectionTool.html#a1e894eb42860dbabc7c85928c9ae7175',1,'OffMeshConnectionTool::handleStep()'],['../classNavMeshTileTool.html#adb6147a686eafaf9bb2e7b85e575097f',1,'NavMeshTileTool::handleStep()'],['../classTempObstacleCreateTool.html#ab86e78fbce2dab437d5f293406b1cd0a',1,'TempObstacleCreateTool::handleStep()'],['../classTempObstacleHilightTool.html#a6dbee86b6f4f9cb882e3c1cc5ea144aa',1,'TempObstacleHilightTool::handleStep()'],['../classSample.html#a77bb6d09c508fb0f7d9cc498962f7d08',1,'Sample::handleStep()'],['../structSampleTool.html#a0cd44aa86008bcbc3dfc45d0117cd02c',1,'SampleTool::handleStep()'],['../classNavMeshTesterTool.html#a4296c9b5431882a10676a1f8baa687f5',1,'NavMeshTesterTool::handleStep()'],['../classNavMeshPruneTool.html#a1d3466a23085cff3e97afd0952d1f4af',1,'NavMeshPruneTool::handleStep()'],['../classCrowdTool.html#aff96223c09183019e6d97ec67e6ad60d',1,'CrowdTool::handleStep()'],['../classConvexVolumeTool.html#a5b0e8ab26df0ee701a69b291691cfcbf',1,'ConvexVolumeTool::handleStep()']]], + ['handletoggle_2628',['handleToggle',['../classNavMeshTileTool.html#a5960fdac4bfc1a72a4ef67a0cfbb3136',1,'NavMeshTileTool::handleToggle()'],['../classTempObstacleCreateTool.html#a7260c3dd1ba6c35d15aa35fedc5e9493',1,'TempObstacleCreateTool::handleToggle()'],['../classTempObstacleHilightTool.html#ab0f8512ec83f08b6a7d210f8a8e4ac51',1,'TempObstacleHilightTool::handleToggle()'],['../classSample__Debug.html#ad16cb7ee6860915b557f1e1594af4301',1,'Sample_Debug::handleToggle()'],['../classSample.html#a9bcb74f237555eb39454228acf9471c8',1,'Sample::handleToggle()'],['../structSampleTool.html#ac54d34080ba5a11adff8fba1bb2a71fb',1,'SampleTool::handleToggle()'],['../classNavMeshTesterTool.html#a3fcce315ee720c66b590287fa4c591e9',1,'NavMeshTesterTool::handleToggle()'],['../classNavMeshPruneTool.html#ad1ab829d07050f77dc09dff6156273b5',1,'NavMeshPruneTool::handleToggle()'],['../classCrowdTool.html#ac2427807187d8c2469d021a714f99266',1,'CrowdTool::handleToggle()'],['../classConvexVolumeTool.html#af1e59f31ba0dd44fdf18bb3abccc81c2',1,'ConvexVolumeTool::handleToggle()'],['../classOffMeshConnectionTool.html#ab618f601d398015b4a8aee495290ea8f',1,'OffMeshConnectionTool::handleToggle()']]], + ['handletools_2629',['handleTools',['../classSample__TempObstacles.html#a15f2d29a496c1391426cabc3602f9d99',1,'Sample_TempObstacles::handleTools()'],['../classSample__TileMesh.html#a4c492f865f6a891f3c763a72c015a2b1',1,'Sample_TileMesh::handleTools()'],['../classSample__SoloMesh.html#aeb52c7800e16699f467377fa38357d28',1,'Sample_SoloMesh::handleTools()'],['../classSample__Debug.html#aac6036510468b2facb5b00458a35a6ef',1,'Sample_Debug::handleTools()'],['../classSample.html#a4dc0dd60e505cec25a225f5d2ebf83d1',1,'Sample::handleTools()']]], + ['handleupdate_2630',['handleUpdate',['../classNavMeshPruneTool.html#a7eba211059a9707b9609babee9c27388',1,'NavMeshPruneTool::handleUpdate()'],['../classNavMeshTileTool.html#a09b989aa5ec7e659678a6adc64f04c21',1,'NavMeshTileTool::handleUpdate()'],['../classTempObstacleCreateTool.html#a7815ec25feed0fcb93625728c9fa6b08',1,'TempObstacleCreateTool::handleUpdate()'],['../classTempObstacleHilightTool.html#a238bf84317b82bb005acfa021905c280',1,'TempObstacleHilightTool::handleUpdate()'],['../classSample__TempObstacles.html#a5817d2d63a4bb0f12db44db260f007f4',1,'Sample_TempObstacles::handleUpdate()'],['../classSample.html#ae3185e1830bc005a03bf595fac945a23',1,'Sample::handleUpdate()'],['../structSampleToolState.html#a8d13e1c36ea7258da57e022e211d40ae',1,'SampleToolState::handleUpdate()'],['../structSampleTool.html#ae3f8e0f0fddd71db2e91280e83805054',1,'SampleTool::handleUpdate()'],['../classOffMeshConnectionTool.html#a580d7e61206fa45b3e87a6b52cf076a1',1,'OffMeshConnectionTool::handleUpdate()'],['../classNavMeshTesterTool.html#a0e250830eb6186b4b4f8559534ff8908',1,'NavMeshTesterTool::handleUpdate()'],['../classCrowdTool.html#a8d815cab99740e219ef4ef2d1172936a',1,'CrowdTool::handleUpdate()'],['../classCrowdToolState.html#a5533329be79b7cc61a18dcc5dfe11ecd',1,'CrowdToolState::handleUpdate()'],['../classConvexVolumeTool.html#ab3a94dcc4cab914af5ae1d0b8446c951',1,'ConvexVolumeTool::handleUpdate()']]], + ['hashpos2_2631',['hashPos2',['../DetourProximityGrid_8cpp.html#a45540c644ac152f30cbade2c4d49eabb',1,'DetourProximityGrid.cpp']]], + ['hilightagent_2632',['hilightAgent',['../classCrowdToolState.html#abd1ba6578e4b0bbc48eabbafaaaab2bc',1,'CrowdToolState']]], + ['hittestagents_2633',['hitTestAgents',['../classCrowdToolState.html#a35659ce49a4932cefbb925ea6153c825',1,'CrowdToolState']]], + ['hittestobstacle_2634',['hitTestObstacle',['../Sample__TempObstacles_8cpp.html#ad121bf7e4e054c2e9fc910193eff7439',1,'Sample_TempObstacles.cpp']]] +]; diff --git a/search/functions_8.html b/search/functions_8.html new file mode 100644 index 00000000..31a1d950 --- /dev/null +++ b/search/functions_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_8.js b/search/functions_8.js new file mode 100644 index 00000000..de08e058 --- /dev/null +++ b/search/functions_8.js @@ -0,0 +1,61 @@ +var searchData= +[ + ['ilog2_2635',['ilog2',['../Sample__TileMesh_8cpp.html#ae9adac380db2fcc0a78bee0bcf9ac86a',1,'Sample_TileMesh.cpp']]], + ['imguibeginframe_2636',['imguiBeginFrame',['../imgui_8h.html#a9460df9e45ac62863d44e7bbdbc6ef8e',1,'imguiBeginFrame(int mx, int my, unsigned char mbut, int scroll): imgui.cpp'],['../imgui_8cpp.html#a9460df9e45ac62863d44e7bbdbc6ef8e',1,'imguiBeginFrame(int mx, int my, unsigned char mbut, int scroll): imgui.cpp']]], + ['imguibeginscrollarea_2637',['imguiBeginScrollArea',['../imgui_8h.html#ac46e2e3ac3f6a80586b929729d4e5f25',1,'imguiBeginScrollArea(const char *name, int x, int y, int w, int h, int *scroll): imgui.cpp'],['../imgui_8cpp.html#ac46e2e3ac3f6a80586b929729d4e5f25',1,'imguiBeginScrollArea(const char *name, int x, int y, int w, int h, int *scroll): imgui.cpp']]], + ['imguibutton_2638',['imguiButton',['../imgui_8h.html#ab10551ffe075e95d5cb0881fb7345f58',1,'imguiButton(const char *text, bool enabled=true): imgui.cpp'],['../imgui_8cpp.html#a779167e54c89f3a7d6933bbf8db28eb7',1,'imguiButton(const char *text, bool enabled): imgui.cpp']]], + ['imguicheck_2639',['imguiCheck',['../imgui_8h.html#a97ae70b1967fbbf4d6dea1d345750f38',1,'imguiCheck(const char *text, bool checked, bool enabled=true): imgui.cpp'],['../imgui_8cpp.html#a454a21faadb504d01fa808a26d088e8f',1,'imguiCheck(const char *text, bool checked, bool enabled): imgui.cpp']]], + ['imguicollapse_2640',['imguiCollapse',['../imgui_8cpp.html#ae14ee3ea48895226a937d4736da38aa8',1,'imguiCollapse(const char *text, const char *subtext, bool checked, bool enabled): imgui.cpp'],['../imgui_8h.html#a877133157a9abfed999e0bc6a9e738a0',1,'imguiCollapse(const char *text, const char *subtext, bool checked, bool enabled=true): imgui.cpp']]], + ['imguidrawline_2641',['imguiDrawLine',['../imgui_8h.html#ab0f80a70d63e95f64a1cdfc5ed07923e',1,'imguiDrawLine(float x0, float y0, float x1, float y1, float r, unsigned int color): imgui.cpp'],['../imgui_8cpp.html#ab0f80a70d63e95f64a1cdfc5ed07923e',1,'imguiDrawLine(float x0, float y0, float x1, float y1, float r, unsigned int color): imgui.cpp']]], + ['imguidrawrect_2642',['imguiDrawRect',['../imgui_8h.html#aaa13f28c04e5a32a07c0589a2026eefe',1,'imguiDrawRect(float x, float y, float w, float h, unsigned int color): imgui.cpp'],['../imgui_8cpp.html#aaa13f28c04e5a32a07c0589a2026eefe',1,'imguiDrawRect(float x, float y, float w, float h, unsigned int color): imgui.cpp']]], + ['imguidrawroundedrect_2643',['imguiDrawRoundedRect',['../imgui_8h.html#a64be6cac61a161fa9d0c16b5034b6c5e',1,'imguiDrawRoundedRect(float x, float y, float w, float h, float r, unsigned int color): imgui.cpp'],['../imgui_8cpp.html#a64be6cac61a161fa9d0c16b5034b6c5e',1,'imguiDrawRoundedRect(float x, float y, float w, float h, float r, unsigned int color): imgui.cpp']]], + ['imguidrawtext_2644',['imguiDrawText',['../imgui_8h.html#abdd0d158d1fcab4dbfcf9ea50f202136',1,'imguiDrawText(int x, int y, int align, const char *text, unsigned int color): imgui.cpp'],['../imgui_8cpp.html#abdd0d158d1fcab4dbfcf9ea50f202136',1,'imguiDrawText(int x, int y, int align, const char *text, unsigned int color): imgui.cpp']]], + ['imguiendframe_2645',['imguiEndFrame',['../imgui_8h.html#afd1f5eaee9f7475255c6fba75ff5123c',1,'imguiEndFrame(): imgui.cpp'],['../imgui_8cpp.html#afd1f5eaee9f7475255c6fba75ff5123c',1,'imguiEndFrame(): imgui.cpp']]], + ['imguiendscrollarea_2646',['imguiEndScrollArea',['../imgui_8h.html#ac2bccc89a7e0b94592623961cb21b257',1,'imguiEndScrollArea(): imgui.cpp'],['../imgui_8cpp.html#ac2bccc89a7e0b94592623961cb21b257',1,'imguiEndScrollArea(): imgui.cpp']]], + ['imguifree_2647',['imguifree',['../imguiRenderGL_8cpp.html#a2a8b3b95948bc4017c04c7454cb5d473',1,'imguiRenderGL.cpp']]], + ['imguigetrenderqueue_2648',['imguiGetRenderQueue',['../imgui_8h.html#ad73e6a0f683a0a8e8f303ad61580c32d',1,'imguiGetRenderQueue(): imgui.cpp'],['../imgui_8cpp.html#ad73e6a0f683a0a8e8f303ad61580c32d',1,'imguiGetRenderQueue(): imgui.cpp']]], + ['imguigetrenderqueuesize_2649',['imguiGetRenderQueueSize',['../imgui_8h.html#ab99959262f3e219c6a0f18aeafd432b0',1,'imguiGetRenderQueueSize(): imgui.cpp'],['../imgui_8cpp.html#ab99959262f3e219c6a0f18aeafd432b0',1,'imguiGetRenderQueueSize(): imgui.cpp']]], + ['imguiindent_2650',['imguiIndent',['../imgui_8h.html#ae3d00934ccb219ffa9316b252d8afba0',1,'imguiIndent(): imgui.cpp'],['../imgui_8cpp.html#ae3d00934ccb219ffa9316b252d8afba0',1,'imguiIndent(): imgui.cpp']]], + ['imguiitem_2651',['imguiItem',['../imgui_8h.html#a7175c05bac766e0145e4cf30c295bfbd',1,'imguiItem(const char *text, bool enabled=true): imgui.cpp'],['../imgui_8cpp.html#ab395b1e1bb0892f71ed1da579c98a3e7',1,'imguiItem(const char *text, bool enabled): imgui.cpp']]], + ['imguilabel_2652',['imguiLabel',['../imgui_8h.html#a802803d550d65e826d6addbf0a3d333b',1,'imguiLabel(const char *text): imgui.cpp'],['../imgui_8cpp.html#a802803d550d65e826d6addbf0a3d333b',1,'imguiLabel(const char *text): imgui.cpp']]], + ['imguimalloc_2653',['imguimalloc',['../imguiRenderGL_8cpp.html#a7b5a4a87dc42e0c5df76f683dfd784e4',1,'imguiRenderGL.cpp']]], + ['imguirendergldestroy_2654',['imguiRenderGLDestroy',['../imguiRenderGL_8h.html#aa62b85e5def48a3e96598436d1895ebf',1,'imguiRenderGLDestroy(): imguiRenderGL.cpp'],['../imguiRenderGL_8cpp.html#aa62b85e5def48a3e96598436d1895ebf',1,'imguiRenderGLDestroy(): imguiRenderGL.cpp']]], + ['imguirendergldraw_2655',['imguiRenderGLDraw',['../imguiRenderGL_8h.html#a3c498095a81d3da8fb16a39d5584f184',1,'imguiRenderGLDraw(): imguiRenderGL.cpp'],['../imguiRenderGL_8cpp.html#a3c498095a81d3da8fb16a39d5584f184',1,'imguiRenderGLDraw(): imguiRenderGL.cpp']]], + ['imguirenderglinit_2656',['imguiRenderGLInit',['../imguiRenderGL_8h.html#a516f5ccccb1ddc6bcea43fba89f1fd57',1,'imguiRenderGLInit(const char *fontpath): imguiRenderGL.cpp'],['../imguiRenderGL_8cpp.html#a516f5ccccb1ddc6bcea43fba89f1fd57',1,'imguiRenderGLInit(const char *fontpath): imguiRenderGL.cpp']]], + ['imguirgba_2657',['imguiRGBA',['../imgui_8h.html#a2f4ea8a34347c398796cee6d7808e8c3',1,'imgui.h']]], + ['imguiseparator_2658',['imguiSeparator',['../imgui_8h.html#ad77cd8c7e79231bf99358e8766845ac1',1,'imguiSeparator(): imgui.cpp'],['../imgui_8cpp.html#ad77cd8c7e79231bf99358e8766845ac1',1,'imguiSeparator(): imgui.cpp']]], + ['imguiseparatorline_2659',['imguiSeparatorLine',['../imgui_8h.html#ad1692a47ae3a3393f459c5dcf8b78651',1,'imguiSeparatorLine(): imgui.cpp'],['../imgui_8cpp.html#ad1692a47ae3a3393f459c5dcf8b78651',1,'imguiSeparatorLine(): imgui.cpp']]], + ['imguislider_2660',['imguiSlider',['../imgui_8h.html#ac98bd34b3bc36a13373045083c90d4f1',1,'imguiSlider(const char *text, float *val, float vmin, float vmax, float vinc, bool enabled=true): imgui.cpp'],['../imgui_8cpp.html#a3128854184c44a3ee570bea05290cdbb',1,'imguiSlider(const char *text, float *val, float vmin, float vmax, float vinc, bool enabled): imgui.cpp']]], + ['imguiunindent_2661',['imguiUnindent',['../imgui_8h.html#a509b76e72688bbb9b319c778b753c11d',1,'imguiUnindent(): imgui.cpp'],['../imgui_8cpp.html#a509b76e72688bbb9b319c778b753c11d',1,'imguiUnindent(): imgui.cpp']]], + ['imguivalue_2662',['imguiValue',['../imgui_8h.html#ad123f3fb8a3840a3f6ce8caa41a3f80b',1,'imguiValue(const char *text): imgui.cpp'],['../imgui_8cpp.html#ad123f3fb8a3840a3f6ce8caa41a3f80b',1,'imguiValue(const char *text): imgui.cpp']]], + ['incone_2663',['inCone',['../DetourTileCacheBuilder_8cpp.html#ac46427b24fb9b3673c12b62f79e97096',1,'inCone(int i, int j, int n, const unsigned char *verts, const unsigned short *indices): DetourTileCacheBuilder.cpp'],['../RecastContour_8cpp.html#ab93a3b7adad67c6fe99536760f60da7b',1,'inCone(int i, int n, const int *verts, const int *pj): RecastContour.cpp'],['../RecastMesh_8cpp.html#a3626785a54ec9abeb63f0fc43661b8d8',1,'inCone(int i, int j, int n, const int *verts, int *indices): RecastMesh.cpp']]], + ['inconeloose_2664',['inConeLoose',['../RecastMesh_8cpp.html#aaccc35a1704dcc3625b941a927c97034',1,'RecastMesh.cpp']]], + ['init_2665',['init',['../classdtNavMesh.html#a3cbc598755db0d1e9541b15f0f464318',1,'dtNavMesh::init()'],['../classTempObstacleCreateTool.html#add3d7c7e93c01a18993231c8c076e994',1,'TempObstacleCreateTool::init()'],['../classdtPathCorridor.html#a85b4c98157b68a57b9c3302f45d0ed7f',1,'dtPathCorridor::init()'],['../classdtPathQueue.html#afb36a7890f01f2dbc9be362282538803',1,'dtPathQueue::init()'],['../classdtProximityGrid.html#aef4e5c3fa11d5ba99a33dfadbea198d3',1,'dtProximityGrid::init()'],['../classdtTileCache.html#a9cd97203168485f62bf1b2983d56745a',1,'dtTileCache::init()'],['../classConvexVolumeTool.html#a9787b22592b80a6494450c60ccd50165',1,'ConvexVolumeTool::init()'],['../classCrowdToolState.html#a009cf74974dde6147a7f21b0901ad4c4',1,'CrowdToolState::init()'],['../classCrowdTool.html#ab6c04d1bc27ac8ce00124e3f8936e7f4',1,'CrowdTool::init()'],['../classNavMeshPruneTool.html#afafabe8cd473164567bb37b27904d340',1,'NavMeshPruneTool::init()'],['../classNavMeshTesterTool.html#a73a9165951689cac88cf9743bc99e0b5',1,'NavMeshTesterTool::init()'],['../classOffMeshConnectionTool.html#a3f1425ea30bf3e5841cf6697a01f5e72',1,'OffMeshConnectionTool::init()'],['../structSampleTool.html#a95804c3b0631cbb58edd4370e15a3af5',1,'SampleTool::init()'],['../structSampleToolState.html#ab9dda86ad5ef7d23b6da69dbbc5ded1e',1,'SampleToolState::init()'],['../classNavmeshFlags.html#ac82a85470cfe71138da559395b19f392',1,'NavmeshFlags::init()'],['../structMeshProcess.html#af79fc443a1067c46713aa56a55120f6f',1,'MeshProcess::init()'],['../classTempObstacleHilightTool.html#a1c0a4a693fbd80d60fcf1305e6499884',1,'TempObstacleHilightTool::init()'],['../classNavMeshTileTool.html#acdd83e58038dcc240242b94630f5f312',1,'NavMeshTileTool::init()'],['../classdtObstacleAvoidanceQuery.html#a9f927e4f09b35473853be3bf7f28129a',1,'dtObstacleAvoidanceQuery::init()'],['../classdtObstacleAvoidanceDebugData.html#a49f4c177709ecccc77331e1b43ae893c',1,'dtObstacleAvoidanceDebugData::init()'],['../classdtCrowd.html#a2f670cde9e10d07e3ed189ea861f37e4',1,'dtCrowd::init()'],['../classdtNavMeshQuery.html#acb51d0d2798d0bc7c669ac38c25d4116',1,'dtNavMeshQuery::init()'],['../classdtNavMesh.html#a020702938951249972b955a65967234a',1,'dtNavMesh::init()']]], + ['initslicedfindpath_2666',['initSlicedFindPath',['../classdtNavMeshQuery.html#ae9a478194f14f1a4591f8b6528007d82',1,'dtNavMeshQuery']]], + ['inittoolstates_2667',['initToolStates',['../classSample.html#a3274e125e6c8206d0598a84ce6027693',1,'Sample']]], + ['inputgeom_2668',['InputGeom',['../classInputGeom.html#af2d7fb1c3c5559acc3f84bbfcb3c83b8',1,'InputGeom']]], + ['inrange_2669',['inRange',['../NavMeshTesterTool_8cpp.html#a5b7b330e2de37289d8ae69f304d334a9',1,'NavMeshTesterTool.cpp']]], + ['inrect_2670',['inRect',['../imgui_8cpp.html#ad1245cfa79f31678c1eb8d84d1ff30af',1,'imgui.cpp']]], + ['insertinterval_2671',['insertInterval',['../DetourNavMeshQuery_8cpp.html#ac742e93c715068b76c2592ae822a39ff',1,'DetourNavMeshQuery.cpp']]], + ['insertsort_2672',['insertSort',['../RecastArea_8cpp.html#a1071db3bfc13a7c581093d1f448f5e40',1,'RecastArea.cpp']]], + ['integrate_2673',['integrate',['../DetourCrowd_8cpp.html#a284e9ea2c9700317d3dca1df47df5ab8',1,'DetourCrowd.cpp']]], + ['intersect_2674',['intersect',['../DetourTileCacheBuilder_8cpp.html#a070e599134e47f74c6ac1981c5b004c2',1,'intersect(const unsigned char *a, const unsigned char *b, const unsigned char *c, const unsigned char *d): DetourTileCacheBuilder.cpp'],['../RecastContour_8cpp.html#a8c40590db2ebb79a634dfadada974679',1,'intersect(const int *a, const int *b, const int *c, const int *d): RecastContour.cpp'],['../RecastMesh_8cpp.html#a8c40590db2ebb79a634dfadada974679',1,'intersect(const int *a, const int *b, const int *c, const int *d): RecastMesh.cpp']]], + ['intersectprop_2675',['intersectProp',['../DetourTileCacheBuilder_8cpp.html#ac83ebd03e0ea6de9e9e8af3447e8d226',1,'intersectProp(const unsigned char *a, const unsigned char *b, const unsigned char *c, const unsigned char *d): DetourTileCacheBuilder.cpp'],['../RecastContour_8cpp.html#a5ebff194647dfe8f10ceab06390c68df',1,'intersectProp(const int *a, const int *b, const int *c, const int *d): RecastContour.cpp'],['../RecastMesh_8cpp.html#a5ebff194647dfe8f10ceab06390c68df',1,'intersectProp(const int *a, const int *b, const int *c, const int *d): RecastMesh.cpp']]], + ['intersectsegcountour_2676',['intersectSegCountour',['../RecastContour_8cpp.html#a44670adae86ff8db233723677fff6d90',1,'RecastContour.cpp']]], + ['intersectsegmenttriangle_2677',['intersectSegmentTriangle',['../InputGeom_8cpp.html#a89e05e1cf91226eb8b11ce816ec90a4e',1,'InputGeom.cpp']]], + ['ioprintf_2678',['ioprintf',['../RecastDump_8cpp.html#af97d6194d18bf5f35fb6e384300e2c6b',1,'RecastDump.cpp']]], + ['isactive_2679',['isActive',['../imgui_8cpp.html#ad612f89ba9d6ea959eee8617f3c00bc8',1,'imgui.cpp']]], + ['isconnected_2680',['isConnected',['../DetourTileCacheBuilder_8cpp.html#a39d8ed8a2d3aa08df559ec2b3713dd0d',1,'DetourTileCacheBuilder.cpp']]], + ['isectrayseg_2681',['isectRaySeg',['../DetourObstacleAvoidance_8cpp.html#a25706e06770764f3eeb01417981ccfbd',1,'DetourObstacleAvoidance.cpp']]], + ['isectsegaabb_2682',['isectSegAABB',['../CrowdTool_8cpp.html#a6e7db3dabeb68c2e9c627812ee42c47e',1,'isectSegAABB(const float *sp, const float *sq, const float *amin, const float *amax, float &tmin, float &tmax): CrowdTool.cpp'],['../InputGeom_8cpp.html#a6e7db3dabeb68c2e9c627812ee42c47e',1,'isectSegAABB(const float *sp, const float *sq, const float *amin, const float *amax, float &tmin, float &tmax): InputGeom.cpp'],['../Sample__TempObstacles_8cpp.html#a6e7db3dabeb68c2e9c627812ee42c47e',1,'isectSegAABB(const float *sp, const float *sq, const float *amin, const float *amax, float &tmin, float &tmax): Sample_TempObstacles.cpp']]], + ['ishot_2683',['isHot',['../imgui_8cpp.html#a6ed5b5cfe3ffe15f70a564d87e13a2a8',1,'imgui.cpp']]], + ['isinclosedlist_2684',['isInClosedList',['../classdtNavMeshQuery.html#ad1de0c0d7cc527905d3f83c613897eb3',1,'dtNavMeshQuery']]], + ['isoverpoly_2685',['isOverPoly',['../classdtFindNearestPolyQuery.html#a9668cae24253780eebecccde9f023fc7',1,'dtFindNearestPolyQuery']]], + ['isreading_2686',['isReading',['../structduFileIO.html#a853e4af9415fdaa073bb785151f6b28c',1,'duFileIO::isReading()'],['../classFileIO.html#acd4cbb0b54a4d450b53294ce24866346',1,'FileIO::isReading()']]], + ['isregionconnectedtoborder_2687',['isRegionConnectedToBorder',['../RecastRegion_8cpp.html#a362976ffc8da436099d6ce5d2a8e8996',1,'RecastRegion.cpp']]], + ['isrunning_2688',['isRunning',['../classCrowdToolState.html#ae79c25d7281fbe91325cf7395bc6e6ee',1,'CrowdToolState']]], + ['issolidedge_2689',['isSolidEdge',['../RecastRegion_8cpp.html#a48ba7bc4cd4b13a577c07dadf1361d76',1,'RecastRegion.cpp']]], + ['isvalid_2690',['isValid',['../classdtLocalBoundary.html#add9a50788d1294903c1fdf98f440dfd1',1,'dtLocalBoundary::isValid()'],['../classdtPathCorridor.html#aeb23d3697b0e17837b06b13ae5be4e52',1,'dtPathCorridor::isValid()']]], + ['isvalidpolyref_2691',['isValidPolyRef',['../classdtNavMesh.html#a84ce3e44a2a97c5377b3b308825fcd37',1,'dtNavMesh::isValidPolyRef()'],['../classdtNavMeshQuery.html#ac76164ed97fdedd9ea8abbe52f6c2c8a',1,'dtNavMeshQuery::isValidPolyRef()']]], + ['iswriting_2692',['isWriting',['../structduFileIO.html#ab436e18b116c61875dbdf5faafda9694',1,'duFileIO::isWriting()'],['../classFileIO.html#a02526e6d91e126ce105adaf614ab863c',1,'FileIO::isWriting()']]] +]; diff --git a/search/functions_9.html b/search/functions_9.html new file mode 100644 index 00000000..9a8e4290 --- /dev/null +++ b/search/functions_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_9.js b/search/functions_9.js new file mode 100644 index 00000000..1e25057e --- /dev/null +++ b/search/functions_9.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['left_2693',['left',['../ConvexVolumeTool_8cpp.html#aa70398cc4b7ef22352199dca700b3990',1,'left(const float *a, const float *b, const float *c): ConvexVolumeTool.cpp'],['../RecastMesh_8cpp.html#a0ba03d6a44337bfbcef8f0c9dad4289f',1,'left(const int *a, const int *b, const int *c): RecastMesh.cpp'],['../RecastContour_8cpp.html#a0ba03d6a44337bfbcef8f0c9dad4289f',1,'left(const int *a, const int *b, const int *c): RecastContour.cpp'],['../DetourTileCacheBuilder_8cpp.html#af12ea326178bde8a2bf7b46aa54330aa',1,'left(const unsigned char *a, const unsigned char *b, const unsigned char *c): DetourTileCacheBuilder.cpp']]], + ['lefton_2694',['leftOn',['../RecastMesh_8cpp.html#a4cc687ea6596949ed340d5082d75daed',1,'leftOn(const int *a, const int *b, const int *c): RecastMesh.cpp'],['../RecastContour_8cpp.html#a4cc687ea6596949ed340d5082d75daed',1,'leftOn(const int *a, const int *b, const int *c): RecastContour.cpp'],['../DetourTileCacheBuilder_8cpp.html#afc4b3861caec01ab07bba6a51af3327a',1,'leftOn(const unsigned char *a, const unsigned char *b, const unsigned char *c): DetourTileCacheBuilder.cpp']]], + ['linearallocator_2695',['LinearAllocator',['../structLinearAllocator.html#ab3e8483fa7f6899695aa338a14bc0a67',1,'LinearAllocator']]], + ['load_2696',['load',['../classInputGeom.html#a018ed54176edc2234663cb419d3f0f9f',1,'InputGeom::load()'],['../classTestCase.html#ad7ec8145d12a8443cf6dc4655b1c26bf',1,'TestCase::load()'],['../classrcMeshLoaderObj.html#a730235384616c59171a785ce28295579',1,'rcMeshLoaderObj::load()']]], + ['loadall_2697',['loadAll',['../classSample__TileMesh.html#ac6dd51f6ee08d2b59fa221741caedb86',1,'Sample_TileMesh::loadAll()'],['../classSample__TempObstacles.html#a59f560706b1c693ebefde44c1f8046cb',1,'Sample_TempObstacles::loadAll()'],['../classSample.html#a4418aaf6b8e5c6ddc1d20f4388f101ba',1,'Sample::loadAll()']]], + ['log_2698',['log',['../classrcContext.html#ae3cc278477b1b923d03ea50e3ae96013',1,'rcContext']]], + ['logline_2699',['logLine',['../RecastDump_8cpp.html#a18f72d041fb59ce861860d2b9c17b659',1,'RecastDump.cpp']]], + ['longestaxis_2700',['longestAxis',['../DetourNavMeshBuilder_8cpp.html#a3ad98504f45740f02c1442cdce16f653',1,'longestAxis(unsigned short x, unsigned short y, unsigned short z): DetourNavMeshBuilder.cpp'],['../ChunkyTriMesh_8cpp.html#a7e3f1cfa936454ba69f96894a38bd2e4',1,'longestAxis(float x, float y): ChunkyTriMesh.cpp']]] +]; diff --git a/search/functions_a.html b/search/functions_a.html new file mode 100644 index 00000000..5ecc152c --- /dev/null +++ b/search/functions_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_a.js b/search/functions_a.js new file mode 100644 index 00000000..e230fbc5 --- /dev/null +++ b/search/functions_a.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['main_2701',['main',['../main_8cpp.html#a2c3f6775325c30275d11c6abee2db6a0',1,'main.cpp']]], + ['maxcompressedsize_2702',['maxCompressedSize',['../structdtTileCacheCompressor.html#aaa7fcfc5889a5f3fc5fbf689bbbc1494',1,'dtTileCacheCompressor::maxCompressedSize()'],['../structFastLZCompressor.html#a8fb3236d4cb66a253fd98036536b51a4',1,'FastLZCompressor::maxCompressedSize()']]], + ['mergeandfilterlayerregions_2703',['mergeAndFilterLayerRegions',['../RecastRegion_8cpp.html#a25912e8836b3489f54fecd65d850beff',1,'RecastRegion.cpp']]], + ['mergeandfilterregions_2704',['mergeAndFilterRegions',['../RecastRegion_8cpp.html#a5725fdd6c9d2c932db4686ba6d411dac',1,'RecastRegion.cpp']]], + ['mergecontours_2705',['mergeContours',['../RecastContour_8cpp.html#a1b37a039e4a04535bcddcb219ca7945b',1,'RecastContour.cpp']]], + ['mergepolys_2706',['mergePolys',['../DetourTileCacheBuilder_8cpp.html#acec62cadc066beebd0bcf5623c79f0e0',1,'DetourTileCacheBuilder.cpp']]], + ['mergepolyverts_2707',['mergePolyVerts',['../RecastMesh_8cpp.html#ab16a0c6bfd0ae903d4c02eabd16fd5af',1,'RecastMesh.cpp']]], + ['mergeregionholes_2708',['mergeRegionHoles',['../RecastContour_8cpp.html#a7321f3f5954d621c5255819fe4f73004',1,'RecastContour.cpp']]], + ['mergeregions_2709',['mergeRegions',['../RecastRegion_8cpp.html#aa6ad7bc5d6c9f39726a4574813bce7ec',1,'RecastRegion.cpp']]], + ['meshprocess_2710',['MeshProcess',['../structMeshProcess.html#ae8565ad12db3ae60dd9b72a851b7afc8',1,'MeshProcess']]], + ['modify_2711',['modify',['../classdtNodeQueue.html#a8be783bde0911bdf92503a2e111f2a1a',1,'dtNodeQueue']]], + ['movealongsurface_2712',['moveAlongSurface',['../classdtNavMeshQuery.html#a95f6d7c92a75c7773ababeb144206968',1,'dtNavMeshQuery']]], + ['moveoveroffmeshconnection_2713',['moveOverOffmeshConnection',['../classdtPathCorridor.html#ae44344d2404b1d06f74c15f6748ad48d',1,'dtPathCorridor']]], + ['moveposition_2714',['movePosition',['../classdtPathCorridor.html#a320a804c422fdb9b58f677b9b42ebf22',1,'dtPathCorridor']]], + ['movetargetposition_2715',['moveTargetPosition',['../classdtPathCorridor.html#a66f8097a4f49c077b6c6da5c727c6877',1,'dtPathCorridor']]] +]; diff --git a/search/functions_b.html b/search/functions_b.html new file mode 100644 index 00000000..e301fedd --- /dev/null +++ b/search/functions_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_b.js b/search/functions_b.js new file mode 100644 index 00000000..56ed8eaf --- /dev/null +++ b/search/functions_b.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['navmeshflags_2716',['NavmeshFlags',['../classNavmeshFlags.html#a060c944fac648d5085ad1934671a2932',1,'NavmeshFlags']]], + ['navmeshprunetool_2717',['NavMeshPruneTool',['../classNavMeshPruneTool.html#a304902339a20adafa5e57ed648c884ed',1,'NavMeshPruneTool']]], + ['navmeshtestertool_2718',['NavMeshTesterTool',['../classNavMeshTesterTool.html#afa92228fae1154929e4819bb9119062d',1,'NavMeshTesterTool']]], + ['navmeshtilebuildcontext_2719',['NavMeshTileBuildContext',['../structNavMeshTileBuildContext.html#a704f1e66aa26ec967683eb097415cadd',1,'NavMeshTileBuildContext']]], + ['navmeshtiletool_2720',['NavMeshTileTool',['../classNavMeshTileTool.html#abe63ee741ff92fdf708f098f03e45967',1,'NavMeshTileTool']]], + ['nearestpoint_2721',['nearestPoint',['../classdtFindNearestPolyQuery.html#ad6d790e28c61d28b5ebdcd79373e834c',1,'dtFindNearestPolyQuery']]], + ['nearestref_2722',['nearestRef',['../classdtFindNearestPolyQuery.html#a72c70bc181bdd635a23e0d2b6df724cb',1,'dtFindNearestPolyQuery']]], + ['next_2723',['next',['../DetourTileCacheBuilder_8cpp.html#af019d68006e1f2d7b24c8f09051424cc',1,'next(int i, int n): DetourTileCacheBuilder.cpp'],['../RecastContour_8cpp.html#af019d68006e1f2d7b24c8f09051424cc',1,'next(int i, int n): RecastContour.cpp'],['../RecastMesh_8cpp.html#af019d68006e1f2d7b24c8f09051424cc',1,'next(int i, int n): RecastMesh.cpp'],['../RecastMeshDetail_8cpp.html#af019d68006e1f2d7b24c8f09051424cc',1,'next(int i, int n): RecastMeshDetail.cpp']]], + ['nextpow2_2724',['nextPow2',['../Sample__TileMesh_8cpp.html#a34ed4a57db9ff4dce4be2b8282c5f51a',1,'Sample_TileMesh.cpp']]], + ['normalizearray_2725',['normalizeArray',['../DetourObstacleAvoidance_8cpp.html#ad5691e317bdbe68d51526215952a2227',1,'DetourObstacleAvoidance.cpp']]], + ['normalizesamples_2726',['normalizeSamples',['../classdtObstacleAvoidanceDebugData.html#aae878af7168a5683cf05cd6f3f9b4cfe',1,'dtObstacleAvoidanceDebugData']]], + ['numcollected_2727',['numCollected',['../classdtCollectPolysQuery.html#af9a58ba3aff58aa0910d9446dcf8cb3b',1,'dtCollectPolysQuery']]] +]; diff --git a/search/functions_c.html b/search/functions_c.html new file mode 100644 index 00000000..c4f32687 --- /dev/null +++ b/search/functions_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_c.js b/search/functions_c.js new file mode 100644 index 00000000..207aec11 --- /dev/null +++ b/search/functions_c.js @@ -0,0 +1,21 @@ +var searchData= +[ + ['offmeshconnectiontool_2728',['OffMeshConnectionTool',['../classOffMeshConnectionTool.html#af274e3bc78ccbd95ddd0ba6831c8e600',1,'OffMeshConnectionTool']]], + ['openforread_2729',['openForRead',['../classFileIO.html#a3a96ca80a7c66c14883007e88679e87e',1,'FileIO']]], + ['openforwrite_2730',['openForWrite',['../classFileIO.html#ae7fcae34c0941ffe183fbe1cdc180f22',1,'FileIO']]], + ['operator_20delete_2731',['operator delete',['../RecastAlloc_8h.html#a269d86e8a81c47659dfad4ab2a1e94ab',1,'RecastAlloc.h']]], + ['operator_20new_2732',['operator new',['../RecastAlloc_8h.html#a7c17881830a1d6f4bac23a489972e2db',1,'RecastAlloc.h']]], + ['operator_20t_2a_2733',['operator T*',['../classdtFixedArray.html#a787d42a579a87d3fe763717576d9dac0',1,'dtFixedArray::operator T*()'],['../classrcScopedDelete.html#a842c6cc65c3811faead9717aa53166dd',1,'rcScopedDelete::operator T*()']]], + ['operator_3d_2734',['operator=',['../classrcVectorBase.html#afcedee5f686452a024a3e9c3ebc722fa',1,'rcVectorBase']]], + ['operator_5b_5d_2735',['operator[]',['../classrcVectorBase.html#aa4a57ac99a0e715821f3eb7457b09b03',1,'rcVectorBase::operator[](rcSizeType i) const'],['../classrcVectorBase.html#a72c19a4fc62d73e361d116d069587259',1,'rcVectorBase::operator[](rcSizeType i)'],['../classrcIntArray.html#a314323a7840cf986062fd3c354c2a3c9',1,'rcIntArray::operator[](int index)'],['../classrcIntArray.html#ac4b2d9f20fe072c3ef856afc861d2230',1,'rcIntArray::operator[](int index) const']]], + ['optimizepathtopology_2736',['optimizePathTopology',['../classdtPathCorridor.html#a69288d28ab5d23b2c2654e45c5a33c25',1,'dtPathCorridor']]], + ['optimizepathvisibility_2737',['optimizePathVisibility',['../classdtPathCorridor.html#a3970b6cd229731debe6beb41d9885463',1,'dtPathCorridor']]], + ['overflowed_2738',['overflowed',['../classdtCollectPolysQuery.html#a5ebb596db273cdcc454c6ae6f981bf3a',1,'dtCollectPolysQuery']]], + ['overlapbounds_2739',['overlapBounds',['../RecastRasterization_8cpp.html#ad16e8ad5fc4ebec8d71d58217215ff60',1,'RecastRasterization.cpp']]], + ['overlapedges_2740',['overlapEdges',['../RecastMeshDetail_8cpp.html#a337ede595b48252890c745e99d559373',1,'RecastMeshDetail.cpp']]], + ['overlaprange_2741',['overlapRange',['../DetourCommon_8cpp.html#ab355890a2df99a19209f9bf12086fcb4',1,'overlapRange(const float amin, const float amax, const float bmin, const float bmax, const float eps): DetourCommon.cpp'],['../RecastLayers_8cpp.html#a9df3149dc43b5528b0003e20ccb931e3',1,'overlapRange(const unsigned short amin, const unsigned short amax, const unsigned short bmin, const unsigned short bmax): RecastLayers.cpp']]], + ['overlaprangeexl_2742',['overlapRangeExl',['../DetourTileCacheBuilder_8cpp.html#a6e9bacbb0b63ae2d5f516d75670e15c6',1,'DetourTileCacheBuilder.cpp']]], + ['overlapsegseg2d_2743',['overlapSegSeg2d',['../RecastMeshDetail_8cpp.html#a127f1eddaf7db32655955561199a064f',1,'RecastMeshDetail.cpp']]], + ['overlapslabs_2744',['overlapSlabs',['../DetourNavMesh_8cpp.html#acc02f71919750fff6272687cd0879e2a',1,'DetourNavMesh.cpp']]], + ['overoffmeshconnection_2745',['overOffmeshConnection',['../DetourCrowd_8cpp.html#a72ec7fe4c35ce817869a41b2319f0618',1,'DetourCrowd.cpp']]] +]; diff --git a/search/functions_d.html b/search/functions_d.html new file mode 100644 index 00000000..7a1ed065 --- /dev/null +++ b/search/functions_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_d.js b/search/functions_d.js new file mode 100644 index 00000000..029c8fa5 --- /dev/null +++ b/search/functions_d.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['paintrectregion_2746',['paintRectRegion',['../RecastRegion_8cpp.html#abc80f3a23c09dd8f6570fa5b3d30792a',1,'RecastRegion.cpp']]], + ['parseface_2747',['parseFace',['../MeshLoaderObj_8cpp.html#a2c2c592a29fbae9b5bded3d2cf1bede7',1,'MeshLoaderObj.cpp']]], + ['parserow_2748',['parseRow',['../TestCase_8cpp.html#a0cb6eddb96ab199afcf6b4d75350741e',1,'parseRow(char *buf, char *bufEnd, char *row, int len): TestCase.cpp'],['../MeshLoaderObj_8cpp.html#a0cb6eddb96ab199afcf6b4d75350741e',1,'parseRow(char *buf, char *bufEnd, char *row, int len): MeshLoaderObj.cpp'],['../InputGeom_8cpp.html#a0cb6eddb96ab199afcf6b4d75350741e',1,'parseRow(char *buf, char *bufEnd, char *row, int len): InputGeom.cpp']]], + ['passfilter_2749',['passFilter',['../classdtQueryFilter.html#aaf072b8617dfbd4701a8e07f0f10be9c',1,'dtQueryFilter']]], + ['pointinpoly_2750',['pointInPoly',['../ConvexVolumeTool_8cpp.html#aec57aa531152be79fa4a68bd4b2782f0',1,'pointInPoly(int nvert, const float *verts, const float *p): ConvexVolumeTool.cpp'],['../RecastArea_8cpp.html#aec57aa531152be79fa4a68bd4b2782f0',1,'pointInPoly(int nvert, const float *verts, const float *p): RecastArea.cpp']]], + ['polyminextent_2751',['polyMinExtent',['../RecastMeshDetail_8cpp.html#a43a5a2bbda38a829d1266337e19c4a6f',1,'RecastMeshDetail.cpp']]], + ['pop_2752',['pop',['../classdtNodeQueue.html#a4fa10be8cbf65dcdf2284f18a3e949d3',1,'dtNodeQueue::pop()'],['../classrcIntArray.html#a25558e84868988dc42bf5b2b3c9c3a84',1,'rcIntArray::pop()']]], + ['pop_5fback_2753',['pop_back',['../classrcVectorBase.html#a77865965d7b87881ca42242a8e9d6fcf',1,'rcVectorBase']]], + ['prev_2754',['prev',['../RecastMeshDetail_8cpp.html#a6f1109916123abdff2b46675c13307e3',1,'prev(int i, int n): RecastMeshDetail.cpp'],['../DetourTileCacheBuilder_8cpp.html#a6f1109916123abdff2b46675c13307e3',1,'prev(int i, int n): DetourTileCacheBuilder.cpp'],['../RecastContour_8cpp.html#a6f1109916123abdff2b46675c13307e3',1,'prev(int i, int n): RecastContour.cpp'],['../RecastMesh_8cpp.html#a6f1109916123abdff2b46675c13307e3',1,'prev(int i, int n): RecastMesh.cpp']]], + ['process_2755',['process',['../structMeshProcess.html#a2e6cdfd8885e79abc9055707a340cb2c',1,'MeshProcess::process()'],['../structdtTileCacheMeshProcess.html#a215d535bec3a568d5fdb0b8ebe8cd609',1,'dtTileCacheMeshProcess::process()'],['../classdtCollectPolysQuery.html#a720fc8d71cb55210dd3db71b77f3db4f',1,'dtCollectPolysQuery::process()'],['../classdtFindNearestPolyQuery.html#a70f751a070792e099462d3af34357bcd',1,'dtFindNearestPolyQuery::process()'],['../classdtPolyQuery.html#a21184a157b5762bc558ac49e43a1131e',1,'dtPolyQuery::process()']]], + ['projectpoly_2756',['projectPoly',['../DetourCommon_8cpp.html#af6e917ef4b822dd1feee0665ebbc3bda',1,'DetourCommon.cpp']]], + ['purge_2757',['purge',['../structNavMeshTileBuildContext.html#aaad3439a65fc68c5aed3b535ead58214',1,'NavMeshTileBuildContext']]], + ['push_2758',['push',['../classrcIntArray.html#ae52f6cd7ffdd2dba00f6f006853dc441',1,'rcIntArray::push()'],['../classdtNodeQueue.html#a76d83f497e1a5bcf72a6cc902a696a2a',1,'dtNodeQueue::push()']]], + ['push3_2759',['push3',['../RecastMeshDetail_8cpp.html#afe63298d01e44c843ffc828d419dc6f4',1,'RecastMeshDetail.cpp']]], + ['push_5fback_2760',['push_back',['../classrcVectorBase.html#a9a9a0bae26bd80346a174dbb1848fc61',1,'rcVectorBase']]], + ['pushback_2761',['pushBack',['../DetourTileCacheBuilder_8cpp.html#a6da2f8c2b0bea0922a50e844a7579b73',1,'pushBack(unsigned short v, unsigned short *arr, int &an): DetourTileCacheBuilder.cpp'],['../RecastMesh_8cpp.html#aec063018a8d28a41c26ac51762618208',1,'pushBack(int v, int *arr, int &an): RecastMesh.cpp']]], + ['pushfront_2762',['pushFront',['../DetourTileCacheBuilder_8cpp.html#a6798e70992affb7d5ba3152641398a1c',1,'pushFront(unsigned short v, unsigned short *arr, int &an): DetourTileCacheBuilder.cpp'],['../RecastMesh_8cpp.html#a589bd4317fc5d856399939218757d09e',1,'pushFront(int v, int *arr, int &an): RecastMesh.cpp']]] +]; diff --git a/search/functions_e.html b/search/functions_e.html new file mode 100644 index 00000000..22d2a6bf --- /dev/null +++ b/search/functions_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_e.js b/search/functions_e.js new file mode 100644 index 00000000..5396b202 --- /dev/null +++ b/search/functions_e.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['queryitems_2763',['queryItems',['../classdtProximityGrid.html#a4ee1269c36500bb20d3891a2363c5ea8',1,'dtProximityGrid']]], + ['querypolygons_2764',['queryPolygons',['../classdtNavMeshQuery.html#a06e46d57afad3f07380d82bb8d4a6720',1,'dtNavMeshQuery::queryPolygons(const float *center, const float *halfExtents, const dtQueryFilter *filter, dtPolyRef *polys, int *polyCount, const int maxPolys) const'],['../classdtNavMeshQuery.html#aed2fc9071ca182a548baf5158cd4f441',1,'dtNavMeshQuery::queryPolygons(const float *center, const float *halfExtents, const dtQueryFilter *filter, dtPolyQuery *query) const']]], + ['querytiles_2765',['queryTiles',['../classdtTileCache.html#afa3fb52e3082723c52a2048698a26cb3',1,'dtTileCache']]] +]; diff --git a/search/functions_f.html b/search/functions_f.html new file mode 100644 index 00000000..54b7dee0 --- /dev/null +++ b/search/functions_f.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_f.js b/search/functions_f.js new file mode 100644 index 00000000..f32fd24a --- /dev/null +++ b/search/functions_f.js @@ -0,0 +1,129 @@ +var searchData= +[ + ['rasterizationcontext_2766',['RasterizationContext',['../structRasterizationContext.html#afd127baddc666d46e474217dde4eabe7',1,'RasterizationContext']]], + ['rasterizetri_2767',['rasterizeTri',['../RecastRasterization_8cpp.html#a48cc2a033f9552494a06236a5d66326b',1,'RecastRasterization.cpp']]], + ['raycast_2768',['raycast',['../classdtNavMeshQuery.html#a7509a4bf31a215f20478c5050ef25913',1,'dtNavMeshQuery::raycast(dtPolyRef startRef, const float *startPos, const float *endPos, const dtQueryFilter *filter, float *t, float *hitNormal, dtPolyRef *path, int *pathCount, const int maxPath) const'],['../classdtNavMeshQuery.html#a96bd4282df1e863d1c813b2fe881a262',1,'dtNavMeshQuery::raycast(dtPolyRef startRef, const float *startPos, const float *endPos, const dtQueryFilter *filter, const unsigned int options, dtRaycastHit *hit, dtPolyRef prevRef=0) const']]], + ['raycastmesh_2769',['raycastMesh',['../classInputGeom.html#a926c973026443671ea51d7f32ddf0b11',1,'InputGeom']]], + ['rcabs_2770',['rcAbs',['../Recast_8h.html#afa1623d0ed253473ef26cd7717f8bf2f',1,'Recast.h']]], + ['rcaddspan_2771',['rcAddSpan',['../group__recast.html#ga86f63cef2e174a1f4cb050767090beeb',1,'rcAddSpan(rcContext *context, rcHeightfield &heightfield, int x, int z, unsigned short spanMin, unsigned short spanMax, unsigned char areaID, int flagMergeThreshold): RecastRasterization.cpp'],['../group__recast.html#ga86f63cef2e174a1f4cb050767090beeb',1,'rcAddSpan(rcContext *context, rcHeightfield &heightfield, const int x, const int z, const unsigned short spanMin, const unsigned short spanMax, const unsigned char areaID, const int flagMergeThreshold): RecastRasterization.cpp']]], + ['rcalloc_2772',['rcAlloc',['../RecastAlloc_8h.html#aaccb154539da523c5d4e6effb34dd69e',1,'rcAlloc(size_t size, rcAllocHint hint): RecastAlloc.cpp'],['../RecastAlloc_8cpp.html#aaccb154539da523c5d4e6effb34dd69e',1,'rcAlloc(size_t size, rcAllocHint hint): RecastAlloc.cpp']]], + ['rcalloccompactheightfield_2773',['rcAllocCompactHeightfield',['../group__recast.html#ga63ec2ca68dc897018b8b013507b9714d',1,'rcAllocCompactHeightfield(): Recast.cpp'],['../group__recast.html#ga63ec2ca68dc897018b8b013507b9714d',1,'rcAllocCompactHeightfield(): Recast.cpp']]], + ['rcalloccontourset_2774',['rcAllocContourSet',['../group__recast.html#ga2b1a22ec58d51570e352c19cb2cb22a2',1,'rcAllocContourSet(): Recast.cpp'],['../group__recast.html#ga2b1a22ec58d51570e352c19cb2cb22a2',1,'rcAllocContourSet(): Recast.cpp']]], + ['rcallocdefault_2775',['rcAllocDefault',['../RecastAlloc_8cpp.html#aba573a0899585714d5e4b3c109fa3ba4',1,'RecastAlloc.cpp']]], + ['rcallocheightfield_2776',['rcAllocHeightfield',['../group__recast.html#ga3e717cb2fa2ef5d123f0fa218f0630a9',1,'rcAllocHeightfield(): Recast.cpp'],['../group__recast.html#ga3e717cb2fa2ef5d123f0fa218f0630a9',1,'rcAllocHeightfield(): Recast.cpp']]], + ['rcallocheightfieldlayerset_2777',['rcAllocHeightfieldLayerSet',['../group__recast.html#gadc45406abb9ac9d1efddee04054207f5',1,'rcAllocHeightfieldLayerSet(): Recast.cpp'],['../group__recast.html#gadc45406abb9ac9d1efddee04054207f5',1,'rcAllocHeightfieldLayerSet(): Recast.cpp']]], + ['rcallocpolymesh_2778',['rcAllocPolyMesh',['../group__recast.html#ga1b6942363f019860984263c0f8f62b9d',1,'rcAllocPolyMesh(): Recast.cpp'],['../group__recast.html#ga1b6942363f019860984263c0f8f62b9d',1,'rcAllocPolyMesh(): Recast.cpp']]], + ['rcallocpolymeshdetail_2779',['rcAllocPolyMeshDetail',['../group__recast.html#ga617834c1759867250e21569c204f1410',1,'rcAllocPolyMeshDetail(): Recast.cpp'],['../group__recast.html#ga617834c1759867250e21569c204f1410',1,'rcAllocPolyMeshDetail(): Recast.cpp']]], + ['rcallocsetcustom_2780',['rcAllocSetCustom',['../RecastAlloc_8cpp.html#ae3f9da3566ad0877b9e4c9e92f8e1a15',1,'rcAllocSetCustom(rcAllocFunc *allocFunc, rcFreeFunc *freeFunc): RecastAlloc.cpp'],['../RecastAlloc_8h.html#ae3f9da3566ad0877b9e4c9e92f8e1a15',1,'rcAllocSetCustom(rcAllocFunc *allocFunc, rcFreeFunc *freeFunc): RecastAlloc.cpp']]], + ['rcassertfailgetcustom_2781',['rcAssertFailGetCustom',['../RecastAssert_8cpp.html#acab09ab2c9fb75e87ca1bbce4717a41d',1,'rcAssertFailGetCustom(): RecastAssert.cpp'],['../RecastAssert_8h.html#acab09ab2c9fb75e87ca1bbce4717a41d',1,'rcAssertFailGetCustom(): RecastAssert.cpp']]], + ['rcassertfailsetcustom_2782',['rcAssertFailSetCustom',['../RecastAssert_8h.html#a9fba2f1f45778f706f4478a73ba69e91',1,'rcAssertFailSetCustom(rcAssertFailFunc *assertFailFunc): RecastAssert.cpp'],['../RecastAssert_8cpp.html#a9fba2f1f45778f706f4478a73ba69e91',1,'rcAssertFailSetCustom(rcAssertFailFunc *assertFailFunc): RecastAssert.cpp']]], + ['rcbuildcompactheightfield_2783',['rcBuildCompactHeightfield',['../group__recast.html#gae8f77a45a6ca7fef19afcca7420b340d',1,'rcBuildCompactHeightfield(rcContext *context, int walkableHeight, int walkableClimb, rcHeightfield &heightfield, rcCompactHeightfield &compactHeightfield): Recast.cpp'],['../group__recast.html#gae8f77a45a6ca7fef19afcca7420b340d',1,'rcBuildCompactHeightfield(rcContext *context, const int walkableHeight, const int walkableClimb, rcHeightfield &heightfield, rcCompactHeightfield &compactHeightfield): Recast.cpp']]], + ['rcbuildcontours_2784',['rcBuildContours',['../group__recast.html#ga9ce76e55cf94a30c017fe3b039e1cbb2',1,'rcBuildContours(rcContext *ctx, rcCompactHeightfield &chf, float maxError, int maxEdgeLen, rcContourSet &cset, int buildFlags=RC_CONTOUR_TESS_WALL_EDGES): RecastContour.cpp'],['../group__recast.html#ga9ce76e55cf94a30c017fe3b039e1cbb2',1,'rcBuildContours(rcContext *ctx, rcCompactHeightfield &chf, const float maxError, const int maxEdgeLen, rcContourSet &cset, const int buildFlags): RecastContour.cpp']]], + ['rcbuilddistancefield_2785',['rcBuildDistanceField',['../group__recast.html#ga255c830cc0d30fa0229a05033242e77d',1,'rcBuildDistanceField(rcContext *ctx, rcCompactHeightfield &chf): RecastRegion.cpp'],['../group__recast.html#ga255c830cc0d30fa0229a05033242e77d',1,'rcBuildDistanceField(rcContext *ctx, rcCompactHeightfield &chf): RecastRegion.cpp']]], + ['rcbuildheightfieldlayers_2786',['rcBuildHeightfieldLayers',['../group__recast.html#ga21dd089dcfc243ed949a28727dc41010',1,'rcBuildHeightfieldLayers(rcContext *ctx, rcCompactHeightfield &chf, int borderSize, int walkableHeight, rcHeightfieldLayerSet &lset): RecastLayers.cpp'],['../group__recast.html#ga21dd089dcfc243ed949a28727dc41010',1,'rcBuildHeightfieldLayers(rcContext *ctx, rcCompactHeightfield &chf, const int borderSize, const int walkableHeight, rcHeightfieldLayerSet &lset): RecastLayers.cpp']]], + ['rcbuildlayerregions_2787',['rcBuildLayerRegions',['../group__recast.html#ga44a9272ded073492dd74b1a871d9d1a0',1,'rcBuildLayerRegions(rcContext *ctx, rcCompactHeightfield &chf, int borderSize, int minRegionArea): RecastRegion.cpp'],['../group__recast.html#ga44a9272ded073492dd74b1a871d9d1a0',1,'rcBuildLayerRegions(rcContext *ctx, rcCompactHeightfield &chf, const int borderSize, const int minRegionArea): RecastRegion.cpp']]], + ['rcbuildpolymesh_2788',['rcBuildPolyMesh',['../group__recast.html#ga6ccf68fa67b52296071764bddf19dd9f',1,'rcBuildPolyMesh(rcContext *ctx, rcContourSet &cset, const int nvp, rcPolyMesh &mesh): RecastMesh.cpp'],['../group__recast.html#ga6ccf68fa67b52296071764bddf19dd9f',1,'rcBuildPolyMesh(rcContext *ctx, rcContourSet &cset, const int nvp, rcPolyMesh &mesh): RecastMesh.cpp']]], + ['rcbuildpolymeshdetail_2789',['rcBuildPolyMeshDetail',['../group__recast.html#ga27bbc4ef9f8c09b68ec63ebe908521a2',1,'rcBuildPolyMeshDetail(rcContext *ctx, const rcPolyMesh &mesh, const rcCompactHeightfield &chf, float sampleDist, float sampleMaxError, rcPolyMeshDetail &dmesh): RecastMeshDetail.cpp'],['../group__recast.html#ga27bbc4ef9f8c09b68ec63ebe908521a2',1,'rcBuildPolyMeshDetail(rcContext *ctx, const rcPolyMesh &mesh, const rcCompactHeightfield &chf, const float sampleDist, const float sampleMaxError, rcPolyMeshDetail &dmesh): RecastMeshDetail.cpp']]], + ['rcbuildregions_2790',['rcBuildRegions',['../group__recast.html#gaf89da5f503884e43f955639343333cea',1,'rcBuildRegions(rcContext *ctx, rcCompactHeightfield &chf, int borderSize, int minRegionArea, int mergeRegionArea): RecastRegion.cpp'],['../group__recast.html#gaf89da5f503884e43f955639343333cea',1,'rcBuildRegions(rcContext *ctx, rcCompactHeightfield &chf, const int borderSize, const int minRegionArea, const int mergeRegionArea): RecastRegion.cpp']]], + ['rcbuildregionsmonotone_2791',['rcBuildRegionsMonotone',['../group__recast.html#gac750ac6caa254759ef0bccf8afc7f67f',1,'rcBuildRegionsMonotone(rcContext *ctx, rcCompactHeightfield &chf, int borderSize, int minRegionArea, int mergeRegionArea): RecastRegion.cpp'],['../group__recast.html#gac750ac6caa254759ef0bccf8afc7f67f',1,'rcBuildRegionsMonotone(rcContext *ctx, rcCompactHeightfield &chf, const int borderSize, const int minRegionArea, const int mergeRegionArea): RecastRegion.cpp']]], + ['rccalcbounds_2792',['rcCalcBounds',['../group__recast.html#ga8d3d926002b6df3a5100a1f1e4086026',1,'rcCalcBounds(const float *verts, int numVerts, float *minBounds, float *maxBounds): Recast.cpp'],['../group__recast.html#ga8d3d926002b6df3a5100a1f1e4086026',1,'rcCalcBounds(const float *verts, int numVerts, float *minBounds, float *maxBounds): Recast.cpp']]], + ['rccalcgridsize_2793',['rcCalcGridSize',['../group__recast.html#ga89dd61f0c62938be9ae41aaf026794c2',1,'rcCalcGridSize(const float *minBounds, const float *maxBounds, const float cellSize, int *sizeX, int *sizeZ): Recast.cpp'],['../group__recast.html#ga89dd61f0c62938be9ae41aaf026794c2',1,'rcCalcGridSize(const float *minBounds, const float *maxBounds, float cellSize, int *sizeX, int *sizeZ): Recast.cpp']]], + ['rcchunkytrimesh_2794',['rcChunkyTriMesh',['../structrcChunkyTriMesh.html#a11e03f096c8d3bcd8a249e6b64fb0502',1,'rcChunkyTriMesh']]], + ['rcclamp_2795',['rcClamp',['../Recast_8h.html#af96c0566e4d2d6787d4bc205159486d3',1,'Recast.h']]], + ['rcclearunwalkabletriangles_2796',['rcClearUnwalkableTriangles',['../group__recast.html#gad293e95cc9b22e4305ad2c6fbf946622',1,'rcClearUnwalkableTriangles(rcContext *context, const float walkableSlopeAngle, const float *verts, int numVerts, const int *tris, int numTris, unsigned char *triAreaIDs): Recast.cpp'],['../group__recast.html#gad293e95cc9b22e4305ad2c6fbf946622',1,'rcClearUnwalkableTriangles(rcContext *context, float walkableSlopeAngle, const float *verts, int numVerts, const int *tris, int numTris, unsigned char *triAreaIDs): Recast.cpp']]], + ['rccompactheightfield_2797',['rcCompactHeightfield',['../structrcCompactHeightfield.html#a33d0846cef5f90e605f272b61277ffb0',1,'rcCompactHeightfield']]], + ['rccontext_2798',['rcContext',['../classrcContext.html#ae405295998d6c1db0ceb60d0f64559bc',1,'rcContext']]], + ['rccontourset_2799',['rcContourSet',['../structrcContourSet.html#a01481af6f568ea6098fc5fa4fc5140f7',1,'rcContourSet']]], + ['rccopypolymesh_2800',['rcCopyPolyMesh',['../group__recast.html#gadd16ae360ef930c3ba8c4839e3065d40',1,'rcCopyPolyMesh(rcContext *ctx, const rcPolyMesh &src, rcPolyMesh &dst): RecastMesh.cpp'],['../group__recast.html#gadd16ae360ef930c3ba8c4839e3065d40',1,'rcCopyPolyMesh(rcContext *ctx, const rcPolyMesh &src, rcPolyMesh &dst): RecastMesh.cpp']]], + ['rccreatechunkytrimesh_2801',['rcCreateChunkyTriMesh',['../ChunkyTriMesh_8h.html#af0a0d126ca38738602a567777806a242',1,'rcCreateChunkyTriMesh(const float *verts, const int *tris, int ntris, int trisPerChunk, rcChunkyTriMesh *cm): ChunkyTriMesh.cpp'],['../ChunkyTriMesh_8cpp.html#af0a0d126ca38738602a567777806a242',1,'rcCreateChunkyTriMesh(const float *verts, const int *tris, int ntris, int trisPerChunk, rcChunkyTriMesh *cm): ChunkyTriMesh.cpp']]], + ['rccreateheightfield_2802',['rcCreateHeightfield',['../group__recast.html#ga47eca35f60dbd7ddc1cb18fdb2493833',1,'rcCreateHeightfield(rcContext *context, rcHeightfield &heightfield, int sizeX, int sizeZ, const float *minBounds, const float *maxBounds, float cellSize, float cellHeight): Recast.cpp'],['../group__recast.html#ga47eca35f60dbd7ddc1cb18fdb2493833',1,'rcCreateHeightfield(rcContext *context, rcHeightfield &heightfield, int sizeX, int sizeZ, const float *minBounds, const float *maxBounds, float cellSize, float cellHeight): Recast.cpp']]], + ['rcerodewalkablearea_2803',['rcErodeWalkableArea',['../group__recast.html#ga466672bb756c401fbf6dd1e99c920ebb',1,'rcErodeWalkableArea(rcContext *ctx, int radius, rcCompactHeightfield &chf): RecastArea.cpp'],['../group__recast.html#ga466672bb756c401fbf6dd1e99c920ebb',1,'rcErodeWalkableArea(rcContext *ctx, int radius, rcCompactHeightfield &chf): RecastArea.cpp']]], + ['rcfilterledgespans_2804',['rcFilterLedgeSpans',['../group__recast.html#gad40c996631bc70091d7355dc4c950655',1,'rcFilterLedgeSpans(rcContext *context, int walkableHeight, int walkableClimb, rcHeightfield &heightfield): RecastFilter.cpp'],['../group__recast.html#gad40c996631bc70091d7355dc4c950655',1,'rcFilterLedgeSpans(rcContext *context, const int walkableHeight, const int walkableClimb, rcHeightfield &heightfield): RecastFilter.cpp']]], + ['rcfilterlowhangingwalkableobstacles_2805',['rcFilterLowHangingWalkableObstacles',['../group__recast.html#ga009f5e462077cc2f6d1f5fff57f2e412',1,'rcFilterLowHangingWalkableObstacles(rcContext *context, const int walkableClimb, rcHeightfield &heightfield): RecastFilter.cpp'],['../group__recast.html#ga009f5e462077cc2f6d1f5fff57f2e412',1,'rcFilterLowHangingWalkableObstacles(rcContext *context, int walkableClimb, rcHeightfield &heightfield): RecastFilter.cpp']]], + ['rcfilterwalkablelowheightspans_2806',['rcFilterWalkableLowHeightSpans',['../group__recast.html#ga0dbfbeebd642c1b79323ba7723d91a49',1,'rcFilterWalkableLowHeightSpans(rcContext *context, int walkableHeight, rcHeightfield &heightfield): RecastFilter.cpp'],['../group__recast.html#ga0dbfbeebd642c1b79323ba7723d91a49',1,'rcFilterWalkableLowHeightSpans(rcContext *context, const int walkableHeight, rcHeightfield &heightfield): RecastFilter.cpp']]], + ['rcfree_2807',['rcFree',['../RecastAlloc_8h.html#a6fc4cfee655e24f94bad226f915ac397',1,'rcFree(void *ptr): RecastAlloc.cpp'],['../RecastAlloc_8cpp.html#a6fc4cfee655e24f94bad226f915ac397',1,'rcFree(void *ptr): RecastAlloc.cpp']]], + ['rcfreecompactheightfield_2808',['rcFreeCompactHeightfield',['../group__recast.html#ga914ed7cee333a9c29513d917f6bb4716',1,'rcFreeCompactHeightfield(rcCompactHeightfield *compactHeightfield): Recast.cpp'],['../group__recast.html#ga914ed7cee333a9c29513d917f6bb4716',1,'rcFreeCompactHeightfield(rcCompactHeightfield *compactHeightfield): Recast.cpp']]], + ['rcfreecontourset_2809',['rcFreeContourSet',['../group__recast.html#gae3a9621529cb8d471a95161bd7d0ca96',1,'rcFreeContourSet(rcContourSet *contourSet): Recast.cpp'],['../group__recast.html#gae3a9621529cb8d471a95161bd7d0ca96',1,'rcFreeContourSet(rcContourSet *contourSet): Recast.cpp']]], + ['rcfreedefault_2810',['rcFreeDefault',['../RecastAlloc_8cpp.html#a0145e00a43b3248ba49fda410573128f',1,'RecastAlloc.cpp']]], + ['rcfreeheightfield_2811',['rcFreeHeightField',['../group__recast.html#ga63549624426821904ecf1a92ddcccaea',1,'rcFreeHeightField(rcHeightfield *heightfield): Recast.cpp'],['../group__recast.html#ga63549624426821904ecf1a92ddcccaea',1,'rcFreeHeightField(rcHeightfield *heightfield): Recast.cpp']]], + ['rcfreeheightfieldlayerset_2812',['rcFreeHeightfieldLayerSet',['../group__recast.html#ga657ea6ef521e4caadc4467bd61e26016',1,'rcFreeHeightfieldLayerSet(rcHeightfieldLayerSet *layerSet): Recast.cpp'],['../group__recast.html#ga657ea6ef521e4caadc4467bd61e26016',1,'rcFreeHeightfieldLayerSet(rcHeightfieldLayerSet *layerSet): Recast.cpp']]], + ['rcfreepolymesh_2813',['rcFreePolyMesh',['../group__recast.html#ga34925f90f2e5da1f84c383bfb0ff8e9f',1,'rcFreePolyMesh(rcPolyMesh *polyMesh): Recast.cpp'],['../group__recast.html#ga34925f90f2e5da1f84c383bfb0ff8e9f',1,'rcFreePolyMesh(rcPolyMesh *polyMesh): Recast.cpp']]], + ['rcfreepolymeshdetail_2814',['rcFreePolyMeshDetail',['../group__recast.html#ga3efa77f1a8305250471c2ac09672d9ae',1,'rcFreePolyMeshDetail(rcPolyMeshDetail *detailMesh): Recast.cpp'],['../group__recast.html#ga3efa77f1a8305250471c2ac09672d9ae',1,'rcFreePolyMeshDetail(rcPolyMeshDetail *detailMesh): Recast.cpp']]], + ['rcgetchunksoverlappingrect_2815',['rcGetChunksOverlappingRect',['../ChunkyTriMesh_8cpp.html#a1ddf6286b85d102c1012cb3db79020e2',1,'rcGetChunksOverlappingRect(const rcChunkyTriMesh *cm, float bmin[2], float bmax[2], int *ids, const int maxIds): ChunkyTriMesh.cpp'],['../ChunkyTriMesh_8h.html#a1ddf6286b85d102c1012cb3db79020e2',1,'rcGetChunksOverlappingRect(const rcChunkyTriMesh *cm, float bmin[2], float bmax[2], int *ids, const int maxIds): ChunkyTriMesh.cpp']]], + ['rcgetchunksoverlappingsegment_2816',['rcGetChunksOverlappingSegment',['../ChunkyTriMesh_8cpp.html#a2738633e684f03e39567d80500039c7d',1,'rcGetChunksOverlappingSegment(const rcChunkyTriMesh *cm, float p[2], float q[2], int *ids, const int maxIds): ChunkyTriMesh.cpp'],['../ChunkyTriMesh_8h.html#a2738633e684f03e39567d80500039c7d',1,'rcGetChunksOverlappingSegment(const rcChunkyTriMesh *cm, float p[2], float q[2], int *ids, const int maxIds): ChunkyTriMesh.cpp']]], + ['rcgetcon_2817',['rcGetCon',['../group__recast.html#gad3ccc7652b12db58c8e58c976bb34b1b',1,'Recast.h']]], + ['rcgetdirforoffset_2818',['rcGetDirForOffset',['../group__recast.html#gaf7827d43d6b3e24ab5aba552343bce26',1,'Recast.h']]], + ['rcgetdiroffsetx_2819',['rcGetDirOffsetX',['../group__recast.html#ga7f308c34d7d5beb73eca24fe30033064',1,'Recast.h']]], + ['rcgetdiroffsety_2820',['rcGetDirOffsetY',['../group__recast.html#ga7d225822d057252755aeeebdc2388cf2',1,'Recast.h']]], + ['rcgetheightfieldspancount_2821',['rcGetHeightFieldSpanCount',['../group__recast.html#gabade813042a8c79ddb2f4ecf84620cf8',1,'rcGetHeightFieldSpanCount(rcContext *context, const rcHeightfield &heightfield): Recast.cpp'],['../group__recast.html#gabade813042a8c79ddb2f4ecf84620cf8',1,'rcGetHeightFieldSpanCount(rcContext *context, const rcHeightfield &heightfield): Recast.cpp']]], + ['rcheightfield_2822',['rcHeightfield',['../structrcHeightfield.html#acfb6e103d887102196c69f1e28954cd4',1,'rcHeightfield']]], + ['rcheightfieldlayerset_2823',['rcHeightfieldLayerSet',['../structrcHeightfieldLayerSet.html#a5c4ff4d898a2f7e014439ac1c8e98e6f',1,'rcHeightfieldLayerSet']]], + ['rcheightpatch_2824',['rcHeightPatch',['../structrcHeightPatch.html#a7bec65bd5c005d4c47e041596fdf1b8d',1,'rcHeightPatch']]], + ['rcignoreunused_2825',['rcIgnoreUnused',['../Recast_8h.html#a590be6fed00e1ed747939ee51b0b433c',1,'Recast.h']]], + ['rcintarray_2826',['rcIntArray',['../classrcIntArray.html#ae24aed0e0cb7e79fc0a34de088eba93a',1,'rcIntArray::rcIntArray(int n)'],['../classrcIntArray.html#a7c2de9614c66762b3083becbdcaf07d4',1,'rcIntArray::rcIntArray()']]], + ['rcmarkboxarea_2827',['rcMarkBoxArea',['../group__recast.html#ga527b4c24537e47bcc472f28965c7b7bf',1,'rcMarkBoxArea(rcContext *ctx, const float *bmin, const float *bmax, unsigned char areaId, rcCompactHeightfield &chf): RecastArea.cpp'],['../group__recast.html#ga527b4c24537e47bcc472f28965c7b7bf',1,'rcMarkBoxArea(rcContext *ctx, const float *bmin, const float *bmax, unsigned char areaId, rcCompactHeightfield &chf): RecastArea.cpp']]], + ['rcmarkconvexpolyarea_2828',['rcMarkConvexPolyArea',['../group__recast.html#ga1e8f3c9c2cb664fb2874d01448a1f223',1,'rcMarkConvexPolyArea(rcContext *ctx, const float *verts, const int nverts, const float hmin, const float hmax, unsigned char areaId, rcCompactHeightfield &chf): RecastArea.cpp'],['../group__recast.html#ga1e8f3c9c2cb664fb2874d01448a1f223',1,'rcMarkConvexPolyArea(rcContext *ctx, const float *verts, const int nverts, const float hmin, const float hmax, unsigned char areaId, rcCompactHeightfield &chf): RecastArea.cpp']]], + ['rcmarkcylinderarea_2829',['rcMarkCylinderArea',['../group__recast.html#gac2de1bc06b5804dd4304a90f39829948',1,'rcMarkCylinderArea(rcContext *ctx, const float *pos, const float r, const float h, unsigned char areaId, rcCompactHeightfield &chf): RecastArea.cpp'],['../group__recast.html#gac2de1bc06b5804dd4304a90f39829948',1,'rcMarkCylinderArea(rcContext *ctx, const float *pos, const float r, const float h, unsigned char areaId, rcCompactHeightfield &chf): RecastArea.cpp']]], + ['rcmarkwalkabletriangles_2830',['rcMarkWalkableTriangles',['../group__recast.html#ga63e7b847422bfd78acea724088da6561',1,'rcMarkWalkableTriangles(rcContext *context, float walkableSlopeAngle, const float *verts, int numVerts, const int *tris, int numTris, unsigned char *triAreaIDs): Recast.cpp'],['../group__recast.html#ga63e7b847422bfd78acea724088da6561',1,'rcMarkWalkableTriangles(rcContext *context, const float walkableSlopeAngle, const float *verts, const int numVerts, const int *tris, const int numTris, unsigned char *triAreaIDs): Recast.cpp']]], + ['rcmax_2831',['rcMax',['../Recast_8h.html#accb921a8353da3a74aa90a491aff74c8',1,'Recast.h']]], + ['rcmedianfilterwalkablearea_2832',['rcMedianFilterWalkableArea',['../group__recast.html#ga793672ade7833e916dd3c0e7a5bd6cc5',1,'rcMedianFilterWalkableArea(rcContext *ctx, rcCompactHeightfield &chf): RecastArea.cpp'],['../group__recast.html#ga793672ade7833e916dd3c0e7a5bd6cc5',1,'rcMedianFilterWalkableArea(rcContext *ctx, rcCompactHeightfield &chf): RecastArea.cpp']]], + ['rcmergepolymeshdetails_2833',['rcMergePolyMeshDetails',['../group__recast.html#ga6ef022fcf6dabdb0437b979304c0defe',1,'rcMergePolyMeshDetails(rcContext *ctx, rcPolyMeshDetail **meshes, const int nmeshes, rcPolyMeshDetail &mesh): RecastMeshDetail.cpp'],['../group__recast.html#ga6ef022fcf6dabdb0437b979304c0defe',1,'rcMergePolyMeshDetails(rcContext *ctx, rcPolyMeshDetail **meshes, const int nmeshes, rcPolyMeshDetail &mesh): RecastMeshDetail.cpp']]], + ['rcmergepolymeshes_2834',['rcMergePolyMeshes',['../group__recast.html#gaa28c3eb627ca7d96015c7978ff0eb8f7',1,'rcMergePolyMeshes(rcContext *ctx, rcPolyMesh **meshes, const int nmeshes, rcPolyMesh &mesh): RecastMesh.cpp'],['../group__recast.html#gaa28c3eb627ca7d96015c7978ff0eb8f7',1,'rcMergePolyMeshes(rcContext *ctx, rcPolyMesh **meshes, const int nmeshes, rcPolyMesh &mesh): RecastMesh.cpp']]], + ['rcmeshloaderobj_2835',['rcMeshLoaderObj',['../classrcMeshLoaderObj.html#aca2b288ef62db83a15950ef74e38c598',1,'rcMeshLoaderObj']]], + ['rcmin_2836',['rcMin',['../Recast_8h.html#aac83e8b749d8fed2164e00e7e0f43687',1,'Recast.h']]], + ['rcoffsetpoly_2837',['rcOffsetPoly',['../group__recast.html#gad71d03bb37c1a16700d57c5f7dff4057',1,'rcOffsetPoly(const float *verts, const int nverts, const float offset, float *outVerts, const int maxOutVerts): RecastArea.cpp'],['../group__recast.html#gad71d03bb37c1a16700d57c5f7dff4057',1,'rcOffsetPoly(const float *verts, const int nverts, const float offset, float *outVerts, const int maxOutVerts): RecastArea.cpp']]], + ['rcpermvector_2838',['rcPermVector',['../classrcPermVector.html#a4a8e2bd6e71f585760376609218e3862',1,'rcPermVector::rcPermVector()'],['../classrcPermVector.html#ab845b684e91805b000408677bb5f7950',1,'rcPermVector::rcPermVector(rcSizeType size)'],['../classrcPermVector.html#a6bab96097aa5bc2a52ed9db6cf2bfe44',1,'rcPermVector::rcPermVector(rcSizeType size, const T &value)'],['../classrcPermVector.html#a5d48515ae3a5a8e1039d7d50a2c2a983',1,'rcPermVector::rcPermVector(const rcPermVector< T > &other)'],['../classrcPermVector.html#a89cdaf5eed318260c697bdcbe75a82f1',1,'rcPermVector::rcPermVector(const T *begin, const T *end)']]], + ['rcpolymesh_2839',['rcPolyMesh',['../structrcPolyMesh.html#a219af1d7c18ebc7cea0d845c76166123',1,'rcPolyMesh']]], + ['rcpolymeshdetail_2840',['rcPolyMeshDetail',['../structrcPolyMeshDetail.html#ac19c2eb106a9a9bd40e15f16fd847c84',1,'rcPolyMeshDetail']]], + ['rcrasterizetriangle_2841',['rcRasterizeTriangle',['../group__recast.html#ga23a98560fac96a1d2eb9f01c6617e927',1,'rcRasterizeTriangle(rcContext *context, const float *v0, const float *v1, const float *v2, const unsigned char areaID, rcHeightfield &heightfield, const int flagMergeThreshold): RecastRasterization.cpp'],['../group__recast.html#ga23a98560fac96a1d2eb9f01c6617e927',1,'rcRasterizeTriangle(rcContext *context, const float *v0, const float *v1, const float *v2, unsigned char areaID, rcHeightfield &heightfield, int flagMergeThreshold=1): RecastRasterization.cpp']]], + ['rcrasterizetriangles_2842',['rcRasterizeTriangles',['../group__recast.html#gaebc5f38893ede7ee5d107a9ad2dbd369',1,'rcRasterizeTriangles(rcContext *context, const float *verts, const unsigned char *triAreaIDs, const int numTris, rcHeightfield &heightfield, const int flagMergeThreshold): RecastRasterization.cpp'],['../group__recast.html#ga40ce03082b89fd8d890fa65d9b3d64d9',1,'rcRasterizeTriangles(rcContext *context, const float *verts, const int, const unsigned short *tris, const unsigned char *triAreaIDs, const int numTris, rcHeightfield &heightfield, const int flagMergeThreshold): RecastRasterization.cpp'],['../group__recast.html#gadac24191b69876017ed01d85e0a44645',1,'rcRasterizeTriangles(rcContext *context, const float *verts, const int, const int *tris, const unsigned char *triAreaIDs, const int numTris, rcHeightfield &heightfield, const int flagMergeThreshold): RecastRasterization.cpp'],['../group__recast.html#gaebc5f38893ede7ee5d107a9ad2dbd369',1,'rcRasterizeTriangles(rcContext *context, const float *verts, const unsigned char *triAreaIDs, int numTris, rcHeightfield &heightfield, int flagMergeThreshold=1): RecastRasterization.cpp'],['../group__recast.html#ga40ce03082b89fd8d890fa65d9b3d64d9',1,'rcRasterizeTriangles(rcContext *context, const float *verts, int numVerts, const unsigned short *tris, const unsigned char *triAreaIDs, int numTris, rcHeightfield &heightfield, int flagMergeThreshold=1): RecastRasterization.cpp'],['../group__recast.html#gadac24191b69876017ed01d85e0a44645',1,'rcRasterizeTriangles(rcContext *context, const float *verts, int numVerts, const int *tris, const unsigned char *triAreaIDs, int numTris, rcHeightfield &heightfield, int flagMergeThreshold=1): RecastRasterization.cpp']]], + ['rcregion_2843',['rcRegion',['../structrcRegion.html#ac7b24c63bcdaeee325cdc61b4f12f39c',1,'rcRegion']]], + ['rcscopeddelete_2844',['rcScopedDelete',['../classrcScopedDelete.html#a2f096ff87f4d48259dd85360a4218155',1,'rcScopedDelete::rcScopedDelete(T *p)'],['../classrcScopedDelete.html#a24d9238f78295ccbd1050247030e3741',1,'rcScopedDelete::rcScopedDelete()']]], + ['rcscopedtimer_2845',['rcScopedTimer',['../classrcScopedTimer.html#ac75ae8ce09cdb8fc53a994e027e8735f',1,'rcScopedTimer']]], + ['rcsetcon_2846',['rcSetCon',['../group__recast.html#ga8cdbebeeb64de5fc7b4b36281f165fc4',1,'Recast.h']]], + ['rcsqr_2847',['rcSqr',['../Recast_8h.html#a9c26528d4e9f1c67f9a44c37462fd8fd',1,'Recast.h']]], + ['rcsqrt_2848',['rcSqrt',['../Recast_8cpp.html#a27c978b5bf2b857ec501ebd86c4e5981',1,'rcSqrt(float x): Recast.cpp'],['../Recast_8h.html#a27c978b5bf2b857ec501ebd86c4e5981',1,'rcSqrt(float x): Recast.cpp']]], + ['rcswap_2849',['rcSwap',['../Recast_8h.html#a2b7d8e54f72e8918a8b19c73eedf2d46',1,'Recast.h']]], + ['rctempvector_2850',['rcTempVector',['../classrcTempVector.html#ad68fddbb8a49de780a7bc5dfd7ba931b',1,'rcTempVector::rcTempVector(const T *begin, const T *end)'],['../classrcTempVector.html#aa33c5488bd5f8a8b2fc744b664492ec0',1,'rcTempVector::rcTempVector(const rcTempVector< T > &other)'],['../classrcTempVector.html#add0f3a3c33369289dbda6c516dcbf2fe',1,'rcTempVector::rcTempVector(rcSizeType size, const T &value)'],['../classrcTempVector.html#a9e491141c491c6f8d486f0d3b1b8c138',1,'rcTempVector::rcTempVector(rcSizeType size)'],['../classrcTempVector.html#af5ec381dde4823dd11a07e6148a24ecb',1,'rcTempVector::rcTempVector()']]], + ['rcvadd_2851',['rcVadd',['../Recast_8h.html#ac291c13507720ed59b046c7730d1cee7',1,'Recast.h']]], + ['rcvcopy_2852',['rcVcopy',['../Recast_8h.html#a9cbb34310e47a6def133a4b533d073ea',1,'Recast.h']]], + ['rcvcross_2853',['rcVcross',['../Recast_8h.html#a374fcf43c2ade76f195d3089b6964833',1,'Recast.h']]], + ['rcvdist_2854',['rcVdist',['../Recast_8h.html#a0d790d74c5ca7363ba1c0cddc9d2d896',1,'Recast.h']]], + ['rcvdistsqr_2855',['rcVdistSqr',['../Recast_8h.html#aa30870674c29a9777390a289bf862163',1,'Recast.h']]], + ['rcvdot_2856',['rcVdot',['../Recast_8h.html#a0c946b3f2523d0dfb776fc393387279f',1,'Recast.h']]], + ['rcvectorbase_2857',['rcVectorBase',['../classrcVectorBase.html#a8e430f14a32b2995876ac042d32f674b',1,'rcVectorBase::rcVectorBase(const rcVectorBase< T, H > &other)'],['../classrcVectorBase.html#aac2d9f172cfd893f2d9909307d8f0464',1,'rcVectorBase::rcVectorBase(const T *begin, const T *end)'],['../classrcVectorBase.html#abc573f1079adf53bcedca5399229725a',1,'rcVectorBase::rcVectorBase(rcSizeType count, const T &value)'],['../classrcVectorBase.html#a6208e9739c444e7502096879fb5533c8',1,'rcVectorBase::rcVectorBase(rcSizeType count)'],['../classrcVectorBase.html#a82283bb72bbcc6c9c4fada0b12d1594a',1,'rcVectorBase::rcVectorBase()']]], + ['rcvmad_2858',['rcVmad',['../Recast_8h.html#a1a400b0467856a9ab0cbcd8a695484e0',1,'Recast.h']]], + ['rcvmax_2859',['rcVmax',['../Recast_8h.html#a5033980308619575a48cef8f497af3cf',1,'Recast.h']]], + ['rcvmin_2860',['rcVmin',['../Recast_8h.html#ab49a84d90945782df879b0c7e84239db',1,'Recast.h']]], + ['rcvnormalize_2861',['rcVnormalize',['../Recast_8h.html#adad36d3a913091d1288e386192c3c6ab',1,'Recast.h']]], + ['rcvsub_2862',['rcVsub',['../Recast_8h.html#a5d171a02fc4cda0b829b6ff7a4793376',1,'Recast.h']]], + ['read_2863',['read',['../classFileIO.html#a11dcd9d7e8a00db63db74abf437dc4a7',1,'FileIO::read()'],['../structduFileIO.html#af9c0d46a4697c00c657fa75636d0cf67',1,'duFileIO::read()']]], + ['recalc_2864',['recalc',['../classNavMeshTesterTool.html#ae83ed79dc72553b7e14f2fcbaa05d380',1,'NavMeshTesterTool']]], + ['removeadjacentneighbours_2865',['removeAdjacentNeighbours',['../RecastRegion_8cpp.html#acee28f21b593f1ff6a235c444fafc59c',1,'RecastRegion.cpp']]], + ['removeagent_2866',['removeAgent',['../classCrowdToolState.html#a17350c7e2780825c7e0d1ee8d72efc51',1,'CrowdToolState::removeAgent()'],['../classdtCrowd.html#ae958ada7790a718a2887114264010f62',1,'dtCrowd::removeAgent()']]], + ['removealltiles_2867',['removeAllTiles',['../classSample__TileMesh.html#a89b9b604265264545dd4f2e7774bbd38',1,'Sample_TileMesh']]], + ['removedegeneratesegments_2868',['removeDegenerateSegments',['../RecastContour_8cpp.html#a4e79138985b8e7443e813250a17d3f71',1,'RecastContour.cpp']]], + ['removeobstacle_2869',['removeObstacle',['../classdtTileCache.html#afa96b0b04338947f24097a39db50d9f8',1,'dtTileCache']]], + ['removetempobstacle_2870',['removeTempObstacle',['../classSample__TempObstacles.html#aa75dc5c43353654d26725c28d5c70a1a',1,'Sample_TempObstacles']]], + ['removetile_2871',['removeTile',['../classdtNavMesh.html#a5ca09946d00f1cee4987ed5e2f999fdb',1,'dtNavMesh::removeTile()'],['../classdtTileCache.html#a8ead2a72687eec8644f64b3e3cf1942e',1,'dtTileCache::removeTile()'],['../classSample__TileMesh.html#acb20fb7f98bae7e834d9e013a2bfab99',1,'Sample_TileMesh::removeTile()']]], + ['removevertex_2872',['removeVertex',['../DetourTileCacheBuilder_8cpp.html#a5bdb6e945a71779feecea1da449ee446',1,'removeVertex(dtTileCachePolyMesh &mesh, const unsigned short rem, const int maxTris): DetourTileCacheBuilder.cpp'],['../RecastMesh_8cpp.html#ac8ebd1bb6f534d5a37959dcb3321ce7d',1,'removeVertex(rcContext *ctx, rcPolyMesh &mesh, const unsigned short rem, const int maxTris): RecastMesh.cpp']]], + ['rendercachedtile_2873',['renderCachedTile',['../classSample__TempObstacles.html#a7fa8a7f3d017bd06e1d0900d33be8289',1,'Sample_TempObstacles']]], + ['rendercachedtileoverlay_2874',['renderCachedTileOverlay',['../classSample__TempObstacles.html#ac46b5df666eee29f76a1e0a2fa16651b',1,'Sample_TempObstacles']]], + ['renderoverlaytoolstates_2875',['renderOverlayToolStates',['../classSample.html#a3f94bf8837f6fe91430508b1cd6dc33e',1,'Sample']]], + ['rendertoolstates_2876',['renderToolStates',['../classSample.html#ae660249e6e9f94b1606e617cf8c3a7a0',1,'Sample']]], + ['replaceneighbour_2877',['replaceNeighbour',['../RecastRegion_8cpp.html#a5b2ece2d7931891cdb3fe0b7b41de1b4',1,'RecastRegion.cpp']]], + ['request_2878',['request',['../classdtPathQueue.html#acc95d9bf0e1b12543be41c3ca938e994',1,'dtPathQueue']]], + ['requestmovetarget_2879',['requestMoveTarget',['../classdtCrowd.html#aa30c34a65535118989ccd86542e96797',1,'dtCrowd']]], + ['requestmovevelocity_2880',['requestMoveVelocity',['../classdtCrowd.html#a4fe7e43e63d857e77f9db1f20b904806',1,'dtCrowd']]], + ['reserve_2881',['reserve',['../classrcVectorBase.html#a1177670bcc87add05f0e060e93b5e6bd',1,'rcVectorBase']]], + ['reset_2882',['reset',['../classdtPathCorridor.html#abe057e7b5e1d6677e3d9eadb558df2b0',1,'dtPathCorridor::reset()'],['../classdtLocalBoundary.html#a2a3911b20edb27140857289dd2eea76c',1,'dtLocalBoundary::reset()'],['../classdtObstacleAvoidanceQuery.html#a993c62548ead013ac1cb622c43c175ad',1,'dtObstacleAvoidanceQuery::reset()'],['../classNavMeshTileTool.html#aa53d119041aa124651928b09a99adbc6',1,'NavMeshTileTool::reset()'],['../classTempObstacleCreateTool.html#a8977e144279facb03ae5bbceb6102b5d',1,'TempObstacleCreateTool::reset()'],['../classTempObstacleHilightTool.html#a18662a3c7ada140b16aa40cdf678caf5',1,'TempObstacleHilightTool::reset()'],['../structLinearAllocator.html#acc5d12bb6d334626d7af0aecdbf163ec',1,'LinearAllocator::reset()'],['../structSampleToolState.html#aa2dbe87e98b6544ac923398ec93184cf',1,'SampleToolState::reset()'],['../structSampleTool.html#ac861b5b1d9c1b5be2be6059c1d842cb8',1,'SampleTool::reset()'],['../classOffMeshConnectionTool.html#a8c283c43fa59b196e16440b177cefcfe',1,'OffMeshConnectionTool::reset()'],['../classNavMeshTesterTool.html#a0706dadffb0df9078b205469d62d6d92',1,'NavMeshTesterTool::reset()'],['../classNavMeshPruneTool.html#a97fbf2b28e1c1df8eb3a2005d688009f',1,'NavMeshPruneTool::reset()'],['../classCrowdTool.html#ad997d15d14cf4815d57f843186faeba7',1,'CrowdTool::reset()'],['../classCrowdToolState.html#a759f52b7630a3799e6c616ab28b9e2df',1,'CrowdToolState::reset()'],['../classConvexVolumeTool.html#a1d76b864c30767fc81ade0dbaa44e6af',1,'ConvexVolumeTool::reset()'],['../structdtTileCacheAlloc.html#a04f61863b2c6a81e1fbfd96dd519a733',1,'dtTileCacheAlloc::reset()'],['../classdtObstacleAvoidanceDebugData.html#a2e7d802ea941ad37d5244af91c47f0c9',1,'dtObstacleAvoidanceDebugData::reset()']]], + ['resetcommonsettings_2883',['resetCommonSettings',['../classSample.html#a2b527228b469ae5d437e6f0a1caf958d',1,'Sample']]], + ['resetgfxcmdqueue_2884',['resetGfxCmdQueue',['../imgui_8cpp.html#a7b4f83dac967ed4fec237068a1ad2760',1,'imgui.cpp']]], + ['resetlog_2885',['resetLog',['../classrcContext.html#a68403737730ee112c523890a9fdc237d',1,'rcContext']]], + ['resetmovetarget_2886',['resetMoveTarget',['../classdtCrowd.html#a81405dee71882d0a21a4defd6087a270',1,'dtCrowd']]], + ['resettimers_2887',['resetTimers',['../classrcContext.html#a2fcc58bb1e29bbb9a7dfb834efff4a6d',1,'rcContext']]], + ['resettoolstates_2888',['resetToolStates',['../classSample.html#acfb792ed987cf946d264461a04683ff7',1,'Sample']]], + ['resize_2889',['resize',['../structLinearAllocator.html#accc8b1eeda78503beeb05db04bedd4b9',1,'LinearAllocator::resize()'],['../classrcVectorBase.html#a7b39b29cfdec8a9cd2aca4a7f0f7a675',1,'rcVectorBase::resize(rcSizeType size)'],['../classrcVectorBase.html#a1cb229e5cbe8e798fe216393f2f0f327',1,'rcVectorBase::resize(rcSizeType size, const T &value)'],['../classrcIntArray.html#a3b07043775a4b76e7017c645dd9a7590',1,'rcIntArray::resize()']]], + ['restoretilestate_2890',['restoreTileState',['../classdtNavMesh.html#aef336a67e552a9d031d669ec84029fb8',1,'dtNavMesh']]], + ['rgba_2891',['RGBA',['../imguiRenderGL_8cpp.html#a413aaddb1ddea117f86218f2ca0234fe',1,'imguiRenderGL.cpp']]] +]; diff --git a/search/groups_0.html b/search/groups_0.html new file mode 100644 index 00000000..c600b497 --- /dev/null +++ b/search/groups_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/groups_0.js b/search/groups_0.js new file mode 100644 index 00000000..065f8831 --- /dev/null +++ b/search/groups_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['crowd_3748',['Crowd',['../group__crowd.html',1,'']]] +]; diff --git a/search/groups_1.html b/search/groups_1.html new file mode 100644 index 00000000..2eb3550d --- /dev/null +++ b/search/groups_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/groups_1.js b/search/groups_1.js new file mode 100644 index 00000000..2a782ab9 --- /dev/null +++ b/search/groups_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['detour_3749',['Detour',['../group__detour.html',1,'']]] +]; diff --git a/search/groups_2.html b/search/groups_2.html new file mode 100644 index 00000000..12f4af7a --- /dev/null +++ b/search/groups_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/groups_2.js b/search/groups_2.js new file mode 100644 index 00000000..e92b29cc --- /dev/null +++ b/search/groups_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['recast_3750',['Recast',['../group__recast.html',1,'']]] +]; diff --git a/search/mag_sel.svg b/search/mag_sel.svg new file mode 100644 index 00000000..03626f64 --- /dev/null +++ b/search/mag_sel.svg @@ -0,0 +1,74 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/search/nomatches.html b/search/nomatches.html new file mode 100644 index 00000000..2b9360b6 --- /dev/null +++ b/search/nomatches.html @@ -0,0 +1,13 @@ + + + + + + + + +
    +
    No Matches
    +
    + + diff --git a/search/pages_0.html b/search/pages_0.html new file mode 100644 index 00000000..8517b48f --- /dev/null +++ b/search/pages_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/pages_0.js b/search/pages_0.js new file mode 100644 index 00000000..46fad71a --- /dev/null +++ b/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['contributing_20to_20recast_20and_20detour_3751',['Contributing to Recast and Detour',['../md_CONTRIBUTING.html',1,'']]] +]; diff --git a/search/pages_1.html b/search/pages_1.html new file mode 100644 index 00000000..a0fb6796 --- /dev/null +++ b/search/pages_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/pages_1.js b/search/pages_1.js new file mode 100644 index 00000000..afb759d9 --- /dev/null +++ b/search/pages_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['recast_20_26_20detour_3752',['Recast & Detour',['../index.html',1,'']]], + ['recast_20development_20roadmap_3753',['Recast Development Roadmap',['../md_Roadmap.html',1,'']]] +]; diff --git a/search/related_0.html b/search/related_0.html new file mode 100644 index 00000000..506aaecc --- /dev/null +++ b/search/related_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/related_0.js b/search/related_0.js new file mode 100644 index 00000000..f7c45b32 --- /dev/null +++ b/search/related_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['dtnavmeshquery_3738',['dtNavMeshQuery',['../classdtNavMesh.html#a43ead93bfa93182d47caf9c6be597376',1,'dtNavMesh']]] +]; diff --git a/search/search.css b/search/search.css new file mode 100644 index 00000000..9074198f --- /dev/null +++ b/search/search.css @@ -0,0 +1,257 @@ +/*---------------- Search Box */ + +#MSearchBox { + white-space : nowrap; + background: white; + border-radius: 0.65em; + box-shadow: inset 0.5px 0.5px 3px 0px #555; + z-index: 102; +} + +#MSearchBox .left { + display: inline-block; + vertical-align: middle; + height: 1.4em; +} + +#MSearchSelect { + display: inline-block; + vertical-align: middle; + height: 1.4em; + padding: 0 0 0 0.3em; + margin: 0; +} + +#MSearchField { + display: inline-block; + vertical-align: middle; + width: 7.5em; + height: 1.1em; + margin: 0 0.15em; + padding: 0; + line-height: 1em; + border:none; + color: #909090; + outline: none; + font-family: Arial, Verdana, sans-serif; + -webkit-border-radius: 0px; + border-radius: 0px; + background: none; +} + + +#MSearchBox .right { + display: inline-block; + vertical-align: middle; + width: 1.4em; + height: 1.4em; +} + +#MSearchClose { + display: none; + font-size: inherit; + background : none; + border: none; + margin: 0; + padding: 0; + outline: none; + +} + +#MSearchCloseImg { + height: 1.4em; + padding: 0.3em; + margin: 0; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +#main-menu > li:last-child { + /* This
  • object is the parent of the search bar */ + display: flex; + justify-content: center; + align-items: center; + height: 36px; + margin-right: 1em; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; + z-index:10000; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; + font-family: Arial, Verdana, sans-serif; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; + font-family: Arial, Verdana, sans-serif; +} + +.SRResult { + display: none; +} + +div.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/search/search.js b/search/search.js new file mode 100644 index 00000000..fb226f73 --- /dev/null +++ b/search/search.js @@ -0,0 +1,816 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + this.extension; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches' + this.extension; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline-block'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; e + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/typedefs_0.js b/search/typedefs_0.js new file mode 100644 index 00000000..c7c95e08 --- /dev/null +++ b/search/typedefs_0.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['dtallocfunc_3543',['dtAllocFunc',['../DetourAlloc_8h.html#a5ff0ad0a4309278f973feae6c4193a3c',1,'DetourAlloc.h']]], + ['dtassertfailfunc_3544',['dtAssertFailFunc',['../DetourAssert_8h.html#ad95d59f19355eca1ab12d2773d36455c',1,'DetourAssert.h']]], + ['dtcompressedtileref_3545',['dtCompressedTileRef',['../DetourTileCache_8h.html#ae3892eb9546be426b84e906846ada2f6',1,'DetourTileCache.h']]], + ['dtfreefunc_3546',['dtFreeFunc',['../DetourAlloc_8h.html#a15d9afa65e6a83a6188c7efa3fa50376',1,'DetourAlloc.h']]], + ['dtnodeindex_3547',['dtNodeIndex',['../DetourNode_8h.html#adc6b682c3b5770de3190074b6a27c543',1,'DetourNode.h']]], + ['dtobstacleref_3548',['dtObstacleRef',['../DetourTileCache_8h.html#a98ea3fd044afb85907f03e6de505fa75',1,'DetourTileCache.h']]], + ['dtpathqueueref_3549',['dtPathQueueRef',['../DetourPathQueue_8h.html#ab97a1eb15082a50b8b7b781a715f5f74',1,'DetourPathQueue.h']]], + ['dtpolyref_3550',['dtPolyRef',['../group__detour.html#gab4e0b2257a670c1a800057999612b466',1,'DetourNavMesh.h']]], + ['dtstatus_3551',['dtStatus',['../DetourStatus_8h.html#a4f23c0dcf28d9e299a4aa06af5b9ada3',1,'DetourStatus.h']]], + ['dttileref_3552',['dtTileRef',['../group__detour.html#ga7ea56cfe01bd7c34a81d821d94cbeea5',1,'DetourNavMesh.h']]] +]; diff --git a/search/typedefs_1.html b/search/typedefs_1.html new file mode 100644 index 00000000..46cf01e6 --- /dev/null +++ b/search/typedefs_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/typedefs_1.js b/search/typedefs_1.js new file mode 100644 index 00000000..cee829cd --- /dev/null +++ b/search/typedefs_1.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['rcallocfunc_3553',['rcAllocFunc',['../RecastAlloc_8h.html#a4f8483e0c7c0a3e42ca98cd75a5cec39',1,'RecastAlloc.h']]], + ['rcassertfailfunc_3554',['rcAssertFailFunc',['../RecastAssert_8h.html#a56d4bc754448f291c6bf5f444c3c11e3',1,'RecastAssert.h']]], + ['rcfreefunc_3555',['rcFreeFunc',['../RecastAlloc_8h.html#a4b9eeb5aeec74bff1afc64fdf8e72764',1,'RecastAlloc.h']]], + ['rcsizetype_3556',['rcSizeType',['../RecastAlloc_8h.html#a44d212414873bc2fc522d9e6493a4c36',1,'RecastAlloc.h']]] +]; diff --git a/search/typedefs_2.html b/search/typedefs_2.html new file mode 100644 index 00000000..6835ee65 --- /dev/null +++ b/search/typedefs_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/typedefs_2.js b/search/typedefs_2.js new file mode 100644 index 00000000..41fdc57b --- /dev/null +++ b/search/typedefs_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['size_5ftype_3557',['size_type',['../classrcVectorBase.html#a5ba3079d15e5dd35892d60a204284d55',1,'rcVectorBase']]] +]; diff --git a/search/typedefs_3.html b/search/typedefs_3.html new file mode 100644 index 00000000..01700476 --- /dev/null +++ b/search/typedefs_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/typedefs_3.js b/search/typedefs_3.js new file mode 100644 index 00000000..420c986b --- /dev/null +++ b/search/typedefs_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['timeval_3558',['TimeVal',['../PerfTimer_8h.html#a2036838e11aa9bd864a72295e6017d52',1,'PerfTimer.h']]] +]; diff --git a/search/typedefs_4.html b/search/typedefs_4.html new file mode 100644 index 00000000..81466a5d --- /dev/null +++ b/search/typedefs_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/typedefs_4.js b/search/typedefs_4.js new file mode 100644 index 00000000..19994cd4 --- /dev/null +++ b/search/typedefs_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['value_5ftype_3559',['value_type',['../classrcVectorBase.html#a9164d8fc0c6eb55bd32b8a31bd857f66',1,'rcVectorBase']]] +]; diff --git a/search/variables_0.html b/search/variables_0.html new file mode 100644 index 00000000..1e477c08 --- /dev/null +++ b/search/variables_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_0.js b/search/variables_0.js new file mode 100644 index 00000000..36d3649b --- /dev/null +++ b/search/variables_0.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['active_3024',['active',['../structdtCrowdAgentAnimation.html#a063331d0a657ca1e138dde68ad6375f4',1,'dtCrowdAgentAnimation::active()'],['../structGuiState.html#a8182ed7ea717727bd7ae4b6bd906f89d',1,'GuiState::active()'],['../structdtCrowdAgent.html#a6473f48354abf6f46f5b4d7ead9bca20',1,'dtCrowdAgent::active()']]], + ['adaptivedepth_3025',['adaptiveDepth',['../structdtObstacleAvoidanceParams.html#a673b877b64fb47f5bb30f44eae61e5b2',1,'dtObstacleAvoidanceParams']]], + ['adaptivedivs_3026',['adaptiveDivs',['../structdtObstacleAvoidanceParams.html#a8725d0bb382f789d2dec1d9a0f28187f',1,'dtObstacleAvoidanceParams']]], + ['adaptiverings_3027',['adaptiveRings',['../structdtObstacleAvoidanceParams.html#ae463a1999935511e7a0467ccedcaff6d',1,'dtObstacleAvoidanceParams']]], + ['agentheight_3028',['agentHeight',['../structBuildSettings.html#a0c915a250455abe4d5bbfe8411533fe8',1,'BuildSettings']]], + ['agentmaxclimb_3029',['agentMaxClimb',['../structBuildSettings.html#a83e53cfc86be5ed82d845ef9487f963e',1,'BuildSettings']]], + ['agentmaxslope_3030',['agentMaxSlope',['../structBuildSettings.html#a5b8f1ba1531e71e839b1a5f340a674e4',1,'BuildSettings']]], + ['agentradius_3031',['agentRadius',['../structBuildSettings.html#a931732fe8e5fd099eff774610f315a29',1,'BuildSettings']]], + ['align_3032',['align',['../structimguiGfxText.html#aeed4f7559be7abbfa0b5a49adaedbd0f',1,'imguiGfxText']]], + ['alloc_3033',['alloc',['../structNavMeshTileBuildContext.html#a85d141fbb7dc5198ff2fdd211e3bec69',1,'NavMeshTileBuildContext']]], + ['area_3034',['area',['../structdtLayerMonotoneRegion.html#a1ac6f67259d70c25d55f1c0fc05077bf',1,'dtLayerMonotoneRegion::area()'],['../structConvexVolume.html#ad09f975cd0398b4503c90c00f2d20371',1,'ConvexVolume::area()'],['../structrcContour.html#a1052e9ac2da6e515cbb12908a58fca78',1,'rcContour::area()'],['../structrcSpan.html#a8bf133cf1e7ccf3d69f1ba365cb0c1ca',1,'rcSpan::area()'],['../structdtTileCacheContour.html#a3ab1d658278d4dcc482dcb7f17be6b3b',1,'dtTileCacheContour::area()'],['../structdtPolyState.html#afd684e7c95d1048ace6dc198457b7c69',1,'dtPolyState::area()']]], + ['area_5fheader_3035',['AREA_HEADER',['../imgui_8cpp.html#a9f1d65be567b55080074ad626c08cf0c',1,'imgui.cpp']]], + ['areaandtype_3036',['areaAndtype',['../structdtPoly.html#af3caa090f5d4776766bf56f82c27a899',1,'dtPoly']]], + ['areaid_3037',['areaId',['../structdtLayerMonotoneRegion.html#a9e0572100cbcf847291716b3b1008e6d',1,'dtLayerMonotoneRegion::areaId()'],['../structGuiState.html#a335822c00941a3b0ac836338fdad5af5',1,'GuiState::areaId()']]], + ['areas_3038',['areas',['../structdtTileCacheLayer.html#afeb17050bbd75d6c31fc4601dcff8045',1,'dtTileCacheLayer::areas()'],['../structdtTileCachePolyMesh.html#a6536adffe42fc5c4c6591347f1af7b0c',1,'dtTileCachePolyMesh::areas()'],['../structrcCompactHeightfield.html#abcdf0d737779779376bce23d1c0be910',1,'rcCompactHeightfield::areas()'],['../structrcHeightfieldLayer.html#a82606c7d0d590c924d49e84698452353',1,'rcHeightfieldLayer::areas()'],['../structrcPolyMesh.html#aa08d7da4e0c97f57151f93d9a7d46bde',1,'rcPolyMesh::areas()']]], + ['areatype_3039',['areaType',['../structrcRegion.html#a35bfc8470602b06a1a09c519582b821a',1,'rcRegion']]] +]; diff --git a/search/variables_1.html b/search/variables_1.html new file mode 100644 index 00000000..ea73d9a4 --- /dev/null +++ b/search/variables_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_1.js b/search/variables_1.js new file mode 100644 index 00000000..b90652e0 --- /dev/null +++ b/search/variables_1.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['base_3040',['base',['../structrcLayerRegion.html#ad49bf74284d20c2d7c3ef56f6b4c589f',1,'rcLayerRegion']]], + ['bmax_3041',['bmax',['../structdtLink.html#ac8a3afc341614707afb915d2822ffdc7',1,'dtLink::bmax()'],['../structBoundsItem.html#af82c7df2f187f99e29ead8ccc049409f',1,'BoundsItem::bmax()'],['../structrcChunkyTriMeshNode.html#a8bf02576089ffe146ce180799b313fb1',1,'rcChunkyTriMeshNode::bmax()'],['../structrcPolyMesh.html#aabdf91f888b1c2dacd077a339a6df3a4',1,'rcPolyMesh::bmax()'],['../structrcContourSet.html#ae756cdf05388b7455768011841c0f6a1',1,'rcContourSet::bmax()'],['../structrcHeightfieldLayer.html#a11c82fbf9e04182a0be7b6c877f7029c',1,'rcHeightfieldLayer::bmax()'],['../structrcCompactHeightfield.html#a5d175954135840be9d4e4fc3b36d8067',1,'rcCompactHeightfield::bmax()'],['../structrcHeightfield.html#a4da9e52fc907522aae0364fad9e865f7',1,'rcHeightfield::bmax()'],['../structrcConfig.html#ab33657eac12a119d583422c4c00c6892',1,'rcConfig::bmax()'],['../structdtTileCacheLayerHeader.html#abd60dc6572c7b80e43985c75b5477eee',1,'dtTileCacheLayerHeader::bmax()'],['../structdtObstacleBox.html#a69fba4f382232b19086228feda8e4cf6',1,'dtObstacleBox::bmax()'],['../structBVItem.html#a93bd79d5cff1032583c104c06c1496ec',1,'BVItem::bmax()'],['../structdtNavMeshCreateParams.html#a980d42a666c5a707ffccff68e0b4a2ae',1,'dtNavMeshCreateParams::bmax()'],['../structdtMeshHeader.html#a81fc3bf970078d4c4411919204f9ce10',1,'dtMeshHeader::bmax()'],['../structdtBVNode.html#aba981174ad61a601f743d986142ee504',1,'dtBVNode::bmax()']]], + ['bmin_3042',['bmin',['../structBoundsItem.html#afae2ec3ddbeb2a0c5080b76c97385773',1,'BoundsItem::bmin()'],['../structrcChunkyTriMeshNode.html#a948fbc71343377493524d56fd67ba937',1,'rcChunkyTriMeshNode::bmin()'],['../structrcPolyMesh.html#a63625dd55ca66c97ca29a87a5455cc27',1,'rcPolyMesh::bmin()'],['../structrcContourSet.html#a6528f1d81286f5bff26ae217c33da654',1,'rcContourSet::bmin()'],['../structrcHeightfieldLayer.html#aaca8964dd736b356e4ee2c0dcd4b1208',1,'rcHeightfieldLayer::bmin()'],['../structdtObstacleBox.html#ac0fa4403899b528ae6c2c8b7efcdff51',1,'dtObstacleBox::bmin()'],['../structrcCompactHeightfield.html#ae73d55ffeafd659c189bf14e440b902f',1,'rcCompactHeightfield::bmin()'],['../structrcHeightfield.html#a0158658d3487f7531364a84887fc2bce',1,'rcHeightfield::bmin()'],['../structdtTileCacheLayerHeader.html#a83848b7b2936f0cc2c029351b0f4251a',1,'dtTileCacheLayerHeader::bmin()'],['../structBVItem.html#a40e595a0791532d1f41ada14843bc087',1,'BVItem::bmin()'],['../structdtNavMeshCreateParams.html#a31a2596a43445e9219666d44cb5e32ab',1,'dtNavMeshCreateParams::bmin()'],['../structdtMeshHeader.html#ac1a8890add6666f54407cb8e1abc1179',1,'dtMeshHeader::bmin()'],['../structdtBVNode.html#a4f03eda2f4ae838eed627db41ebea292',1,'dtBVNode::bmin()'],['../structdtLink.html#a0123fe6375fa414a48b2e73c3b23a1ce',1,'dtLink::bmin()'],['../structrcConfig.html#afb77489af4eb0cd75ceb8b46db2c4341',1,'rcConfig::bmin()']]], + ['bordersize_3043',['borderSize',['../structrcContourSet.html#adb04d1277e815ed89b156714bad3c17a',1,'rcContourSet::borderSize()'],['../structrcPolyMesh.html#a9f367a88b878ce8029b9709fb27b878b',1,'rcPolyMesh::borderSize()'],['../structrcCompactHeightfield.html#a675418d81ce6ade83fbd18be2dfd1647',1,'rcCompactHeightfield::borderSize()'],['../structrcConfig.html#a473ec0f080862d2593099d8ee207da57',1,'rcConfig::borderSize()']]], + ['boundary_3044',['boundary',['../structdtCrowdAgent.html#a68fc2f237bd2ac88e4aed6afe6a77951',1,'dtCrowdAgent']]], + ['box_3045',['box',['../structdtTileCacheObstacle.html#a0e31025b2911c006f4a16d9f634b812a',1,'dtTileCacheObstacle']]], + ['buffer_3046',['buffer',['../structLinearAllocator.html#afe41eebd4eb6b666f7154c86bd66fb81',1,'LinearAllocator']]], + ['buildbvtree_3047',['buildBvTree',['../structdtNavMeshCreateParams.html#a3c0dab8176f42294bd87c07a4fcce519',1,'dtNavMeshCreateParams']]], + ['button_5fheight_3048',['BUTTON_HEIGHT',['../imgui_8cpp.html#a83f45a813d7a4cde3f8a9bb8a5a7d163',1,'imgui.cpp']]], + ['bvnodecount_3049',['bvNodeCount',['../structdtMeshHeader.html#a266e9ad927fe5cbbd3c3c0ffd4e9f5f0',1,'dtMeshHeader']]], + ['bvquantfactor_3050',['bvQuantFactor',['../structdtMeshHeader.html#ab415943e0064a6ed0501e8e7da0e5d26',1,'dtMeshHeader']]], + ['bvtree_3051',['bvTree',['../structdtMeshTile.html#a1e1f626924faa6974363c142c40e632e',1,'dtMeshTile']]] +]; diff --git a/search/variables_10.html b/search/variables_10.html new file mode 100644 index 00000000..dc9920b6 --- /dev/null +++ b/search/variables_10.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_10.js b/search/variables_10.js new file mode 100644 index 00000000..9e2610ff --- /dev/null +++ b/search/variables_10.js @@ -0,0 +1,23 @@ +var searchData= +[ + ['sallocfunc_3445',['sAllocFunc',['../DetourAlloc_8cpp.html#a0f08afad9e7466f3ccbddf92700b5342',1,'DetourAlloc.cpp']]], + ['salt_3446',['salt',['../structdtCompressedTile.html#a9df1de3328c707f4fb75d15522ec8ec3',1,'dtCompressedTile::salt()'],['../structdtMeshTile.html#a21bccdc0f5d778d886eaa5aae72b400f',1,'dtMeshTile::salt()'],['../structdtTileCacheObstacle.html#aaed7d123d0feb3efcfa735968c478fe3',1,'dtTileCacheObstacle::salt()']]], + ['sassertfailfunc_3447',['sAssertFailFunc',['../DetourAssert_8cpp.html#a7bbc68bcf03ba893c2d7e78eb46e9dd7',1,'DetourAssert.cpp']]], + ['scroll_3448',['scroll',['../structGuiState.html#aac5d3f5ae7a567ab5f5fd18d4b2c3d6b',1,'GuiState']]], + ['scroll_5farea_5fpadding_3449',['SCROLL_AREA_PADDING',['../imgui_8cpp.html#a9834182fe5c469ee992dc99bc00ab90e',1,'imgui.cpp']]], + ['separationweight_3450',['separationWeight',['../structdtCrowdAgentParams.html#a616534204934492b4f3bc7eb2ff49a0b',1,'dtCrowdAgentParams']]], + ['sfreefunc_3451',['sFreeFunc',['../DetourAlloc_8cpp.html#a8175e527667d6a55c4acd7c573ea2ccb',1,'DetourAlloc.cpp']]], + ['side_3452',['side',['../structdtLink.html#a62d34d0e6350fe9790e91ec287bc1423',1,'dtLink::side()'],['../structdtOffMeshConnection.html#a8c193e7df9998a218be48a39b2be1488',1,'dtOffMeshConnection::side()']]], + ['slider_5fheight_3453',['SLIDER_HEIGHT',['../imgui_8cpp.html#a75d709f0fb77b92df65419efafffca99',1,'imgui.cpp']]], + ['slider_5fmarker_5fwidth_3454',['SLIDER_MARKER_WIDTH',['../imgui_8cpp.html#add618dc9080f5b272f78837c844c933b',1,'imgui.cpp']]], + ['smax_3455',['smax',['../structrcSpan.html#a6bca504828087023719794cce9a5f0ab',1,'rcSpan']]], + ['smin_3456',['smin',['../structrcSpan.html#aba70c34dc95c49c4b3142b7d9ca9d359',1,'rcSpan']]], + ['solid_3457',['solid',['../structRasterizationContext.html#aaba97d97599e77368460046203b516e1',1,'RasterizationContext']]], + ['spancount_3458',['spanCount',['../structrcCompactHeightfield.html#a7206a15efe8a9e2a8e28b8c7d89b45bd',1,'rcCompactHeightfield::spanCount()'],['../structrcRegion.html#ad9093323ce31904ef59709b0664f31d3',1,'rcRegion::spanCount()']]], + ['spans_3459',['spans',['../structrcCompactHeightfield.html#a20f5a93095dfd199b0a9baad4127bec3',1,'rcCompactHeightfield::spans()'],['../structrcHeightfield.html#a0fea35ab8365dfcb38c63566abf7f261',1,'rcHeightfield::spans()']]], + ['srecastallocfunc_3460',['sRecastAllocFunc',['../RecastAlloc_8cpp.html#af1b06b448acf4005967583e7dc905a66',1,'RecastAlloc.cpp']]], + ['srecastassertfailfunc_3461',['sRecastAssertFailFunc',['../RecastAssert_8cpp.html#a2040287091fff4c9733a932d37f978b7',1,'RecastAssert.cpp']]], + ['srecastfreefunc_3462',['sRecastFreeFunc',['../RecastAlloc_8cpp.html#a64d9d48dc6a273593cf8034ab2e303de',1,'RecastAlloc.cpp']]], + ['startpos_3463',['startPos',['../structdtCrowdAgentAnimation.html#a738a08a7b93b678252680f453e4df851',1,'dtCrowdAgentAnimation']]], + ['state_3464',['state',['../structdtTileCacheObstacle.html#a43d1c2aa32d48a2a88713ca3f62e0512',1,'dtTileCacheObstacle::state()'],['../structdtCrowdAgent.html#a091dd7851f63dbe00a59b54072152d5f',1,'dtCrowdAgent::state()'],['../structdtNode.html#a9ac33b320a8736d5d8f3f109b1b50bf1',1,'dtNode::state()']]] +]; diff --git a/search/variables_11.html b/search/variables_11.html new file mode 100644 index 00000000..704bcb18 --- /dev/null +++ b/search/variables_11.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_11.js b/search/variables_11.js new file mode 100644 index 00000000..da0db1d5 --- /dev/null +++ b/search/variables_11.js @@ -0,0 +1,39 @@ +var searchData= +[ + ['t_3465',['t',['../structdtCrowdAgentAnimation.html#a96b279c54ccfe7d77cc576edbff7298e',1,'dtCrowdAgentAnimation::t()'],['../structdtRaycastHit.html#a890c2216ded62ca0932cd6ee27cc7ea9',1,'dtRaycastHit::t()']]], + ['targetpathqref_3466',['targetPathqRef',['../structdtCrowdAgent.html#a1e0f72d182c9cf391300840ab293976e',1,'dtCrowdAgent']]], + ['targetpos_3467',['targetPos',['../structdtCrowdAgent.html#a118c511ca6807b818da75bcd320fb21f',1,'dtCrowdAgent']]], + ['targetref_3468',['targetRef',['../structdtCrowdAgent.html#a0f33325c1c0bc4050eefe2e0690f84c6',1,'dtCrowdAgent']]], + ['targetreplan_3469',['targetReplan',['../structdtCrowdAgent.html#a6300c91130b2690ac64e327e8909d2c8',1,'dtCrowdAgent']]], + ['targetreplantime_3470',['targetReplanTime',['../structdtCrowdAgent.html#a58585d67fe18e987898f2d42405608b4',1,'dtCrowdAgent']]], + ['targetstate_3471',['targetState',['../structdtCrowdAgent.html#a221a6da715a7e67bbe39e8263ed39948',1,'dtCrowdAgent']]], + ['temp_5fcoord_5fcount_3472',['TEMP_COORD_COUNT',['../imguiRenderGL_8cpp.html#ae718683d9ce63c75123ec0c2305c006b',1,'imguiRenderGL.cpp']]], + ['text_3473',['text',['../structimguiGfxText.html#a46d1f241b44a57cfc99607b81e97f5b5',1,'imguiGfxText::text()'],['../structimguiGfxCmd.html#aa97c4773b8fc18c02f64d6db0e555d56',1,'imguiGfxCmd::text()']]], + ['text_5fheight_3474',['TEXT_HEIGHT',['../imgui_8cpp.html#aba34c2b3d4cfdc352d28fde0d1ca54cd',1,'imgui.cpp']]], + ['text_5fpool_5fsize_3475',['TEXT_POOL_SIZE',['../imgui_8cpp.html#aef2d6f9e49bc61336d50b80f94138977',1,'imgui.cpp']]], + ['tilecacheset_5fmagic_3476',['TILECACHESET_MAGIC',['../Sample__TempObstacles_8cpp.html#a877a1485eecb109f3d6431356bf30e94',1,'Sample_TempObstacles.cpp']]], + ['tilecacheset_5fversion_3477',['TILECACHESET_VERSION',['../Sample__TempObstacles_8cpp.html#a95caba88445c1ffa1faa5c9b931aba69',1,'Sample_TempObstacles.cpp']]], + ['tileheight_3478',['tileHeight',['../structdtNavMeshParams.html#acca8c83bab38cd8c7da8f10103e2c45a',1,'dtNavMeshParams']]], + ['tilelayer_3479',['tileLayer',['../structdtNavMeshCreateParams.html#a537e0bee7d1ddf992dc540d46fa337de',1,'dtNavMeshCreateParams']]], + ['tileref_3480',['tileRef',['../structNavMeshTileHeader.html#a8e3d1a3dfbc6517021c1bc5c796ac1d1',1,'NavMeshTileHeader::tileRef()'],['../structTileCacheTileHeader.html#aee23884943ee90ca7fcbe553ca064734',1,'TileCacheTileHeader::tileRef()']]], + ['tiles_3481',['tiles',['../structRasterizationContext.html#aec39fae70c6dc870ea044eb2c8bf6c05',1,'RasterizationContext']]], + ['tilesize_3482',['tileSize',['../structBuildSettings.html#ab0fdeb8745ad42637b9c4159d5d0b673',1,'BuildSettings::tileSize()'],['../structrcConfig.html#ac011c6166e1c722dd07427a7c301a601',1,'rcConfig::tileSize()']]], + ['tilewidth_3483',['tileWidth',['../structdtNavMeshParams.html#a53836f7c15d5e483209e01e9e1386e7e',1,'dtNavMeshParams']]], + ['tilex_3484',['tileX',['../structdtNavMeshCreateParams.html#ac3cd5e08f533bfd9767f70dd02f1cb33',1,'dtNavMeshCreateParams']]], + ['tiley_3485',['tileY',['../structdtNavMeshCreateParams.html#afc178088f515787cc8dec214559358e9',1,'dtNavMeshCreateParams']]], + ['tlayer_3486',['tlayer',['../structdtTileCacheLayerHeader.html#a73bd5f743faae4a1c485835d97fb7fc1',1,'dtTileCacheLayerHeader']]], + ['tmax_3487',['tmax',['../structdtCrowdAgentAnimation.html#a6895f4df2e560189e66fac03ca02e2ba',1,'dtCrowdAgentAnimation::tmax()'],['../structdtSegInterval.html#a4463687b08087da04f076ec79beb5c03',1,'dtSegInterval::tmax()']]], + ['tmin_3488',['tmin',['../structdtSegInterval.html#a93cb86ab8a97836ee145bb03bab7ed89',1,'dtSegInterval']]], + ['top_3489',['top',['../structLinearAllocator.html#a3f04785ab8a03ae9be0042d3c5eb059e',1,'LinearAllocator']]], + ['topologyopttime_3490',['topologyOptTime',['../structdtCrowdAgent.html#a6c9330e499ceb3df18e047130a29f8f8',1,'dtCrowdAgent']]], + ['total_3491',['total',['../structdtNode.html#aed27a8d0170505d1dba0cd3201bc6536',1,'dtNode']]], + ['touch_3492',['touch',['../structdtObstacleSegment.html#a26ef06bc8db4ec6ceac546dd4d34da83',1,'dtObstacleSegment']]], + ['touched_3493',['touched',['../structdtTileCacheObstacle.html#a33a2a7301e5836a84af09074a8da8fe6',1,'dtTileCacheObstacle']]], + ['triareas_3494',['triareas',['../structRasterizationContext.html#a7ddb6987ff79542ff58f837ee02fea9e',1,'RasterizationContext']]], + ['tribase_3495',['triBase',['../structdtPolyDetail.html#aaccd8de89ab39454558ce4bfe6230c98',1,'dtPolyDetail']]], + ['tricount_3496',['triCount',['../structdtPolyDetail.html#aef53174e1c31d4304bc07da5d677528c',1,'dtPolyDetail']]], + ['tris_3497',['tris',['../structrcPolyMeshDetail.html#a05e186a92fad184179c726debb033979',1,'rcPolyMeshDetail::tris()'],['../structrcChunkyTriMesh.html#a1bfb682902d948da8e2f1f575f22dba1',1,'rcChunkyTriMesh::tris()']]], + ['tx_3498',['tx',['../structdtTileCacheLayerHeader.html#a24118e3ecc122ac7685cf9636cced948',1,'dtTileCacheLayerHeader']]], + ['ty_3499',['ty',['../structdtTileCacheLayerHeader.html#a020f2fc8488811b19c7d1c70f854bee9',1,'dtTileCacheLayerHeader']]], + ['type_3500',['type',['../structdtTileCacheObstacle.html#af4848c786f8c2e4d9d182df72e333058',1,'dtTileCacheObstacle::type()'],['../structimguiGfxCmd.html#a3508ea30366854eae1909484cc179338',1,'imguiGfxCmd::type()']]] +]; diff --git a/search/variables_12.html b/search/variables_12.html new file mode 100644 index 00000000..a3a32eb8 --- /dev/null +++ b/search/variables_12.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_12.js b/search/variables_12.js new file mode 100644 index 00000000..9562e939 --- /dev/null +++ b/search/variables_12.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['units_3501',['units',['../structGraphParams.html#ae85fabe02151892f17d6a1bddf4c79a9',1,'GraphParams']]], + ['updateflags_3502',['updateFlags',['../structdtCrowdAgentParams.html#a7066a4477bbfa53fc1c983e17aa3e5ae',1,'dtCrowdAgentParams']]], + ['userdata_3503',['userData',['../structdtCrowdAgentParams.html#a22dd9c496ce4404b8e2a836a14a01281',1,'dtCrowdAgentParams']]], + ['userid_3504',['userId',['../structdtOffMeshConnection.html#a157eae33ff9cb301e25f822a9d0b74dc',1,'dtOffMeshConnection::userId()'],['../structdtMeshHeader.html#a12351c24b7a9fc6456353c22960b6769',1,'dtMeshHeader::userId()'],['../structdtNavMeshCreateParams.html#aeb8e8fb9fed1e6f47292f5016f9eee0a',1,'dtNavMeshCreateParams::userId()']]] +]; diff --git a/search/variables_13.html b/search/variables_13.html new file mode 100644 index 00000000..7d05bd86 --- /dev/null +++ b/search/variables_13.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_13.js b/search/variables_13.js new file mode 100644 index 00000000..e629b00d --- /dev/null +++ b/search/variables_13.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['vel_3505',['vel',['../structdtObstacleCircle.html#a8b044ab90c679b65dc7c326eda19c1e8',1,'dtObstacleCircle::vel()'],['../structdtCrowdAgent.html#a488e32669d4ed67a7945db9f79e45dca',1,'dtCrowdAgent::vel()']]], + ['velbias_3506',['velBias',['../structdtObstacleAvoidanceParams.html#aa0f2c37d4f28a77a68df51efa53f10c8',1,'dtObstacleAvoidanceParams']]], + ['version_3507',['version',['../structdtMeshHeader.html#a22f4453e3e449586b26d71d8153bfb02',1,'dtMeshHeader::version()'],['../structdtTileState.html#ad24ddf11608ec1f0b43f676a2437483f',1,'dtTileState::version()'],['../structdtTileCacheLayerHeader.html#ac568165a80d945c62522408d7f9cdc62',1,'dtTileCacheLayerHeader::version()'],['../structNavMeshSetHeader.html#ae824a2a6da1c7026a84cce8d6ffd10f8',1,'NavMeshSetHeader::version()'],['../structTileCacheSetHeader.html#af3c63745db5ba90ee080f739b3bea50f',1,'TileCacheSetHeader::version()']]], + ['vert_3508',['vert',['../structrcEdge.html#a7c483c5d52d1caa50d3305c175822bcc',1,'rcEdge::vert()'],['../structrcPotentialDiagonal.html#aa0ab356474c301630105b9c4125bb0e3',1,'rcPotentialDiagonal::vert()']]], + ['vertbase_3509',['vertBase',['../structdtPolyDetail.html#ae3f408c9c8974ccd058a98f781c58801',1,'dtPolyDetail']]], + ['vertcount_3510',['vertCount',['../structdtPoly.html#af940c431464c022f844e61130f83d9c2',1,'dtPoly::vertCount()'],['../structdtPolyDetail.html#a2b1473cb6f856126db05a2955fbb2a61',1,'dtPolyDetail::vertCount()'],['../structdtMeshHeader.html#aad331f09586b0959eeb0826152315b92',1,'dtMeshHeader::vertCount()'],['../structdtNavMeshCreateParams.html#a5cc3d74f4b38715cb1adf01c7d118c3f',1,'dtNavMeshCreateParams::vertCount()']]], + ['vertex_5fbucket_5fcount_3511',['VERTEX_BUCKET_COUNT',['../RecastMesh_8cpp.html#a3a4e01616a89d8ef01154d9dd46e0ccc',1,'RecastMesh.cpp']]], + ['vertex_5fbucket_5fcount2_3512',['VERTEX_BUCKET_COUNT2',['../DetourTileCacheBuilder_8cpp.html#a4d8910a63cb8f59faec2f3686b365ddb',1,'DetourTileCacheBuilder.cpp']]], + ['verts_3513',['verts',['../structdtNavMeshCreateParams.html#a000f1bbb0fbc2dbd9d34e73bcb50ae3f',1,'dtNavMeshCreateParams::verts()'],['../structdtTileCacheContour.html#a63c3ebf5aec913e13ab12ce7f0cd1daa',1,'dtTileCacheContour::verts()'],['../structdtTileCachePolyMesh.html#af501feeccdf8389bd7acc47e93984077',1,'dtTileCachePolyMesh::verts()'],['../structdtTempContour.html#ac8a3ec52b5e3667c91bfe38ec94d6699',1,'dtTempContour::verts()'],['../structrcContour.html#a71a33a9ba0930586b0c8ba595267d9da',1,'rcContour::verts()'],['../structrcPolyMesh.html#ac8cdf528edb57061e975eae22d45c4b7',1,'rcPolyMesh::verts()'],['../structrcPolyMeshDetail.html#a14af552d094aa71551d296f278861806',1,'rcPolyMeshDetail::verts()'],['../structConvexVolume.html#a75b3e7db1ed82a5bd44a495e17ee2e50',1,'ConvexVolume::verts()'],['../structdtMeshTile.html#abee62e6320aff3e2d0cdce239ec2c549',1,'dtMeshTile::verts()'],['../structdtPoly.html#acff94eb19526d33ef3c966b583d1d73f',1,'dtPoly::verts()']]], + ['vertsperpoly_3514',['vertsPerPoly',['../structBuildSettings.html#a84a1f04954895d4e378f7525266e0cdf',1,'BuildSettings']]], + ['visited_3515',['visited',['../structrcRegion.html#a59b8c8837159f85c1b8f7818976d26ae',1,'rcRegion']]], + ['vmax_3516',['vmax',['../structGraphParams.html#ad6c9f564ebd71765bfd0da26e20549b9',1,'GraphParams']]], + ['vmin_3517',['vmin',['../structGraphParams.html#a97a2e4045e8fef4ec319b1430892254b',1,'GraphParams']]], + ['vod_3518',['vod',['../structdtCrowdAgentDebugInfo.html#a64bc1afde8e9f8e1f3f42397fde21329',1,'dtCrowdAgentDebugInfo']]] +]; diff --git a/search/variables_14.html b/search/variables_14.html new file mode 100644 index 00000000..ab9e0fa9 --- /dev/null +++ b/search/variables_14.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_14.js b/search/variables_14.js new file mode 100644 index 00000000..b89d5149 --- /dev/null +++ b/search/variables_14.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['w_3519',['w',['../structGraphParams.html#afec1e47c45ff952475f1d2bcae60ba72',1,'GraphParams::w()'],['../structimguiGfxRect.html#aec658995a4c5a20fb2a61abdd98d18b0',1,'imguiGfxRect::w()']]], + ['walkableclimb_3520',['walkableClimb',['../structdtMeshHeader.html#abd05a74e3a83474d0073118059f11273',1,'dtMeshHeader::walkableClimb()'],['../structdtNavMeshCreateParams.html#a2ccf071ca70fe5566ddd2f214bac7779',1,'dtNavMeshCreateParams::walkableClimb()'],['../structdtTileCacheParams.html#a9d83b6704bebc30682a1f2e97d09d1fc',1,'dtTileCacheParams::walkableClimb()'],['../structrcConfig.html#a9b6bbabb4857e3f4bf4428af86ee7673',1,'rcConfig::walkableClimb()'],['../structrcCompactHeightfield.html#ae403555331ef3d2624ca9433226bd683',1,'rcCompactHeightfield::walkableClimb()']]], + ['walkableheight_3521',['walkableHeight',['../structdtMeshHeader.html#a841dd28baa87ecf4a67868d44d212349',1,'dtMeshHeader::walkableHeight()'],['../structdtNavMeshCreateParams.html#a1d7c8d3ae651371b0ce5acbc19f9221e',1,'dtNavMeshCreateParams::walkableHeight()'],['../structdtTileCacheParams.html#ab9a8b82edf527b2396f778a8b4121f88',1,'dtTileCacheParams::walkableHeight()'],['../structrcConfig.html#a2483649686584b9d696ac00b968dedaa',1,'rcConfig::walkableHeight()'],['../structrcCompactHeightfield.html#a04baed5c41b0e19e525e3136b138dc1a',1,'rcCompactHeightfield::walkableHeight()']]], + ['walkableradius_3522',['walkableRadius',['../structdtMeshHeader.html#af46713cd7140c9cea829730c246e146d',1,'dtMeshHeader::walkableRadius()'],['../structdtNavMeshCreateParams.html#a5c467f6297663e0ed82c49d768bc3b12',1,'dtNavMeshCreateParams::walkableRadius()'],['../structdtTileCacheParams.html#ae2c266df6a6a9feb25c3ab7d6aff2616',1,'dtTileCacheParams::walkableRadius()'],['../structrcConfig.html#a57a961a919d76559d6124d60ddf73864',1,'rcConfig::walkableRadius()']]], + ['walkableslopeangle_3523',['walkableSlopeAngle',['../structrcConfig.html#a689373b55bb5fab1d3284b716e972fe0',1,'rcConfig']]], + ['weightcurvel_3524',['weightCurVel',['../structdtObstacleAvoidanceParams.html#af7ec3edc6cae60dd41cc8df169b3ae63',1,'dtObstacleAvoidanceParams']]], + ['weightdesvel_3525',['weightDesVel',['../structdtObstacleAvoidanceParams.html#a5d409ac4b0ab128139caf586f130d079',1,'dtObstacleAvoidanceParams']]], + ['weightside_3526',['weightSide',['../structdtObstacleAvoidanceParams.html#a310499f03a1697ab7c32db9565bf8329',1,'dtObstacleAvoidanceParams']]], + ['weighttoi_3527',['weightToi',['../structdtObstacleAvoidanceParams.html#a7cfb9d5a8b8a3358e95755bd81811c26',1,'dtObstacleAvoidanceParams']]], + ['wentactive_3528',['wentActive',['../structGuiState.html#a781a53ecc27ed89de4b0a425a5452792',1,'GuiState']]], + ['widgetid_3529',['widgetId',['../structGuiState.html#adbb0ec177af2c0beaf4471339952d522',1,'GuiState']]], + ['widgetw_3530',['widgetW',['../structGuiState.html#a41ad9753307581846e18f4c412c65044',1,'GuiState']]], + ['widgetx_3531',['widgetX',['../structGuiState.html#ae5e5321a872b52b30c9582b74d6a45ea',1,'GuiState']]], + ['widgety_3532',['widgetY',['../structGuiState.html#ae30e4fb22d16fa188b02b4ae41c6691b',1,'GuiState']]], + ['width_3533',['width',['../structdtTileCacheParams.html#a0028aaae0c422f2191be3f5f44a06c02',1,'dtTileCacheParams::width()'],['../structdtTileCacheLayerHeader.html#a967e7b1b310ae0a5a90168727c146f4c',1,'dtTileCacheLayerHeader::width()'],['../structrcConfig.html#aa870882b1addeb37535185740838eb32',1,'rcConfig::width()'],['../structrcHeightfield.html#a9dd6e386c167f1537e3c7638f6b9a752',1,'rcHeightfield::width()'],['../structrcCompactHeightfield.html#a98868c1df2523cd724696ed1d223ba13',1,'rcCompactHeightfield::width()'],['../structrcHeightfieldLayer.html#a6904f7a9539c4a5f88c2f134ac7b8649',1,'rcHeightfieldLayer::width()'],['../structrcContourSet.html#af165415f9e2ef3cf446786040864e6d2',1,'rcContourSet::width()'],['../structrcHeightPatch.html#ab26096449132f591083d5355b88953f8',1,'rcHeightPatch::width()']]] +]; diff --git a/search/variables_15.html b/search/variables_15.html new file mode 100644 index 00000000..45b78e3d --- /dev/null +++ b/search/variables_15.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_15.js b/search/variables_15.js new file mode 100644 index 00000000..11635088 --- /dev/null +++ b/search/variables_15.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['x_3534',['x',['../structdtMeshHeader.html#ae577ca0c9fba95254b699a51483e374c',1,'dtMeshHeader::x()'],['../structimguiGfxRect.html#ab702cb223baf33e949741d5bbc8778dd',1,'imguiGfxRect::x()'],['../structimguiGfxText.html#ad7bf3cc0e24e63d997c335b7a5e15d25',1,'imguiGfxText::x()'],['../structGraphParams.html#ace7d34643e947127db99c65dbbff03e1',1,'GraphParams::x()']]], + ['x0_3535',['x0',['../structimguiGfxLine.html#a77dee23b2e6f3582591b197b157276b4',1,'imguiGfxLine']]], + ['x1_3536',['x1',['../structimguiGfxLine.html#ae3ced14f8ccc697421abfbb8c45a8b9b',1,'imguiGfxLine']]], + ['xmin_3537',['xmin',['../structrcHeightPatch.html#ac8af7bf8fa73d87c84ba155fd48be28a',1,'rcHeightPatch']]] +]; diff --git a/search/variables_16.html b/search/variables_16.html new file mode 100644 index 00000000..8d9f8780 --- /dev/null +++ b/search/variables_16.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_16.js b/search/variables_16.js new file mode 100644 index 00000000..ffbabd56 --- /dev/null +++ b/search/variables_16.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['y_3538',['y',['../structdtMeshHeader.html#a9969f562faa5990fec5ff27c9d2b50b9',1,'dtMeshHeader::y()'],['../structrcCompactSpan.html#a51e8cdcf30408a3f84da22c4d2623b68',1,'rcCompactSpan::y()'],['../structimguiGfxRect.html#a4e555e92963a7972428af94ebc560285',1,'imguiGfxRect::y()'],['../structimguiGfxText.html#ad760b02492ffb7f9a1e8a5dcef9d9ba5',1,'imguiGfxText::y()'],['../structGraphParams.html#af6b3d7848eb8ef348b636f15cd33bd12',1,'GraphParams::y()']]], + ['y0_3539',['y0',['../structimguiGfxLine.html#a1d5c294bc5a64a07ee855c4be3487f7a',1,'imguiGfxLine']]], + ['y1_3540',['y1',['../structimguiGfxLine.html#aa7f7bd3941ff8fd8014f119b0a123193',1,'imguiGfxLine']]], + ['ymax_3541',['ymax',['../structrcLayerRegion.html#ac62ab3eceaca8cb92f3b72c9ef697bb4',1,'rcLayerRegion::ymax()'],['../structrcRegion.html#a84ec21b2fef6d82817283727f295f14e',1,'rcRegion::ymax()']]], + ['ymin_3542',['ymin',['../structrcLayerRegion.html#a5d6ec3a8040c16fd837ea4e06264044c',1,'rcLayerRegion::ymin()'],['../structrcHeightPatch.html#addd346c10b03e29029ffe5c520e8f66f',1,'rcHeightPatch::ymin()'],['../structrcRegion.html#a058cf62973ff65b0d277724ed7cde9a8',1,'rcRegion::ymin()']]] +]; diff --git a/search/variables_2.html b/search/variables_2.html new file mode 100644 index 00000000..0580462e --- /dev/null +++ b/search/variables_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_2.js b/search/variables_2.js new file mode 100644 index 00000000..0d398fd0 --- /dev/null +++ b/search/variables_2.js @@ -0,0 +1,38 @@ +var searchData= +[ + ['cacheparams_3052',['cacheParams',['../structTileCacheSetHeader.html#abc363573908ea46bed77e3b0f94e0325',1,'TileCacheSetHeader']]], + ['capacity_3053',['capacity',['../structLinearAllocator.html#a8cb5d425605fe6284b00f353e30291c4',1,'LinearAllocator']]], + ['cellheight_3054',['cellHeight',['../structBuildSettings.html#acb225540c7c5af7a1f7b69818594e2c1',1,'BuildSettings']]], + ['cells_3055',['cells',['../structrcCompactHeightfield.html#ab497c9a9f6e0f1b8882fada13ce880a5',1,'rcCompactHeightfield']]], + ['cellsize_3056',['cellSize',['../structBuildSettings.html#aa0ba3ebfa84413cb718ea2c5f5d22baf',1,'BuildSettings']]], + ['center_3057',['center',['../structdtObstacleOrientedBox.html#a8cad84afa4b3beb3cfd482309ea9f913',1,'dtObstacleOrientedBox']]], + ['ch_3058',['ch',['../structdtNavMeshCreateParams.html#aabc87cedcd783bdd16b8b4377fdb8ccf',1,'dtNavMeshCreateParams::ch()'],['../structdtTileCacheParams.html#a366560e2dd03f2d8a2ceaf9b08cc7578',1,'dtTileCacheParams::ch()'],['../structrcConfig.html#acdde0dfdbb39611966ece78ef473d861',1,'rcConfig::ch()'],['../structrcHeightfield.html#a23488349cb552d5410e29d089234effc',1,'rcHeightfield::ch()'],['../structrcCompactHeightfield.html#a39baf56bf3baf2b026aae0a309facaf4',1,'rcCompactHeightfield::ch()'],['../structrcHeightfieldLayer.html#a4e3df2893e1773e801e6f41d077715d6',1,'rcHeightfieldLayer::ch()'],['../structrcContourSet.html#ada4d5c2916f351065c6f5a382f087ebc',1,'rcContourSet::ch()'],['../structrcPolyMesh.html#aa1ba795ddbb893da041b2a5273716ac5',1,'rcPolyMesh::ch()']]], + ['check_5fsize_3059',['CHECK_SIZE',['../imgui_8cpp.html#a9a4e4d92b84c20d87d22cd139b0781d9',1,'imgui.cpp']]], + ['chf_3060',['chf',['../structRasterizationContext.html#a2a98a22419a616072ec865a83a167b19',1,'RasterizationContext']]], + ['chf_5fmagic_3061',['CHF_MAGIC',['../RecastDump_8cpp.html#af5311bee0fd48670a0f14539c1f8b24c',1,'RecastDump.cpp']]], + ['chf_5fversion_3062',['CHF_VERSION',['../RecastDump_8cpp.html#a8f954aa8135b2c9f2ae8fd2bd8529398',1,'RecastDump.cpp']]], + ['circle_5fverts_3063',['CIRCLE_VERTS',['../imguiRenderGL_8cpp.html#a27fc87775d88c51445a4dd1b7e67d513',1,'imguiRenderGL.cpp']]], + ['col_3064',['col',['../structimguiGfxCmd.html#a79777935f7150173eba508835942bb42',1,'imguiGfxCmd']]], + ['collisionqueryrange_3065',['collisionQueryRange',['../structdtCrowdAgentParams.html#a5e1c7373b02e2f926360e3d3130be068',1,'dtCrowdAgentParams']]], + ['compressed_3066',['compressed',['../structdtCompressedTile.html#a1dc4612b07c4fea0b4df5065345bec31',1,'dtCompressedTile']]], + ['compressedsize_3067',['compressedSize',['../structdtCompressedTile.html#a27134afd3e266ece7c7465bf04f04b8d',1,'dtCompressedTile']]], + ['con_3068',['con',['../structrcCompactSpan.html#ac01d1dafd150efc71de4ee671edb8539',1,'rcCompactSpan']]], + ['connections_3069',['connections',['../structrcRegion.html#ac6cbe80ad7da2858aa3f463079bc391e',1,'rcRegion']]], + ['connectstoborder_3070',['connectsToBorder',['../structrcRegion.html#a4ddce7919ddb139fe21ac4c05b5c3f79',1,'rcRegion']]], + ['cons_3071',['cons',['../structdtTileCacheLayer.html#aa81a7e641ccfb8e00f0072efae4d74fd',1,'dtTileCacheLayer::cons()'],['../structrcHeightfieldLayer.html#a48ca9f0db5708d03fe043e54bc515199',1,'rcHeightfieldLayer::cons()']]], + ['contour_3072',['contour',['../structrcContourHole.html#a11fb23a6bba9ccc948b8779aa78f6b54',1,'rcContourHole']]], + ['conts_3073',['conts',['../structdtTileCacheContourSet.html#a02af11366a4bb181741c45bfc3bf0172',1,'dtTileCacheContourSet::conts()'],['../structrcContourSet.html#ad737b7220701eeae5aa9c488d4d4f18d',1,'rcContourSet::conts()']]], + ['cornerflags_3074',['cornerFlags',['../structdtCrowdAgent.html#a0dbc76cfc32de7dfa2ddd72e8cbfd1a0',1,'dtCrowdAgent']]], + ['cornerpolys_3075',['cornerPolys',['../structdtCrowdAgent.html#aa1e643c3106128708ca2c66535ac0bbd',1,'dtCrowdAgent']]], + ['cornerverts_3076',['cornerVerts',['../structdtCrowdAgent.html#aa63798503ee7acead84e16ce73d21419',1,'dtCrowdAgent']]], + ['corridor_3077',['corridor',['../structdtCrowdAgent.html#a65166bf21e82273168b4f6f4864044ef',1,'dtCrowdAgent']]], + ['cost_3078',['cost',['../structdtNode.html#a253defdaa9ea8dbe9ea5991bcfb75b32',1,'dtNode']]], + ['count_3079',['count',['../structrcCompactCell.html#a70bb509654a28a8c9d67bcb469d0b3ce',1,'rcCompactCell']]], + ['cpoly_3080',['cpoly',['../structdtTempContour.html#a0d3c890707733eb165076c44202b9058',1,'dtTempContour']]], + ['create_3081',['create',['../structSampleItem.html#a44ccc0676594f30f7c30e8c8b0fb053a',1,'SampleItem']]], + ['cs_3082',['cs',['../structrcHeightfieldLayer.html#af0311febcc96aa2a2b611e0a65478f49',1,'rcHeightfieldLayer::cs()'],['../structrcPolyMesh.html#a4c3ca520c55f96037cffcf6a92809563',1,'rcPolyMesh::cs()'],['../structrcContourSet.html#a1dbf04db7e828a3757e951e4f8499c95',1,'rcContourSet::cs()'],['../structrcCompactHeightfield.html#a75ee8e198d672db29a2f98c7463c0b31',1,'rcCompactHeightfield::cs()'],['../structrcHeightfield.html#a3f28962585b2f726d809b1a86b925edb',1,'rcHeightfield::cs()'],['../structrcConfig.html#ae74c4bd2b0477f29a65a53ca9c59196d',1,'rcConfig::cs()'],['../structdtTileCacheParams.html#aa3d397344d70e8d65300ceec47bf6512',1,'dtTileCacheParams::cs()'],['../structdtNavMeshCreateParams.html#a2297125898dd39b19c515638d31cacfc',1,'dtNavMeshCreateParams::cs()']]], + ['cset_5fmagic_3083',['CSET_MAGIC',['../RecastDump_8cpp.html#a715b66346d870827210e9b90b9e5add9',1,'RecastDump.cpp']]], + ['cset_5fversion_3084',['CSET_VERSION',['../RecastDump_8cpp.html#a8888aaa743f054b6efd0e2ac8529df62',1,'RecastDump.cpp']]], + ['cverts_3085',['cverts',['../structdtTempContour.html#af7144f4b212231221298f01f47e461d3',1,'dtTempContour']]], + ['cylinder_3086',['cylinder',['../structdtTileCacheObstacle.html#a6e42e7ac7564db49c70b849f3cc49a39',1,'dtTileCacheObstacle']]] +]; diff --git a/search/variables_3.html b/search/variables_3.html new file mode 100644 index 00000000..0d69e761 --- /dev/null +++ b/search/variables_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_3.js b/search/variables_3.js new file mode 100644 index 00000000..5165408f --- /dev/null +++ b/search/variables_3.js @@ -0,0 +1,66 @@ +var searchData= +[ + ['data_3087',['data',['../structdtCompressedTile.html#a08600eb0ab1c1980a7e1b72839a32863',1,'dtCompressedTile::data()'],['../structdtMeshTile.html#ae5ecafb2319029b216f739b2be537f98',1,'dtMeshTile::data()'],['../structTileCacheData.html#a101ecb69fccd2046a256900f8c4e6847',1,'TileCacheData::data()'],['../structrcHeightPatch.html#a02c8a5e18872b3eee023888f0a85adcf',1,'rcHeightPatch::data()']]], + ['datasize_3088',['dataSize',['../structdtMeshTile.html#a18351bec79954247bef6e22745d5515f',1,'dtMeshTile::dataSize()'],['../structdtCompressedTile.html#a6bd5d2ea63921ee6fbacece1da31d656',1,'dtCompressedTile::dataSize()'],['../structNavMeshTileHeader.html#ad1448da982f964635d4ec1cfa3239f3b',1,'NavMeshTileHeader::dataSize()'],['../structTileCacheData.html#a9c98971270a3a7fe024343b6358dc334',1,'TileCacheData::dataSize()'],['../structTileCacheTileHeader.html#a3c4e5c78970a6afe0b5620b0154e843c',1,'TileCacheTileHeader::dataSize()']]], + ['default_5fspacing_3089',['DEFAULT_SPACING',['../imgui_8cpp.html#a03b57ae9b56748416c59dbebd15b6897',1,'imgui.cpp']]], + ['desiredspeed_3090',['desiredSpeed',['../structdtCrowdAgent.html#ac15a23fd617433db5be5544462ec34d8',1,'dtCrowdAgent']]], + ['detailmeshcount_3091',['detailMeshCount',['../structdtMeshHeader.html#a79ce7145dd4854c55cd94d5c57faf392',1,'dtMeshHeader']]], + ['detailmeshes_3092',['detailMeshes',['../structdtNavMeshCreateParams.html#a1e164d8ad19c20a3cd7a04352738c2e2',1,'dtNavMeshCreateParams::detailMeshes()'],['../structdtMeshTile.html#a9de7d1fd0dd0c6f46878bc910dec4f90',1,'dtMeshTile::detailMeshes()']]], + ['detailsampledist_3093',['detailSampleDist',['../structrcConfig.html#abdc131d1c8f5e4c1f09a68702efba604',1,'rcConfig::detailSampleDist()'],['../structBuildSettings.html#abf7ba7d73fd303a69b22c04f6741b7df',1,'BuildSettings::detailSampleDist()']]], + ['detailsamplemaxerror_3094',['detailSampleMaxError',['../structrcConfig.html#ae53de5fcf0777c0be9e3cd91c9da3d1f',1,'rcConfig::detailSampleMaxError()'],['../structBuildSettings.html#a677f0a3a0d3c600dccd8a4c84ade2bdc',1,'BuildSettings::detailSampleMaxError()']]], + ['detailtricount_3095',['detailTriCount',['../structdtMeshHeader.html#a008cebda05907508cf862d18945d8459',1,'dtMeshHeader::detailTriCount()'],['../structdtNavMeshCreateParams.html#a2516fa677dad99e0859ed46615d64730',1,'dtNavMeshCreateParams::detailTriCount()']]], + ['detailtris_3096',['detailTris',['../structdtMeshTile.html#a237f7f0d938875062b22b42abdff6ab1',1,'dtMeshTile::detailTris()'],['../structdtNavMeshCreateParams.html#a4146c9631643c9d42339933a1a160864',1,'dtNavMeshCreateParams::detailTris()']]], + ['detailvertcount_3097',['detailVertCount',['../structdtMeshHeader.html#abe1c10b7e925b0b31adf72f8f2d1d7e9',1,'dtMeshHeader']]], + ['detailverts_3098',['detailVerts',['../structdtMeshTile.html#a60928b85578a99aacf71eed721c103d8',1,'dtMeshTile::detailVerts()'],['../structdtNavMeshCreateParams.html#abb88208b052c3ef84d60683bf889a88f',1,'dtNavMeshCreateParams::detailVerts()']]], + ['detailvertscount_3099',['detailVertsCount',['../structdtNavMeshCreateParams.html#af3b5721cfa7cc46e508c5756116f7e10',1,'dtNavMeshCreateParams']]], + ['disp_3100',['disp',['../structdtCrowdAgent.html#a699caf263b79c394c34e31fb9e7c36d0',1,'dtCrowdAgent']]], + ['dist_3101',['dist',['../structdtCrowdNeighbour.html#aa3011f95ad242a684f2a79a1b41d5f6b',1,'dtCrowdNeighbour::dist()'],['../structrcCompactHeightfield.html#af345442d6b49e71a2191c5e2dac3ca97',1,'rcCompactHeightfield::dist()'],['../structrcPotentialDiagonal.html#aedf8e9dad665440c8db85e1e9d37b05d',1,'rcPotentialDiagonal::dist()']]], + ['distance2_3102',['distance2',['../structDirtyEntry.html#a9634e49527d7bdcacc925fe7124b07d1',1,'DirtyEntry']]], + ['dp_3103',['dp',['../structdtObstacleCircle.html#a14169be1b546aeaf06fb19406f523a08',1,'dtObstacleCircle']]], + ['dragorig_3104',['dragOrig',['../structGuiState.html#ac1eb0dfc263debeea082f2bebec4a10a',1,'GuiState']]], + ['dragx_3105',['dragX',['../structGuiState.html#a0a4933672881d971849922e737b2909d',1,'GuiState']]], + ['dragy_3106',['dragY',['../structGuiState.html#a9ab909b28bf6f8d42a723019bc11d172',1,'GuiState']]], + ['dt_5falready_5foccupied_3107',['DT_ALREADY_OCCUPIED',['../DetourStatus_8h.html#a16c0ed5fc61e267d64b26f73a3b02184',1,'DetourStatus.h']]], + ['dt_5fbuffer_5ftoo_5fsmall_3108',['DT_BUFFER_TOO_SMALL',['../DetourStatus_8h.html#a97c8292e3ce2ba0b63bfa4ca57de10af',1,'DetourStatus.h']]], + ['dt_5fcrowd_5fmax_5fobstavoidance_5fparams_3109',['DT_CROWD_MAX_OBSTAVOIDANCE_PARAMS',['../group__crowd.html#gaca1e1a9395fd4406de712dc4330c60c5',1,'DetourCrowd.h']]], + ['dt_5fcrowd_5fmax_5fquery_5ffilter_5ftype_3110',['DT_CROWD_MAX_QUERY_FILTER_TYPE',['../group__crowd.html#ga1686003d07121541db2ee11074e1b3af',1,'DetourCrowd.h']]], + ['dt_5fcrowdagent_5fmax_5fcorners_3111',['DT_CROWDAGENT_MAX_CORNERS',['../group__crowd.html#gab745b43d81519294efcfe7449faff3de',1,'DetourCrowd.h']]], + ['dt_5fcrowdagent_5fmax_5fneighbours_3112',['DT_CROWDAGENT_MAX_NEIGHBOURS',['../group__crowd.html#ga70106a906d993ec6c39ef91d81c0f40e',1,'DetourCrowd.h']]], + ['dt_5fext_5flink_3113',['DT_EXT_LINK',['../DetourNavMesh_8h.html#aa2d400dcfaef68b62c1f1118de13e87e',1,'DetourNavMesh.h']]], + ['dt_5ffailure_3114',['DT_FAILURE',['../DetourStatus_8h.html#ae3cf4ee7a8ebe23a82381ffe0952fe3f',1,'DetourStatus.h']]], + ['dt_5fin_5fprogress_3115',['DT_IN_PROGRESS',['../DetourStatus_8h.html#ab2f47a2593c7138b17c1d8939f19cf06',1,'DetourStatus.h']]], + ['dt_5finvalid_5fparam_3116',['DT_INVALID_PARAM',['../DetourStatus_8h.html#a6dfcd405e3c12914b8b10af6558667c0',1,'DetourStatus.h']]], + ['dt_5flayer_5fmax_5fneis_3117',['DT_LAYER_MAX_NEIS',['../DetourTileCacheBuilder_8cpp.html#ae4329c19c9328b4a0d083e8182359621',1,'DetourTileCacheBuilder.cpp']]], + ['dt_5fmax_5fareas_3118',['DT_MAX_AREAS',['../group__detour.html#ga954dc85eacf41248ee76968957484a9e',1,'DetourNavMesh.h']]], + ['dt_5fmax_5fpattern_5fdivs_3119',['DT_MAX_PATTERN_DIVS',['../DetourObstacleAvoidance_8h.html#ac8451df4322c140ea80ad2a0f51f1ba3',1,'DetourObstacleAvoidance.h']]], + ['dt_5fmax_5fpattern_5frings_3120',['DT_MAX_PATTERN_RINGS',['../DetourObstacleAvoidance_8h.html#afed135d1762d837d2a633452d40cf956',1,'DetourObstacleAvoidance.h']]], + ['dt_5fmax_5fstates_5fper_5fnode_3121',['DT_MAX_STATES_PER_NODE',['../DetourNode_8h.html#a1f8049d9ecf8fd9c1cd5887a366c84b4',1,'DetourNode.h']]], + ['dt_5fmax_5ftouched_5ftiles_3122',['DT_MAX_TOUCHED_TILES',['../DetourTileCache_8h.html#a3d05fd569d4f9cb51f3c99cbbdf97e22',1,'DetourTileCache.h']]], + ['dt_5fnavmesh_5fmagic_3123',['DT_NAVMESH_MAGIC',['../DetourNavMesh_8h.html#aab52da983cde5b114352f3aed116d9ed',1,'DetourNavMesh.h']]], + ['dt_5fnavmesh_5fstate_5fmagic_3124',['DT_NAVMESH_STATE_MAGIC',['../DetourNavMesh_8h.html#aef983d45255c8121c3407c8dc927351d',1,'DetourNavMesh.h']]], + ['dt_5fnavmesh_5fstate_5fversion_3125',['DT_NAVMESH_STATE_VERSION',['../DetourNavMesh_8h.html#ad9115abe722291293a45d928ec44a87b',1,'DetourNavMesh.h']]], + ['dt_5fnavmesh_5fversion_3126',['DT_NAVMESH_VERSION',['../DetourNavMesh_8h.html#a666e6e3396a42c7cacc6ac5d593c10d8',1,'DetourNavMesh.h']]], + ['dt_5fnode_5fparent_5fbits_3127',['DT_NODE_PARENT_BITS',['../DetourNode_8h.html#ad5fac666b7b3afcd2bfdc861b5183b37',1,'DetourNode.h']]], + ['dt_5fnode_5fstate_5fbits_3128',['DT_NODE_STATE_BITS',['../DetourNode_8h.html#a555dcbe78da237f3b3612de831cebf38',1,'DetourNode.h']]], + ['dt_5fnull_5fidx_3129',['DT_NULL_IDX',['../DetourNode_8h.html#acef3b5e4fc85d943523912f705df710d',1,'DetourNode.h']]], + ['dt_5fnull_5flink_3130',['DT_NULL_LINK',['../DetourNavMesh_8h.html#aca31b5eadafd19285e16eca707b3295b',1,'DetourNavMesh.h']]], + ['dt_5foffmesh_5fcon_5fbidir_3131',['DT_OFFMESH_CON_BIDIR',['../DetourNavMesh_8h.html#adf1ff9d60c36045d41c92859d96e8dd0',1,'DetourNavMesh.h']]], + ['dt_5fout_5fof_5fmemory_3132',['DT_OUT_OF_MEMORY',['../DetourStatus_8h.html#a4c4375ffc9ca7a0425af2b39449eb19e',1,'DetourStatus.h']]], + ['dt_5fout_5fof_5fnodes_3133',['DT_OUT_OF_NODES',['../DetourStatus_8h.html#a0f707e8e896d9a725f8f93f5779cf02c',1,'DetourStatus.h']]], + ['dt_5fpartial_5fresult_3134',['DT_PARTIAL_RESULT',['../DetourStatus_8h.html#a673010905b90e4928aeea1480ee58491',1,'DetourStatus.h']]], + ['dt_5fpathq_5finvalid_3135',['DT_PATHQ_INVALID',['../DetourPathQueue_8h.html#aa93cb031b83396d30e7577f4a69671cc',1,'DetourPathQueue.h']]], + ['dt_5fpi_3136',['DT_PI',['../DetourObstacleAvoidance_8cpp.html#a9afa5327384071c6217ac389c728f196',1,'DetourObstacleAvoidance.cpp']]], + ['dt_5fray_5fcast_5flimit_5fproportions_3137',['DT_RAY_CAST_LIMIT_PROPORTIONS',['../DetourNavMesh_8h.html#a52749b53f72f838b3f54f61ca091ca74',1,'DetourNavMesh.h']]], + ['dt_5fstatus_5fdetail_5fmask_3138',['DT_STATUS_DETAIL_MASK',['../DetourStatus_8h.html#a9ad48e73cb942b84fe08c5ad18626a54',1,'DetourStatus.h']]], + ['dt_5fsuccess_3139',['DT_SUCCESS',['../DetourStatus_8h.html#ace78a9666e74d996b468942e7434989a',1,'DetourStatus.h']]], + ['dt_5ftilecache_5fmagic_3140',['DT_TILECACHE_MAGIC',['../DetourTileCacheBuilder_8h.html#a005319504c97da44fbdacdd8edade995',1,'DetourTileCacheBuilder.h']]], + ['dt_5ftilecache_5fnull_5farea_3141',['DT_TILECACHE_NULL_AREA',['../DetourTileCacheBuilder_8h.html#aba60a9bc7c6cb8c034ad6aa3b19b746d',1,'DetourTileCacheBuilder.h']]], + ['dt_5ftilecache_5fnull_5fidx_3142',['DT_TILECACHE_NULL_IDX',['../DetourTileCacheBuilder_8h.html#ae8c0176360abedb2fdefe8902cfd0765',1,'DetourTileCacheBuilder.h']]], + ['dt_5ftilecache_5fversion_3143',['DT_TILECACHE_VERSION',['../DetourTileCacheBuilder_8h.html#a7a2c6e5ff42add3cd3f9b72452137ebc',1,'DetourTileCacheBuilder.h']]], + ['dt_5ftilecache_5fwalkable_5farea_3144',['DT_TILECACHE_WALKABLE_AREA',['../DetourTileCacheBuilder_8h.html#ac6d5504d72ce0d704071b631095b26c4',1,'DetourTileCacheBuilder.h']]], + ['dt_5fverts_5fper_5fpolygon_3145',['DT_VERTS_PER_POLYGON',['../group__detour.html#ga8591fdac662dbfabb580de626c64c9f3',1,'DetourNavMesh.h']]], + ['dt_5fwrong_5fmagic_3146',['DT_WRONG_MAGIC',['../DetourStatus_8h.html#ad21573b8fc2757cddf316c86cebd39e0',1,'DetourStatus.h']]], + ['dt_5fwrong_5fversion_3147',['DT_WRONG_VERSION',['../DetourStatus_8h.html#a643fa17355a1e298489d50f04b763b5a',1,'DetourStatus.h']]], + ['du_5fpi_3148',['DU_PI',['../DebugDraw_8h.html#a247fb659fe4d8f5a813f33e8ba9f5571',1,'DebugDraw.h']]], + ['dvel_3149',['dvel',['../structdtCrowdAgent.html#add4a75252eb63b88fba66d9c4feb72d9',1,'dtCrowdAgent::dvel()'],['../structdtObstacleCircle.html#a4eeaea216bbc81bf865c19d000589195',1,'dtObstacleCircle::dvel()']]] +]; diff --git a/search/variables_4.html b/search/variables_4.html new file mode 100644 index 00000000..a4b6506b --- /dev/null +++ b/search/variables_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_4.js b/search/variables_4.js new file mode 100644 index 00000000..fd7a3bfa --- /dev/null +++ b/search/variables_4.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['edge_3150',['edge',['../structdtLink.html#a14ff7d317cbceba6ab9d1958b463cb3a',1,'dtLink']]], + ['edgemaxerror_3151',['edgeMaxError',['../structBuildSettings.html#a854de08adaac1dc5c97ffd797d442b2e',1,'BuildSettings']]], + ['edgemaxlen_3152',['edgeMaxLen',['../structBuildSettings.html#ae7d2cca65464cdc0a98f7df27cd9e7a6',1,'BuildSettings']]], + ['endpos_3153',['endPos',['../structdtCrowdAgentAnimation.html#aed88b3aa0469a0462d5f7d055d3b72cc',1,'dtCrowdAgentAnimation']]], + ['expected_5flayers_5fper_5ftile_3154',['EXPECTED_LAYERS_PER_TILE',['../Sample__TempObstacles_8cpp.html#a0c7f06a51de07a0953540cb0a5f089fb',1,'Sample_TempObstacles.cpp']]] +]; diff --git a/search/variables_5.html b/search/variables_5.html new file mode 100644 index 00000000..7e345d16 --- /dev/null +++ b/search/variables_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_5.js b/search/variables_5.js new file mode 100644 index 00000000..8e2b3a47 --- /dev/null +++ b/search/variables_5.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['firstlink_3155',['firstLink',['../structdtPoly.html#a671fd6893087936e80fcd17f7f666c0e',1,'dtPoly']]], + ['flags_3156',['flags',['../structdtPoly.html#a47312e2c5dfd1ff1a729580c339f0d7d',1,'dtPoly::flags()'],['../structdtOffMeshConnection.html#adf581af16754d8bbed1479cdf91dd82d',1,'dtOffMeshConnection::flags()'],['../structdtMeshTile.html#a610bc670e7bd056f31d8629d9c2100a1',1,'dtMeshTile::flags()'],['../structdtNode.html#acd018f188ced1765cce2d34ae88c9f75',1,'dtNode::flags()'],['../structdtPolyState.html#a8e3a8a1c15338bbe761ef4d9ca2b4949',1,'dtPolyState::flags()'],['../structdtCompressedTile.html#a0c847cc83252015006215c720fb9936b',1,'dtCompressedTile::flags()'],['../structdtTileCachePolyMesh.html#a8d39c5b38bf4dc9b88d1d47199eacf13',1,'dtTileCachePolyMesh::flags()'],['../structrcPolyMesh.html#ab91ec949432297f7d0341a6ba9c88288',1,'rcPolyMesh::flags()'],['../structimguiGfxCmd.html#a88b02b5846d36381fdde1e990804162d',1,'imguiGfxCmd::flags()']]], + ['floors_3157',['floors',['../structrcRegion.html#a3ab2d5343e1ae28463c5a8ccbca04cf1',1,'rcRegion']]], + ['freelist_3158',['freelist',['../structrcHeightfield.html#a05dd56e279148e65e9b6820e6c02b908',1,'rcHeightfield']]] +]; diff --git a/search/variables_6.html b/search/variables_6.html new file mode 100644 index 00000000..7d48e75e --- /dev/null +++ b/search/variables_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_6.js b/search/variables_6.js new file mode 100644 index 00000000..4b203486 --- /dev/null +++ b/search/variables_6.js @@ -0,0 +1,28 @@ +var searchData= +[ + ['g_5fcdata_3159',['g_cdata',['../imguiRenderGL_8cpp.html#a63d7bf2519c08a3169707cec1cbab429',1,'imguiRenderGL.cpp']]], + ['g_5fcircleverts_3160',['g_circleVerts',['../imguiRenderGL_8cpp.html#a829fc56af6c08c9170e8f42a4551bfe9',1,'imguiRenderGL.cpp']]], + ['g_5ffocusbottom_3161',['g_focusBottom',['../imgui_8cpp.html#ac365049df91f1a6f044a1cf941d99b86',1,'imgui.cpp']]], + ['g_5ffocustop_3162',['g_focusTop',['../imgui_8cpp.html#aa91169c33606d569c026366edda9881f',1,'imgui.cpp']]], + ['g_5fftex_3163',['g_ftex',['../imguiRenderGL_8cpp.html#a35e41818e96c0e65083e53b0757c046d',1,'imguiRenderGL.cpp']]], + ['g_5fgfxcmdqueue_3164',['g_gfxCmdQueue',['../imgui_8cpp.html#a9abda3631ae545a933711b38b51d73b1',1,'imgui.cpp']]], + ['g_5fgfxcmdqueuesize_3165',['g_gfxCmdQueueSize',['../imgui_8cpp.html#a1e10295502683256e4b84177f0631ba1',1,'imgui.cpp']]], + ['g_5finsidescrollarea_3166',['g_insideScrollArea',['../imgui_8cpp.html#aa35d7274201fdfbabcfa8a383cda40e7',1,'imgui.cpp']]], + ['g_5fnsamples_3167',['g_nsamples',['../main_8cpp.html#a60e01056b56609c9984c7f9dee5084cd',1,'main.cpp']]], + ['g_5fsamples_3168',['g_samples',['../main_8cpp.html#adf355327e327a55707483da0fb936165',1,'main.cpp']]], + ['g_5fscrollareatop_3169',['g_scrollAreaTop',['../imgui_8cpp.html#af694309b5965732a7517b3a64317d368',1,'imgui.cpp']]], + ['g_5fscrollbottom_3170',['g_scrollBottom',['../imgui_8cpp.html#a85885b3ff60d48c2fa48c97967b9754c',1,'imgui.cpp']]], + ['g_5fscrollid_3171',['g_scrollId',['../imgui_8cpp.html#ab1c52a1d375390099ea2a8ee290c2d4b',1,'imgui.cpp']]], + ['g_5fscrollright_3172',['g_scrollRight',['../imgui_8cpp.html#ac83ebebaf5c5c7fee5c8ef8b00d79263',1,'imgui.cpp']]], + ['g_5fscrolltop_3173',['g_scrollTop',['../imgui_8cpp.html#a3cbb6cb470c5eb82ca27461c33e38bd7',1,'imgui.cpp']]], + ['g_5fscrollval_3174',['g_scrollVal',['../imgui_8cpp.html#a9ae0fa12c8e7a4bf0ee1ea8dc2778528',1,'imgui.cpp']]], + ['g_5fstate_3175',['g_state',['../imgui_8cpp.html#a91dda354a7eaf0ce9c3bbb7c51251038',1,'imgui.cpp']]], + ['g_5ftabstops_3176',['g_tabStops',['../imguiRenderGL_8cpp.html#a8c37700196ed88412783b7c1f7d307fb',1,'imguiRenderGL.cpp']]], + ['g_5ftempcoords_3177',['g_tempCoords',['../imguiRenderGL_8cpp.html#ad10ff27565173e7b5d5ff243399dae14',1,'imguiRenderGL.cpp']]], + ['g_5ftempnormals_3178',['g_tempNormals',['../imguiRenderGL_8cpp.html#abc052698b25d3a19fb6eb715bfad5975',1,'imguiRenderGL.cpp']]], + ['g_5ftex_3179',['g_tex',['../SampleInterfaces_8cpp.html#ace0d90b13fb8095ce8da79758493054e',1,'SampleInterfaces.cpp']]], + ['g_5ftextpool_3180',['g_textPool',['../imgui_8cpp.html#a224cbb3648a6d4ff641cf31bc84f2573',1,'imgui.cpp']]], + ['g_5ftextpoolsize_3181',['g_textPoolSize',['../imgui_8cpp.html#ab73dcd239059b5a220e9e0277a568169',1,'imgui.cpp']]], + ['gfxcmd_5fqueue_5fsize_3182',['GFXCMD_QUEUE_SIZE',['../imgui_8cpp.html#a5c5f4e46b037c54179262552c59aabb9',1,'imgui.cpp']]], + ['gridsize_3183',['gridSize',['../structdtObstacleAvoidanceParams.html#a38655cab9f879095f3f0906fdf535f3c',1,'dtObstacleAvoidanceParams']]] +]; diff --git a/search/variables_7.html b/search/variables_7.html new file mode 100644 index 00000000..5c263409 --- /dev/null +++ b/search/variables_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_7.js b/search/variables_7.js new file mode 100644 index 00000000..c65cf580 --- /dev/null +++ b/search/variables_7.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['h_3184',['h',['../structimguiGfxRect.html#a45a1b8518cccb97f986f1ddd6b90f83b',1,'imguiGfxRect::h()'],['../structGraphParams.html#ae36558e25d555cb8e00d9f9267ca39cc',1,'GraphParams::h()'],['../structrcCompactSpan.html#a7eb3771c94cae7b6e1bc239ec8fd7043',1,'rcCompactSpan::h()']]], + ['h_5fscale_3185',['H_SCALE',['../DetourNavMeshQuery_8cpp.html#a691377deb83853ca02735f394ccf0a30',1,'DetourNavMeshQuery.cpp']]], + ['halfextents_3186',['halfExtents',['../structdtObstacleOrientedBox.html#ad13d533793b5329dd33bd85e43ea3623',1,'dtObstacleOrientedBox']]], + ['header_3187',['header',['../structdtCompressedTile.html#a4682edbafc7117d98aedc6069a0cae9f',1,'dtCompressedTile::header()'],['../structdtTileCacheLayer.html#aee440990f8d08c3c08f0759bfd00639c',1,'dtTileCacheLayer::header()'],['../structdtMeshTile.html#a5051ce89a829f53969be9ac3fae9d4c3',1,'dtMeshTile::header()']]], + ['height_3188',['height',['../structdtCrowdAgentParams.html#a762f702ee5339eebaf252d391f31a586',1,'dtCrowdAgentParams::height()'],['../structrcHeightPatch.html#a6e2f9591899f48231b2d13e87bc5ba6a',1,'rcHeightPatch::height()'],['../structrcContourSet.html#a18be0e9d84b65e8688153b0adb517124',1,'rcContourSet::height()'],['../structrcHeightfieldLayer.html#a58d4448da1f29c63229a11ffc886b351',1,'rcHeightfieldLayer::height()'],['../structrcCompactHeightfield.html#a25d9e16e5d82cf698e47b18a5740b639',1,'rcCompactHeightfield::height()'],['../structrcConfig.html#a25cdb5fcddc1d2813eca2462f60c13d1',1,'rcConfig::height()'],['../structdtObstacleCylinder.html#aae6a08ac6fded03f3df1cc9bbf34bf96',1,'dtObstacleCylinder::height()'],['../structdtTileCacheParams.html#a0428fa48e2d01e17aab08ff814b2c769',1,'dtTileCacheParams::height()'],['../structdtTileCacheLayerHeader.html#a3ea2f3a128e73e23879575725142d5fb',1,'dtTileCacheLayerHeader::height()'],['../structrcHeightfield.html#a568ceeea7acb4ddf67dd78ec4fee7672',1,'rcHeightfield::height()']]], + ['heights_3189',['heights',['../structdtTileCacheLayer.html#ad5671088121159f5f4f39d52f6c3d42f',1,'dtTileCacheLayer::heights()'],['../structrcHeightfieldLayer.html#ac524f9b2f07bd31eba6a9ef72c2f2d0b',1,'rcHeightfieldLayer::heights()']]], + ['high_3190',['high',['../structLinearAllocator.html#a1a09914aba0a50eba2ed752879974f75',1,'LinearAllocator']]], + ['hitedgeindex_3191',['hitEdgeIndex',['../structdtRaycastHit.html#a27f1d665cde84889338ef4634c017c39',1,'dtRaycastHit']]], + ['hitnormal_3192',['hitNormal',['../structdtRaycastHit.html#a35b5d410f632591db3f0a7d7f5c235b8',1,'dtRaycastHit']]], + ['hmax_3193',['hmax',['../structdtTileCacheLayerHeader.html#a1a39cf584edf04f90b05b38f1979f13d',1,'dtTileCacheLayerHeader::hmax()'],['../structrcHeightfieldLayer.html#a95365db6dde274d1722aec90ade7a8c8',1,'rcHeightfieldLayer::hmax()'],['../structConvexVolume.html#a3019acd734533671d8ac029bd7ad7379',1,'ConvexVolume::hmax()']]], + ['hmin_3194',['hmin',['../structdtTileCacheLayerHeader.html#ac67e4ecbb71ab3814e9e270f14004ee9',1,'dtTileCacheLayerHeader::hmin()'],['../structrcHeightfieldLayer.html#a6ddd970ccf1cd15048ac535f9f75d083',1,'rcHeightfieldLayer::hmin()'],['../structConvexVolume.html#a388cd3f55a1083b93543c7bad7a3d47e',1,'ConvexVolume::hmin()']]], + ['holes_3195',['holes',['../structrcContourRegion.html#ae12d68ef4a40342b654ce16ad1962dec',1,'rcContourRegion']]], + ['horiztime_3196',['horizTime',['../structdtObstacleAvoidanceParams.html#a20bba3a481f4478eb32fce9a7f61c436',1,'dtObstacleAvoidanceParams']]], + ['hot_3197',['hot',['../structGuiState.html#a0db522de5d2a46ebcabeb9721e95a1db',1,'GuiState']]], + ['hottobe_3198',['hotToBe',['../structGuiState.html#aab12c1ba6341e43974ecca47d57a2292',1,'GuiState']]] +]; diff --git a/search/variables_8.html b/search/variables_8.html new file mode 100644 index 00000000..dc9ec54a --- /dev/null +++ b/search/variables_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_8.js b/search/variables_8.js new file mode 100644 index 00000000..0842d3f2 --- /dev/null +++ b/search/variables_8.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['i_3199',['i',['../structBVItem.html#a50d6602a0adbcd8ac0bfa5e20edd554a',1,'BVItem::i()'],['../structrcChunkyTriMeshNode.html#aef4c1c5ae3d3e688449598791f65483c',1,'rcChunkyTriMeshNode::i()'],['../structBoundsItem.html#ab05a8256e9a88d9c1a24c88c424f88fc',1,'BoundsItem::i()'],['../structdtBVNode.html#aa7de4b9e1151b9f4bf02154cfb24a45a',1,'dtBVNode::i()']]], + ['id_3200',['id',['../structdtNode.html#a0ffc2be17daff1087e7d2920334eeb3d',1,'dtNode::id()'],['../structdtLayerSweepSpan.html#a979ef3d0c22d55844358ed2e62acd83f',1,'dtLayerSweepSpan::id()'],['../structrcLayerSweepSpan.html#a16f6f61547ed2e1c6f22b6e17810785e',1,'rcLayerSweepSpan::id()'],['../structrcRegion.html#a4938489b9fdddccbfb9273975632a30b',1,'rcRegion::id()'],['../structrcSweepSpan.html#ac1a82c65b0a40920eab883fc2b0aa706',1,'rcSweepSpan::id()']]], + ['idx_3201',['idx',['../structdtCrowdNeighbour.html#a6a4639002489c6b6e3709e2e6a217c7c',1,'dtCrowdNeighbour::idx()'],['../structdtCrowdAgentDebugInfo.html#ac0c1fb2edc72e4e688eb943d8f2d92b2',1,'dtCrowdAgentDebugInfo::idx()']]], + ['indent_5fsize_3202',['INDENT_SIZE',['../imgui_8cpp.html#a9a41113cc28a2b67396add06da86a18c',1,'imgui.cpp']]], + ['index_3203',['index',['../structrcCompactCell.html#ad1695135ae520dfee8c39aa7b1fd41d8',1,'rcCompactCell::index()'],['../structDirtyEntry.html#af570257530906e231345aa1e4debbfa7',1,'DirtyEntry::index()']]], + ['initpos_3204',['initPos',['../structdtCrowdAgentAnimation.html#a607dc9fc1c1d88d93f5140217a298f45',1,'dtCrowdAgentAnimation']]], + ['insidecurrentscroll_3205',['insideCurrentScroll',['../structGuiState.html#a57154ede278ed4dd5f11afde5c8f2e3b',1,'GuiState']]], + ['isactive_3206',['isActive',['../structGuiState.html#af6fe16bad26560cc8433134ebbb3d635',1,'GuiState']]], + ['ishot_3207',['isHot',['../structGuiState.html#a4d7b807b2ab88bc58fad34bc8d3c4b23',1,'GuiState']]], + ['items_3208',['items',['../structrcSpanPool.html#a7527556787dc57fc87296e8f3dcdd227',1,'rcSpanPool']]] +]; diff --git a/search/variables_9.html b/search/variables_9.html new file mode 100644 index 00000000..7b014750 --- /dev/null +++ b/search/variables_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_9.js b/search/variables_9.js new file mode 100644 index 00000000..ee810af0 --- /dev/null +++ b/search/variables_9.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['layer_3209',['layer',['../structdtMeshHeader.html#ad47558eb925bae065e741742e5c62ea0',1,'dtMeshHeader::layer()'],['../structNavMeshTileBuildContext.html#ae8bc391bf811509ade3f3c9fa273724a',1,'NavMeshTileBuildContext::layer()']]], + ['layerid_3210',['layerId',['../structrcLayerRegion.html#a98aa2992acd9a6ebcf57a401182e6b1b',1,'rcLayerRegion']]], + ['layers_3211',['layers',['../structrcHeightfieldLayerSet.html#a9ce20a3ccd65f24b6704e57768c2ea5c',1,'rcHeightfieldLayerSet::layers()'],['../structrcLayerRegion.html#aba2653474f31343b075cb51167276b09',1,'rcLayerRegion::layers()']]], + ['lcset_3212',['lcset',['../structNavMeshTileBuildContext.html#a23cc945ce5a1733603698eb9c4672733',1,'NavMeshTileBuildContext']]], + ['left_3213',['left',['../structGuiState.html#a1b101aced6d0a66c959f6dbc8e9ba4b8',1,'GuiState']]], + ['leftmost_3214',['leftmost',['../structrcContourHole.html#a9fb0f2717007dddc37156feca8b00cf2',1,'rcContourHole']]], + ['leftpressed_3215',['leftPressed',['../structGuiState.html#a4eca6767d38228c41e82a56b66ce4853',1,'GuiState']]], + ['leftreleased_3216',['leftReleased',['../structGuiState.html#a8a64eb781d05dd4561d1100a6e3c759f',1,'GuiState']]], + ['line_3217',['line',['../structimguiGfxCmd.html#a7cc3675a387e8714dd2a2f6d6303a12d',1,'imguiGfxCmd']]], + ['links_3218',['links',['../structdtMeshTile.html#a09ec6812e47b7e63f035abd0b7753554',1,'dtMeshTile']]], + ['linksfreelist_3219',['linksFreeList',['../structdtMeshTile.html#ad010d9daba37865a4065248745e0b4a0',1,'dtMeshTile']]], + ['lmesh_3220',['lmesh',['../structNavMeshTileBuildContext.html#a66224ae3010c2f8e7c9d7ab2df32e995',1,'NavMeshTileBuildContext']]], + ['lset_3221',['lset',['../structRasterizationContext.html#ae8ab461bba69577efde5b1bbc9af3bab',1,'RasterizationContext']]] +]; diff --git a/search/variables_a.html b/search/variables_a.html new file mode 100644 index 00000000..52a724d1 --- /dev/null +++ b/search/variables_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_a.js b/search/variables_a.js new file mode 100644 index 00000000..5d7073a5 --- /dev/null +++ b/search/variables_a.js @@ -0,0 +1,122 @@ +var searchData= +[ + ['m_5fagentheight_3222',['m_agentHeight',['../classSample.html#af6972f1f58b458f5f5ff6291da892882',1,'Sample']]], + ['m_5fagentmaxclimb_3223',['m_agentMaxClimb',['../classSample.html#ae0149f18e59e0c90ed444c35604cb943',1,'Sample']]], + ['m_5fagentmaxslope_3224',['m_agentMaxSlope',['../classSample.html#a880cc7f8392d39666bab31f183f75b82',1,'Sample']]], + ['m_5fagentradius_3225',['m_agentRadius',['../classSample.html#ae77f5848426c540d452b7bbbdd33dcb2',1,'Sample']]], + ['m_5fanticipateturns_3226',['m_anticipateTurns',['../structCrowdToolParams.html#ad4a5ed9be39d3f974e5fae65ced6c7b1',1,'CrowdToolParams']]], + ['m_5fbmax_3227',['m_bmax',['../classSample__Debug.html#abf213338fafebbc4dfb36ab6cfa6df46',1,'Sample_Debug']]], + ['m_5fbmin_3228',['m_bmin',['../classSample__Debug.html#a965cd582365c8b945f5d5f7da22f0597',1,'Sample_Debug']]], + ['m_5fbuildall_3229',['m_buildAll',['../classSample__TileMesh.html#ac9707dcfbb5d8a82eafdd45f4f9f0394',1,'Sample_TileMesh']]], + ['m_5fcachebuildmemusage_3230',['m_cacheBuildMemUsage',['../classSample__TempObstacles.html#abf96eb913dbc51385ef27e53dedd7d75',1,'Sample_TempObstacles']]], + ['m_5fcachebuildtimems_3231',['m_cacheBuildTimeMs',['../classSample__TempObstacles.html#a470c3923af143c884587e91d673a3ef6',1,'Sample_TempObstacles']]], + ['m_5fcachecompressedsize_3232',['m_cacheCompressedSize',['../classSample__TempObstacles.html#ac778775311b1bbadbc0e03b0df4f177c',1,'Sample_TempObstacles']]], + ['m_5fcachelayercount_3233',['m_cacheLayerCount',['../classSample__TempObstacles.html#ad6c21297ac2d0010109e5b60ce9a83fc',1,'Sample_TempObstacles']]], + ['m_5fcacherawsize_3234',['m_cacheRawSize',['../classSample__TempObstacles.html#a9cc23b964ec5482ecba5334cc0802bce',1,'Sample_TempObstacles']]], + ['m_5fcellheight_3235',['m_cellHeight',['../classSample.html#a9e971309f2473d4c4f44226c049f8d9d',1,'Sample']]], + ['m_5fcellsize_3236',['m_cellSize',['../classSample.html#a0ac2919f168dbe909f642515d78b7c8d',1,'Sample']]], + ['m_5fcenter_3237',['m_center',['../classSample__Debug.html#aac3de91166d443892f1f95748bcc0c01',1,'Sample_Debug']]], + ['m_5fcfg_3238',['m_cfg',['../classSample__SoloMesh.html#a383b397074ebd6e8781928019a4b2e06',1,'Sample_SoloMesh::m_cfg()'],['../classSample__TileMesh.html#ab0c78dc40c79a650b8b7ae611fefdbfd',1,'Sample_TileMesh::m_cfg()']]], + ['m_5fchf_3239',['m_chf',['../classSample__Debug.html#a84862166a412cf8260af236d0b158c26',1,'Sample_Debug::m_chf()'],['../classSample__SoloMesh.html#a9d9606cdf612dd091df930a603f5e24c',1,'Sample_SoloMesh::m_chf()'],['../classSample__TileMesh.html#a842be8ee16528adbd212967dc0f229f8',1,'Sample_TileMesh::m_chf()']]], + ['m_5fcrowd_3240',['m_crowd',['../classSample.html#acdddfc70a599d7a6b7a9bb58517d9725',1,'Sample']]], + ['m_5fcset_3241',['m_cset',['../classSample__SoloMesh.html#aba18137adf1ed26a4a541a985a70d758',1,'Sample_SoloMesh::m_cset()'],['../classSample__TileMesh.html#aa5eafc3cc3f3c657a2ca92cbeff00889',1,'Sample_TileMesh::m_cset()'],['../classSample__Debug.html#a9c3974e2ee3ac1694b8d0b83a0d54054',1,'Sample_Debug::m_cset()']]], + ['m_5fctx_3242',['m_ctx',['../classSample.html#a275537ae765b914f89c7cd266895fec7',1,'Sample']]], + ['m_5fdd_3243',['m_dd',['../classSample.html#ab48458c3c48e771dc7a1fa295c9fd637',1,'Sample']]], + ['m_5fdetailsampledist_3244',['m_detailSampleDist',['../classSample.html#a98b63ce7047076ff8d6472eb13942e26',1,'Sample']]], + ['m_5fdetailsamplemaxerror_3245',['m_detailSampleMaxError',['../classSample.html#a9b179f82933a079bc9ea7f41aa79fa51',1,'Sample']]], + ['m_5fdmesh_3246',['m_dmesh',['../classSample__TileMesh.html#a82d9efd99831784fbf099996778cfeab',1,'Sample_TileMesh::m_dmesh()'],['../classSample__SoloMesh.html#a558ccf439fbd4ccf9efa9e3f2cf49c08',1,'Sample_SoloMesh::m_dmesh()']]], + ['m_5fdrawmode_3247',['m_drawMode',['../classSample__SoloMesh.html#a32d99e347eb1580cd1b018393af1020a',1,'Sample_SoloMesh::m_drawMode()'],['../classSample__TempObstacles.html#a3522643a8813172c084cfac471965b04',1,'Sample_TempObstacles::m_drawMode()'],['../classSample__TileMesh.html#adc0bb43d0176b9fafb1f292af15dfe25',1,'Sample_TileMesh::m_drawMode()']]], + ['m_5fedgemaxerror_3248',['m_edgeMaxError',['../classSample.html#a9d9a456fbc01f802884f15d87aadeea6',1,'Sample']]], + ['m_5fedgemaxlen_3249',['m_edgeMaxLen',['../classSample.html#a66229e8206de01d22c240bd8420442e1',1,'Sample']]], + ['m_5fexpanddebugdraw_3250',['m_expandDebugDraw',['../structCrowdToolParams.html#a50149e1b215b9c9eba1059aa15f11e1e',1,'CrowdToolParams']]], + ['m_5fexpandoptions_3251',['m_expandOptions',['../structCrowdToolParams.html#a30d772dbf4f575001ff63f91bfef609c',1,'CrowdToolParams']]], + ['m_5fexpandselecteddebugdraw_3252',['m_expandSelectedDebugDraw',['../structCrowdToolParams.html#a3a1ad9f7a37befaa4d6300ecde1748e5',1,'CrowdToolParams']]], + ['m_5ffilterledgespans_3253',['m_filterLedgeSpans',['../classSample.html#a5aba3df7565098bb9e6e327389abb462',1,'Sample']]], + ['m_5ffilterlowhangingobstacles_3254',['m_filterLowHangingObstacles',['../classSample.html#a5efb5799ef7f20d164e54913f2e80259',1,'Sample']]], + ['m_5ffilterwalkablelowheightspans_3255',['m_filterWalkableLowHeightSpans',['../classSample.html#adc2be47bf6e03ac9fd4af8b9f364e6d6',1,'Sample']]], + ['m_5fgeom_3256',['m_geom',['../classSample.html#a53ee143e40e1472eddacf76bdd141c73',1,'Sample::m_geom()'],['../structMeshProcess.html#a65db060f220e6f5f94e0bc70d1cbd398',1,'MeshProcess::m_geom()']]], + ['m_5fhalfextents_3257',['m_halfExtents',['../classSample__Debug.html#a016ffb0b2f7b328988dc8ca45de70900',1,'Sample_Debug']]], + ['m_5fkeepinterresults_3258',['m_keepInterResults',['../classSample__SoloMesh.html#a6a30d74e05436f712c10a2013cb0bd14',1,'Sample_SoloMesh::m_keepInterResults()'],['../classSample__TempObstacles.html#a9167119c0eab0407261b705248ba6220',1,'Sample_TempObstacles::m_keepInterResults()'],['../classSample__TileMesh.html#a90e635880afd028ed2b9911335dbc926',1,'Sample_TileMesh::m_keepInterResults()']]], + ['m_5flastbuilttilebmax_3259',['m_lastBuiltTileBmax',['../classSample__TileMesh.html#ae5b9119252644fafe51a796fa212b3c0',1,'Sample_TileMesh']]], + ['m_5flastbuilttilebmin_3260',['m_lastBuiltTileBmin',['../classSample__TileMesh.html#a04546976f103034b0b3075d3f02f91e8',1,'Sample_TileMesh']]], + ['m_5flogenabled_3261',['m_logEnabled',['../classrcContext.html#af3690c070989bc399cd39e2da2b0fbad',1,'rcContext']]], + ['m_5fmaxpolyspertile_3262',['m_maxPolysPerTile',['../classSample__TempObstacles.html#a1c75490508baf130ec32ef2c60ea0dc6',1,'Sample_TempObstacles::m_maxPolysPerTile()'],['../classSample__TileMesh.html#a6534d009ee994c77b2a85cbeb4afa64e',1,'Sample_TileMesh::m_maxPolysPerTile()']]], + ['m_5fmaxtiles_3263',['m_maxTiles',['../classSample__TempObstacles.html#ad680dfdf8cee7a79ecf6e95a6f44acd3',1,'Sample_TempObstacles::m_maxTiles()'],['../classSample__TileMesh.html#adf10ce20646ee109bdfda289d2002469',1,'Sample_TileMesh::m_maxTiles()']]], + ['m_5fnavmesh_3264',['m_navMesh',['../classSample.html#a85e92e352c6aa0f8942736a3f2018884',1,'Sample']]], + ['m_5fnavmeshdrawflags_3265',['m_navMeshDrawFlags',['../classSample.html#a0fb2eac8be24dbb9f54ac8d37324b7b9',1,'Sample']]], + ['m_5fnavquery_3266',['m_navQuery',['../classSample.html#a26ee023759e26ed258ad35b1183edae0',1,'Sample']]], + ['m_5fobstacleavoidance_3267',['m_obstacleAvoidance',['../structCrowdToolParams.html#abd5dd62a05171d60b075e10d9290e7b3',1,'CrowdToolParams']]], + ['m_5fobstacleavoidancetype_3268',['m_obstacleAvoidanceType',['../structCrowdToolParams.html#a9627c513e79f26b6024c8d01843bc528',1,'CrowdToolParams']]], + ['m_5foptimizetopo_3269',['m_optimizeTopo',['../structCrowdToolParams.html#a40ea83734142dd59c92cb695631eee4a',1,'CrowdToolParams']]], + ['m_5foptimizevis_3270',['m_optimizeVis',['../structCrowdToolParams.html#a36e752b30016841720cafb2b3e0ac7ae',1,'CrowdToolParams']]], + ['m_5fpartitiontype_3271',['m_partitionType',['../classSample.html#a9888fa5781dee649df14a7be470a370c',1,'Sample']]], + ['m_5fpmesh_3272',['m_pmesh',['../classSample__Debug.html#ac4e043754c0612c7b650c95f0b62706e',1,'Sample_Debug::m_pmesh()'],['../classSample__SoloMesh.html#a12b020d2ae29630abe24090452d89d58',1,'Sample_SoloMesh::m_pmesh()'],['../classSample__TileMesh.html#a62f5a6f14e2ce186b89c8130db206feb',1,'Sample_TileMesh::m_pmesh()']]], + ['m_5fref_3273',['m_ref',['../classSample__Debug.html#a673bdcae37af994d3dcd004d3e4c7ffd',1,'Sample_Debug']]], + ['m_5fregionmergesize_3274',['m_regionMergeSize',['../classSample.html#a1f8a314cdaa47586271b8509dca7849f',1,'Sample']]], + ['m_5fregionminsize_3275',['m_regionMinSize',['../classSample.html#a648ad42edba19a7bb76bb7f17bd72335',1,'Sample']]], + ['m_5fseparation_3276',['m_separation',['../structCrowdToolParams.html#a8481d268ff04bf7e6b49458c911936cb',1,'CrowdToolParams']]], + ['m_5fseparationweight_3277',['m_separationWeight',['../structCrowdToolParams.html#a4f8f193a139b5f88d1665949c3fe7c9c',1,'CrowdToolParams']]], + ['m_5fshowcollisionsegments_3278',['m_showCollisionSegments',['../structCrowdToolParams.html#a099c9551972b676121b351f18c34c9e0',1,'CrowdToolParams']]], + ['m_5fshowcorners_3279',['m_showCorners',['../structCrowdToolParams.html#a85e1edfba62c2a2e5315ad05a0eaf0f9',1,'CrowdToolParams']]], + ['m_5fshowdetailall_3280',['m_showDetailAll',['../structCrowdToolParams.html#aa7340bfdeed7994d7899f8161744a3f6',1,'CrowdToolParams']]], + ['m_5fshowgrid_3281',['m_showGrid',['../structCrowdToolParams.html#a113cc0b0ee16ce253730d4a7d3c80672',1,'CrowdToolParams']]], + ['m_5fshowlabels_3282',['m_showLabels',['../structCrowdToolParams.html#ae078b3f35f3d5b2865139b3960708426',1,'CrowdToolParams']]], + ['m_5fshowneis_3283',['m_showNeis',['../structCrowdToolParams.html#aaf7a605017a4343c0536704cf0a4f1b0',1,'CrowdToolParams']]], + ['m_5fshownodes_3284',['m_showNodes',['../structCrowdToolParams.html#a4d8f49ea1fa301ad224405d12b9cd9a9',1,'CrowdToolParams']]], + ['m_5fshowopt_3285',['m_showOpt',['../structCrowdToolParams.html#abb28bf8b771767150348b0264c649991',1,'CrowdToolParams']]], + ['m_5fshowpath_3286',['m_showPath',['../structCrowdToolParams.html#a642a969b56ed560f2472eb4bd868416a',1,'CrowdToolParams']]], + ['m_5fshowperfgraph_3287',['m_showPerfGraph',['../structCrowdToolParams.html#a1dfe5185e48bbde739f0393227594b9c',1,'CrowdToolParams']]], + ['m_5fshowvo_3288',['m_showVO',['../structCrowdToolParams.html#a3e0009ffecf65e0b3aad0b7ad33f573b',1,'CrowdToolParams']]], + ['m_5fsolid_3289',['m_solid',['../classSample__SoloMesh.html#aee04a7d9dbc1c9e1f6c6084ac5503a93',1,'Sample_SoloMesh::m_solid()'],['../classSample__TileMesh.html#a3fe8dedfda40247593c879ca19e021cf',1,'Sample_TileMesh::m_solid()']]], + ['m_5ftalloc_3290',['m_talloc',['../classSample__TempObstacles.html#ac429ee71c83f05db18b62b07ee3331ed',1,'Sample_TempObstacles']]], + ['m_5ftcomp_3291',['m_tcomp',['../classSample__TempObstacles.html#a8a31948f10e5f7bac97cef471fb14af9',1,'Sample_TempObstacles']]], + ['m_5ftilebuildtime_3292',['m_tileBuildTime',['../classSample__TileMesh.html#acaea347f4caa829f5314634b0d77cf16',1,'Sample_TileMesh']]], + ['m_5ftilecache_3293',['m_tileCache',['../classSample__TempObstacles.html#ad15ecefaaefd5e4d60a67df5db97a0b3',1,'Sample_TempObstacles']]], + ['m_5ftilecol_3294',['m_tileCol',['../classSample__TileMesh.html#ab6439a65636c4a510cfb02b030fedfd9',1,'Sample_TileMesh']]], + ['m_5ftilememusage_3295',['m_tileMemUsage',['../classSample__TileMesh.html#a11f392f78f550bf5aa9772e0e00338fd',1,'Sample_TileMesh']]], + ['m_5ftilesize_3296',['m_tileSize',['../classSample__TempObstacles.html#a2fbc15ef10855409375630a151f62d77',1,'Sample_TempObstacles::m_tileSize()'],['../classSample__TileMesh.html#af505570e18ca82411122d5e975225b92',1,'Sample_TileMesh::m_tileSize()']]], + ['m_5ftiletricount_3297',['m_tileTriCount',['../classSample__TileMesh.html#ad779820f5b84624c5ee75c4a26738dfd',1,'Sample_TileMesh']]], + ['m_5ftimerenabled_3298',['m_timerEnabled',['../classrcContext.html#a851ba8cc41ee2185be82fe11e847c846',1,'rcContext']]], + ['m_5ftmproc_3299',['m_tmproc',['../classSample__TempObstacles.html#a3771c900fe0d20a3dc558b96dad7d13a',1,'Sample_TempObstacles']]], + ['m_5ftool_3300',['m_tool',['../classSample.html#a2b051749824672f59913671ec043dd59',1,'Sample']]], + ['m_5ftoolstates_3301',['m_toolStates',['../classSample.html#a824aa6303ba63c6c03b90aca89143ac7',1,'Sample']]], + ['m_5ftotalbuildtimems_3302',['m_totalBuildTimeMs',['../classSample__SoloMesh.html#ad018e09c3f700c7d9f7b4bec389b9643',1,'Sample_SoloMesh::m_totalBuildTimeMs()'],['../classSample__TileMesh.html#a102175de1771bd48ce7c9b87a187ee81',1,'Sample_TileMesh::m_totalBuildTimeMs()']]], + ['m_5ftriareas_3303',['m_triareas',['../classSample__SoloMesh.html#a53f7d384f99517ace66e6d4738d622e3',1,'Sample_SoloMesh::m_triareas()'],['../classSample__TileMesh.html#a6001cd8522fc9e9aaf837c757ef15faa',1,'Sample_TileMesh::m_triareas()']]], + ['m_5fvertsperpoly_3304',['m_vertsPerPoly',['../classSample.html#af57ce10362e08d94b16cc592734bd6ba',1,'Sample']]], + ['magic_3305',['magic',['../structdtMeshHeader.html#a3e7a9662d94d08b62ca84d44e150facc',1,'dtMeshHeader::magic()'],['../structdtTileState.html#ad1d40a5f3e34dcd3b0cd5e52a1929e15',1,'dtTileState::magic()'],['../structdtTileCacheLayerHeader.html#a8c7b27ed53bf0189ccc94c67d6820e2f',1,'dtTileCacheLayerHeader::magic()'],['../structNavMeshSetHeader.html#afaa6914946f66507c805e13877100822',1,'NavMeshSetHeader::magic()'],['../structTileCacheSetHeader.html#a11b814554f66b5ae6a20ff4bf5f9599e',1,'TileCacheSetHeader::magic()']]], + ['max_5fcommon_5fnodes_3306',['MAX_COMMON_NODES',['../DetourCrowd_8cpp.html#ac718951eb34b37a1c2f66ef6cc3f7ee6',1,'DetourCrowd.cpp']]], + ['max_5fconvexvol_5fpts_3307',['MAX_CONVEXVOL_PTS',['../InputGeom_8h.html#ab051ae2a0b2e4b23f39190bc9127098a',1,'InputGeom.h']]], + ['max_5fiters_5fper_5fupdate_3308',['MAX_ITERS_PER_UPDATE',['../DetourCrowd_8cpp.html#a6415beb0f334c026346ca21f1473d3ed',1,'DetourCrowd.cpp']]], + ['max_5flayers_3309',['MAX_LAYERS',['../Sample__TempObstacles_8cpp.html#a79bfaaec8df17228648fc51c7c302f72',1,'Sample_TempObstacles.cpp']]], + ['max_5fpathqueue_5fnodes_3310',['MAX_PATHQUEUE_NODES',['../DetourCrowd_8cpp.html#a6041e29fcccdcfc2f0b2b41d6f5df394',1,'DetourCrowd.cpp']]], + ['max_5frem_5fedges_3311',['MAX_REM_EDGES',['../DetourTileCacheBuilder_8cpp.html#a5131aaaa744669c5e9418ecffa6e64f5',1,'DetourTileCacheBuilder.cpp']]], + ['max_5fverts_5fper_5fpoly_3312',['MAX_VERTS_PER_POLY',['../DetourTileCacheBuilder_8cpp.html#a765f17c1f40a919b5a17a9701a0c9f52',1,'DetourTileCacheBuilder.cpp']]], + ['maxacceleration_3313',['maxAcceleration',['../structdtCrowdAgentParams.html#a2d1b22f12d2faf77c052b1bae3a27ada',1,'dtCrowdAgentParams']]], + ['maxdistance_3314',['maxDistance',['../structrcCompactHeightfield.html#a38921b347d72bdc07487d07e7608ffc7',1,'rcCompactHeightfield']]], + ['maxedgeerror_3315',['maxEdgeError',['../structrcPolyMesh.html#ab26e9ea24492a2c45b1a2d71ccdb091d',1,'rcPolyMesh']]], + ['maxedgelen_3316',['maxEdgeLen',['../structrcConfig.html#a2149036442bf38b9ec9615549aa48fd4',1,'rcConfig']]], + ['maxerror_3317',['maxError',['../structrcContourSet.html#af657b46878e8fff2dd731ee066e4e1b2',1,'rcContourSet']]], + ['maxlinkcount_3318',['maxLinkCount',['../structdtMeshHeader.html#ab9f95d40e21c8710f59e78ef89ce1cc0',1,'dtMeshHeader']]], + ['maxobstacles_3319',['maxObstacles',['../structdtTileCacheParams.html#a30fb34944589db46ad6262748d3f4c0c',1,'dtTileCacheParams']]], + ['maxpath_3320',['maxPath',['../structdtRaycastHit.html#a62b75cb350d9ace5e47887c7c1add9b3',1,'dtRaycastHit']]], + ['maxpolys_3321',['maxPolys',['../structdtNavMeshParams.html#a4f44babd04fff4f8300ecd15d4237375',1,'dtNavMeshParams']]], + ['maxpolys_3322',['maxpolys',['../structrcPolyMesh.html#afc6261e7cee3e3ff2a83b6ee8baf14a9',1,'rcPolyMesh']]], + ['maxregions_3323',['maxRegions',['../structrcCompactHeightfield.html#a6bfb7a2fdb06a64b03f0fffa885edd94',1,'rcCompactHeightfield']]], + ['maxsimplificationerror_3324',['maxSimplificationError',['../structrcConfig.html#a3421826332c0acfbbdfa34ee6c7183d1',1,'rcConfig::maxSimplificationError()'],['../structdtTileCacheParams.html#a426e4e8fbaea199ecc4714ba01aa8ef2',1,'dtTileCacheParams::maxSimplificationError()']]], + ['maxspeed_3325',['maxSpeed',['../structdtCrowdAgentParams.html#a2a023328c7266577eedeba25e480479f',1,'dtCrowdAgentParams']]], + ['maxtiles_3326',['maxTiles',['../structdtNavMeshParams.html#ad6027d623e81058f0d9b2a2adf803f00',1,'dtNavMeshParams::maxTiles()'],['../structdtTileCacheParams.html#a08e5fc995595846369e9dc040370b660',1,'dtTileCacheParams::maxTiles()']]], + ['maxtrisperchunk_3327',['maxTrisPerChunk',['../structrcChunkyTriMesh.html#a93638e22b53882b6bdc700b8c35ecd05',1,'rcChunkyTriMesh']]], + ['maxvertsperpoly_3328',['maxVertsPerPoly',['../structrcConfig.html#a055d0ed71c79c9af29424de5d0cf3d2d',1,'rcConfig']]], + ['maxx_3329',['maxx',['../structrcHeightfieldLayer.html#ab0b3836202050d3a701d2e3cfba8d9ab',1,'rcHeightfieldLayer::maxx()'],['../structdtTileCacheLayerHeader.html#ab675bd252447bcae38a8356b627af383',1,'dtTileCacheLayerHeader::maxx()']]], + ['maxy_3330',['maxy',['../structrcHeightfieldLayer.html#ad697fc4a8a65c2b1ef1f976097ee2b3f',1,'rcHeightfieldLayer::maxy()'],['../structdtTileCacheLayerHeader.html#afcbde7458c37c89801243b98a5aa4674',1,'dtTileCacheLayerHeader::maxy()']]], + ['mergeregionarea_3331',['mergeRegionArea',['../structrcConfig.html#ac2385e0a316304cd7b1c563cf9f7dd59',1,'rcConfig']]], + ['mesh_5fnull_5fidx_3332',['MESH_NULL_IDX',['../DetourNavMeshBuilder_8cpp.html#af3008e30fc489f2443bd25ae528c01e4',1,'DetourNavMeshBuilder.cpp']]], + ['meshes_3333',['meshes',['../structrcPolyMeshDetail.html#a39a0a4bdfaf81025dfd5c6efc17a9f02',1,'rcPolyMeshDetail']]], + ['meshparams_3334',['meshParams',['../structTileCacheSetHeader.html#ab16db6d86e12cbee7fde6e48efe92232',1,'TileCacheSetHeader']]], + ['minregionarea_3335',['minRegionArea',['../structrcConfig.html#af91c92dd5bb5ebf51a85b194917062ec',1,'rcConfig']]], + ['minx_3336',['minx',['../structrcContourHole.html#ab83982af11e1649becfdf57766fe45ee',1,'rcContourHole::minx()'],['../structrcHeightfieldLayer.html#adcd87e9ea184d277f36eea61314f6f4a',1,'rcHeightfieldLayer::minx()'],['../structdtTileCacheLayerHeader.html#ac536f24cbc32f35d0a42bd23f6ac1a56',1,'dtTileCacheLayerHeader::minx()']]], + ['miny_3337',['miny',['../structrcHeightfieldLayer.html#af5df0f6946f89193ca1c3e5c6f9ab49b',1,'rcHeightfieldLayer::miny()'],['../structdtTileCacheLayerHeader.html#a4e0f98a4b6cba8baf300311feb2700e2',1,'dtTileCacheLayerHeader::miny()']]], + ['minz_3338',['minz',['../structrcContourHole.html#a6638d0ce2b7972c1a6e795a99fea5504',1,'rcContourHole']]], + ['mx_3339',['mx',['../structGuiState.html#a500386b3162aeaaa091381e71e65b872',1,'GuiState']]], + ['my_3340',['my',['../structGuiState.html#aaae100f98cc2247cdd4c9f56e760a55e',1,'GuiState']]] +]; diff --git a/search/variables_b.html b/search/variables_b.html new file mode 100644 index 00000000..f376b27a --- /dev/null +++ b/search/variables_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_b.js b/search/variables_b.js new file mode 100644 index 00000000..5a8919b9 --- /dev/null +++ b/search/variables_b.js @@ -0,0 +1,35 @@ +var searchData= +[ + ['n_3341',['n',['../structrcChunkyTriMeshNode.html#a21461e9717fa41aede9a197e82c2fab8',1,'rcChunkyTriMeshNode']]], + ['name_3342',['name',['../structSampleItem.html#af696aa049ca06a8a27e9d9ed4e55c0df',1,'SampleItem']]], + ['navmeshbmax_3343',['navMeshBMax',['../structBuildSettings.html#aa4bd791b8e27043a8f341274fa656edd',1,'BuildSettings']]], + ['navmeshbmin_3344',['navMeshBMin',['../structBuildSettings.html#a0edd34a0d76575e5208aa491b449f62e',1,'BuildSettings']]], + ['navmeshset_5fmagic_3345',['NAVMESHSET_MAGIC',['../Sample_8cpp.html#a4df6b7baccb2e22c35e50eec65a51a76',1,'Sample.cpp']]], + ['navmeshset_5fversion_3346',['NAVMESHSET_VERSION',['../Sample_8cpp.html#a4f9236737e82de35f8d48f6bc55c704a',1,'Sample.cpp']]], + ['nconts_3347',['nconts',['../structdtTileCacheContourSet.html#a337ee629794b3eb22f605f531990456e',1,'dtTileCacheContourSet::nconts()'],['../structrcContourSet.html#aa751e5adb077b2ea7a9c8795e7a2fa99',1,'rcContourSet::nconts()']]], + ['ncorners_3348',['ncorners',['../structdtCrowdAgent.html#a74e6935a70f5a787f9e06481d9c2905b',1,'dtCrowdAgent']]], + ['ndiv_3349',['ndiv',['../structGraphParams.html#aaeedd456935f5b7bf3090cbfb0afbbbc',1,'GraphParams']]], + ['nei_3350',['nei',['../structrcSweepSpan.html#a4d7da0d9409cf1124f8fed63783da60e',1,'rcSweepSpan::nei()'],['../structdtLayerSweepSpan.html#abbd4307e791bd3ff4bd19bf13990c694',1,'dtLayerSweepSpan::nei()'],['../structrcLayerSweepSpan.html#ae002a2c1f59bcd05df6661734ba7e466',1,'rcLayerSweepSpan::nei()']]], + ['neis_3351',['neis',['../structdtPoly.html#ac4f5aa32df32aa5b1385f76f697376af',1,'dtPoly::neis()'],['../structrcLayerRegion.html#a4ecba0bd9f4f46d3c349f96670c7ba05',1,'rcLayerRegion::neis()'],['../structdtCrowdAgent.html#a924fad92f7bfcf396a3340d0e518bedf',1,'dtCrowdAgent::neis()'],['../structdtLayerMonotoneRegion.html#ab9c62662a8577f672e3d8b204911811c',1,'dtLayerMonotoneRegion::neis()']]], + ['next_3352',['next',['../structdtLink.html#a475b893f03bf4c942ab6376d83dca82e',1,'dtLink::next()'],['../structrcSpanPool.html#aaa72cbbf0abb73bfaa8fefc55ef37f2f',1,'rcSpanPool::next()'],['../structdtTileCacheObstacle.html#aa2366814cc7ea879699236e70fb3faed',1,'dtTileCacheObstacle::next()'],['../structdtMeshTile.html#a3c02fb96379627a32e596035f5ad9231',1,'dtMeshTile::next()'],['../structdtCompressedTile.html#a092b83bd1a640dbdcbbd34699bc2c1bd',1,'dtCompressedTile::next()'],['../structrcSpan.html#a3b1dbeacc04852fe7330dcd0f5745424',1,'rcSpan::next()']]], + ['nholes_3353',['nholes',['../structrcContourRegion.html#a868d233f83da1275952c46874d808114',1,'rcContourRegion']]], + ['nlayers_3354',['nlayers',['../structrcLayerRegion.html#a6c0f115441207bdf6eb739a000229bb2',1,'rcLayerRegion::nlayers()'],['../structrcHeightfieldLayerSet.html#aee43327ad152d5dea25ed5299f38101a',1,'rcHeightfieldLayerSet::nlayers()']]], + ['nmeshes_3355',['nmeshes',['../structrcPolyMeshDetail.html#afbe7e21cf0f9dca429c6762f457f61b6',1,'rcPolyMeshDetail']]], + ['nneis_3356',['nneis',['../structdtLayerMonotoneRegion.html#a60988af0dcb5582f1017506fc01d19c6',1,'dtLayerMonotoneRegion::nneis()'],['../structdtCrowdAgent.html#a250ba2f5d9ebd40b88ad770aced4aeab',1,'dtCrowdAgent::nneis()'],['../structrcLayerRegion.html#ac8dbef0b5cc388f6fb6492a7a4192c61',1,'rcLayerRegion::nneis()']]], + ['nnodes_3357',['nnodes',['../structrcChunkyTriMesh.html#aaf4b64877b4d7e95d037e5c8e7480420',1,'rcChunkyTriMesh']]], + ['nodes_3358',['nodes',['../structrcChunkyTriMesh.html#a9d0871acc93ee37e657ab5a39507849b',1,'rcChunkyTriMesh']]], + ['np_3359',['np',['../structdtObstacleCircle.html#a04d72360e079c808469b6650fa4e3566',1,'dtObstacleCircle']]], + ['npending_3360',['npending',['../structdtTileCacheObstacle.html#a49a8cbfab1e19c6d5aa378f1a33f02ec',1,'dtTileCacheObstacle']]], + ['npoly_3361',['npoly',['../structdtTempContour.html#a6dd3c29881b08d88182c1a6117132879',1,'dtTempContour']]], + ['npolys_3362',['npolys',['../structdtTileCachePolyMesh.html#a19b929513482da73c5abf7aba98b46e8',1,'dtTileCachePolyMesh::npolys()'],['../structrcPolyMesh.html#abd3e50c1eb0aba7157aa3e2902ae019e',1,'rcPolyMesh::npolys()']]], + ['npos_3363',['npos',['../structdtCrowdAgent.html#ab23be37267f7f72bf6f4e2e455a8bb6c',1,'dtCrowdAgent']]], + ['nrverts_3364',['nrverts',['../structrcContour.html#a0cceba5f2070c42ac2a871189d4ceb53',1,'rcContour']]], + ['ns_3365',['ns',['../structdtLayerSweepSpan.html#a20068e1afedf77184348891cc3f863ed',1,'dtLayerSweepSpan::ns()'],['../structrcLayerSweepSpan.html#a7106ea090c417b32ef87c78a3940b997',1,'rcLayerSweepSpan::ns()'],['../structrcSweepSpan.html#afa7aea20a3d345b6663799f60d846737',1,'rcSweepSpan::ns()']]], + ['ntiles_3366',['ntiles',['../structRasterizationContext.html#a9237ebd7e26d392f54464d540317efcf',1,'RasterizationContext']]], + ['ntouched_3367',['ntouched',['../structdtTileCacheObstacle.html#a10ae8b8922bd1cad14693de0c69c27c3',1,'dtTileCacheObstacle']]], + ['ntris_3368',['ntris',['../structrcChunkyTriMesh.html#a72fed74ea56cac960cd9eb282e312d87',1,'rcChunkyTriMesh::ntris()'],['../structrcPolyMeshDetail.html#a80041af5ae32e618d4980cd81a08c9e3',1,'rcPolyMeshDetail::ntris()']]], + ['numtiles_3369',['numTiles',['../structNavMeshSetHeader.html#a2efebea0358363f254fcf52aee6aeec4',1,'NavMeshSetHeader::numTiles()'],['../structTileCacheSetHeader.html#a1e3660dad6ea670bb0f222c9d02cebb3',1,'TileCacheSetHeader::numTiles()']]], + ['nvel_3370',['nvel',['../structdtCrowdAgent.html#aa0df33b4ae01bffe26adc2ea530cc49e',1,'dtCrowdAgent']]], + ['nverts_3371',['nverts',['../structdtTileCacheContour.html#a2bb153bf7d141e4ab209a27eeceff55f',1,'dtTileCacheContour::nverts()'],['../structdtTileCachePolyMesh.html#a369808f1d748df877916ad7d66ea38a1',1,'dtTileCachePolyMesh::nverts()'],['../structdtTempContour.html#ab01c00d6a0d27fa0fb88743030e7a303',1,'dtTempContour::nverts()'],['../structrcContour.html#afcf77c01352f2c46172fdfabd2f9b9f6',1,'rcContour::nverts()'],['../structrcPolyMesh.html#ac9c762a21343c45649638e02332e53eb',1,'rcPolyMesh::nverts()'],['../structrcPolyMeshDetail.html#a5424a45b24c43d49d93d89e89f11b59f',1,'rcPolyMeshDetail::nverts()'],['../structConvexVolume.html#aa95664f1b0d264a0f6a5261f9bb0737a',1,'ConvexVolume::nverts()']]], + ['nvp_3372',['nvp',['../structdtTileCachePolyMesh.html#adc3ecbab9e04c96d87b1ad4fbad439aa',1,'dtTileCachePolyMesh::nvp()'],['../structrcPolyMesh.html#ab0c55272b556ffc9db9e643b463cb66a',1,'rcPolyMesh::nvp()'],['../structdtNavMeshCreateParams.html#aa0cacf292dd206fe7da335461c3af65c',1,'dtNavMeshCreateParams::nvp()']]] +]; diff --git a/search/variables_c.html b/search/variables_c.html new file mode 100644 index 00000000..6019eba9 --- /dev/null +++ b/search/variables_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_c.js b/search/variables_c.js new file mode 100644 index 00000000..ab277346 --- /dev/null +++ b/search/variables_c.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['obstacleavoidancetype_3373',['obstacleAvoidanceType',['../structdtCrowdAgentParams.html#ae8be062f1d9616d17d8b536f7a501498',1,'dtCrowdAgentParams']]], + ['offmeshbase_3374',['offMeshBase',['../structdtMeshHeader.html#ac8f24275024a40076976e024677dc54d',1,'dtMeshHeader']]], + ['offmeshconareas_3375',['offMeshConAreas',['../structdtNavMeshCreateParams.html#a3a3aa99e495e64204ebeb1b1cd831259',1,'dtNavMeshCreateParams']]], + ['offmeshconcount_3376',['offMeshConCount',['../structdtMeshHeader.html#af48a70c7ce5f5fd586eb8e66dfe8ea36',1,'dtMeshHeader::offMeshConCount()'],['../structdtNavMeshCreateParams.html#adf244929dceba81df29f80f8869097c0',1,'dtNavMeshCreateParams::offMeshConCount()']]], + ['offmeshcondir_3377',['offMeshConDir',['../structdtNavMeshCreateParams.html#a4e497665c7f79fb93211503ebc8069be',1,'dtNavMeshCreateParams']]], + ['offmeshconflags_3378',['offMeshConFlags',['../structdtNavMeshCreateParams.html#ab1339cb28aa32fd7fe2410322cbd187b',1,'dtNavMeshCreateParams']]], + ['offmeshconrad_3379',['offMeshConRad',['../structdtNavMeshCreateParams.html#a42c0de18949baa70762b83f6aaff0bf8',1,'dtNavMeshCreateParams']]], + ['offmeshcons_3380',['offMeshCons',['../structdtMeshTile.html#aaab8cd6559e004f4e39e297ffdd1c5f9',1,'dtMeshTile']]], + ['offmeshconuserid_3381',['offMeshConUserID',['../structdtNavMeshCreateParams.html#a5d4b0e452b998375f06cd6a3103ea042',1,'dtNavMeshCreateParams']]], + ['offmeshconverts_3382',['offMeshConVerts',['../structdtNavMeshCreateParams.html#a9b075503ee6bfbb71e1b206b249e260d',1,'dtNavMeshCreateParams']]], + ['optend_3383',['optEnd',['../structdtCrowdAgentDebugInfo.html#a2c3da33772d29888a52162695eaf37f8',1,'dtCrowdAgentDebugInfo']]], + ['optstart_3384',['optStart',['../structdtCrowdAgentDebugInfo.html#a83c0af535de2def34dbfe42e30b33fed',1,'dtCrowdAgentDebugInfo']]], + ['orientedbox_3385',['orientedBox',['../structdtTileCacheObstacle.html#ac644e6dc7525b0157f10f3dc6abd1416',1,'dtTileCacheObstacle']]], + ['orig_3386',['orig',['../structdtNavMeshParams.html#a188d95f6d6dbd714b952578d71e3e115',1,'dtNavMeshParams::orig()'],['../structdtTileCacheParams.html#af9020a1528db6a1ac4e21d54c951e0e5',1,'dtTileCacheParams::orig()']]], + ['outline_3387',['outline',['../structrcContourRegion.html#abe0095d55beae3075672c9584211662c',1,'rcContourRegion']]], + ['overlap_3388',['overlap',['../structrcRegion.html#a74e8d6e0e6bd376822dfa732aa7106b3',1,'rcRegion']]] +]; diff --git a/search/variables_d.html b/search/variables_d.html new file mode 100644 index 00000000..f61ae751 --- /dev/null +++ b/search/variables_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_d.js b/search/variables_d.js new file mode 100644 index 00000000..e5097ab0 --- /dev/null +++ b/search/variables_d.js @@ -0,0 +1,24 @@ +var searchData= +[ + ['p_3389',['p',['../structdtObstacleSegment.html#aac975238e1614b0652643f973f32dc78',1,'dtObstacleSegment::p()'],['../structdtObstacleCircle.html#a28678b711bbd24d62df014d53b091c68',1,'dtObstacleCircle::p()']]], + ['pad_3390',['pad',['../structimguiGfxCmd.html#ae68d40f922fd4dda9f7e41d69db143c0',1,'imguiGfxCmd::pad()'],['../structGraphParams.html#a884cdd1fb7c9f58c88dc5d061d7b7e4b',1,'GraphParams::pad()']]], + ['params_3391',['params',['../structdtCrowdAgent.html#acd1b22112639114ce05c793d178eb4b5',1,'dtCrowdAgent::params()'],['../structNavMeshSetHeader.html#a09e6f8cc597d5a96b13f2e429874d24e',1,'NavMeshSetHeader::params()']]], + ['partial_3392',['partial',['../structdtCrowdAgent.html#aeb06d7c34ab74696ebb125b0c409043d',1,'dtCrowdAgent']]], + ['partitiontype_3393',['partitionType',['../structBuildSettings.html#a1c247eac02103152762034a47530086b',1,'BuildSettings']]], + ['path_3394',['path',['../structdtRaycastHit.html#afaec74eedaf7e62a4fcc9b2bc2ce7006',1,'dtRaycastHit']]], + ['pathcost_3395',['pathCost',['../structdtRaycastHit.html#aa545333016e4844923a022263ab6a5fa',1,'dtRaycastHit']]], + ['pathcount_3396',['pathCount',['../structdtRaycastHit.html#ae1b9b3893e653ce5a1ecf8d8415f5a93',1,'dtRaycastHit']]], + ['pathoptimizationrange_3397',['pathOptimizationRange',['../structdtCrowdAgentParams.html#ab390e7ccafffda667a1132917ad91b93',1,'dtCrowdAgentParams']]], + ['pending_3398',['pending',['../structdtTileCacheObstacle.html#afb12e99f5680d18d4d61b8ad40c4a654',1,'dtTileCacheObstacle']]], + ['pi_3399',['PI',['../imguiRenderGL_8cpp.html#aa08a577393243b86dfd2a97e61443673',1,'imguiRenderGL.cpp']]], + ['pidx_3400',['pidx',['../structdtNode.html#af9b33590451ca71942c251e140724d49',1,'dtNode']]], + ['poly_3401',['poly',['../structdtTempContour.html#a3292c9c8f9d16f471d8c0c9d702ce062',1,'dtTempContour::poly()'],['../structrcEdge.html#a8c7453ea99462ccd11a1a4df861897db',1,'rcEdge::poly()'],['../structdtOffMeshConnection.html#a4b6b7097d8fd55a5e7f7173a40d01325',1,'dtOffMeshConnection::poly()']]], + ['polyareas_3402',['polyAreas',['../structdtNavMeshCreateParams.html#a6968dabec88b5fc3f549f675b7a40eed',1,'dtNavMeshCreateParams']]], + ['polycount_3403',['polyCount',['../structdtMeshHeader.html#ab36d94238505dbf5370c69c8e5276d74',1,'dtMeshHeader::polyCount()'],['../structdtNavMeshCreateParams.html#ade05d506a6505335142d06f18a35cc45',1,'dtNavMeshCreateParams::polyCount()']]], + ['polyedge_3404',['polyEdge',['../structrcEdge.html#ab20ad72bbcb3029d46c375f3b9358d07',1,'rcEdge']]], + ['polyflags_3405',['polyFlags',['../structdtNavMeshCreateParams.html#a61193891d27672918981c8e9447baf47',1,'dtNavMeshCreateParams']]], + ['polyref_3406',['polyRef',['../structdtCrowdAgentAnimation.html#a84a98c95db9bc9db2f334311430669ac',1,'dtCrowdAgentAnimation']]], + ['polys_3407',['polys',['../structdtMeshTile.html#abd8ed5dcf003464a7d8c456f671e6c1e',1,'dtMeshTile::polys()'],['../structdtNavMeshCreateParams.html#a32129adb089b24ce7f328f780bbf35a7',1,'dtNavMeshCreateParams::polys()'],['../structdtTileCachePolyMesh.html#a334e7e9d3643a199f8b006d632bf15e3',1,'dtTileCachePolyMesh::polys()'],['../structrcPolyMesh.html#a74e59a4854036ac66dfac9761b9f59b2',1,'rcPolyMesh::polys()']]], + ['pools_3408',['pools',['../structrcHeightfield.html#a9808fdf31203f60447a3b9d693a6efc7',1,'rcHeightfield']]], + ['pos_3409',['pos',['../structdtOffMeshConnection.html#a1ad6f470aa15ca67e1df62d692a4efe4',1,'dtOffMeshConnection::pos()'],['../structdtNode.html#a2e6577134c6d533b9cc9914c38eb877d',1,'dtNode::pos()'],['../structdtObstacleCylinder.html#aae2ca30505f18221ddd9a583382daa0d',1,'dtObstacleCylinder::pos()']]] +]; diff --git a/search/variables_e.html b/search/variables_e.html new file mode 100644 index 00000000..7bfd3721 --- /dev/null +++ b/search/variables_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_e.js b/search/variables_e.js new file mode 100644 index 00000000..d42119f6 --- /dev/null +++ b/search/variables_e.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['q_3410',['q',['../structdtObstacleSegment.html#a3282730543d772664692b32c15576ee9',1,'dtObstacleSegment']]], + ['queryfiltertype_3411',['queryFilterType',['../structdtCrowdAgentParams.html#af5d15cba10237592b1766d7d82da1420',1,'dtCrowdAgentParams']]] +]; diff --git a/search/variables_f.html b/search/variables_f.html new file mode 100644 index 00000000..d97920d0 --- /dev/null +++ b/search/variables_f.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_f.js b/search/variables_f.js new file mode 100644 index 00000000..9573a01b --- /dev/null +++ b/search/variables_f.js @@ -0,0 +1,36 @@ +var searchData= +[ + ['r_3412',['r',['../structimguiGfxLine.html#a6e6579cb0bbe0b6adc256326c5580e9e',1,'imguiGfxLine::r()'],['../structimguiGfxRect.html#ae51467bcbbb702b825ebac3f0307fc4e',1,'imguiGfxRect::r()']]], + ['rad_3413',['rad',['../structdtOffMeshConnection.html#af5ea87d3e8c0d6c1bd5afeac3f954fa1',1,'dtOffMeshConnection::rad()'],['../structdtObstacleCircle.html#ae666389d33d7316c1e4e303b13871adc',1,'dtObstacleCircle::rad()']]], + ['radius_3414',['radius',['../structdtCrowdAgentParams.html#a780421355c73aecb187c1aa36de854d8',1,'dtCrowdAgentParams::radius()'],['../structdtObstacleCylinder.html#aea6d46db3e78e208d217b8915e1f195a',1,'dtObstacleCylinder::radius()']]], + ['rc_5farea_5fborder_3415',['RC_AREA_BORDER',['../Recast_8h.html#a55bb146cbd1c0ec0e06ca8e90dd5b7bc',1,'Recast.h']]], + ['rc_5fborder_5freg_3416',['RC_BORDER_REG',['../Recast_8h.html#ac47ca685874fce67f50bd580ef1e0497',1,'Recast.h']]], + ['rc_5fborder_5fvertex_3417',['RC_BORDER_VERTEX',['../Recast_8h.html#a8b57de86c98abbad39cce7df7c0aa1f8',1,'Recast.h']]], + ['rc_5fcontour_5freg_5fmask_3418',['RC_CONTOUR_REG_MASK',['../Recast_8h.html#a86c6c9df2df0402a9d026fb9603fb02b',1,'Recast.h']]], + ['rc_5fmax_5flayers_3419',['RC_MAX_LAYERS',['../RecastLayers_8cpp.html#a0865bdb05f7816f06bd8666f04535f42',1,'RecastLayers.cpp']]], + ['rc_5fmax_5fneis_3420',['RC_MAX_NEIS',['../RecastLayers_8cpp.html#adc47551fbc117d2c43a91dd14a78df66',1,'RecastLayers.cpp']]], + ['rc_5fmesh_5fnull_5fidx_3421',['RC_MESH_NULL_IDX',['../Recast_8h.html#a66e1b0e59a450182b5551eb12e68fcfe',1,'Recast.h']]], + ['rc_5fmultiple_5fregs_3422',['RC_MULTIPLE_REGS',['../Recast_8h.html#abf6ad8971b152bddbd9c1b1e1e256cc3',1,'Recast.h']]], + ['rc_5fnot_5fconnected_3423',['RC_NOT_CONNECTED',['../Recast_8h.html#a64354aff947c2d8040e39bb4ceaf1a9f',1,'Recast.h']]], + ['rc_5fnull_5farea_3424',['RC_NULL_AREA',['../Recast_8h.html#a5105dbfb2d2bf8aa69122db502d0e39e',1,'Recast.h']]], + ['rc_5fnull_5fnei_3425',['RC_NULL_NEI',['../RecastRegion_8cpp.html#ae985981f9a0039f8584d8c165959c817',1,'RecastRegion.cpp']]], + ['rc_5fpi_3426',['RC_PI',['../Recast_8h.html#ac784d579fcb90e51ba0ea98fd529e5ed',1,'Recast.h']]], + ['rc_5fspan_5fheight_5fbits_3427',['RC_SPAN_HEIGHT_BITS',['../Recast_8h.html#a70b5ff22f9acea41e961ee7ea4f7300f',1,'Recast.h']]], + ['rc_5fspan_5fmax_5fheight_3428',['RC_SPAN_MAX_HEIGHT',['../Recast_8h.html#a29fe08410353b3b0dfdf777303750b43',1,'Recast.h']]], + ['rc_5fspans_5fper_5fpool_3429',['RC_SPANS_PER_POOL',['../Recast_8h.html#a55acc4ef20d0b0507e2c6fee696ecf5e',1,'Recast.h']]], + ['rc_5funset_5fheight_3430',['RC_UNSET_HEIGHT',['../RecastMeshDetail_8cpp.html#a17129b9465fbc4a0d5b375870f751ff2',1,'RecastMeshDetail.cpp']]], + ['rc_5fwalkable_5farea_3431',['RC_WALKABLE_AREA',['../Recast_8h.html#a55c878bf81a2811829c8c5e491be41cb',1,'Recast.h']]], + ['rect_3432',['rect',['../structimguiGfxCmd.html#a83f785a85c31c45d64870075d76e9b50',1,'imguiGfxCmd']]], + ['ref_3433',['ref',['../structdtLink.html#a34c73193fed76de347adb0f2e9841659',1,'dtLink::ref()'],['../structdtTileState.html#a5c3602092e22491b52974d478e229cd0',1,'dtTileState::ref()'],['../structdtSegInterval.html#adeaef89322156ccfb6ecd7fc5e259b70',1,'dtSegInterval::ref()']]], + ['reg_3434',['reg',['../structdtTileCacheContour.html#a71fc05a4f350f018a5ee82c446381d6a',1,'dtTileCacheContour::reg()'],['../structrcCompactSpan.html#aca1a16c8453c9533120c094979601d77',1,'rcCompactSpan::reg()'],['../structrcContour.html#a8971d5c5cc7c7fb8e5d79a6ff9812cd1',1,'rcContour::reg()']]], + ['regcount_3435',['regCount',['../structdtTileCacheLayer.html#ab9bd3001111fc4512c2ef7f225a4466d',1,'dtTileCacheLayer']]], + ['regid_3436',['regId',['../structdtLayerMonotoneRegion.html#a1f4d98055db146d7bd28129b1f5741cd',1,'dtLayerMonotoneRegion']]], + ['region_3437',['region',['../structDirtyEntry.html#ad3c4712adccfb24f1a7ab8d75f42ab1e',1,'DirtyEntry']]], + ['regionmergesize_3438',['regionMergeSize',['../structBuildSettings.html#af2ca11587809f94520e65568f878b05a',1,'BuildSettings']]], + ['regionminsize_3439',['regionMinSize',['../structBuildSettings.html#a3d005a4039976ee34798ff06775f6d73',1,'BuildSettings']]], + ['regs_3440',['regs',['../structdtTileCacheLayer.html#a2c1f0dc1d5b1b0c5770fdd49aa0cb634',1,'dtTileCacheLayer::regs()'],['../structrcPolyMesh.html#a9ae584e99de152fb89d957d43b7becd8',1,'rcPolyMesh::regs()']]], + ['remap_3441',['remap',['../structrcRegion.html#afacd1efddbdfbb854e7c2cf505365f0b',1,'rcRegion']]], + ['rid_3442',['rid',['../structrcSweepSpan.html#ab92de3221c19c2c9a2d716ea7680146f',1,'rcSweepSpan']]], + ['rotaux_3443',['rotAux',['../structdtObstacleOrientedBox.html#a458dd50502225f6b7070f9cad93c537b',1,'dtObstacleOrientedBox']]], + ['rverts_3444',['rverts',['../structrcContour.html#a4875d6bf00efae95009d0fe8ccb1f0e9',1,'rcContour']]] +]; diff --git a/splitbar.png b/splitbar.png new file mode 100644 index 00000000..fe895f2c Binary files /dev/null and b/splitbar.png differ diff --git a/structBVItem-members.html b/structBVItem-members.html new file mode 100644 index 00000000..f7cbfe75 --- /dev/null +++ b/structBVItem-members.html @@ -0,0 +1,109 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    BVItem Member List
    +
    +
    + +

    This is the complete list of members for BVItem, including all inherited members.

    + + + + +
    bmaxBVItem
    bminBVItem
    iBVItem
    +
    + + + + + diff --git a/structBVItem.html b/structBVItem.html new file mode 100644 index 00000000..74efc795 --- /dev/null +++ b/structBVItem.html @@ -0,0 +1,163 @@ + + + + + + + +Recast Navigation: BVItem Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    BVItem Struct Reference
    +
    +
    + + + + + + + + +

    +Public Attributes

    unsigned short bmin [3]
     
    unsigned short bmax [3]
     
    int i
     
    +

    Member Data Documentation

    + +

    ◆ bmax

    + +
    +
    + + + + +
    unsigned short BVItem::bmax[3]
    +
    + +
    +
    + +

    ◆ bmin

    + +
    +
    + + + + +
    unsigned short BVItem::bmin[3]
    +
    + +
    +
    + +

    ◆ i

    + +
    +
    + + + + +
    int BVItem::i
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structBVItem.js b/structBVItem.js new file mode 100644 index 00000000..8bf0f719 --- /dev/null +++ b/structBVItem.js @@ -0,0 +1,6 @@ +var structBVItem = +[ + [ "bmax", "structBVItem.html#a93bd79d5cff1032583c104c06c1496ec", null ], + [ "bmin", "structBVItem.html#a40e595a0791532d1f41ada14843bc087", null ], + [ "i", "structBVItem.html#a50d6602a0adbcd8ac0bfa5e20edd554a", null ] +]; \ No newline at end of file diff --git a/structBoundsItem-members.html b/structBoundsItem-members.html new file mode 100644 index 00000000..13372a7d --- /dev/null +++ b/structBoundsItem-members.html @@ -0,0 +1,109 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    BoundsItem Member List
    +
    +
    + +

    This is the complete list of members for BoundsItem, including all inherited members.

    + + + + +
    bmaxBoundsItem
    bminBoundsItem
    iBoundsItem
    +
    + + + + + diff --git a/structBoundsItem.html b/structBoundsItem.html new file mode 100644 index 00000000..1fc69cc0 --- /dev/null +++ b/structBoundsItem.html @@ -0,0 +1,163 @@ + + + + + + + +Recast Navigation: BoundsItem Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    BoundsItem Struct Reference
    +
    +
    + + + + + + + + +

    +Public Attributes

    float bmin [2]
     
    float bmax [2]
     
    int i
     
    +

    Member Data Documentation

    + +

    ◆ bmax

    + +
    +
    + + + + +
    float BoundsItem::bmax[2]
    +
    + +
    +
    + +

    ◆ bmin

    + +
    +
    + + + + +
    float BoundsItem::bmin[2]
    +
    + +
    +
    + +

    ◆ i

    + +
    +
    + + + + +
    int BoundsItem::i
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structBoundsItem.js b/structBoundsItem.js new file mode 100644 index 00000000..279681c5 --- /dev/null +++ b/structBoundsItem.js @@ -0,0 +1,6 @@ +var structBoundsItem = +[ + [ "bmax", "structBoundsItem.html#af82c7df2f187f99e29ead8ccc049409f", null ], + [ "bmin", "structBoundsItem.html#afae2ec3ddbeb2a0c5080b76c97385773", null ], + [ "i", "structBoundsItem.html#ab05a8256e9a88d9c1a24c88c424f88fc", null ] +]; \ No newline at end of file diff --git a/structBuildSettings-members.html b/structBuildSettings-members.html new file mode 100644 index 00000000..aeb49b51 --- /dev/null +++ b/structBuildSettings-members.html @@ -0,0 +1,123 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + + diff --git a/structBuildSettings.html b/structBuildSettings.html new file mode 100644 index 00000000..b75285ba --- /dev/null +++ b/structBuildSettings.html @@ -0,0 +1,389 @@ + + + + + + + +Recast Navigation: BuildSettings Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    BuildSettings Struct Reference
    +
    +
    + +

    #include <InputGeom.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    float cellSize
     
    float cellHeight
     
    float agentHeight
     
    float agentRadius
     
    float agentMaxClimb
     
    float agentMaxSlope
     
    float regionMinSize
     
    float regionMergeSize
     
    float edgeMaxLen
     
    float edgeMaxError
     
    float vertsPerPoly
     
    float detailSampleDist
     
    float detailSampleMaxError
     
    int partitionType
     
    float navMeshBMin [3]
     
    float navMeshBMax [3]
     
    float tileSize
     
    +

    Member Data Documentation

    + +

    ◆ agentHeight

    + +
    +
    + + + + +
    float BuildSettings::agentHeight
    +
    + +
    +
    + +

    ◆ agentMaxClimb

    + +
    +
    + + + + +
    float BuildSettings::agentMaxClimb
    +
    + +
    +
    + +

    ◆ agentMaxSlope

    + +
    +
    + + + + +
    float BuildSettings::agentMaxSlope
    +
    + +
    +
    + +

    ◆ agentRadius

    + +
    +
    + + + + +
    float BuildSettings::agentRadius
    +
    + +
    +
    + +

    ◆ cellHeight

    + +
    +
    + + + + +
    float BuildSettings::cellHeight
    +
    + +
    +
    + +

    ◆ cellSize

    + +
    +
    + + + + +
    float BuildSettings::cellSize
    +
    + +
    +
    + +

    ◆ detailSampleDist

    + +
    +
    + + + + +
    float BuildSettings::detailSampleDist
    +
    + +
    +
    + +

    ◆ detailSampleMaxError

    + +
    +
    + + + + +
    float BuildSettings::detailSampleMaxError
    +
    + +
    +
    + +

    ◆ edgeMaxError

    + +
    +
    + + + + +
    float BuildSettings::edgeMaxError
    +
    + +
    +
    + +

    ◆ edgeMaxLen

    + +
    +
    + + + + +
    float BuildSettings::edgeMaxLen
    +
    + +
    +
    + +

    ◆ navMeshBMax

    + +
    +
    + + + + +
    float BuildSettings::navMeshBMax[3]
    +
    + +
    +
    + +

    ◆ navMeshBMin

    + +
    +
    + + + + +
    float BuildSettings::navMeshBMin[3]
    +
    + +
    +
    + +

    ◆ partitionType

    + +
    +
    + + + + +
    int BuildSettings::partitionType
    +
    + +
    +
    + +

    ◆ regionMergeSize

    + +
    +
    + + + + +
    float BuildSettings::regionMergeSize
    +
    + +
    +
    + +

    ◆ regionMinSize

    + +
    +
    + + + + +
    float BuildSettings::regionMinSize
    +
    + +
    +
    + +

    ◆ tileSize

    + +
    +
    + + + + +
    float BuildSettings::tileSize
    +
    + +
    +
    + +

    ◆ vertsPerPoly

    + +
    +
    + + + + +
    float BuildSettings::vertsPerPoly
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structBuildSettings.js b/structBuildSettings.js new file mode 100644 index 00000000..11aa04c6 --- /dev/null +++ b/structBuildSettings.js @@ -0,0 +1,20 @@ +var structBuildSettings = +[ + [ "agentHeight", "structBuildSettings.html#a0c915a250455abe4d5bbfe8411533fe8", null ], + [ "agentMaxClimb", "structBuildSettings.html#a83e53cfc86be5ed82d845ef9487f963e", null ], + [ "agentMaxSlope", "structBuildSettings.html#a5b8f1ba1531e71e839b1a5f340a674e4", null ], + [ "agentRadius", "structBuildSettings.html#a931732fe8e5fd099eff774610f315a29", null ], + [ "cellHeight", "structBuildSettings.html#acb225540c7c5af7a1f7b69818594e2c1", null ], + [ "cellSize", "structBuildSettings.html#aa0ba3ebfa84413cb718ea2c5f5d22baf", null ], + [ "detailSampleDist", "structBuildSettings.html#abf7ba7d73fd303a69b22c04f6741b7df", null ], + [ "detailSampleMaxError", "structBuildSettings.html#a677f0a3a0d3c600dccd8a4c84ade2bdc", null ], + [ "edgeMaxError", "structBuildSettings.html#a854de08adaac1dc5c97ffd797d442b2e", null ], + [ "edgeMaxLen", "structBuildSettings.html#ae7d2cca65464cdc0a98f7df27cd9e7a6", null ], + [ "navMeshBMax", "structBuildSettings.html#aa4bd791b8e27043a8f341274fa656edd", null ], + [ "navMeshBMin", "structBuildSettings.html#a0edd34a0d76575e5208aa491b449f62e", null ], + [ "partitionType", "structBuildSettings.html#a1c247eac02103152762034a47530086b", null ], + [ "regionMergeSize", "structBuildSettings.html#af2ca11587809f94520e65568f878b05a", null ], + [ "regionMinSize", "structBuildSettings.html#a3d005a4039976ee34798ff06775f6d73", null ], + [ "tileSize", "structBuildSettings.html#ab0fdeb8745ad42637b9c4159d5d0b673", null ], + [ "vertsPerPoly", "structBuildSettings.html#a84a1f04954895d4e378f7525266e0cdf", null ] +]; \ No newline at end of file diff --git a/structConvexVolume-members.html b/structConvexVolume-members.html new file mode 100644 index 00000000..9d7c5710 --- /dev/null +++ b/structConvexVolume-members.html @@ -0,0 +1,111 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    ConvexVolume Member List
    +
    +
    + +

    This is the complete list of members for ConvexVolume, including all inherited members.

    + + + + + + +
    areaConvexVolume
    hmaxConvexVolume
    hminConvexVolume
    nvertsConvexVolume
    vertsConvexVolume
    +
    + + + + + diff --git a/structConvexVolume.html b/structConvexVolume.html new file mode 100644 index 00000000..ef77bf8f --- /dev/null +++ b/structConvexVolume.html @@ -0,0 +1,197 @@ + + + + + + + +Recast Navigation: ConvexVolume Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    ConvexVolume Struct Reference
    +
    +
    + +

    #include <InputGeom.h>

    + + + + + + + + + + + + +

    +Public Attributes

    float verts [MAX_CONVEXVOL_PTS *3]
     
    float hmin
     
    float hmax
     
    int nverts
     
    int area
     
    +

    Member Data Documentation

    + +

    ◆ area

    + +
    +
    + + + + +
    int ConvexVolume::area
    +
    + +
    +
    + +

    ◆ hmax

    + +
    +
    + + + + +
    float ConvexVolume::hmax
    +
    + +
    +
    + +

    ◆ hmin

    + +
    +
    + + + + +
    float ConvexVolume::hmin
    +
    + +
    +
    + +

    ◆ nverts

    + +
    +
    + + + + +
    int ConvexVolume::nverts
    +
    + +
    +
    + +

    ◆ verts

    + +
    +
    + + + + +
    float ConvexVolume::verts[MAX_CONVEXVOL_PTS *3]
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structConvexVolume.js b/structConvexVolume.js new file mode 100644 index 00000000..2ef8c2c5 --- /dev/null +++ b/structConvexVolume.js @@ -0,0 +1,8 @@ +var structConvexVolume = +[ + [ "area", "structConvexVolume.html#ad09f975cd0398b4503c90c00f2d20371", null ], + [ "hmax", "structConvexVolume.html#a3019acd734533671d8ac029bd7ad7379", null ], + [ "hmin", "structConvexVolume.html#a388cd3f55a1083b93543c7bad7a3d47e", null ], + [ "nverts", "structConvexVolume.html#aa95664f1b0d264a0f6a5261f9bb0737a", null ], + [ "verts", "structConvexVolume.html#a75b3e7db1ed82a5bd44a495e17ee2e50", null ] +]; \ No newline at end of file diff --git a/structCrowdToolParams-members.html b/structCrowdToolParams-members.html new file mode 100644 index 00000000..b042e73a --- /dev/null +++ b/structCrowdToolParams-members.html @@ -0,0 +1,127 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + + diff --git a/structCrowdToolParams.html b/structCrowdToolParams.html new file mode 100644 index 00000000..fd0a9e55 --- /dev/null +++ b/structCrowdToolParams.html @@ -0,0 +1,453 @@ + + + + + + + +Recast Navigation: CrowdToolParams Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    CrowdToolParams Struct Reference
    +
    +
    + +

    #include <CrowdTool.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    bool m_expandSelectedDebugDraw
     
    bool m_showCorners
     
    bool m_showCollisionSegments
     
    bool m_showPath
     
    bool m_showVO
     
    bool m_showOpt
     
    bool m_showNeis
     
    bool m_expandDebugDraw
     
    bool m_showLabels
     
    bool m_showGrid
     
    bool m_showNodes
     
    bool m_showPerfGraph
     
    bool m_showDetailAll
     
    bool m_expandOptions
     
    bool m_anticipateTurns
     
    bool m_optimizeVis
     
    bool m_optimizeTopo
     
    bool m_obstacleAvoidance
     
    float m_obstacleAvoidanceType
     
    bool m_separation
     
    float m_separationWeight
     
    +

    Member Data Documentation

    + +

    ◆ m_anticipateTurns

    + +
    +
    + + + + +
    bool CrowdToolParams::m_anticipateTurns
    +
    + +
    +
    + +

    ◆ m_expandDebugDraw

    + +
    +
    + + + + +
    bool CrowdToolParams::m_expandDebugDraw
    +
    + +
    +
    + +

    ◆ m_expandOptions

    + +
    +
    + + + + +
    bool CrowdToolParams::m_expandOptions
    +
    + +
    +
    + +

    ◆ m_expandSelectedDebugDraw

    + +
    +
    + + + + +
    bool CrowdToolParams::m_expandSelectedDebugDraw
    +
    + +
    +
    + +

    ◆ m_obstacleAvoidance

    + +
    +
    + + + + +
    bool CrowdToolParams::m_obstacleAvoidance
    +
    + +
    +
    + +

    ◆ m_obstacleAvoidanceType

    + +
    +
    + + + + +
    float CrowdToolParams::m_obstacleAvoidanceType
    +
    + +
    +
    + +

    ◆ m_optimizeTopo

    + +
    +
    + + + + +
    bool CrowdToolParams::m_optimizeTopo
    +
    + +
    +
    + +

    ◆ m_optimizeVis

    + +
    +
    + + + + +
    bool CrowdToolParams::m_optimizeVis
    +
    + +
    +
    + +

    ◆ m_separation

    + +
    +
    + + + + +
    bool CrowdToolParams::m_separation
    +
    + +
    +
    + +

    ◆ m_separationWeight

    + +
    +
    + + + + +
    float CrowdToolParams::m_separationWeight
    +
    + +
    +
    + +

    ◆ m_showCollisionSegments

    + +
    +
    + + + + +
    bool CrowdToolParams::m_showCollisionSegments
    +
    + +
    +
    + +

    ◆ m_showCorners

    + +
    +
    + + + + +
    bool CrowdToolParams::m_showCorners
    +
    + +
    +
    + +

    ◆ m_showDetailAll

    + +
    +
    + + + + +
    bool CrowdToolParams::m_showDetailAll
    +
    + +
    +
    + +

    ◆ m_showGrid

    + +
    +
    + + + + +
    bool CrowdToolParams::m_showGrid
    +
    + +
    +
    + +

    ◆ m_showLabels

    + +
    +
    + + + + +
    bool CrowdToolParams::m_showLabels
    +
    + +
    +
    + +

    ◆ m_showNeis

    + +
    +
    + + + + +
    bool CrowdToolParams::m_showNeis
    +
    + +
    +
    + +

    ◆ m_showNodes

    + +
    +
    + + + + +
    bool CrowdToolParams::m_showNodes
    +
    + +
    +
    + +

    ◆ m_showOpt

    + +
    +
    + + + + +
    bool CrowdToolParams::m_showOpt
    +
    + +
    +
    + +

    ◆ m_showPath

    + +
    +
    + + + + +
    bool CrowdToolParams::m_showPath
    +
    + +
    +
    + +

    ◆ m_showPerfGraph

    + +
    +
    + + + + +
    bool CrowdToolParams::m_showPerfGraph
    +
    + +
    +
    + +

    ◆ m_showVO

    + +
    +
    + + + + +
    bool CrowdToolParams::m_showVO
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structCrowdToolParams.js b/structCrowdToolParams.js new file mode 100644 index 00000000..d0b2541e --- /dev/null +++ b/structCrowdToolParams.js @@ -0,0 +1,24 @@ +var structCrowdToolParams = +[ + [ "m_anticipateTurns", "structCrowdToolParams.html#ad4a5ed9be39d3f974e5fae65ced6c7b1", null ], + [ "m_expandDebugDraw", "structCrowdToolParams.html#a50149e1b215b9c9eba1059aa15f11e1e", null ], + [ "m_expandOptions", "structCrowdToolParams.html#a30d772dbf4f575001ff63f91bfef609c", null ], + [ "m_expandSelectedDebugDraw", "structCrowdToolParams.html#a3a1ad9f7a37befaa4d6300ecde1748e5", null ], + [ "m_obstacleAvoidance", "structCrowdToolParams.html#abd5dd62a05171d60b075e10d9290e7b3", null ], + [ "m_obstacleAvoidanceType", "structCrowdToolParams.html#a9627c513e79f26b6024c8d01843bc528", null ], + [ "m_optimizeTopo", "structCrowdToolParams.html#a40ea83734142dd59c92cb695631eee4a", null ], + [ "m_optimizeVis", "structCrowdToolParams.html#a36e752b30016841720cafb2b3e0ac7ae", null ], + [ "m_separation", "structCrowdToolParams.html#a8481d268ff04bf7e6b49458c911936cb", null ], + [ "m_separationWeight", "structCrowdToolParams.html#a4f8f193a139b5f88d1665949c3fe7c9c", null ], + [ "m_showCollisionSegments", "structCrowdToolParams.html#a099c9551972b676121b351f18c34c9e0", null ], + [ "m_showCorners", "structCrowdToolParams.html#a85e1edfba62c2a2e5315ad05a0eaf0f9", null ], + [ "m_showDetailAll", "structCrowdToolParams.html#aa7340bfdeed7994d7899f8161744a3f6", null ], + [ "m_showGrid", "structCrowdToolParams.html#a113cc0b0ee16ce253730d4a7d3c80672", null ], + [ "m_showLabels", "structCrowdToolParams.html#ae078b3f35f3d5b2865139b3960708426", null ], + [ "m_showNeis", "structCrowdToolParams.html#aaf7a605017a4343c0536704cf0a4f1b0", null ], + [ "m_showNodes", "structCrowdToolParams.html#a4d8f49ea1fa301ad224405d12b9cd9a9", null ], + [ "m_showOpt", "structCrowdToolParams.html#abb28bf8b771767150348b0264c649991", null ], + [ "m_showPath", "structCrowdToolParams.html#a642a969b56ed560f2472eb4bd868416a", null ], + [ "m_showPerfGraph", "structCrowdToolParams.html#a1dfe5185e48bbde739f0393227594b9c", null ], + [ "m_showVO", "structCrowdToolParams.html#a3e0009ffecf65e0b3aad0b7ad33f573b", null ] +]; \ No newline at end of file diff --git a/structDirtyEntry-members.html b/structDirtyEntry-members.html new file mode 100644 index 00000000..0ffd093f --- /dev/null +++ b/structDirtyEntry-members.html @@ -0,0 +1,110 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    DirtyEntry Member List
    +
    +
    + +

    This is the complete list of members for DirtyEntry, including all inherited members.

    + + + + + +
    DirtyEntry(int index_, unsigned short region_, unsigned short distance2_)DirtyEntryinline
    distance2DirtyEntry
    indexDirtyEntry
    regionDirtyEntry
    +
    + + + + + diff --git a/structDirtyEntry.html b/structDirtyEntry.html new file mode 100644 index 00000000..bff26daf --- /dev/null +++ b/structDirtyEntry.html @@ -0,0 +1,212 @@ + + + + + + + +Recast Navigation: DirtyEntry Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    DirtyEntry Struct Reference
    +
    +
    + + + + +

    +Public Member Functions

     DirtyEntry (int index_, unsigned short region_, unsigned short distance2_)
     
    + + + + + + + +

    +Public Attributes

    int index
     
    unsigned short region
     
    unsigned short distance2
     
    +

    Constructor & Destructor Documentation

    + +

    ◆ DirtyEntry()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    DirtyEntry::DirtyEntry (int index_,
    unsigned short region_,
    unsigned short distance2_ 
    )
    +
    +inline
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ distance2

    + +
    +
    + + + + +
    unsigned short DirtyEntry::distance2
    +
    + +
    +
    + +

    ◆ index

    + +
    +
    + + + + +
    int DirtyEntry::index
    +
    + +
    +
    + +

    ◆ region

    + +
    +
    + + + + +
    unsigned short DirtyEntry::region
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structDirtyEntry.js b/structDirtyEntry.js new file mode 100644 index 00000000..3d96d6e5 --- /dev/null +++ b/structDirtyEntry.js @@ -0,0 +1,7 @@ +var structDirtyEntry = +[ + [ "DirtyEntry", "structDirtyEntry.html#a6efa59792bbe3b1feea05da8110151dd", null ], + [ "distance2", "structDirtyEntry.html#a9634e49527d7bdcacc925fe7124b07d1", null ], + [ "index", "structDirtyEntry.html#af570257530906e231345aa1e4debbfa7", null ], + [ "region", "structDirtyEntry.html#ad3c4712adccfb24f1a7ab8d75f42ab1e", null ] +]; \ No newline at end of file diff --git a/structFastLZCompressor-members.html b/structFastLZCompressor-members.html new file mode 100644 index 00000000..958aecc9 --- /dev/null +++ b/structFastLZCompressor-members.html @@ -0,0 +1,111 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    FastLZCompressor Member List
    +
    +
    + +

    This is the complete list of members for FastLZCompressor, including all inherited members.

    + + + + + + +
    compress(const unsigned char *buffer, const int bufferSize, unsigned char *compressed, const int, int *compressedSize)FastLZCompressorinlinevirtual
    decompress(const unsigned char *compressed, const int compressedSize, unsigned char *buffer, const int maxBufferSize, int *bufferSize)FastLZCompressorinlinevirtual
    maxCompressedSize(const int bufferSize)FastLZCompressorinlinevirtual
    ~dtTileCacheCompressor()dtTileCacheCompressorvirtual
    ~FastLZCompressor()FastLZCompressorvirtual
    +
    + + + + + diff --git a/structFastLZCompressor.html b/structFastLZCompressor.html new file mode 100644 index 00000000..f0671bf7 --- /dev/null +++ b/structFastLZCompressor.html @@ -0,0 +1,301 @@ + + + + + + + +Recast Navigation: FastLZCompressor Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    FastLZCompressor Struct Reference
    +
    +
    +
    +Inheritance diagram for FastLZCompressor:
    +
    +
    + + +dtTileCacheCompressor + +
    + + + + + + + + + + + + + +

    +Public Member Functions

    virtual ~FastLZCompressor ()
     
    virtual int maxCompressedSize (const int bufferSize)
     
    virtual dtStatus compress (const unsigned char *buffer, const int bufferSize, unsigned char *compressed, const int, int *compressedSize)
     
    virtual dtStatus decompress (const unsigned char *compressed, const int compressedSize, unsigned char *buffer, const int maxBufferSize, int *bufferSize)
     
    - Public Member Functions inherited from dtTileCacheCompressor
    virtual ~dtTileCacheCompressor ()
     
    +

    Constructor & Destructor Documentation

    + +

    ◆ ~FastLZCompressor()

    + +
    +
    + + + + + +
    + + + + + + + +
    FastLZCompressor::~FastLZCompressor ()
    +
    +virtual
    +
    + +
    +
    +

    Member Function Documentation

    + +

    ◆ compress()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    virtual dtStatus FastLZCompressor::compress (const unsigned char * buffer,
    const int bufferSize,
    unsigned char * compressed,
    const int ,
    int * compressedSize 
    )
    +
    +inlinevirtual
    +
    + +

    Implements dtTileCacheCompressor.

    + +
    +
    + +

    ◆ decompress()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    virtual dtStatus FastLZCompressor::decompress (const unsigned char * compressed,
    const int compressedSize,
    unsigned char * buffer,
    const int maxBufferSize,
    int * bufferSize 
    )
    +
    +inlinevirtual
    +
    + +

    Implements dtTileCacheCompressor.

    + +
    +
    + +

    ◆ maxCompressedSize()

    + +
    +
    + + + + + +
    + + + + + + + + +
    virtual int FastLZCompressor::maxCompressedSize (const int bufferSize)
    +
    +inlinevirtual
    +
    + +

    Implements dtTileCacheCompressor.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structFastLZCompressor.js b/structFastLZCompressor.js new file mode 100644 index 00000000..51fa6b5d --- /dev/null +++ b/structFastLZCompressor.js @@ -0,0 +1,7 @@ +var structFastLZCompressor = +[ + [ "~FastLZCompressor", "structFastLZCompressor.html#a884d23606adb0674c0b0b124b4ffe28f", null ], + [ "compress", "structFastLZCompressor.html#ade3bcdfdf37fed48284a4a4d89e2d804", null ], + [ "decompress", "structFastLZCompressor.html#a61828cd2e21041b21b8e545efbe1da57", null ], + [ "maxCompressedSize", "structFastLZCompressor.html#a8fb3236d4cb66a253fd98036536b51a4", null ] +]; \ No newline at end of file diff --git a/structFastLZCompressor.png b/structFastLZCompressor.png new file mode 100644 index 00000000..d8f2ccf6 Binary files /dev/null and b/structFastLZCompressor.png differ diff --git a/structGraphParams-members.html b/structGraphParams-members.html new file mode 100644 index 00000000..b9f0e94d --- /dev/null +++ b/structGraphParams-members.html @@ -0,0 +1,117 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    GraphParams Member List
    +
    +
    + +

    This is the complete list of members for GraphParams, including all inherited members.

    + + + + + + + + + + + + +
    hGraphParams
    ndivGraphParams
    padGraphParams
    setRect(int ix, int iy, int iw, int ih, int ipad)GraphParams
    setValueRange(float ivmin, float ivmax, int indiv, const char *iunits)GraphParams
    unitsGraphParams
    vmaxGraphParams
    vminGraphParams
    wGraphParams
    xGraphParams
    yGraphParams
    +
    + + + + + diff --git a/structGraphParams.html b/structGraphParams.html new file mode 100644 index 00000000..96480d40 --- /dev/null +++ b/structGraphParams.html @@ -0,0 +1,357 @@ + + + + + + + +Recast Navigation: GraphParams Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    GraphParams Struct Reference
    +
    +
    + +

    #include <ValueHistory.h>

    + + + + + + +

    +Public Member Functions

    void setRect (int ix, int iy, int iw, int ih, int ipad)
     
    void setValueRange (float ivmin, float ivmax, int indiv, const char *iunits)
     
    + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    int x
     
    int y
     
    int w
     
    int h
     
    int pad
     
    float vmin
     
    float vmax
     
    int ndiv
     
    char units [16]
     
    +

    Member Function Documentation

    + +

    ◆ setRect()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void GraphParams::setRect (int ix,
    int iy,
    int iw,
    int ih,
    int ipad 
    )
    +
    + +
    +
    + +

    ◆ setValueRange()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void GraphParams::setValueRange (float ivmin,
    float ivmax,
    int indiv,
    const char * iunits 
    )
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ h

    + +
    +
    + + + + +
    int GraphParams::h
    +
    + +
    +
    + +

    ◆ ndiv

    + +
    +
    + + + + +
    int GraphParams::ndiv
    +
    + +
    +
    + +

    ◆ pad

    + +
    +
    + + + + +
    int GraphParams::pad
    +
    + +
    +
    + +

    ◆ units

    + +
    +
    + + + + +
    char GraphParams::units[16]
    +
    + +
    +
    + +

    ◆ vmax

    + +
    +
    + + + + +
    float GraphParams::vmax
    +
    + +
    +
    + +

    ◆ vmin

    + +
    +
    + + + + +
    float GraphParams::vmin
    +
    + +
    +
    + +

    ◆ w

    + +
    +
    + + + + +
    int GraphParams::w
    +
    + +
    +
    + +

    ◆ x

    + +
    +
    + + + + +
    int GraphParams::x
    +
    + +
    +
    + +

    ◆ y

    + +
    +
    + + + + +
    int GraphParams::y
    +
    + +
    +
    +
    The documentation for this struct was generated from the following files: +
    +
    + + + + + diff --git a/structGraphParams.js b/structGraphParams.js new file mode 100644 index 00000000..573994cf --- /dev/null +++ b/structGraphParams.js @@ -0,0 +1,14 @@ +var structGraphParams = +[ + [ "setRect", "structGraphParams.html#a6bc9e0c7d31219f865e533ee7f279518", null ], + [ "setValueRange", "structGraphParams.html#ab0ee815e9d6e55816a7202d7ef9c8ac9", null ], + [ "h", "structGraphParams.html#ae36558e25d555cb8e00d9f9267ca39cc", null ], + [ "ndiv", "structGraphParams.html#aaeedd456935f5b7bf3090cbfb0afbbbc", null ], + [ "pad", "structGraphParams.html#a884cdd1fb7c9f58c88dc5d061d7b7e4b", null ], + [ "units", "structGraphParams.html#ae85fabe02151892f17d6a1bddf4c79a9", null ], + [ "vmax", "structGraphParams.html#ad6c9f564ebd71765bfd0da26e20549b9", null ], + [ "vmin", "structGraphParams.html#a97a2e4045e8fef4ec319b1430892254b", null ], + [ "w", "structGraphParams.html#afec1e47c45ff952475f1d2bcae60ba72", null ], + [ "x", "structGraphParams.html#ace7d34643e947127db99c65dbbff03e1", null ], + [ "y", "structGraphParams.html#af6b3d7848eb8ef348b636f15cd33bd12", null ] +]; \ No newline at end of file diff --git a/structGuiState-members.html b/structGuiState-members.html new file mode 100644 index 00000000..04893587 --- /dev/null +++ b/structGuiState-members.html @@ -0,0 +1,128 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + + diff --git a/structGuiState.html b/structGuiState.html new file mode 100644 index 00000000..bc6fc031 --- /dev/null +++ b/structGuiState.html @@ -0,0 +1,483 @@ + + + + + + + +Recast Navigation: GuiState Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    GuiState Struct Reference
    +
    +
    + + + + +

    +Public Member Functions

     GuiState ()
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    bool left
     
    bool leftPressed
     
    bool leftReleased
     
    int mx
     
    int my
     
    int scroll
     
    unsigned int active
     
    unsigned int hot
     
    unsigned int hotToBe
     
    bool isHot
     
    bool isActive
     
    bool wentActive
     
    int dragX
     
    int dragY
     
    float dragOrig
     
    int widgetX
     
    int widgetY
     
    int widgetW
     
    bool insideCurrentScroll
     
    unsigned int areaId
     
    unsigned int widgetId
     
    +

    Constructor & Destructor Documentation

    + +

    ◆ GuiState()

    + +
    +
    + + + + + +
    + + + + + + + +
    GuiState::GuiState ()
    +
    +inline
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ active

    + +
    +
    + + + + +
    unsigned int GuiState::active
    +
    + +
    +
    + +

    ◆ areaId

    + +
    +
    + + + + +
    unsigned int GuiState::areaId
    +
    + +
    +
    + +

    ◆ dragOrig

    + +
    +
    + + + + +
    float GuiState::dragOrig
    +
    + +
    +
    + +

    ◆ dragX

    + +
    +
    + + + + +
    int GuiState::dragX
    +
    + +
    +
    + +

    ◆ dragY

    + +
    +
    + + + + +
    int GuiState::dragY
    +
    + +
    +
    + +

    ◆ hot

    + +
    +
    + + + + +
    unsigned int GuiState::hot
    +
    + +
    +
    + +

    ◆ hotToBe

    + +
    +
    + + + + +
    unsigned int GuiState::hotToBe
    +
    + +
    +
    + +

    ◆ insideCurrentScroll

    + +
    +
    + + + + +
    bool GuiState::insideCurrentScroll
    +
    + +
    +
    + +

    ◆ isActive

    + +
    +
    + + + + +
    bool GuiState::isActive
    +
    + +
    +
    + +

    ◆ isHot

    + +
    +
    + + + + +
    bool GuiState::isHot
    +
    + +
    +
    + +

    ◆ left

    + +
    +
    + + + + +
    bool GuiState::left
    +
    + +
    +
    + +

    ◆ leftPressed

    + +
    +
    + + + + +
    bool GuiState::leftPressed
    +
    + +
    +
    + +

    ◆ leftReleased

    + +
    +
    + + + + +
    bool GuiState::leftReleased
    +
    + +
    +
    + +

    ◆ mx

    + +
    +
    + + + + +
    int GuiState::mx
    +
    + +
    +
    + +

    ◆ my

    + +
    +
    + + + + +
    int GuiState::my
    +
    + +
    +
    + +

    ◆ scroll

    + +
    +
    + + + + +
    int GuiState::scroll
    +
    + +
    +
    + +

    ◆ wentActive

    + +
    +
    + + + + +
    bool GuiState::wentActive
    +
    + +
    +
    + +

    ◆ widgetId

    + +
    +
    + + + + +
    unsigned int GuiState::widgetId
    +
    + +
    +
    + +

    ◆ widgetW

    + +
    +
    + + + + +
    int GuiState::widgetW
    +
    + +
    +
    + +

    ◆ widgetX

    + +
    +
    + + + + +
    int GuiState::widgetX
    +
    + +
    +
    + +

    ◆ widgetY

    + +
    +
    + + + + +
    int GuiState::widgetY
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structGuiState.js b/structGuiState.js new file mode 100644 index 00000000..7e2f26b7 --- /dev/null +++ b/structGuiState.js @@ -0,0 +1,25 @@ +var structGuiState = +[ + [ "GuiState", "structGuiState.html#a1159b7a2b218c020875b65881ebfd4cb", null ], + [ "active", "structGuiState.html#a8182ed7ea717727bd7ae4b6bd906f89d", null ], + [ "areaId", "structGuiState.html#a335822c00941a3b0ac836338fdad5af5", null ], + [ "dragOrig", "structGuiState.html#ac1eb0dfc263debeea082f2bebec4a10a", null ], + [ "dragX", "structGuiState.html#a0a4933672881d971849922e737b2909d", null ], + [ "dragY", "structGuiState.html#a9ab909b28bf6f8d42a723019bc11d172", null ], + [ "hot", "structGuiState.html#a0db522de5d2a46ebcabeb9721e95a1db", null ], + [ "hotToBe", "structGuiState.html#aab12c1ba6341e43974ecca47d57a2292", null ], + [ "insideCurrentScroll", "structGuiState.html#a57154ede278ed4dd5f11afde5c8f2e3b", null ], + [ "isActive", "structGuiState.html#af6fe16bad26560cc8433134ebbb3d635", null ], + [ "isHot", "structGuiState.html#a4d7b807b2ab88bc58fad34bc8d3c4b23", null ], + [ "left", "structGuiState.html#a1b101aced6d0a66c959f6dbc8e9ba4b8", null ], + [ "leftPressed", "structGuiState.html#a4eca6767d38228c41e82a56b66ce4853", null ], + [ "leftReleased", "structGuiState.html#a8a64eb781d05dd4561d1100a6e3c759f", null ], + [ "mx", "structGuiState.html#a500386b3162aeaaa091381e71e65b872", null ], + [ "my", "structGuiState.html#aaae100f98cc2247cdd4c9f56e760a55e", null ], + [ "scroll", "structGuiState.html#aac5d3f5ae7a567ab5f5fd18d4b2c3d6b", null ], + [ "wentActive", "structGuiState.html#a781a53ecc27ed89de4b0a425a5452792", null ], + [ "widgetId", "structGuiState.html#adbb0ec177af2c0beaf4471339952d522", null ], + [ "widgetW", "structGuiState.html#a41ad9753307581846e18f4c412c65044", null ], + [ "widgetX", "structGuiState.html#ae5e5321a872b52b30c9582b74d6a45ea", null ], + [ "widgetY", "structGuiState.html#ae30e4fb22d16fa188b02b4ae41c6691b", null ] +]; \ No newline at end of file diff --git a/structLinearAllocator-members.html b/structLinearAllocator-members.html new file mode 100644 index 00000000..03fa51be --- /dev/null +++ b/structLinearAllocator-members.html @@ -0,0 +1,117 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    LinearAllocator Member List
    +
    +
    + +

    This is the complete list of members for LinearAllocator, including all inherited members.

    + + + + + + + + + + + + +
    alloc(const size_t size)LinearAllocatorinlinevirtual
    bufferLinearAllocator
    capacityLinearAllocator
    free(void *)LinearAllocatorinlinevirtual
    highLinearAllocator
    LinearAllocator(const size_t cap)LinearAllocatorinline
    reset()LinearAllocatorinlinevirtual
    resize(const size_t cap)LinearAllocatorinline
    topLinearAllocator
    ~dtTileCacheAlloc()dtTileCacheAllocvirtual
    ~LinearAllocator()LinearAllocatorvirtual
    +
    + + + + + diff --git a/structLinearAllocator.html b/structLinearAllocator.html new file mode 100644 index 00000000..99b9a552 --- /dev/null +++ b/structLinearAllocator.html @@ -0,0 +1,369 @@ + + + + + + + +Recast Navigation: LinearAllocator Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    LinearAllocator Struct Reference
    +
    +
    +
    +Inheritance diagram for LinearAllocator:
    +
    +
    + + +dtTileCacheAlloc + +
    + + + + + + + + + + + + + + + + + +

    +Public Member Functions

     LinearAllocator (const size_t cap)
     
    virtual ~LinearAllocator ()
     
    void resize (const size_t cap)
     
    virtual void reset ()
     
    virtual void * alloc (const size_t size)
     
    virtual void free (void *)
     
    - Public Member Functions inherited from dtTileCacheAlloc
    virtual ~dtTileCacheAlloc ()
     
    + + + + + + + + + +

    +Public Attributes

    unsigned char * buffer
     
    size_t capacity
     
    size_t top
     
    size_t high
     
    +

    Constructor & Destructor Documentation

    + +

    ◆ LinearAllocator()

    + +
    +
    + + + + + +
    + + + + + + + + +
    LinearAllocator::LinearAllocator (const size_t cap)
    +
    +inline
    +
    + +
    +
    + +

    ◆ ~LinearAllocator()

    + +
    +
    + + + + + +
    + + + + + + + +
    LinearAllocator::~LinearAllocator ()
    +
    +virtual
    +
    + +
    +
    +

    Member Function Documentation

    + +

    ◆ alloc()

    + +
    +
    + + + + + +
    + + + + + + + + +
    virtual void* LinearAllocator::alloc (const size_t size)
    +
    +inlinevirtual
    +
    + +

    Reimplemented from dtTileCacheAlloc.

    + +
    +
    + +

    ◆ free()

    + +
    +
    + + + + + +
    + + + + + + + + +
    virtual void LinearAllocator::free (void * )
    +
    +inlinevirtual
    +
    + +

    Reimplemented from dtTileCacheAlloc.

    + +
    +
    + +

    ◆ reset()

    + +
    +
    + + + + + +
    + + + + + + + +
    virtual void LinearAllocator::reset ()
    +
    +inlinevirtual
    +
    + +

    Reimplemented from dtTileCacheAlloc.

    + +
    +
    + +

    ◆ resize()

    + +
    +
    + + + + + +
    + + + + + + + + +
    void LinearAllocator::resize (const size_t cap)
    +
    +inline
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ buffer

    + +
    +
    + + + + +
    unsigned char* LinearAllocator::buffer
    +
    + +
    +
    + +

    ◆ capacity

    + +
    +
    + + + + +
    size_t LinearAllocator::capacity
    +
    + +
    +
    + +

    ◆ high

    + +
    +
    + + + + +
    size_t LinearAllocator::high
    +
    + +
    +
    + +

    ◆ top

    + +
    +
    + + + + +
    size_t LinearAllocator::top
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structLinearAllocator.js b/structLinearAllocator.js new file mode 100644 index 00000000..3c2f7957 --- /dev/null +++ b/structLinearAllocator.js @@ -0,0 +1,13 @@ +var structLinearAllocator = +[ + [ "LinearAllocator", "structLinearAllocator.html#ab3e8483fa7f6899695aa338a14bc0a67", null ], + [ "~LinearAllocator", "structLinearAllocator.html#a2a9dbeeec28bfd75d74cc66ffee80296", null ], + [ "alloc", "structLinearAllocator.html#aeb98c5c6f9e8c97fd41759b6f0ebd1e2", null ], + [ "free", "structLinearAllocator.html#ab7af21e0264ea0621822ed212ca925a3", null ], + [ "reset", "structLinearAllocator.html#acc5d12bb6d334626d7af0aecdbf163ec", null ], + [ "resize", "structLinearAllocator.html#accc8b1eeda78503beeb05db04bedd4b9", null ], + [ "buffer", "structLinearAllocator.html#afe41eebd4eb6b666f7154c86bd66fb81", null ], + [ "capacity", "structLinearAllocator.html#a8cb5d425605fe6284b00f353e30291c4", null ], + [ "high", "structLinearAllocator.html#a1a09914aba0a50eba2ed752879974f75", null ], + [ "top", "structLinearAllocator.html#a3f04785ab8a03ae9be0042d3c5eb059e", null ] +]; \ No newline at end of file diff --git a/structLinearAllocator.png b/structLinearAllocator.png new file mode 100644 index 00000000..117ec3cb Binary files /dev/null and b/structLinearAllocator.png differ diff --git a/structMeshProcess-members.html b/structMeshProcess-members.html new file mode 100644 index 00000000..18fc3930 --- /dev/null +++ b/structMeshProcess-members.html @@ -0,0 +1,112 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    MeshProcess Member List
    +
    +
    + +

    This is the complete list of members for MeshProcess, including all inherited members.

    + + + + + + + +
    init(InputGeom *geom)MeshProcessinline
    m_geomMeshProcess
    MeshProcess()MeshProcessinline
    process(struct dtNavMeshCreateParams *params, unsigned char *polyAreas, unsigned short *polyFlags)MeshProcessinlinevirtual
    ~dtTileCacheMeshProcess()dtTileCacheMeshProcessvirtual
    ~MeshProcess()MeshProcessvirtual
    +
    + + + + + diff --git a/structMeshProcess.html b/structMeshProcess.html new file mode 100644 index 00000000..e9bf7434 --- /dev/null +++ b/structMeshProcess.html @@ -0,0 +1,277 @@ + + + + + + + +Recast Navigation: MeshProcess Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    MeshProcess Struct Reference
    +
    +
    +
    +Inheritance diagram for MeshProcess:
    +
    +
    + + +dtTileCacheMeshProcess + +
    + + + + + + + + + + + + + +

    +Public Member Functions

     MeshProcess ()
     
    virtual ~MeshProcess ()
     
    void init (InputGeom *geom)
     
    virtual void process (struct dtNavMeshCreateParams *params, unsigned char *polyAreas, unsigned short *polyFlags)
     
    - Public Member Functions inherited from dtTileCacheMeshProcess
    virtual ~dtTileCacheMeshProcess ()
     
    + + + +

    +Public Attributes

    InputGeomm_geom
     
    +

    Constructor & Destructor Documentation

    + +

    ◆ MeshProcess()

    + +
    +
    + + + + + +
    + + + + + + + +
    MeshProcess::MeshProcess ()
    +
    +inline
    +
    + +
    +
    + +

    ◆ ~MeshProcess()

    + +
    +
    + + + + + +
    + + + + + + + +
    MeshProcess::~MeshProcess ()
    +
    +virtual
    +
    + +
    +
    +

    Member Function Documentation

    + +

    ◆ init()

    + +
    +
    + + + + + +
    + + + + + + + + +
    void MeshProcess::init (InputGeomgeom)
    +
    +inline
    +
    + +
    +
    + +

    ◆ process()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    virtual void MeshProcess::process (struct dtNavMeshCreateParamsparams,
    unsigned char * polyAreas,
    unsigned short * polyFlags 
    )
    +
    +inlinevirtual
    +
    + +

    Implements dtTileCacheMeshProcess.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ m_geom

    + +
    +
    + + + + +
    InputGeom* MeshProcess::m_geom
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structMeshProcess.js b/structMeshProcess.js new file mode 100644 index 00000000..65a9878e --- /dev/null +++ b/structMeshProcess.js @@ -0,0 +1,8 @@ +var structMeshProcess = +[ + [ "MeshProcess", "structMeshProcess.html#ae8565ad12db3ae60dd9b72a851b7afc8", null ], + [ "~MeshProcess", "structMeshProcess.html#a984188b70d20532c8f7230fffb6e61eb", null ], + [ "init", "structMeshProcess.html#af79fc443a1067c46713aa56a55120f6f", null ], + [ "process", "structMeshProcess.html#a2e6cdfd8885e79abc9055707a340cb2c", null ], + [ "m_geom", "structMeshProcess.html#a65db060f220e6f5f94e0bc70d1cbd398", null ] +]; \ No newline at end of file diff --git a/structMeshProcess.png b/structMeshProcess.png new file mode 100644 index 00000000..ce5355c2 Binary files /dev/null and b/structMeshProcess.png differ diff --git a/structNavMeshSetHeader-members.html b/structNavMeshSetHeader-members.html new file mode 100644 index 00000000..215fa801 --- /dev/null +++ b/structNavMeshSetHeader-members.html @@ -0,0 +1,110 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    NavMeshSetHeader Member List
    +
    +
    + +

    This is the complete list of members for NavMeshSetHeader, including all inherited members.

    + + + + + +
    magicNavMeshSetHeader
    numTilesNavMeshSetHeader
    paramsNavMeshSetHeader
    versionNavMeshSetHeader
    +
    + + + + + diff --git a/structNavMeshSetHeader.html b/structNavMeshSetHeader.html new file mode 100644 index 00000000..da3cea90 --- /dev/null +++ b/structNavMeshSetHeader.html @@ -0,0 +1,179 @@ + + + + + + + +Recast Navigation: NavMeshSetHeader Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    NavMeshSetHeader Struct Reference
    +
    +
    + + + + + + + + + + +

    +Public Attributes

    int magic
     
    int version
     
    int numTiles
     
    dtNavMeshParams params
     
    +

    Member Data Documentation

    + +

    ◆ magic

    + +
    +
    + + + + +
    int NavMeshSetHeader::magic
    +
    + +
    +
    + +

    ◆ numTiles

    + +
    +
    + + + + +
    int NavMeshSetHeader::numTiles
    +
    + +
    +
    + +

    ◆ params

    + +
    +
    + + + + +
    dtNavMeshParams NavMeshSetHeader::params
    +
    + +
    +
    + +

    ◆ version

    + +
    +
    + + + + +
    int NavMeshSetHeader::version
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structNavMeshSetHeader.js b/structNavMeshSetHeader.js new file mode 100644 index 00000000..12f179a6 --- /dev/null +++ b/structNavMeshSetHeader.js @@ -0,0 +1,7 @@ +var structNavMeshSetHeader = +[ + [ "magic", "structNavMeshSetHeader.html#afaa6914946f66507c805e13877100822", null ], + [ "numTiles", "structNavMeshSetHeader.html#a2efebea0358363f254fcf52aee6aeec4", null ], + [ "params", "structNavMeshSetHeader.html#a09e6f8cc597d5a96b13f2e429874d24e", null ], + [ "version", "structNavMeshSetHeader.html#ae824a2a6da1c7026a84cce8d6ffd10f8", null ] +]; \ No newline at end of file diff --git a/structNavMeshTileBuildContext-members.html b/structNavMeshTileBuildContext-members.html new file mode 100644 index 00000000..e61b2794 --- /dev/null +++ b/structNavMeshTileBuildContext-members.html @@ -0,0 +1,113 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    NavMeshTileBuildContext Member List
    +
    + +
    + + + + + diff --git a/structNavMeshTileBuildContext.html b/structNavMeshTileBuildContext.html new file mode 100644 index 00000000..e4b77fbb --- /dev/null +++ b/structNavMeshTileBuildContext.html @@ -0,0 +1,267 @@ + + + + + + + +Recast Navigation: NavMeshTileBuildContext Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    NavMeshTileBuildContext Struct Reference
    +
    +
    + + + + + + + + +

    +Public Member Functions

     NavMeshTileBuildContext (struct dtTileCacheAlloc *a)
     
     ~NavMeshTileBuildContext ()
     
    void purge ()
     
    + + + + + + + + + +

    +Public Attributes

    struct dtTileCacheLayerlayer
     
    struct dtTileCacheContourSetlcset
     
    struct dtTileCachePolyMeshlmesh
     
    struct dtTileCacheAllocalloc
     
    +

    Constructor & Destructor Documentation

    + +

    ◆ NavMeshTileBuildContext()

    + +
    +
    + + + + + +
    + + + + + + + + +
    NavMeshTileBuildContext::NavMeshTileBuildContext (struct dtTileCacheAlloca)
    +
    +inline
    +
    + +
    +
    + +

    ◆ ~NavMeshTileBuildContext()

    + +
    +
    + + + + + +
    + + + + + + + +
    NavMeshTileBuildContext::~NavMeshTileBuildContext ()
    +
    +inline
    +
    + +
    +
    +

    Member Function Documentation

    + +

    ◆ purge()

    + +
    +
    + + + + + +
    + + + + + + + +
    void NavMeshTileBuildContext::purge ()
    +
    +inline
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ alloc

    + +
    +
    + + + + +
    struct dtTileCacheAlloc* NavMeshTileBuildContext::alloc
    +
    + +
    +
    + +

    ◆ layer

    + +
    +
    + + + + +
    struct dtTileCacheLayer* NavMeshTileBuildContext::layer
    +
    + +
    +
    + +

    ◆ lcset

    + +
    +
    + + + + +
    struct dtTileCacheContourSet* NavMeshTileBuildContext::lcset
    +
    + +
    +
    + +

    ◆ lmesh

    + +
    +
    + + + + +
    struct dtTileCachePolyMesh* NavMeshTileBuildContext::lmesh
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structNavMeshTileBuildContext.js b/structNavMeshTileBuildContext.js new file mode 100644 index 00000000..754d1d97 --- /dev/null +++ b/structNavMeshTileBuildContext.js @@ -0,0 +1,10 @@ +var structNavMeshTileBuildContext = +[ + [ "NavMeshTileBuildContext", "structNavMeshTileBuildContext.html#a704f1e66aa26ec967683eb097415cadd", null ], + [ "~NavMeshTileBuildContext", "structNavMeshTileBuildContext.html#a4a1734772cf543deb500738ebc457119", null ], + [ "purge", "structNavMeshTileBuildContext.html#aaad3439a65fc68c5aed3b535ead58214", null ], + [ "alloc", "structNavMeshTileBuildContext.html#a85d141fbb7dc5198ff2fdd211e3bec69", null ], + [ "layer", "structNavMeshTileBuildContext.html#ae8bc391bf811509ade3f3c9fa273724a", null ], + [ "lcset", "structNavMeshTileBuildContext.html#a23cc945ce5a1733603698eb9c4672733", null ], + [ "lmesh", "structNavMeshTileBuildContext.html#a66224ae3010c2f8e7c9d7ab2df32e995", null ] +]; \ No newline at end of file diff --git a/structNavMeshTileHeader-members.html b/structNavMeshTileHeader-members.html new file mode 100644 index 00000000..de362613 --- /dev/null +++ b/structNavMeshTileHeader-members.html @@ -0,0 +1,108 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    NavMeshTileHeader Member List
    +
    +
    + +

    This is the complete list of members for NavMeshTileHeader, including all inherited members.

    + + + +
    dataSizeNavMeshTileHeader
    tileRefNavMeshTileHeader
    +
    + + + + + diff --git a/structNavMeshTileHeader.html b/structNavMeshTileHeader.html new file mode 100644 index 00000000..901fc73a --- /dev/null +++ b/structNavMeshTileHeader.html @@ -0,0 +1,147 @@ + + + + + + + +Recast Navigation: NavMeshTileHeader Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    NavMeshTileHeader Struct Reference
    +
    +
    + + + + + + +

    +Public Attributes

    dtTileRef tileRef
     
    int dataSize
     
    +

    Member Data Documentation

    + +

    ◆ dataSize

    + +
    +
    + + + + +
    int NavMeshTileHeader::dataSize
    +
    + +
    +
    + +

    ◆ tileRef

    + +
    +
    + + + + +
    dtTileRef NavMeshTileHeader::tileRef
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structNavMeshTileHeader.js b/structNavMeshTileHeader.js new file mode 100644 index 00000000..7865755f --- /dev/null +++ b/structNavMeshTileHeader.js @@ -0,0 +1,5 @@ +var structNavMeshTileHeader = +[ + [ "dataSize", "structNavMeshTileHeader.html#ad1448da982f964635d4ec1cfa3239f3b", null ], + [ "tileRef", "structNavMeshTileHeader.html#a8e3d1a3dfbc6517021c1bc5c796ac1d1", null ] +]; \ No newline at end of file diff --git a/structRasterizationContext-members.html b/structRasterizationContext-members.html new file mode 100644 index 00000000..87866597 --- /dev/null +++ b/structRasterizationContext-members.html @@ -0,0 +1,114 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    RasterizationContext Member List
    +
    + +
    + + + + + diff --git a/structRasterizationContext.html b/structRasterizationContext.html new file mode 100644 index 00000000..45519f20 --- /dev/null +++ b/structRasterizationContext.html @@ -0,0 +1,270 @@ + + + + + + + +Recast Navigation: RasterizationContext Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    RasterizationContext Struct Reference
    +
    +
    + + + + + + +

    +Public Member Functions

     RasterizationContext ()
     
     ~RasterizationContext ()
     
    + + + + + + + + + + + + + +

    +Public Attributes

    rcHeightfieldsolid
     
    unsigned char * triareas
     
    rcHeightfieldLayerSetlset
     
    rcCompactHeightfieldchf
     
    TileCacheData tiles [MAX_LAYERS]
     
    int ntiles
     
    +

    Constructor & Destructor Documentation

    + +

    ◆ RasterizationContext()

    + +
    +
    + + + + + +
    + + + + + + + +
    RasterizationContext::RasterizationContext ()
    +
    +inline
    +
    + +
    +
    + +

    ◆ ~RasterizationContext()

    + +
    +
    + + + + + +
    + + + + + + + +
    RasterizationContext::~RasterizationContext ()
    +
    +inline
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ chf

    + +
    +
    + + + + +
    rcCompactHeightfield* RasterizationContext::chf
    +
    + +
    +
    + +

    ◆ lset

    + +
    +
    + + + + +
    rcHeightfieldLayerSet* RasterizationContext::lset
    +
    + +
    +
    + +

    ◆ ntiles

    + +
    +
    + + + + +
    int RasterizationContext::ntiles
    +
    + +
    +
    + +

    ◆ solid

    + +
    +
    + + + + +
    rcHeightfield* RasterizationContext::solid
    +
    + +
    +
    + +

    ◆ tiles

    + +
    +
    + + + + +
    TileCacheData RasterizationContext::tiles[MAX_LAYERS]
    +
    + +
    +
    + +

    ◆ triareas

    + +
    +
    + + + + +
    unsigned char* RasterizationContext::triareas
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structRasterizationContext.js b/structRasterizationContext.js new file mode 100644 index 00000000..6ec421b2 --- /dev/null +++ b/structRasterizationContext.js @@ -0,0 +1,11 @@ +var structRasterizationContext = +[ + [ "RasterizationContext", "structRasterizationContext.html#afd127baddc666d46e474217dde4eabe7", null ], + [ "~RasterizationContext", "structRasterizationContext.html#ac18e6bedcb3955f81484732ee8908431", null ], + [ "chf", "structRasterizationContext.html#a2a98a22419a616072ec865a83a167b19", null ], + [ "lset", "structRasterizationContext.html#ae8ab461bba69577efde5b1bbc9af3bab", null ], + [ "ntiles", "structRasterizationContext.html#a9237ebd7e26d392f54464d540317efcf", null ], + [ "solid", "structRasterizationContext.html#aaba97d97599e77368460046203b516e1", null ], + [ "tiles", "structRasterizationContext.html#aec39fae70c6dc870ea044eb2c8bf6c05", null ], + [ "triareas", "structRasterizationContext.html#a7ddb6987ff79542ff58f837ee02fea9e", null ] +]; \ No newline at end of file diff --git a/structSampleItem-members.html b/structSampleItem-members.html new file mode 100644 index 00000000..9e8ba67a --- /dev/null +++ b/structSampleItem-members.html @@ -0,0 +1,108 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    SampleItem Member List
    +
    +
    + +

    This is the complete list of members for SampleItem, including all inherited members.

    + + + +
    createSampleItem
    nameSampleItem
    +
    + + + + + diff --git a/structSampleItem.html b/structSampleItem.html new file mode 100644 index 00000000..a4a60e9a --- /dev/null +++ b/structSampleItem.html @@ -0,0 +1,147 @@ + + + + + + + +Recast Navigation: SampleItem Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    SampleItem Struct Reference
    +
    +
    + + + + + + +

    +Public Attributes

    Sample *(* create )()
     
    const string name
     
    +

    Member Data Documentation

    + +

    ◆ create

    + +
    +
    + + + + +
    Sample*(* SampleItem::create) ()
    +
    + +
    +
    + +

    ◆ name

    + +
    +
    + + + + +
    const string SampleItem::name
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structSampleItem.js b/structSampleItem.js new file mode 100644 index 00000000..03b02ec0 --- /dev/null +++ b/structSampleItem.js @@ -0,0 +1,5 @@ +var structSampleItem = +[ + [ "create", "structSampleItem.html#a44ccc0676594f30f7c30e8c8b0fb053a", null ], + [ "name", "structSampleItem.html#af696aa049ca06a8a27e9d9ed4e55c0df", null ] +]; \ No newline at end of file diff --git a/structSampleTool-members.html b/structSampleTool-members.html new file mode 100644 index 00000000..252325f8 --- /dev/null +++ b/structSampleTool-members.html @@ -0,0 +1,117 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    SampleTool Member List
    +
    +
    + +

    This is the complete list of members for SampleTool, including all inherited members.

    + + + + + + + + + + + + +
    handleClick(const float *s, const float *p, bool shift)=0SampleToolpure virtual
    handleMenu()=0SampleToolpure virtual
    handleRender()=0SampleToolpure virtual
    handleRenderOverlay(double *proj, double *model, int *view)=0SampleToolpure virtual
    handleStep()=0SampleToolpure virtual
    handleToggle()=0SampleToolpure virtual
    handleUpdate(const float dt)=0SampleToolpure virtual
    init(class Sample *sample)=0SampleToolpure virtual
    reset()=0SampleToolpure virtual
    type()=0SampleToolpure virtual
    ~SampleTool()SampleToolvirtual
    +
    + + + + + diff --git a/structSampleTool.html b/structSampleTool.html new file mode 100644 index 00000000..6961e598 --- /dev/null +++ b/structSampleTool.html @@ -0,0 +1,488 @@ + + + + + + + +Recast Navigation: SampleTool Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    SampleTool Struct Referenceabstract
    +
    +
    + +

    #include <Sample.h>

    +
    +Inheritance diagram for SampleTool:
    +
    +
    + + +ConvexVolumeTool +CrowdTool +NavMeshPruneTool +NavMeshTesterTool +NavMeshTileTool +OffMeshConnectionTool +TempObstacleCreateTool +TempObstacleHilightTool + +
    + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

    virtual ~SampleTool ()
     
    virtual int type ()=0
     
    virtual void init (class Sample *sample)=0
     
    virtual void reset ()=0
     
    virtual void handleMenu ()=0
     
    virtual void handleClick (const float *s, const float *p, bool shift)=0
     
    virtual void handleRender ()=0
     
    virtual void handleRenderOverlay (double *proj, double *model, int *view)=0
     
    virtual void handleToggle ()=0
     
    virtual void handleStep ()=0
     
    virtual void handleUpdate (const float dt)=0
     
    +

    Constructor & Destructor Documentation

    + +

    ◆ ~SampleTool()

    + +
    +
    + + + + + +
    + + + + + + + +
    SampleTool::~SampleTool ()
    +
    +virtual
    +
    + +
    +
    +

    Member Function Documentation

    + +

    ◆ handleClick()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    virtual void SampleTool::handleClick (const float * s,
    const float * p,
    bool shift 
    )
    +
    +pure virtual
    +
    +
    + +

    ◆ handleMenu()

    + +
    +
    + + + + + +
    + + + + + + + +
    virtual void SampleTool::handleMenu ()
    +
    +pure virtual
    +
    +
    + +

    ◆ handleRender()

    + +
    +
    + + + + + +
    + + + + + + + +
    virtual void SampleTool::handleRender ()
    +
    +pure virtual
    +
    +
    + +

    ◆ handleRenderOverlay()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    virtual void SampleTool::handleRenderOverlay (double * proj,
    double * model,
    int * view 
    )
    +
    +pure virtual
    +
    +
    + +

    ◆ handleStep()

    + +
    +
    + + + + + +
    + + + + + + + +
    virtual void SampleTool::handleStep ()
    +
    +pure virtual
    +
    +
    + +

    ◆ handleToggle()

    + +
    +
    + + + + + +
    + + + + + + + +
    virtual void SampleTool::handleToggle ()
    +
    +pure virtual
    +
    +
    + +

    ◆ handleUpdate()

    + +
    +
    + + + + + +
    + + + + + + + + +
    virtual void SampleTool::handleUpdate (const float dt)
    +
    +pure virtual
    +
    +
    + +

    ◆ init()

    + +
    +
    + + + + + +
    + + + + + + + + +
    virtual void SampleTool::init (class Samplesample)
    +
    +pure virtual
    +
    +
    + +

    ◆ reset()

    + +
    +
    + + + + + +
    + + + + + + + +
    virtual void SampleTool::reset ()
    +
    +pure virtual
    +
    +
    + +

    ◆ type()

    + +
    +
    + + + + + +
    + + + + + + + +
    virtual int SampleTool::type ()
    +
    +pure virtual
    +
    +
    +
    The documentation for this struct was generated from the following files: +
    +
    + + + + + diff --git a/structSampleTool.js b/structSampleTool.js new file mode 100644 index 00000000..fbf1ec5c --- /dev/null +++ b/structSampleTool.js @@ -0,0 +1,14 @@ +var structSampleTool = +[ + [ "~SampleTool", "structSampleTool.html#a8b20d1398881252989cbfeeff1a5f2f3", null ], + [ "handleClick", "structSampleTool.html#ad411c329c46227d3bd4552ab9e2fb5c3", null ], + [ "handleMenu", "structSampleTool.html#a305d8f95fe8f79feb757b49ff4e55ead", null ], + [ "handleRender", "structSampleTool.html#af78bbe22e6d974d7af841d6f81526a64", null ], + [ "handleRenderOverlay", "structSampleTool.html#a1c493f6e6a5f733d09c6010467154531", null ], + [ "handleStep", "structSampleTool.html#a0cd44aa86008bcbc3dfc45d0117cd02c", null ], + [ "handleToggle", "structSampleTool.html#ac54d34080ba5a11adff8fba1bb2a71fb", null ], + [ "handleUpdate", "structSampleTool.html#ae3f8e0f0fddd71db2e91280e83805054", null ], + [ "init", "structSampleTool.html#a95804c3b0631cbb58edd4370e15a3af5", null ], + [ "reset", "structSampleTool.html#ac861b5b1d9c1b5be2be6059c1d842cb8", null ], + [ "type", "structSampleTool.html#a45b4ac6ce6d23449eb7c7ff3d0f1fdc5", null ] +]; \ No newline at end of file diff --git a/structSampleTool.png b/structSampleTool.png new file mode 100644 index 00000000..109aab5f Binary files /dev/null and b/structSampleTool.png differ diff --git a/structSampleToolState-members.html b/structSampleToolState-members.html new file mode 100644 index 00000000..3adee3a1 --- /dev/null +++ b/structSampleToolState-members.html @@ -0,0 +1,112 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    SampleToolState Member List
    +
    +
    + +

    This is the complete list of members for SampleToolState, including all inherited members.

    + + + + + + + +
    handleRender()=0SampleToolStatepure virtual
    handleRenderOverlay(double *proj, double *model, int *view)=0SampleToolStatepure virtual
    handleUpdate(const float dt)=0SampleToolStatepure virtual
    init(class Sample *sample)=0SampleToolStatepure virtual
    reset()=0SampleToolStatepure virtual
    ~SampleToolState()SampleToolStatevirtual
    +
    + + + + + diff --git a/structSampleToolState.html b/structSampleToolState.html new file mode 100644 index 00000000..54033b71 --- /dev/null +++ b/structSampleToolState.html @@ -0,0 +1,319 @@ + + + + + + + +Recast Navigation: SampleToolState Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    SampleToolState Struct Referenceabstract
    +
    +
    + +

    #include <Sample.h>

    +
    +Inheritance diagram for SampleToolState:
    +
    +
    + + +CrowdToolState + +
    + + + + + + + + + + + + + + +

    +Public Member Functions

    virtual ~SampleToolState ()
     
    virtual void init (class Sample *sample)=0
     
    virtual void reset ()=0
     
    virtual void handleRender ()=0
     
    virtual void handleRenderOverlay (double *proj, double *model, int *view)=0
     
    virtual void handleUpdate (const float dt)=0
     
    +

    Constructor & Destructor Documentation

    + +

    ◆ ~SampleToolState()

    + +
    +
    + + + + + +
    + + + + + + + +
    SampleToolState::~SampleToolState ()
    +
    +virtual
    +
    + +
    +
    +

    Member Function Documentation

    + +

    ◆ handleRender()

    + +
    +
    + + + + + +
    + + + + + + + +
    virtual void SampleToolState::handleRender ()
    +
    +pure virtual
    +
    + +

    Implemented in CrowdToolState.

    + +
    +
    + +

    ◆ handleRenderOverlay()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    virtual void SampleToolState::handleRenderOverlay (double * proj,
    double * model,
    int * view 
    )
    +
    +pure virtual
    +
    + +

    Implemented in CrowdToolState.

    + +
    +
    + +

    ◆ handleUpdate()

    + +
    +
    + + + + + +
    + + + + + + + + +
    virtual void SampleToolState::handleUpdate (const float dt)
    +
    +pure virtual
    +
    + +

    Implemented in CrowdToolState.

    + +
    +
    + +

    ◆ init()

    + +
    +
    + + + + + +
    + + + + + + + + +
    virtual void SampleToolState::init (class Samplesample)
    +
    +pure virtual
    +
    + +

    Implemented in CrowdToolState.

    + +
    +
    + +

    ◆ reset()

    + +
    +
    + + + + + +
    + + + + + + + +
    virtual void SampleToolState::reset ()
    +
    +pure virtual
    +
    + +

    Implemented in CrowdToolState.

    + +
    +
    +
    The documentation for this struct was generated from the following files: +
    +
    + + + + + diff --git a/structSampleToolState.js b/structSampleToolState.js new file mode 100644 index 00000000..6f4ba149 --- /dev/null +++ b/structSampleToolState.js @@ -0,0 +1,9 @@ +var structSampleToolState = +[ + [ "~SampleToolState", "structSampleToolState.html#a1e263aeadeff1cd905d552fe28eeb32b", null ], + [ "handleRender", "structSampleToolState.html#aba928b81e7813277bfcc6a0854f93658", null ], + [ "handleRenderOverlay", "structSampleToolState.html#ab3c7ab10984d2ca744f28a068d882750", null ], + [ "handleUpdate", "structSampleToolState.html#a8d13e1c36ea7258da57e022e211d40ae", null ], + [ "init", "structSampleToolState.html#ab9dda86ad5ef7d23b6da69dbbc5ded1e", null ], + [ "reset", "structSampleToolState.html#aa2dbe87e98b6544ac923398ec93184cf", null ] +]; \ No newline at end of file diff --git a/structSampleToolState.png b/structSampleToolState.png new file mode 100644 index 00000000..cf590740 Binary files /dev/null and b/structSampleToolState.png differ diff --git a/structTileCacheData-members.html b/structTileCacheData-members.html new file mode 100644 index 00000000..7dc83f80 --- /dev/null +++ b/structTileCacheData-members.html @@ -0,0 +1,108 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    TileCacheData Member List
    +
    +
    + +

    This is the complete list of members for TileCacheData, including all inherited members.

    + + + +
    dataTileCacheData
    dataSizeTileCacheData
    +
    + + + + + diff --git a/structTileCacheData.html b/structTileCacheData.html new file mode 100644 index 00000000..7494c392 --- /dev/null +++ b/structTileCacheData.html @@ -0,0 +1,147 @@ + + + + + + + +Recast Navigation: TileCacheData Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    TileCacheData Struct Reference
    +
    +
    + + + + + + +

    +Public Attributes

    unsigned char * data
     
    int dataSize
     
    +

    Member Data Documentation

    + +

    ◆ data

    + +
    +
    + + + + +
    unsigned char* TileCacheData::data
    +
    + +
    +
    + +

    ◆ dataSize

    + +
    +
    + + + + +
    int TileCacheData::dataSize
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structTileCacheData.js b/structTileCacheData.js new file mode 100644 index 00000000..fe9a3b97 --- /dev/null +++ b/structTileCacheData.js @@ -0,0 +1,5 @@ +var structTileCacheData = +[ + [ "data", "structTileCacheData.html#a101ecb69fccd2046a256900f8c4e6847", null ], + [ "dataSize", "structTileCacheData.html#a9c98971270a3a7fe024343b6358dc334", null ] +]; \ No newline at end of file diff --git a/structTileCacheSetHeader-members.html b/structTileCacheSetHeader-members.html new file mode 100644 index 00000000..01ccd103 --- /dev/null +++ b/structTileCacheSetHeader-members.html @@ -0,0 +1,111 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    TileCacheSetHeader Member List
    +
    + +
    + + + + + diff --git a/structTileCacheSetHeader.html b/structTileCacheSetHeader.html new file mode 100644 index 00000000..8d7b3c17 --- /dev/null +++ b/structTileCacheSetHeader.html @@ -0,0 +1,195 @@ + + + + + + + +Recast Navigation: TileCacheSetHeader Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    TileCacheSetHeader Struct Reference
    +
    +
    + + + + + + + + + + + + +

    +Public Attributes

    int magic
     
    int version
     
    int numTiles
     
    dtNavMeshParams meshParams
     
    dtTileCacheParams cacheParams
     
    +

    Member Data Documentation

    + +

    ◆ cacheParams

    + +
    +
    + + + + +
    dtTileCacheParams TileCacheSetHeader::cacheParams
    +
    + +
    +
    + +

    ◆ magic

    + +
    +
    + + + + +
    int TileCacheSetHeader::magic
    +
    + +
    +
    + +

    ◆ meshParams

    + +
    +
    + + + + +
    dtNavMeshParams TileCacheSetHeader::meshParams
    +
    + +
    +
    + +

    ◆ numTiles

    + +
    +
    + + + + +
    int TileCacheSetHeader::numTiles
    +
    + +
    +
    + +

    ◆ version

    + +
    +
    + + + + +
    int TileCacheSetHeader::version
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structTileCacheSetHeader.js b/structTileCacheSetHeader.js new file mode 100644 index 00000000..2eaaf59c --- /dev/null +++ b/structTileCacheSetHeader.js @@ -0,0 +1,8 @@ +var structTileCacheSetHeader = +[ + [ "cacheParams", "structTileCacheSetHeader.html#abc363573908ea46bed77e3b0f94e0325", null ], + [ "magic", "structTileCacheSetHeader.html#a11b814554f66b5ae6a20ff4bf5f9599e", null ], + [ "meshParams", "structTileCacheSetHeader.html#ab16db6d86e12cbee7fde6e48efe92232", null ], + [ "numTiles", "structTileCacheSetHeader.html#a1e3660dad6ea670bb0f222c9d02cebb3", null ], + [ "version", "structTileCacheSetHeader.html#af3c63745db5ba90ee080f739b3bea50f", null ] +]; \ No newline at end of file diff --git a/structTileCacheTileHeader-members.html b/structTileCacheTileHeader-members.html new file mode 100644 index 00000000..c241db9a --- /dev/null +++ b/structTileCacheTileHeader-members.html @@ -0,0 +1,108 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    TileCacheTileHeader Member List
    +
    +
    + +

    This is the complete list of members for TileCacheTileHeader, including all inherited members.

    + + + +
    dataSizeTileCacheTileHeader
    tileRefTileCacheTileHeader
    +
    + + + + + diff --git a/structTileCacheTileHeader.html b/structTileCacheTileHeader.html new file mode 100644 index 00000000..149a9d61 --- /dev/null +++ b/structTileCacheTileHeader.html @@ -0,0 +1,147 @@ + + + + + + + +Recast Navigation: TileCacheTileHeader Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    TileCacheTileHeader Struct Reference
    +
    +
    + + + + + + +

    +Public Attributes

    dtCompressedTileRef tileRef
     
    int dataSize
     
    +

    Member Data Documentation

    + +

    ◆ dataSize

    + +
    +
    + + + + +
    int TileCacheTileHeader::dataSize
    +
    + +
    +
    + +

    ◆ tileRef

    + +
    +
    + + + + +
    dtCompressedTileRef TileCacheTileHeader::tileRef
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structTileCacheTileHeader.js b/structTileCacheTileHeader.js new file mode 100644 index 00000000..3e414a9c --- /dev/null +++ b/structTileCacheTileHeader.js @@ -0,0 +1,5 @@ +var structTileCacheTileHeader = +[ + [ "dataSize", "structTileCacheTileHeader.html#a3c4e5c78970a6afe0b5620b0154e843c", null ], + [ "tileRef", "structTileCacheTileHeader.html#aee23884943ee90ca7fcbe553ca064734", null ] +]; \ No newline at end of file diff --git a/structdtBVNode-members.html b/structdtBVNode-members.html new file mode 100644 index 00000000..84ab53d6 --- /dev/null +++ b/structdtBVNode-members.html @@ -0,0 +1,109 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtBVNode Member List
    +
    +
    + +

    This is the complete list of members for dtBVNode, including all inherited members.

    + + + + +
    bmaxdtBVNode
    bmindtBVNode
    idtBVNode
    +
    + + + + + diff --git a/structdtBVNode.html b/structdtBVNode.html new file mode 100644 index 00000000..5e42c9e6 --- /dev/null +++ b/structdtBVNode.html @@ -0,0 +1,181 @@ + + + + + + + +Recast Navigation: dtBVNode Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtBVNode Struct Reference
    +
    +
    + +

    Bounding volume node. + More...

    + +

    #include <DetourNavMesh.h>

    + + + + + + + + + + + +

    +Public Attributes

    unsigned short bmin [3]
     Minimum bounds of the node's AABB. [(x, y, z)]. More...
     
    unsigned short bmax [3]
     Maximum bounds of the node's AABB. [(x, y, z)]. More...
     
    int i
     The node's index. (Negative for escape sequence.) More...
     
    +

    Description

    +

    Bounding volume node.

    +
    Note
    This structure is rarely if ever used by the end user.
    +
    See also
    dtMeshTile
    +

    Member Data Documentation

    + +

    ◆ bmax

    + +
    +
    + + + + +
    unsigned short dtBVNode::bmax[3]
    +
    + +

    Maximum bounds of the node's AABB. [(x, y, z)].

    + +
    +
    + +

    ◆ bmin

    + +
    +
    + + + + +
    unsigned short dtBVNode::bmin[3]
    +
    + +

    Minimum bounds of the node's AABB. [(x, y, z)].

    + +
    +
    + +

    ◆ i

    + +
    +
    + + + + +
    int dtBVNode::i
    +
    + +

    The node's index. (Negative for escape sequence.)

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtBVNode.js b/structdtBVNode.js new file mode 100644 index 00000000..67101748 --- /dev/null +++ b/structdtBVNode.js @@ -0,0 +1,6 @@ +var structdtBVNode = +[ + [ "bmax", "structdtBVNode.html#aba981174ad61a601f743d986142ee504", null ], + [ "bmin", "structdtBVNode.html#a4f03eda2f4ae838eed627db41ebea292", null ], + [ "i", "structdtBVNode.html#aa7de4b9e1151b9f4bf02154cfb24a45a", null ] +]; \ No newline at end of file diff --git a/structdtCompressedTile-members.html b/structdtCompressedTile-members.html new file mode 100644 index 00000000..2e5fc27b --- /dev/null +++ b/structdtCompressedTile-members.html @@ -0,0 +1,114 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtCompressedTile Member List
    +
    + +
    + + + + + diff --git a/structdtCompressedTile.html b/structdtCompressedTile.html new file mode 100644 index 00000000..3bc7c526 --- /dev/null +++ b/structdtCompressedTile.html @@ -0,0 +1,248 @@ + + + + + + + +Recast Navigation: dtCompressedTile Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtCompressedTile Struct Reference
    +
    +
    + +

    #include <DetourTileCache.h>

    + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    unsigned int salt
     Counter describing modifications to the tile. More...
     
    struct dtTileCacheLayerHeaderheader
     
    unsigned char * compressed
     
    int compressedSize
     
    unsigned char * data
     
    int dataSize
     
    unsigned int flags
     
    dtCompressedTilenext
     
    +

    Member Data Documentation

    + +

    ◆ compressed

    + +
    +
    + + + + +
    unsigned char* dtCompressedTile::compressed
    +
    + +
    +
    + +

    ◆ compressedSize

    + +
    +
    + + + + +
    int dtCompressedTile::compressedSize
    +
    + +
    +
    + +

    ◆ data

    + +
    +
    + + + + +
    unsigned char* dtCompressedTile::data
    +
    + +
    +
    + +

    ◆ dataSize

    + +
    +
    + + + + +
    int dtCompressedTile::dataSize
    +
    + +
    +
    + +

    ◆ flags

    + +
    +
    + + + + +
    unsigned int dtCompressedTile::flags
    +
    + +
    +
    + +

    ◆ header

    + +
    +
    + + + + +
    struct dtTileCacheLayerHeader* dtCompressedTile::header
    +
    + +
    +
    + +

    ◆ next

    + +
    +
    + + + + +
    dtCompressedTile* dtCompressedTile::next
    +
    + +
    +
    + +

    ◆ salt

    + +
    +
    + + + + +
    unsigned int dtCompressedTile::salt
    +
    + +

    Counter describing modifications to the tile.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtCompressedTile.js b/structdtCompressedTile.js new file mode 100644 index 00000000..c005e93d --- /dev/null +++ b/structdtCompressedTile.js @@ -0,0 +1,11 @@ +var structdtCompressedTile = +[ + [ "compressed", "structdtCompressedTile.html#a1dc4612b07c4fea0b4df5065345bec31", null ], + [ "compressedSize", "structdtCompressedTile.html#a27134afd3e266ece7c7465bf04f04b8d", null ], + [ "data", "structdtCompressedTile.html#a08600eb0ab1c1980a7e1b72839a32863", null ], + [ "dataSize", "structdtCompressedTile.html#a6bd5d2ea63921ee6fbacece1da31d656", null ], + [ "flags", "structdtCompressedTile.html#a0c847cc83252015006215c720fb9936b", null ], + [ "header", "structdtCompressedTile.html#a4682edbafc7117d98aedc6069a0cae9f", null ], + [ "next", "structdtCompressedTile.html#a092b83bd1a640dbdcbbd34699bc2c1bd", null ], + [ "salt", "structdtCompressedTile.html#a9df1de3328c707f4fb75d15522ec8ec3", null ] +]; \ No newline at end of file diff --git a/structdtCrowdAgent-members.html b/structdtCrowdAgent-members.html new file mode 100644 index 00000000..bba5a8ff --- /dev/null +++ b/structdtCrowdAgent-members.html @@ -0,0 +1,131 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + + diff --git a/structdtCrowdAgent.html b/structdtCrowdAgent.html new file mode 100644 index 00000000..879d0192 --- /dev/null +++ b/structdtCrowdAgent.html @@ -0,0 +1,594 @@ + + + + + + + +Recast Navigation: dtCrowdAgent Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtCrowdAgent Struct Reference
    +
    +
    + +

    Represents an agent managed by a dtCrowd object. + More...

    + +

    #include <DetourCrowd.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    bool active
     True if the agent is active, false if the agent is in an unused slot in the agent pool. More...
     
    unsigned char state
     The type of mesh polygon the agent is traversing. (See: CrowdAgentState) More...
     
    bool partial
     True if the agent has valid path (targetState == DT_CROWDAGENT_TARGET_VALID) and the path does not lead to the requested position, else false. More...
     
    dtPathCorridor corridor
     The path corridor the agent is using. More...
     
    dtLocalBoundary boundary
     The local boundary data for the agent. More...
     
    float topologyOptTime
     Time since the agent's path corridor was optimized. More...
     
    dtCrowdNeighbour neis [DT_CROWDAGENT_MAX_NEIGHBOURS]
     The known neighbors of the agent. More...
     
    int nneis
     The number of neighbors. More...
     
    float desiredSpeed
     The desired speed. More...
     
    float npos [3]
     The current agent position. [(x, y, z)]. More...
     
    float disp [3]
     A temporary value used to accumulate agent displacement during iterative collision resolution. [(x, y, z)]. More...
     
    float dvel [3]
     The desired velocity of the agent. Based on the current path, calculated from scratch each frame. [(x, y, z)]. More...
     
    float nvel [3]
     The desired velocity adjusted by obstacle avoidance, calculated from scratch each frame. [(x, y, z)]. More...
     
    float vel [3]
     The actual velocity of the agent. The change from nvel -> vel is constrained by max acceleration. [(x, y, z)]. More...
     
    dtCrowdAgentParams params
     The agent's configuration parameters. More...
     
    float cornerVerts [DT_CROWDAGENT_MAX_CORNERS *3]
     The local path corridor corners for the agent. (Staight path.) [(x, y, z) * ncorners]. More...
     
    unsigned char cornerFlags [DT_CROWDAGENT_MAX_CORNERS]
     The local path corridor corner flags. (See: dtStraightPathFlags) [(flags) * ncorners]. More...
     
    dtPolyRef cornerPolys [DT_CROWDAGENT_MAX_CORNERS]
     The reference id of the polygon being entered at the corner. [(polyRef) * ncorners]. More...
     
    int ncorners
     The number of corners. More...
     
    unsigned char targetState
     State of the movement request. More...
     
    dtPolyRef targetRef
     Target polyref of the movement request. More...
     
    float targetPos [3]
     Target position of the movement request (or velocity in case of DT_CROWDAGENT_TARGET_VELOCITY). More...
     
    dtPathQueueRef targetPathqRef
     Path finder ref. More...
     
    bool targetReplan
     Flag indicating that the current path is being replanned. More...
     
    float targetReplanTime
     
    +

    Description

    +

    Represents an agent managed by a dtCrowd object.

    +

    Member Data Documentation

    + +

    ◆ active

    + +
    +
    + + + + +
    bool dtCrowdAgent::active
    +
    + +

    True if the agent is active, false if the agent is in an unused slot in the agent pool.

    + +
    +
    + +

    ◆ boundary

    + +
    +
    + + + + +
    dtLocalBoundary dtCrowdAgent::boundary
    +
    + +

    The local boundary data for the agent.

    + +
    +
    + +

    ◆ cornerFlags

    + +
    +
    + + + + +
    unsigned char dtCrowdAgent::cornerFlags[DT_CROWDAGENT_MAX_CORNERS]
    +
    + +

    The local path corridor corner flags. (See: dtStraightPathFlags) [(flags) * ncorners].

    + +
    +
    + +

    ◆ cornerPolys

    + +
    +
    + + + + +
    dtPolyRef dtCrowdAgent::cornerPolys[DT_CROWDAGENT_MAX_CORNERS]
    +
    + +

    The reference id of the polygon being entered at the corner. [(polyRef) * ncorners].

    + +
    +
    + +

    ◆ cornerVerts

    + +
    +
    + + + + +
    float dtCrowdAgent::cornerVerts[DT_CROWDAGENT_MAX_CORNERS *3]
    +
    + +

    The local path corridor corners for the agent. (Staight path.) [(x, y, z) * ncorners].

    + +
    +
    + +

    ◆ corridor

    + +
    +
    + + + + +
    dtPathCorridor dtCrowdAgent::corridor
    +
    + +

    The path corridor the agent is using.

    + +
    +
    + +

    ◆ desiredSpeed

    + +
    +
    + + + + +
    float dtCrowdAgent::desiredSpeed
    +
    + +

    The desired speed.

    + +
    +
    + +

    ◆ disp

    + +
    +
    + + + + +
    float dtCrowdAgent::disp[3]
    +
    + +

    A temporary value used to accumulate agent displacement during iterative collision resolution. [(x, y, z)].

    + +
    +
    + +

    ◆ dvel

    + +
    +
    + + + + +
    float dtCrowdAgent::dvel[3]
    +
    + +

    The desired velocity of the agent. Based on the current path, calculated from scratch each frame. [(x, y, z)].

    + +
    +
    + +

    ◆ ncorners

    + +
    +
    + + + + +
    int dtCrowdAgent::ncorners
    +
    + +

    The number of corners.

    + +
    +
    + +

    ◆ neis

    + +
    +
    + + + + +
    dtCrowdNeighbour dtCrowdAgent::neis[DT_CROWDAGENT_MAX_NEIGHBOURS]
    +
    + +

    The known neighbors of the agent.

    + +
    +
    + +

    ◆ nneis

    + +
    +
    + + + + +
    int dtCrowdAgent::nneis
    +
    + +

    The number of neighbors.

    + +
    +
    + +

    ◆ npos

    + +
    +
    + + + + +
    float dtCrowdAgent::npos[3]
    +
    + +

    The current agent position. [(x, y, z)].

    + +
    +
    + +

    ◆ nvel

    + +
    +
    + + + + +
    float dtCrowdAgent::nvel[3]
    +
    + +

    The desired velocity adjusted by obstacle avoidance, calculated from scratch each frame. [(x, y, z)].

    + +
    +
    + +

    ◆ params

    + +
    +
    + + + + +
    dtCrowdAgentParams dtCrowdAgent::params
    +
    + +

    The agent's configuration parameters.

    + +
    +
    + +

    ◆ partial

    + +
    +
    + + + + +
    bool dtCrowdAgent::partial
    +
    + +

    True if the agent has valid path (targetState == DT_CROWDAGENT_TARGET_VALID) and the path does not lead to the requested position, else false.

    + +
    +
    + +

    ◆ state

    + +
    +
    + + + + +
    unsigned char dtCrowdAgent::state
    +
    + +

    The type of mesh polygon the agent is traversing. (See: CrowdAgentState)

    + +
    +
    + +

    ◆ targetPathqRef

    + +
    +
    + + + + +
    dtPathQueueRef dtCrowdAgent::targetPathqRef
    +
    + +

    Path finder ref.

    + +
    +
    + +

    ◆ targetPos

    + +
    +
    + + + + +
    float dtCrowdAgent::targetPos[3]
    +
    + +

    Target position of the movement request (or velocity in case of DT_CROWDAGENT_TARGET_VELOCITY).

    + +
    +
    + +

    ◆ targetRef

    + +
    +
    + + + + +
    dtPolyRef dtCrowdAgent::targetRef
    +
    + +

    Target polyref of the movement request.

    + +
    +
    + +

    ◆ targetReplan

    + +
    +
    + + + + +
    bool dtCrowdAgent::targetReplan
    +
    + +

    Flag indicating that the current path is being replanned.

    + +
    +
    + +

    ◆ targetReplanTime

    + +
    +
    + + + + +
    float dtCrowdAgent::targetReplanTime
    +
    + +
    +
    + +

    ◆ targetState

    + +
    +
    + + + + +
    unsigned char dtCrowdAgent::targetState
    +
    + +

    State of the movement request.

    + +
    +
    + +

    ◆ topologyOptTime

    + +
    +
    + + + + +
    float dtCrowdAgent::topologyOptTime
    +
    + +

    Time since the agent's path corridor was optimized.

    + +
    +
    + +

    ◆ vel

    + +
    +
    + + + + +
    float dtCrowdAgent::vel[3]
    +
    + +

    The actual velocity of the agent. The change from nvel -> vel is constrained by max acceleration. [(x, y, z)].

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtCrowdAgent.js b/structdtCrowdAgent.js new file mode 100644 index 00000000..5f944ce2 --- /dev/null +++ b/structdtCrowdAgent.js @@ -0,0 +1,28 @@ +var structdtCrowdAgent = +[ + [ "active", "structdtCrowdAgent.html#a6473f48354abf6f46f5b4d7ead9bca20", null ], + [ "boundary", "structdtCrowdAgent.html#a68fc2f237bd2ac88e4aed6afe6a77951", null ], + [ "cornerFlags", "structdtCrowdAgent.html#a0dbc76cfc32de7dfa2ddd72e8cbfd1a0", null ], + [ "cornerPolys", "structdtCrowdAgent.html#aa1e643c3106128708ca2c66535ac0bbd", null ], + [ "cornerVerts", "structdtCrowdAgent.html#aa63798503ee7acead84e16ce73d21419", null ], + [ "corridor", "structdtCrowdAgent.html#a65166bf21e82273168b4f6f4864044ef", null ], + [ "desiredSpeed", "structdtCrowdAgent.html#ac15a23fd617433db5be5544462ec34d8", null ], + [ "disp", "structdtCrowdAgent.html#a699caf263b79c394c34e31fb9e7c36d0", null ], + [ "dvel", "structdtCrowdAgent.html#add4a75252eb63b88fba66d9c4feb72d9", null ], + [ "ncorners", "structdtCrowdAgent.html#a74e6935a70f5a787f9e06481d9c2905b", null ], + [ "neis", "structdtCrowdAgent.html#a924fad92f7bfcf396a3340d0e518bedf", null ], + [ "nneis", "structdtCrowdAgent.html#a250ba2f5d9ebd40b88ad770aced4aeab", null ], + [ "npos", "structdtCrowdAgent.html#ab23be37267f7f72bf6f4e2e455a8bb6c", null ], + [ "nvel", "structdtCrowdAgent.html#aa0df33b4ae01bffe26adc2ea530cc49e", null ], + [ "params", "structdtCrowdAgent.html#acd1b22112639114ce05c793d178eb4b5", null ], + [ "partial", "structdtCrowdAgent.html#aeb06d7c34ab74696ebb125b0c409043d", null ], + [ "state", "structdtCrowdAgent.html#a091dd7851f63dbe00a59b54072152d5f", null ], + [ "targetPathqRef", "structdtCrowdAgent.html#a1e0f72d182c9cf391300840ab293976e", null ], + [ "targetPos", "structdtCrowdAgent.html#a118c511ca6807b818da75bcd320fb21f", null ], + [ "targetRef", "structdtCrowdAgent.html#a0f33325c1c0bc4050eefe2e0690f84c6", null ], + [ "targetReplan", "structdtCrowdAgent.html#a6300c91130b2690ac64e327e8909d2c8", null ], + [ "targetReplanTime", "structdtCrowdAgent.html#a58585d67fe18e987898f2d42405608b4", null ], + [ "targetState", "structdtCrowdAgent.html#a221a6da715a7e67bbe39e8263ed39948", null ], + [ "topologyOptTime", "structdtCrowdAgent.html#a6c9330e499ceb3df18e047130a29f8f8", null ], + [ "vel", "structdtCrowdAgent.html#a488e32669d4ed67a7945db9f79e45dca", null ] +]; \ No newline at end of file diff --git a/structdtCrowdAgentAnimation-members.html b/structdtCrowdAgentAnimation-members.html new file mode 100644 index 00000000..b38129f8 --- /dev/null +++ b/structdtCrowdAgentAnimation-members.html @@ -0,0 +1,113 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtCrowdAgentAnimation Member List
    +
    + +
    + + + + + diff --git a/structdtCrowdAgentAnimation.html b/structdtCrowdAgentAnimation.html new file mode 100644 index 00000000..73ce8f54 --- /dev/null +++ b/structdtCrowdAgentAnimation.html @@ -0,0 +1,229 @@ + + + + + + + +Recast Navigation: dtCrowdAgentAnimation Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtCrowdAgentAnimation Struct Reference
    +
    +
    + +

    #include <DetourCrowd.h>

    + + + + + + + + + + + + + + + + +

    +Public Attributes

    bool active
     
    float initPos [3]
     
    float startPos [3]
     
    float endPos [3]
     
    dtPolyRef polyRef
     
    float t
     
    float tmax
     
    +

    Member Data Documentation

    + +

    ◆ active

    + +
    +
    + + + + +
    bool dtCrowdAgentAnimation::active
    +
    + +
    +
    + +

    ◆ endPos

    + +
    +
    + + + + +
    float dtCrowdAgentAnimation::endPos[3]
    +
    + +
    +
    + +

    ◆ initPos

    + +
    +
    + + + + +
    float dtCrowdAgentAnimation::initPos[3]
    +
    + +
    +
    + +

    ◆ polyRef

    + +
    +
    + + + + +
    dtPolyRef dtCrowdAgentAnimation::polyRef
    +
    + +
    +
    + +

    ◆ startPos

    + +
    +
    + + + + +
    float dtCrowdAgentAnimation::startPos[3]
    +
    + +
    +
    + +

    ◆ t

    + +
    +
    + + + + +
    float dtCrowdAgentAnimation::t
    +
    + +
    +
    + +

    ◆ tmax

    + +
    +
    + + + + +
    float dtCrowdAgentAnimation::tmax
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtCrowdAgentAnimation.js b/structdtCrowdAgentAnimation.js new file mode 100644 index 00000000..44bbd372 --- /dev/null +++ b/structdtCrowdAgentAnimation.js @@ -0,0 +1,10 @@ +var structdtCrowdAgentAnimation = +[ + [ "active", "structdtCrowdAgentAnimation.html#a063331d0a657ca1e138dde68ad6375f4", null ], + [ "endPos", "structdtCrowdAgentAnimation.html#aed88b3aa0469a0462d5f7d055d3b72cc", null ], + [ "initPos", "structdtCrowdAgentAnimation.html#a607dc9fc1c1d88d93f5140217a298f45", null ], + [ "polyRef", "structdtCrowdAgentAnimation.html#a84a98c95db9bc9db2f334311430669ac", null ], + [ "startPos", "structdtCrowdAgentAnimation.html#a738a08a7b93b678252680f453e4df851", null ], + [ "t", "structdtCrowdAgentAnimation.html#a96b279c54ccfe7d77cc576edbff7298e", null ], + [ "tmax", "structdtCrowdAgentAnimation.html#a6895f4df2e560189e66fac03ca02e2ba", null ] +]; \ No newline at end of file diff --git a/structdtCrowdAgentDebugInfo-members.html b/structdtCrowdAgentDebugInfo-members.html new file mode 100644 index 00000000..fd096ebe --- /dev/null +++ b/structdtCrowdAgentDebugInfo-members.html @@ -0,0 +1,110 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtCrowdAgentDebugInfo Member List
    +
    +
    + +

    This is the complete list of members for dtCrowdAgentDebugInfo, including all inherited members.

    + + + + + +
    idxdtCrowdAgentDebugInfo
    optEnddtCrowdAgentDebugInfo
    optStartdtCrowdAgentDebugInfo
    voddtCrowdAgentDebugInfo
    +
    + + + + + diff --git a/structdtCrowdAgentDebugInfo.html b/structdtCrowdAgentDebugInfo.html new file mode 100644 index 00000000..da6c5c5a --- /dev/null +++ b/structdtCrowdAgentDebugInfo.html @@ -0,0 +1,181 @@ + + + + + + + +Recast Navigation: dtCrowdAgentDebugInfo Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtCrowdAgentDebugInfo Struct Reference
    +
    +
    + +

    #include <DetourCrowd.h>

    + + + + + + + + + + +

    +Public Attributes

    int idx
     
    float optStart [3]
     
    float optEnd [3]
     
    dtObstacleAvoidanceDebugDatavod
     
    +

    Member Data Documentation

    + +

    ◆ idx

    + +
    +
    + + + + +
    int dtCrowdAgentDebugInfo::idx
    +
    + +
    +
    + +

    ◆ optEnd

    + +
    +
    + + + + +
    float dtCrowdAgentDebugInfo::optEnd[3]
    +
    + +
    +
    + +

    ◆ optStart

    + +
    +
    + + + + +
    float dtCrowdAgentDebugInfo::optStart[3]
    +
    + +
    +
    + +

    ◆ vod

    + +
    +
    + + + + +
    dtObstacleAvoidanceDebugData* dtCrowdAgentDebugInfo::vod
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtCrowdAgentDebugInfo.js b/structdtCrowdAgentDebugInfo.js new file mode 100644 index 00000000..85fe7aa5 --- /dev/null +++ b/structdtCrowdAgentDebugInfo.js @@ -0,0 +1,7 @@ +var structdtCrowdAgentDebugInfo = +[ + [ "idx", "structdtCrowdAgentDebugInfo.html#ac0c1fb2edc72e4e688eb943d8f2d92b2", null ], + [ "optEnd", "structdtCrowdAgentDebugInfo.html#a2c3da33772d29888a52162695eaf37f8", null ], + [ "optStart", "structdtCrowdAgentDebugInfo.html#a83c0af535de2def34dbfe42e30b33fed", null ], + [ "vod", "structdtCrowdAgentDebugInfo.html#a64bc1afde8e9f8e1f3f42397fde21329", null ] +]; \ No newline at end of file diff --git a/structdtCrowdAgentParams-members.html b/structdtCrowdAgentParams-members.html new file mode 100644 index 00000000..6b1eba19 --- /dev/null +++ b/structdtCrowdAgentParams-members.html @@ -0,0 +1,117 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + + diff --git a/structdtCrowdAgentParams.html b/structdtCrowdAgentParams.html new file mode 100644 index 00000000..fe2df507 --- /dev/null +++ b/structdtCrowdAgentParams.html @@ -0,0 +1,345 @@ + + + + + + + +Recast Navigation: dtCrowdAgentParams Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtCrowdAgentParams Struct Reference
    +
    +
    + +

    Configuration parameters for a crowd agent. + More...

    + +

    #include <DetourCrowd.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    float radius
     Agent radius. [Limit: >= 0]. More...
     
    float height
     Agent height. [Limit: > 0]. More...
     
    float maxAcceleration
     Maximum allowed acceleration. [Limit: >= 0]. More...
     
    float maxSpeed
     Maximum allowed speed. [Limit: >= 0]. More...
     
    float collisionQueryRange
     Defines how close a collision element must be before it is considered for steering behaviors. [Limits: > 0]. More...
     
    float pathOptimizationRange
     The path visibility optimization range. [Limit: > 0]. More...
     
    float separationWeight
     How aggresive the agent manager should be at avoiding collisions with this agent. [Limit: >= 0]. More...
     
    unsigned char updateFlags
     Flags that impact steering behavior. (See: UpdateFlags) More...
     
    unsigned char obstacleAvoidanceType
     The index of the avoidance configuration to use for the agent. More...
     
    unsigned char queryFilterType
     The index of the query filter used by this agent. More...
     
    void * userData
     User defined data attached to the agent. More...
     
    +

    Description

    +

    Configuration parameters for a crowd agent.

    +
    See also
    dtCrowdAgent, dtCrowd::addAgent(), dtCrowd::updateAgentParameters()
    +

    Member Data Documentation

    + +

    ◆ collisionQueryRange

    + +
    +
    + + + + +
    dtCrowdAgentParams::collisionQueryRange
    +
    + +

    Defines how close a collision element must be before it is considered for steering behaviors. [Limits: > 0].

    +
    +

    Collision elements include other agents and navigation mesh boundaries.

    +

    This value is often based on the agent radius and/or maximum speed. E.g. radius * 8

    + +
    +
    + +

    ◆ height

    + +
    +
    + + + + +
    float dtCrowdAgentParams::height
    +
    + +

    Agent height. [Limit: > 0].

    + +
    +
    + +

    ◆ maxAcceleration

    + +
    +
    + + + + +
    float dtCrowdAgentParams::maxAcceleration
    +
    + +

    Maximum allowed acceleration. [Limit: >= 0].

    + +
    +
    + +

    ◆ maxSpeed

    + +
    +
    + + + + +
    float dtCrowdAgentParams::maxSpeed
    +
    + +

    Maximum allowed speed. [Limit: >= 0].

    + +
    +
    + +

    ◆ obstacleAvoidanceType

    + +
    +
    + + + + +
    dtCrowdAgentParams::obstacleAvoidanceType
    +
    + +

    The index of the avoidance configuration to use for the agent.

    +

    [Limits: 0 <= value <= DT_CROWD_MAX_OBSTAVOIDANCE_PARAMS]

    +
    +

    dtCrowd permits agents to use different avoidance configurations. This value is the index of the dtObstacleAvoidanceParams within the crowd.

    +
    See also
    dtObstacleAvoidanceParams, dtCrowd::setObstacleAvoidanceParams(), dtCrowd::getObstacleAvoidanceParams()
    + +
    +
    + +

    ◆ pathOptimizationRange

    + +
    +
    + + + + +
    dtCrowdAgentParams::pathOptimizationRange
    +
    + +

    The path visibility optimization range. [Limit: > 0].

    +
    +

    Only applicalbe if updateFlags includes the DT_CROWD_OPTIMIZE_VIS flag.

    +

    This value is often based on the agent radius. E.g. radius * 30

    +
    See also
    dtPathCorridor::optimizePathVisibility()
    + +
    +
    + +

    ◆ queryFilterType

    + +
    +
    + + + + +
    unsigned char dtCrowdAgentParams::queryFilterType
    +
    + +

    The index of the query filter used by this agent.

    + +
    +
    + +

    ◆ radius

    + +
    +
    + + + + +
    float dtCrowdAgentParams::radius
    +
    + +

    Agent radius. [Limit: >= 0].

    + +
    +
    + +

    ◆ separationWeight

    + +
    +
    + + + + +
    dtCrowdAgentParams::separationWeight
    +
    + +

    How aggresive the agent manager should be at avoiding collisions with this agent. [Limit: >= 0].

    +
    +

    A higher value will result in agents trying to stay farther away from each other at the cost of more difficult steering in tight spaces.

    + +
    +
    + +

    ◆ updateFlags

    + +
    +
    + + + + +
    unsigned char dtCrowdAgentParams::updateFlags
    +
    + +

    Flags that impact steering behavior. (See: UpdateFlags)

    + +
    +
    + +

    ◆ userData

    + +
    +
    + + + + +
    void* dtCrowdAgentParams::userData
    +
    + +

    User defined data attached to the agent.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtCrowdAgentParams.js b/structdtCrowdAgentParams.js new file mode 100644 index 00000000..ea392603 --- /dev/null +++ b/structdtCrowdAgentParams.js @@ -0,0 +1,14 @@ +var structdtCrowdAgentParams = +[ + [ "collisionQueryRange", "structdtCrowdAgentParams.html#a5e1c7373b02e2f926360e3d3130be068", null ], + [ "height", "structdtCrowdAgentParams.html#a762f702ee5339eebaf252d391f31a586", null ], + [ "maxAcceleration", "structdtCrowdAgentParams.html#a2d1b22f12d2faf77c052b1bae3a27ada", null ], + [ "maxSpeed", "structdtCrowdAgentParams.html#a2a023328c7266577eedeba25e480479f", null ], + [ "obstacleAvoidanceType", "structdtCrowdAgentParams.html#ae8be062f1d9616d17d8b536f7a501498", null ], + [ "pathOptimizationRange", "structdtCrowdAgentParams.html#ab390e7ccafffda667a1132917ad91b93", null ], + [ "queryFilterType", "structdtCrowdAgentParams.html#af5d15cba10237592b1766d7d82da1420", null ], + [ "radius", "structdtCrowdAgentParams.html#a780421355c73aecb187c1aa36de854d8", null ], + [ "separationWeight", "structdtCrowdAgentParams.html#a616534204934492b4f3bc7eb2ff49a0b", null ], + [ "updateFlags", "structdtCrowdAgentParams.html#a7066a4477bbfa53fc1c983e17aa3e5ae", null ], + [ "userData", "structdtCrowdAgentParams.html#a22dd9c496ce4404b8e2a836a14a01281", null ] +]; \ No newline at end of file diff --git a/structdtCrowdNeighbour-members.html b/structdtCrowdNeighbour-members.html new file mode 100644 index 00000000..b2dd295d --- /dev/null +++ b/structdtCrowdNeighbour-members.html @@ -0,0 +1,108 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtCrowdNeighbour Member List
    +
    +
    + +

    This is the complete list of members for dtCrowdNeighbour, including all inherited members.

    + + + +
    distdtCrowdNeighbour
    idxdtCrowdNeighbour
    +
    + + + + + diff --git a/structdtCrowdNeighbour.html b/structdtCrowdNeighbour.html new file mode 100644 index 00000000..64036d24 --- /dev/null +++ b/structdtCrowdNeighbour.html @@ -0,0 +1,161 @@ + + + + + + + +Recast Navigation: dtCrowdNeighbour Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtCrowdNeighbour Struct Reference
    +
    +
    + +

    Provides neighbor data for agents managed by the crowd. + More...

    + +

    #include <DetourCrowd.h>

    + + + + + + + + +

    +Public Attributes

    int idx
     The index of the neighbor in the crowd. More...
     
    float dist
     The distance between the current agent and the neighbor. More...
     
    +

    Description

    +

    Provides neighbor data for agents managed by the crowd.

    +
    See also
    dtCrowdAgent::neis, dtCrowd
    +

    Member Data Documentation

    + +

    ◆ dist

    + +
    +
    + + + + +
    float dtCrowdNeighbour::dist
    +
    + +

    The distance between the current agent and the neighbor.

    + +
    +
    + +

    ◆ idx

    + +
    +
    + + + + +
    int dtCrowdNeighbour::idx
    +
    + +

    The index of the neighbor in the crowd.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtCrowdNeighbour.js b/structdtCrowdNeighbour.js new file mode 100644 index 00000000..dc02534b --- /dev/null +++ b/structdtCrowdNeighbour.js @@ -0,0 +1,5 @@ +var structdtCrowdNeighbour = +[ + [ "dist", "structdtCrowdNeighbour.html#aa3011f95ad242a684f2a79a1b41d5f6b", null ], + [ "idx", "structdtCrowdNeighbour.html#a6a4639002489c6b6e3709e2e6a217c7c", null ] +]; \ No newline at end of file diff --git a/structdtLayerMonotoneRegion-members.html b/structdtLayerMonotoneRegion-members.html new file mode 100644 index 00000000..6652b421 --- /dev/null +++ b/structdtLayerMonotoneRegion-members.html @@ -0,0 +1,111 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtLayerMonotoneRegion Member List
    +
    + +
    + + + + + diff --git a/structdtLayerMonotoneRegion.html b/structdtLayerMonotoneRegion.html new file mode 100644 index 00000000..ee80729d --- /dev/null +++ b/structdtLayerMonotoneRegion.html @@ -0,0 +1,195 @@ + + + + + + + +Recast Navigation: dtLayerMonotoneRegion Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtLayerMonotoneRegion Struct Reference
    +
    +
    + + + + + + + + + + + + +

    +Public Attributes

    int area
     
    unsigned char neis [DT_LAYER_MAX_NEIS]
     
    unsigned char nneis
     
    unsigned char regId
     
    unsigned char areaId
     
    +

    Member Data Documentation

    + +

    ◆ area

    + +
    +
    + + + + +
    int dtLayerMonotoneRegion::area
    +
    + +
    +
    + +

    ◆ areaId

    + +
    +
    + + + + +
    unsigned char dtLayerMonotoneRegion::areaId
    +
    + +
    +
    + +

    ◆ neis

    + +
    +
    + + + + +
    unsigned char dtLayerMonotoneRegion::neis[DT_LAYER_MAX_NEIS]
    +
    + +
    +
    + +

    ◆ nneis

    + +
    +
    + + + + +
    unsigned char dtLayerMonotoneRegion::nneis
    +
    + +
    +
    + +

    ◆ regId

    + +
    +
    + + + + +
    unsigned char dtLayerMonotoneRegion::regId
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtLayerMonotoneRegion.js b/structdtLayerMonotoneRegion.js new file mode 100644 index 00000000..622cfabe --- /dev/null +++ b/structdtLayerMonotoneRegion.js @@ -0,0 +1,8 @@ +var structdtLayerMonotoneRegion = +[ + [ "area", "structdtLayerMonotoneRegion.html#a1ac6f67259d70c25d55f1c0fc05077bf", null ], + [ "areaId", "structdtLayerMonotoneRegion.html#a9e0572100cbcf847291716b3b1008e6d", null ], + [ "neis", "structdtLayerMonotoneRegion.html#ab9c62662a8577f672e3d8b204911811c", null ], + [ "nneis", "structdtLayerMonotoneRegion.html#a60988af0dcb5582f1017506fc01d19c6", null ], + [ "regId", "structdtLayerMonotoneRegion.html#a1f4d98055db146d7bd28129b1f5741cd", null ] +]; \ No newline at end of file diff --git a/structdtLayerSweepSpan-members.html b/structdtLayerSweepSpan-members.html new file mode 100644 index 00000000..746af51c --- /dev/null +++ b/structdtLayerSweepSpan-members.html @@ -0,0 +1,109 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtLayerSweepSpan Member List
    +
    +
    + +

    This is the complete list of members for dtLayerSweepSpan, including all inherited members.

    + + + + +
    iddtLayerSweepSpan
    neidtLayerSweepSpan
    nsdtLayerSweepSpan
    +
    + + + + + diff --git a/structdtLayerSweepSpan.html b/structdtLayerSweepSpan.html new file mode 100644 index 00000000..f513807b --- /dev/null +++ b/structdtLayerSweepSpan.html @@ -0,0 +1,163 @@ + + + + + + + +Recast Navigation: dtLayerSweepSpan Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtLayerSweepSpan Struct Reference
    +
    +
    + + + + + + + + +

    +Public Attributes

    unsigned short ns
     
    unsigned char id
     
    unsigned char nei
     
    +

    Member Data Documentation

    + +

    ◆ id

    + +
    +
    + + + + +
    unsigned char dtLayerSweepSpan::id
    +
    + +
    +
    + +

    ◆ nei

    + +
    +
    + + + + +
    unsigned char dtLayerSweepSpan::nei
    +
    + +
    +
    + +

    ◆ ns

    + +
    +
    + + + + +
    unsigned short dtLayerSweepSpan::ns
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtLayerSweepSpan.js b/structdtLayerSweepSpan.js new file mode 100644 index 00000000..ca0a78f2 --- /dev/null +++ b/structdtLayerSweepSpan.js @@ -0,0 +1,6 @@ +var structdtLayerSweepSpan = +[ + [ "id", "structdtLayerSweepSpan.html#a979ef3d0c22d55844358ed2e62acd83f", null ], + [ "nei", "structdtLayerSweepSpan.html#abbd4307e791bd3ff4bd19bf13990c694", null ], + [ "ns", "structdtLayerSweepSpan.html#a20068e1afedf77184348891cc3f863ed", null ] +]; \ No newline at end of file diff --git a/structdtLink-members.html b/structdtLink-members.html new file mode 100644 index 00000000..2518a698 --- /dev/null +++ b/structdtLink-members.html @@ -0,0 +1,112 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtLink Member List
    +
    +
    + +

    This is the complete list of members for dtLink, including all inherited members.

    + + + + + + + +
    bmaxdtLink
    bmindtLink
    edgedtLink
    nextdtLink
    refdtLink
    sidedtLink
    +
    + + + + + diff --git a/structdtLink.html b/structdtLink.html new file mode 100644 index 00000000..eb54755a --- /dev/null +++ b/structdtLink.html @@ -0,0 +1,238 @@ + + + + + + + +Recast Navigation: dtLink Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtLink Struct Reference
    +
    +
    + +

    Defines a link between polygons. + More...

    + +

    #include <DetourNavMesh.h>

    + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    dtPolyRef ref
     Neighbour reference. (The neighbor that is linked to.) More...
     
    unsigned int next
     Index of the next link. More...
     
    unsigned char edge
     Index of the polygon edge that owns this link. More...
     
    unsigned char side
     If a boundary link, defines on which side the link is. More...
     
    unsigned char bmin
     If a boundary link, defines the minimum sub-edge area. More...
     
    unsigned char bmax
     If a boundary link, defines the maximum sub-edge area. More...
     
    +

    Description

    +

    Defines a link between polygons.

    +
    Note
    This structure is rarely if ever used by the end user.
    +
    See also
    dtMeshTile
    +

    Member Data Documentation

    + +

    ◆ bmax

    + +
    +
    + + + + +
    unsigned char dtLink::bmax
    +
    + +

    If a boundary link, defines the maximum sub-edge area.

    + +
    +
    + +

    ◆ bmin

    + +
    +
    + + + + +
    unsigned char dtLink::bmin
    +
    + +

    If a boundary link, defines the minimum sub-edge area.

    + +
    +
    + +

    ◆ edge

    + +
    +
    + + + + +
    unsigned char dtLink::edge
    +
    + +

    Index of the polygon edge that owns this link.

    + +
    +
    + +

    ◆ next

    + +
    +
    + + + + +
    unsigned int dtLink::next
    +
    + +

    Index of the next link.

    + +
    +
    + +

    ◆ ref

    + +
    +
    + + + + +
    dtPolyRef dtLink::ref
    +
    + +

    Neighbour reference. (The neighbor that is linked to.)

    + +
    +
    + +

    ◆ side

    + +
    +
    + + + + +
    unsigned char dtLink::side
    +
    + +

    If a boundary link, defines on which side the link is.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtLink.js b/structdtLink.js new file mode 100644 index 00000000..d13b28ee --- /dev/null +++ b/structdtLink.js @@ -0,0 +1,9 @@ +var structdtLink = +[ + [ "bmax", "structdtLink.html#ac8a3afc341614707afb915d2822ffdc7", null ], + [ "bmin", "structdtLink.html#a0123fe6375fa414a48b2e73c3b23a1ce", null ], + [ "edge", "structdtLink.html#a14ff7d317cbceba6ab9d1958b463cb3a", null ], + [ "next", "structdtLink.html#a475b893f03bf4c942ab6376d83dca82e", null ], + [ "ref", "structdtLink.html#a34c73193fed76de347adb0f2e9841659", null ], + [ "side", "structdtLink.html#a62d34d0e6350fe9790e91ec287bc1423", null ] +]; \ No newline at end of file diff --git a/structdtMeshHeader-members.html b/structdtMeshHeader-members.html new file mode 100644 index 00000000..5cfffb3e --- /dev/null +++ b/structdtMeshHeader-members.html @@ -0,0 +1,127 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + + diff --git a/structdtMeshHeader.html b/structdtMeshHeader.html new file mode 100644 index 00000000..51c004a6 --- /dev/null +++ b/structdtMeshHeader.html @@ -0,0 +1,534 @@ + + + + + + + +Recast Navigation: dtMeshHeader Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtMeshHeader Struct Reference
    +
    +
    + +

    Provides high level information related to a dtMeshTile object. + More...

    + +

    #include <DetourNavMesh.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    int magic
     Tile magic number. (Used to identify the data format.) More...
     
    int version
     Tile data format version number. More...
     
    int x
     The x-position of the tile within the dtNavMesh tile grid. (x, y, layer) More...
     
    int y
     The y-position of the tile within the dtNavMesh tile grid. (x, y, layer) More...
     
    int layer
     The layer of the tile within the dtNavMesh tile grid. (x, y, layer) More...
     
    unsigned int userId
     The user defined id of the tile. More...
     
    int polyCount
     The number of polygons in the tile. More...
     
    int vertCount
     The number of vertices in the tile. More...
     
    int maxLinkCount
     The number of allocated links. More...
     
    int detailMeshCount
     The number of sub-meshes in the detail mesh. More...
     
    int detailVertCount
     The number of unique vertices in the detail mesh. (In addition to the polygon vertices.) More...
     
    int detailTriCount
     The number of triangles in the detail mesh. More...
     
    int bvNodeCount
     The number of bounding volume nodes. (Zero if bounding volumes are disabled.) More...
     
    int offMeshConCount
     The number of off-mesh connections. More...
     
    int offMeshBase
     The index of the first polygon which is an off-mesh connection. More...
     
    float walkableHeight
     The height of the agents using the tile. More...
     
    float walkableRadius
     The radius of the agents using the tile. More...
     
    float walkableClimb
     The maximum climb height of the agents using the tile. More...
     
    float bmin [3]
     The minimum bounds of the tile's AABB. [(x, y, z)]. More...
     
    float bmax [3]
     The maximum bounds of the tile's AABB. [(x, y, z)]. More...
     
    float bvQuantFactor
     The bounding volume quantization factor. More...
     
    +

    Description

    +

    Provides high level information related to a dtMeshTile object.

    +

    Member Data Documentation

    + +

    ◆ bmax

    + +
    +
    + + + + +
    float dtMeshHeader::bmax[3]
    +
    + +

    The maximum bounds of the tile's AABB. [(x, y, z)].

    + +
    +
    + +

    ◆ bmin

    + +
    +
    + + + + +
    float dtMeshHeader::bmin[3]
    +
    + +

    The minimum bounds of the tile's AABB. [(x, y, z)].

    + +
    +
    + +

    ◆ bvNodeCount

    + +
    +
    + + + + +
    int dtMeshHeader::bvNodeCount
    +
    + +

    The number of bounding volume nodes. (Zero if bounding volumes are disabled.)

    + +
    +
    + +

    ◆ bvQuantFactor

    + +
    +
    + + + + +
    float dtMeshHeader::bvQuantFactor
    +
    + +

    The bounding volume quantization factor.

    +
    +

    This value is used for converting between world and bounding volume coordinates. For example:

    const float cs = 1.0f / tile->header->bvQuantFactor;
    +
    const dtBVNode* n = &tile->bvTree[i];
    +
    if (n->i >= 0)
    +
    {
    +
    // This is a leaf node.
    +
    float worldMinX = tile->header->bmin[0] + n->bmin[0]*cs;
    +
    float worldMinY = tile->header->bmin[0] + n->bmin[1]*cs;
    +
    // Etc...
    +
    }
    +
    Bounding volume node.
    Definition: DetourNavMesh.h:216
    +
    unsigned short bmin[3]
    Minimum bounds of the node's AABB. [(x, y, z)].
    Definition: DetourNavMesh.h:217
    +
    int i
    The node's index. (Negative for escape sequence.)
    Definition: DetourNavMesh.h:219
    +
    +
    +
    + +

    ◆ detailMeshCount

    + +
    +
    + + + + +
    int dtMeshHeader::detailMeshCount
    +
    + +

    The number of sub-meshes in the detail mesh.

    + +
    +
    + +

    ◆ detailTriCount

    + +
    +
    + + + + +
    int dtMeshHeader::detailTriCount
    +
    + +

    The number of triangles in the detail mesh.

    + +
    +
    + +

    ◆ detailVertCount

    + +
    +
    + + + + +
    int dtMeshHeader::detailVertCount
    +
    + +

    The number of unique vertices in the detail mesh. (In addition to the polygon vertices.)

    + +
    +
    + +

    ◆ layer

    + +
    +
    + + + + +
    int dtMeshHeader::layer
    +
    + +

    The layer of the tile within the dtNavMesh tile grid. (x, y, layer)

    + +
    +
    + +

    ◆ magic

    + +
    +
    + + + + +
    int dtMeshHeader::magic
    +
    + +

    Tile magic number. (Used to identify the data format.)

    + +
    +
    + +

    ◆ maxLinkCount

    + +
    +
    + + + + +
    int dtMeshHeader::maxLinkCount
    +
    + +

    The number of allocated links.

    + +
    +
    + +

    ◆ offMeshBase

    + +
    +
    + + + + +
    int dtMeshHeader::offMeshBase
    +
    + +

    The index of the first polygon which is an off-mesh connection.

    + +
    +
    + +

    ◆ offMeshConCount

    + +
    +
    + + + + +
    int dtMeshHeader::offMeshConCount
    +
    + +

    The number of off-mesh connections.

    + +
    +
    + +

    ◆ polyCount

    + +
    +
    + + + + +
    int dtMeshHeader::polyCount
    +
    + +

    The number of polygons in the tile.

    + +
    +
    + +

    ◆ userId

    + +
    +
    + + + + +
    unsigned int dtMeshHeader::userId
    +
    + +

    The user defined id of the tile.

    + +
    +
    + +

    ◆ version

    + +
    +
    + + + + +
    int dtMeshHeader::version
    +
    + +

    Tile data format version number.

    + +
    +
    + +

    ◆ vertCount

    + +
    +
    + + + + +
    int dtMeshHeader::vertCount
    +
    + +

    The number of vertices in the tile.

    + +
    +
    + +

    ◆ walkableClimb

    + +
    +
    + + + + +
    float dtMeshHeader::walkableClimb
    +
    + +

    The maximum climb height of the agents using the tile.

    + +
    +
    + +

    ◆ walkableHeight

    + +
    +
    + + + + +
    float dtMeshHeader::walkableHeight
    +
    + +

    The height of the agents using the tile.

    + +
    +
    + +

    ◆ walkableRadius

    + +
    +
    + + + + +
    float dtMeshHeader::walkableRadius
    +
    + +

    The radius of the agents using the tile.

    + +
    +
    + +

    ◆ x

    + +
    +
    + + + + +
    int dtMeshHeader::x
    +
    + +

    The x-position of the tile within the dtNavMesh tile grid. (x, y, layer)

    + +
    +
    + +

    ◆ y

    + +
    +
    + + + + +
    int dtMeshHeader::y
    +
    + +

    The y-position of the tile within the dtNavMesh tile grid. (x, y, layer)

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtMeshHeader.js b/structdtMeshHeader.js new file mode 100644 index 00000000..e1a7d54d --- /dev/null +++ b/structdtMeshHeader.js @@ -0,0 +1,24 @@ +var structdtMeshHeader = +[ + [ "bmax", "structdtMeshHeader.html#a81fc3bf970078d4c4411919204f9ce10", null ], + [ "bmin", "structdtMeshHeader.html#ac1a8890add6666f54407cb8e1abc1179", null ], + [ "bvNodeCount", "structdtMeshHeader.html#a266e9ad927fe5cbbd3c3c0ffd4e9f5f0", null ], + [ "bvQuantFactor", "structdtMeshHeader.html#ab415943e0064a6ed0501e8e7da0e5d26", null ], + [ "detailMeshCount", "structdtMeshHeader.html#a79ce7145dd4854c55cd94d5c57faf392", null ], + [ "detailTriCount", "structdtMeshHeader.html#a008cebda05907508cf862d18945d8459", null ], + [ "detailVertCount", "structdtMeshHeader.html#abe1c10b7e925b0b31adf72f8f2d1d7e9", null ], + [ "layer", "structdtMeshHeader.html#ad47558eb925bae065e741742e5c62ea0", null ], + [ "magic", "structdtMeshHeader.html#a3e7a9662d94d08b62ca84d44e150facc", null ], + [ "maxLinkCount", "structdtMeshHeader.html#ab9f95d40e21c8710f59e78ef89ce1cc0", null ], + [ "offMeshBase", "structdtMeshHeader.html#ac8f24275024a40076976e024677dc54d", null ], + [ "offMeshConCount", "structdtMeshHeader.html#af48a70c7ce5f5fd586eb8e66dfe8ea36", null ], + [ "polyCount", "structdtMeshHeader.html#ab36d94238505dbf5370c69c8e5276d74", null ], + [ "userId", "structdtMeshHeader.html#a12351c24b7a9fc6456353c22960b6769", null ], + [ "version", "structdtMeshHeader.html#a22f4453e3e449586b26d71d8153bfb02", null ], + [ "vertCount", "structdtMeshHeader.html#aad331f09586b0959eeb0826152315b92", null ], + [ "walkableClimb", "structdtMeshHeader.html#abd05a74e3a83474d0073118059f11273", null ], + [ "walkableHeight", "structdtMeshHeader.html#a841dd28baa87ecf4a67868d44d212349", null ], + [ "walkableRadius", "structdtMeshHeader.html#af46713cd7140c9cea829730c246e146d", null ], + [ "x", "structdtMeshHeader.html#ae577ca0c9fba95254b699a51483e374c", null ], + [ "y", "structdtMeshHeader.html#a9969f562faa5990fec5ff27c9d2b50b9", null ] +]; \ No newline at end of file diff --git a/structdtMeshTile-members.html b/structdtMeshTile-members.html new file mode 100644 index 00000000..41796a57 --- /dev/null +++ b/structdtMeshTile-members.html @@ -0,0 +1,121 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + + diff --git a/structdtMeshTile.html b/structdtMeshTile.html new file mode 100644 index 00000000..2133ee4a --- /dev/null +++ b/structdtMeshTile.html @@ -0,0 +1,415 @@ + + + + + + + +Recast Navigation: dtMeshTile Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtMeshTile Struct Reference
    +
    +
    + +

    Defines a navigation mesh tile. + More...

    + +

    #include <DetourNavMesh.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    unsigned int salt
     Counter describing modifications to the tile. More...
     
    unsigned int linksFreeList
     Index to the next free link. More...
     
    dtMeshHeaderheader
     The tile header. More...
     
    dtPolypolys
     The tile polygons. [Size: dtMeshHeader::polyCount]. More...
     
    float * verts
     The tile vertices. [(x, y, z) * dtMeshHeader::vertCount]. More...
     
    dtLinklinks
     The tile links. [Size: dtMeshHeader::maxLinkCount]. More...
     
    dtPolyDetaildetailMeshes
     The tile's detail sub-meshes. [Size: dtMeshHeader::detailMeshCount]. More...
     
    float * detailVerts
     The detail mesh's unique vertices. [(x, y, z) * dtMeshHeader::detailVertCount]. More...
     
    unsigned char * detailTris
     The detail mesh's triangles. More...
     
    dtBVNodebvTree
     The tile bounding volume nodes. More...
     
    dtOffMeshConnectionoffMeshCons
     The tile off-mesh connections. [Size: dtMeshHeader::offMeshConCount]. More...
     
    unsigned char * data
     The tile data. (Not directly accessed under normal situations.) More...
     
    int dataSize
     Size of the tile data. More...
     
    int flags
     Tile flags. (See: dtTileFlags) More...
     
    dtMeshTilenext
     The next free tile, or the next tile in the spatial grid. More...
     
    +

    Description

    +

    Defines a navigation mesh tile.

    +
    +

    Tiles generally only exist within the context of a dtNavMesh object.

    +

    Some tile content is optional. For example, a tile may not contain any off-mesh connections. In this case the associated pointer will be null.

    +

    If a detail mesh exists it will share vertices with the base polygon mesh.
    + Only the vertices unique to the detail mesh will be stored in detailVerts.

    +
    Warning
    Tiles returned by a dtNavMesh object are not guarenteed to be populated. For example: The tile at a location might not have been loaded yet, or may have been removed. In this case, pointers will be null. So if in doubt, check the polygon count in the tile's header to determine if a tile has polygons defined.
    +

    Member Data Documentation

    + +

    ◆ bvTree

    + +
    +
    + + + + +
    dtBVNode* dtMeshTile::bvTree
    +
    + +

    The tile bounding volume nodes.

    +

    Size: dtMeshHeader::bvNodeCount

    + +
    +
    + +

    ◆ data

    + +
    +
    + + + + +
    unsigned char* dtMeshTile::data
    +
    + +

    The tile data. (Not directly accessed under normal situations.)

    + +
    +
    + +

    ◆ dataSize

    + +
    +
    + + + + +
    int dtMeshTile::dataSize
    +
    + +

    Size of the tile data.

    + +
    +
    + +

    ◆ detailMeshes

    + +
    +
    + + + + +
    dtPolyDetail* dtMeshTile::detailMeshes
    +
    + +

    The tile's detail sub-meshes. [Size: dtMeshHeader::detailMeshCount].

    + +
    +
    + +

    ◆ detailTris

    + +
    +
    + + + + +
    unsigned char* dtMeshTile::detailTris
    +
    + +

    The detail mesh's triangles.

    +

    [(vertA, vertB, vertC, triFlags) * dtMeshHeader::detailTriCount]. See dtDetailTriEdgeFlags and dtGetDetailTriEdgeFlags.

    + +
    +
    + +

    ◆ detailVerts

    + +
    +
    + + + + +
    float* dtMeshTile::detailVerts
    +
    + +

    The detail mesh's unique vertices. [(x, y, z) * dtMeshHeader::detailVertCount].

    + +
    +
    + +

    ◆ flags

    + +
    +
    + + + + +
    int dtMeshTile::flags
    +
    + +

    Tile flags. (See: dtTileFlags)

    + +
    +
    + +

    ◆ header

    + +
    +
    + + + + +
    dtMeshHeader* dtMeshTile::header
    +
    + +

    The tile header.

    + +
    +
    + +

    ◆ links

    + +
    +
    + + + + +
    dtLink* dtMeshTile::links
    +
    + +

    The tile links. [Size: dtMeshHeader::maxLinkCount].

    + +
    +
    + +

    ◆ linksFreeList

    + +
    +
    + + + + +
    unsigned int dtMeshTile::linksFreeList
    +
    + +

    Index to the next free link.

    + +
    +
    + +

    ◆ next

    + +
    +
    + + + + +
    dtMeshTile* dtMeshTile::next
    +
    + +

    The next free tile, or the next tile in the spatial grid.

    + +
    +
    + +

    ◆ offMeshCons

    + +
    +
    + + + + +
    dtOffMeshConnection* dtMeshTile::offMeshCons
    +
    + +

    The tile off-mesh connections. [Size: dtMeshHeader::offMeshConCount].

    + +
    +
    + +

    ◆ polys

    + +
    +
    + + + + +
    dtPoly* dtMeshTile::polys
    +
    + +

    The tile polygons. [Size: dtMeshHeader::polyCount].

    + +
    +
    + +

    ◆ salt

    + +
    +
    + + + + +
    unsigned int dtMeshTile::salt
    +
    + +

    Counter describing modifications to the tile.

    + +
    +
    + +

    ◆ verts

    + +
    +
    + + + + +
    float* dtMeshTile::verts
    +
    + +

    The tile vertices. [(x, y, z) * dtMeshHeader::vertCount].

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtMeshTile.js b/structdtMeshTile.js new file mode 100644 index 00000000..3f5f70b2 --- /dev/null +++ b/structdtMeshTile.js @@ -0,0 +1,18 @@ +var structdtMeshTile = +[ + [ "bvTree", "structdtMeshTile.html#a1e1f626924faa6974363c142c40e632e", null ], + [ "data", "structdtMeshTile.html#ae5ecafb2319029b216f739b2be537f98", null ], + [ "dataSize", "structdtMeshTile.html#a18351bec79954247bef6e22745d5515f", null ], + [ "detailMeshes", "structdtMeshTile.html#a9de7d1fd0dd0c6f46878bc910dec4f90", null ], + [ "detailTris", "structdtMeshTile.html#a237f7f0d938875062b22b42abdff6ab1", null ], + [ "detailVerts", "structdtMeshTile.html#a60928b85578a99aacf71eed721c103d8", null ], + [ "flags", "structdtMeshTile.html#a610bc670e7bd056f31d8629d9c2100a1", null ], + [ "header", "structdtMeshTile.html#a5051ce89a829f53969be9ac3fae9d4c3", null ], + [ "links", "structdtMeshTile.html#a09ec6812e47b7e63f035abd0b7753554", null ], + [ "linksFreeList", "structdtMeshTile.html#ad010d9daba37865a4065248745e0b4a0", null ], + [ "next", "structdtMeshTile.html#a3c02fb96379627a32e596035f5ad9231", null ], + [ "offMeshCons", "structdtMeshTile.html#aaab8cd6559e004f4e39e297ffdd1c5f9", null ], + [ "polys", "structdtMeshTile.html#abd8ed5dcf003464a7d8c456f671e6c1e", null ], + [ "salt", "structdtMeshTile.html#a21bccdc0f5d778d886eaa5aae72b400f", null ], + [ "verts", "structdtMeshTile.html#abee62e6320aff3e2d0cdce239ec2c549", null ] +]; \ No newline at end of file diff --git a/structdtNavMeshCreateParams-members.html b/structdtNavMeshCreateParams-members.html new file mode 100644 index 00000000..5638e5ac --- /dev/null +++ b/structdtNavMeshCreateParams-members.html @@ -0,0 +1,137 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + + diff --git a/structdtNavMeshCreateParams.html b/structdtNavMeshCreateParams.html new file mode 100644 index 00000000..9874f1f6 --- /dev/null +++ b/structdtNavMeshCreateParams.html @@ -0,0 +1,734 @@ + + + + + + + +Recast Navigation: dtNavMeshCreateParams Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtNavMeshCreateParams Struct Reference
    +
    +
    + +

    Represents the source data used to build an navigation mesh tile. + More...

    + +

    #include <DetourNavMeshBuilder.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    Polygon Mesh Attributes

    Used to create the base navigation graph.

    +

    See rcPolyMesh for details related to these attributes.

    +
    const unsigned short * verts
     The polygon mesh vertices. [(x, y, z) * vertCount] [Unit: vx]. More...
     
    int vertCount
     The number vertices in the polygon mesh. [Limit: >= 3]. More...
     
    const unsigned short * polys
     The polygon data. [Size: polyCount * 2 * nvp]. More...
     
    const unsigned short * polyFlags
     The user defined flags assigned to each polygon. [Size: polyCount]. More...
     
    const unsigned char * polyAreas
     The user defined area ids assigned to each polygon. [Size: polyCount]. More...
     
    int polyCount
     Number of polygons in the mesh. [Limit: >= 1]. More...
     
    int nvp
     Number maximum number of vertices per polygon. [Limit: >= 3]. More...
     
    Height Detail Attributes (Optional)

    See rcPolyMeshDetail for details related to these attributes.

    +
    const unsigned int * detailMeshes
     The height detail sub-mesh data. [Size: 4 * polyCount]. More...
     
    const float * detailVerts
     The detail mesh vertices. [Size: 3 * detailVertsCount] [Unit: wu]. More...
     
    int detailVertsCount
     The number of vertices in the detail mesh. More...
     
    const unsigned char * detailTris
     The detail mesh triangles. [Size: 4 * detailTriCount]. More...
     
    int detailTriCount
     The number of triangles in the detail mesh. More...
     
    Off-Mesh Connections Attributes (Optional)

    Used to define a custom point-to-point edge within the navigation graph, an off-mesh connection is a user defined traversable connection made up to two vertices, at least one of which resides within a navigation mesh polygon.

    +
    const float * offMeshConVerts
     Off-mesh connection vertices. [(ax, ay, az, bx, by, bz) * offMeshConCount] [Unit: wu]. More...
     
    const float * offMeshConRad
     Off-mesh connection radii. [Size: offMeshConCount] [Unit: wu]. More...
     
    const unsigned short * offMeshConFlags
     User defined flags assigned to the off-mesh connections. [Size: offMeshConCount]. More...
     
    const unsigned char * offMeshConAreas
     User defined area ids assigned to the off-mesh connections. [Size: offMeshConCount]. More...
     
    const unsigned char * offMeshConDir
     The permitted travel direction of the off-mesh connections. More...
     
    const unsigned int * offMeshConUserID
     The user defined ids of the off-mesh connection. [Size: offMeshConCount]. More...
     
    int offMeshConCount
     The number of off-mesh connections. [Limit: >= 0]. More...
     
    Tile Attributes
    Note
    The tile grid/layer data can be left at zero if the destination is a single tile mesh.
    +
    unsigned int userId
     The user defined id of the tile. More...
     
    int tileX
     The tile's x-grid location within the multi-tile destination mesh. (Along the x-axis.) More...
     
    int tileY
     The tile's y-grid location within the multi-tile desitation mesh. (Along the z-axis.) More...
     
    int tileLayer
     The tile's layer within the layered destination mesh. Limit: >= 0 More...
     
    float bmin [3]
     The minimum bounds of the tile. [(x, y, z)] [Unit: wu]. More...
     
    float bmax [3]
     The maximum bounds of the tile. [(x, y, z)] [Unit: wu]. More...
     
    General Configuration Attributes
    float walkableHeight
     The agent height. [Unit: wu]. More...
     
    float walkableRadius
     The agent radius. [Unit: wu]. More...
     
    float walkableClimb
     The agent maximum traversable ledge. (Up/Down) [Unit: wu]. More...
     
    float cs
     The xz-plane cell size of the polygon mesh. [Limit: > 0] [Unit: wu]. More...
     
    float ch
     The y-axis cell height of the polygon mesh. [Limit: > 0] [Unit: wu]. More...
     
    bool buildBvTree
     True if a bounding volume tree should be built for the tile. More...
     
    +

    Description

    +

    Represents the source data used to build an navigation mesh tile.

    +
    +

    This structure is used to marshal data between the Recast mesh generation pipeline and Detour navigation components.

    +

    See the rcPolyMesh and rcPolyMeshDetail documentation for detailed information related to mesh structure.

    +

    Units are usually in voxels (vx) or world units (wu). The units for voxels, grid size, and cell size are all based on the values of cs and ch.

    +

    The standard navigation mesh build process is to create tile data using dtCreateNavMeshData, then add the tile to a navigation mesh using either the dtNavMesh single tile init() function or the dtNavMesh::addTile() function.

    +
    See also
    dtCreateNavMeshData
    +

    Member Data Documentation

    + +

    ◆ bmax

    + +
    +
    + + + + +
    float dtNavMeshCreateParams::bmax[3]
    +
    + +

    The maximum bounds of the tile. [(x, y, z)] [Unit: wu].

    + +
    +
    + +

    ◆ bmin

    + +
    +
    + + + + +
    float dtNavMeshCreateParams::bmin[3]
    +
    + +

    The minimum bounds of the tile. [(x, y, z)] [Unit: wu].

    + +
    +
    + +

    ◆ buildBvTree

    + +
    +
    + + + + +
    bool dtNavMeshCreateParams::buildBvTree
    +
    + +

    True if a bounding volume tree should be built for the tile.

    +
    Note
    The BVTree is not normally needed for layered navigation meshes.
    + +
    +
    + +

    ◆ ch

    + +
    +
    + + + + +
    float dtNavMeshCreateParams::ch
    +
    + +

    The y-axis cell height of the polygon mesh. [Limit: > 0] [Unit: wu].

    + +
    +
    + +

    ◆ cs

    + +
    +
    + + + + +
    float dtNavMeshCreateParams::cs
    +
    + +

    The xz-plane cell size of the polygon mesh. [Limit: > 0] [Unit: wu].

    + +
    +
    + +

    ◆ detailMeshes

    + +
    +
    + + + + +
    const unsigned int* dtNavMeshCreateParams::detailMeshes
    +
    + +

    The height detail sub-mesh data. [Size: 4 * polyCount].

    + +
    +
    + +

    ◆ detailTriCount

    + +
    +
    + + + + +
    int dtNavMeshCreateParams::detailTriCount
    +
    + +

    The number of triangles in the detail mesh.

    + +
    +
    + +

    ◆ detailTris

    + +
    +
    + + + + +
    const unsigned char* dtNavMeshCreateParams::detailTris
    +
    + +

    The detail mesh triangles. [Size: 4 * detailTriCount].

    + +
    +
    + +

    ◆ detailVerts

    + +
    +
    + + + + +
    const float* dtNavMeshCreateParams::detailVerts
    +
    + +

    The detail mesh vertices. [Size: 3 * detailVertsCount] [Unit: wu].

    + +
    +
    + +

    ◆ detailVertsCount

    + +
    +
    + + + + +
    int dtNavMeshCreateParams::detailVertsCount
    +
    + +

    The number of vertices in the detail mesh.

    + +
    +
    + +

    ◆ nvp

    + +
    +
    + + + + +
    int dtNavMeshCreateParams::nvp
    +
    + +

    Number maximum number of vertices per polygon. [Limit: >= 3].

    + +
    +
    + +

    ◆ offMeshConAreas

    + +
    +
    + + + + +
    const unsigned char* dtNavMeshCreateParams::offMeshConAreas
    +
    + +

    User defined area ids assigned to the off-mesh connections. [Size: offMeshConCount].

    + +
    +
    + +

    ◆ offMeshConCount

    + +
    +
    + + + + +
    int dtNavMeshCreateParams::offMeshConCount
    +
    + +

    The number of off-mesh connections. [Limit: >= 0].

    + +
    +
    + +

    ◆ offMeshConDir

    + +
    +
    + + + + +
    const unsigned char* dtNavMeshCreateParams::offMeshConDir
    +
    + +

    The permitted travel direction of the off-mesh connections.

    +

    [Size: offMeshConCount]

    +

    0 = Travel only from endpoint A to endpoint B.
    + DT_OFFMESH_CON_BIDIR = Bidirectional travel.

    + +
    +
    + +

    ◆ offMeshConFlags

    + +
    +
    + + + + +
    const unsigned short* dtNavMeshCreateParams::offMeshConFlags
    +
    + +

    User defined flags assigned to the off-mesh connections. [Size: offMeshConCount].

    + +
    +
    + +

    ◆ offMeshConRad

    + +
    +
    + + + + +
    const float* dtNavMeshCreateParams::offMeshConRad
    +
    + +

    Off-mesh connection radii. [Size: offMeshConCount] [Unit: wu].

    + +
    +
    + +

    ◆ offMeshConUserID

    + +
    +
    + + + + +
    const unsigned int* dtNavMeshCreateParams::offMeshConUserID
    +
    + +

    The user defined ids of the off-mesh connection. [Size: offMeshConCount].

    + +
    +
    + +

    ◆ offMeshConVerts

    + +
    +
    + + + + +
    const float* dtNavMeshCreateParams::offMeshConVerts
    +
    + +

    Off-mesh connection vertices. [(ax, ay, az, bx, by, bz) * offMeshConCount] [Unit: wu].

    + +
    +
    + +

    ◆ polyAreas

    + +
    +
    + + + + +
    const unsigned char* dtNavMeshCreateParams::polyAreas
    +
    + +

    The user defined area ids assigned to each polygon. [Size: polyCount].

    + +
    +
    + +

    ◆ polyCount

    + +
    +
    + + + + +
    int dtNavMeshCreateParams::polyCount
    +
    + +

    Number of polygons in the mesh. [Limit: >= 1].

    + +
    +
    + +

    ◆ polyFlags

    + +
    +
    + + + + +
    const unsigned short* dtNavMeshCreateParams::polyFlags
    +
    + +

    The user defined flags assigned to each polygon. [Size: polyCount].

    + +
    +
    + +

    ◆ polys

    + +
    +
    + + + + +
    const unsigned short* dtNavMeshCreateParams::polys
    +
    + +

    The polygon data. [Size: polyCount * 2 * nvp].

    + +
    +
    + +

    ◆ tileLayer

    + +
    +
    + + + + +
    int dtNavMeshCreateParams::tileLayer
    +
    + +

    The tile's layer within the layered destination mesh. Limit: >= 0

    + +
    +
    + +

    ◆ tileX

    + +
    +
    + + + + +
    int dtNavMeshCreateParams::tileX
    +
    + +

    The tile's x-grid location within the multi-tile destination mesh. (Along the x-axis.)

    + +
    +
    + +

    ◆ tileY

    + +
    +
    + + + + +
    int dtNavMeshCreateParams::tileY
    +
    + +

    The tile's y-grid location within the multi-tile desitation mesh. (Along the z-axis.)

    + +
    +
    + +

    ◆ userId

    + +
    +
    + + + + +
    unsigned int dtNavMeshCreateParams::userId
    +
    + +

    The user defined id of the tile.

    + +
    +
    + +

    ◆ vertCount

    + +
    +
    + + + + +
    int dtNavMeshCreateParams::vertCount
    +
    + +

    The number vertices in the polygon mesh. [Limit: >= 3].

    + +
    +
    + +

    ◆ verts

    + +
    +
    + + + + +
    const unsigned short* dtNavMeshCreateParams::verts
    +
    + +

    The polygon mesh vertices. [(x, y, z) * vertCount] [Unit: vx].

    + +
    +
    + +

    ◆ walkableClimb

    + +
    +
    + + + + +
    float dtNavMeshCreateParams::walkableClimb
    +
    + +

    The agent maximum traversable ledge. (Up/Down) [Unit: wu].

    + +
    +
    + +

    ◆ walkableHeight

    + +
    +
    + + + + +
    float dtNavMeshCreateParams::walkableHeight
    +
    + +

    The agent height. [Unit: wu].

    + +
    +
    + +

    ◆ walkableRadius

    + +
    +
    + + + + +
    float dtNavMeshCreateParams::walkableRadius
    +
    + +

    The agent radius. [Unit: wu].

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtNavMeshCreateParams.js b/structdtNavMeshCreateParams.js new file mode 100644 index 00000000..e22af2e0 --- /dev/null +++ b/structdtNavMeshCreateParams.js @@ -0,0 +1,34 @@ +var structdtNavMeshCreateParams = +[ + [ "bmax", "structdtNavMeshCreateParams.html#a980d42a666c5a707ffccff68e0b4a2ae", null ], + [ "bmin", "structdtNavMeshCreateParams.html#a31a2596a43445e9219666d44cb5e32ab", null ], + [ "buildBvTree", "structdtNavMeshCreateParams.html#a3c0dab8176f42294bd87c07a4fcce519", null ], + [ "ch", "structdtNavMeshCreateParams.html#aabc87cedcd783bdd16b8b4377fdb8ccf", null ], + [ "cs", "structdtNavMeshCreateParams.html#a2297125898dd39b19c515638d31cacfc", null ], + [ "detailMeshes", "structdtNavMeshCreateParams.html#a1e164d8ad19c20a3cd7a04352738c2e2", null ], + [ "detailTriCount", "structdtNavMeshCreateParams.html#a2516fa677dad99e0859ed46615d64730", null ], + [ "detailTris", "structdtNavMeshCreateParams.html#a4146c9631643c9d42339933a1a160864", null ], + [ "detailVerts", "structdtNavMeshCreateParams.html#abb88208b052c3ef84d60683bf889a88f", null ], + [ "detailVertsCount", "structdtNavMeshCreateParams.html#af3b5721cfa7cc46e508c5756116f7e10", null ], + [ "nvp", "structdtNavMeshCreateParams.html#aa0cacf292dd206fe7da335461c3af65c", null ], + [ "offMeshConAreas", "structdtNavMeshCreateParams.html#a3a3aa99e495e64204ebeb1b1cd831259", null ], + [ "offMeshConCount", "structdtNavMeshCreateParams.html#adf244929dceba81df29f80f8869097c0", null ], + [ "offMeshConDir", "structdtNavMeshCreateParams.html#a4e497665c7f79fb93211503ebc8069be", null ], + [ "offMeshConFlags", "structdtNavMeshCreateParams.html#ab1339cb28aa32fd7fe2410322cbd187b", null ], + [ "offMeshConRad", "structdtNavMeshCreateParams.html#a42c0de18949baa70762b83f6aaff0bf8", null ], + [ "offMeshConUserID", "structdtNavMeshCreateParams.html#a5d4b0e452b998375f06cd6a3103ea042", null ], + [ "offMeshConVerts", "structdtNavMeshCreateParams.html#a9b075503ee6bfbb71e1b206b249e260d", null ], + [ "polyAreas", "structdtNavMeshCreateParams.html#a6968dabec88b5fc3f549f675b7a40eed", null ], + [ "polyCount", "structdtNavMeshCreateParams.html#ade05d506a6505335142d06f18a35cc45", null ], + [ "polyFlags", "structdtNavMeshCreateParams.html#a61193891d27672918981c8e9447baf47", null ], + [ "polys", "structdtNavMeshCreateParams.html#a32129adb089b24ce7f328f780bbf35a7", null ], + [ "tileLayer", "structdtNavMeshCreateParams.html#a537e0bee7d1ddf992dc540d46fa337de", null ], + [ "tileX", "structdtNavMeshCreateParams.html#ac3cd5e08f533bfd9767f70dd02f1cb33", null ], + [ "tileY", "structdtNavMeshCreateParams.html#afc178088f515787cc8dec214559358e9", null ], + [ "userId", "structdtNavMeshCreateParams.html#aeb8e8fb9fed1e6f47292f5016f9eee0a", null ], + [ "vertCount", "structdtNavMeshCreateParams.html#a5cc3d74f4b38715cb1adf01c7d118c3f", null ], + [ "verts", "structdtNavMeshCreateParams.html#a000f1bbb0fbc2dbd9d34e73bcb50ae3f", null ], + [ "walkableClimb", "structdtNavMeshCreateParams.html#a2ccf071ca70fe5566ddd2f214bac7779", null ], + [ "walkableHeight", "structdtNavMeshCreateParams.html#a1d7c8d3ae651371b0ce5acbc19f9221e", null ], + [ "walkableRadius", "structdtNavMeshCreateParams.html#a5c467f6297663e0ed82c49d768bc3b12", null ] +]; \ No newline at end of file diff --git a/structdtNavMeshParams-members.html b/structdtNavMeshParams-members.html new file mode 100644 index 00000000..e309a593 --- /dev/null +++ b/structdtNavMeshParams-members.html @@ -0,0 +1,111 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtNavMeshParams Member List
    +
    +
    + +

    This is the complete list of members for dtNavMeshParams, including all inherited members.

    + + + + + + +
    maxPolysdtNavMeshParams
    maxTilesdtNavMeshParams
    origdtNavMeshParams
    tileHeightdtNavMeshParams
    tileWidthdtNavMeshParams
    +
    + + + + + diff --git a/structdtNavMeshParams.html b/structdtNavMeshParams.html new file mode 100644 index 00000000..a17b4817 --- /dev/null +++ b/structdtNavMeshParams.html @@ -0,0 +1,218 @@ + + + + + + + +Recast Navigation: dtNavMeshParams Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtNavMeshParams Struct Reference
    +
    +
    + +

    Configuration parameters used to define multi-tile navigation meshes. + More...

    + +

    #include <DetourNavMesh.h>

    + + + + + + + + + + + + + + + + + +

    +Public Attributes

    float orig [3]
     The world space origin of the navigation mesh's tile space. [(x, y, z)]. More...
     
    float tileWidth
     The width of each tile. (Along the x-axis.) More...
     
    float tileHeight
     The height of each tile. (Along the z-axis.) More...
     
    int maxTiles
     The maximum number of tiles the navigation mesh can contain. This and maxPolys are used to calculate how many bits are needed to identify tiles and polygons uniquely. More...
     
    int maxPolys
     The maximum number of polygons each tile can contain. This and maxTiles are used to calculate how many bits are needed to identify tiles and polygons uniquely. More...
     
    +

    Description

    +

    Configuration parameters used to define multi-tile navigation meshes.

    +

    The values are used to allocate space during the initialization of a navigation mesh.

    See also
    dtNavMesh::init()
    +

    Member Data Documentation

    + +

    ◆ maxPolys

    + +
    +
    + + + + +
    int dtNavMeshParams::maxPolys
    +
    + +

    The maximum number of polygons each tile can contain. This and maxTiles are used to calculate how many bits are needed to identify tiles and polygons uniquely.

    + +
    +
    + +

    ◆ maxTiles

    + +
    +
    + + + + +
    int dtNavMeshParams::maxTiles
    +
    + +

    The maximum number of tiles the navigation mesh can contain. This and maxPolys are used to calculate how many bits are needed to identify tiles and polygons uniquely.

    + +
    +
    + +

    ◆ orig

    + +
    +
    + + + + +
    float dtNavMeshParams::orig[3]
    +
    + +

    The world space origin of the navigation mesh's tile space. [(x, y, z)].

    + +
    +
    + +

    ◆ tileHeight

    + +
    +
    + + + + +
    float dtNavMeshParams::tileHeight
    +
    + +

    The height of each tile. (Along the z-axis.)

    + +
    +
    + +

    ◆ tileWidth

    + +
    +
    + + + + +
    float dtNavMeshParams::tileWidth
    +
    + +

    The width of each tile. (Along the x-axis.)

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtNavMeshParams.js b/structdtNavMeshParams.js new file mode 100644 index 00000000..3f68087b --- /dev/null +++ b/structdtNavMeshParams.js @@ -0,0 +1,8 @@ +var structdtNavMeshParams = +[ + [ "maxPolys", "structdtNavMeshParams.html#a4f44babd04fff4f8300ecd15d4237375", null ], + [ "maxTiles", "structdtNavMeshParams.html#ad6027d623e81058f0d9b2a2adf803f00", null ], + [ "orig", "structdtNavMeshParams.html#a188d95f6d6dbd714b952578d71e3e115", null ], + [ "tileHeight", "structdtNavMeshParams.html#acca8c83bab38cd8c7da8f10103e2c45a", null ], + [ "tileWidth", "structdtNavMeshParams.html#a53836f7c15d5e483209e01e9e1386e7e", null ] +]; \ No newline at end of file diff --git a/structdtNode-members.html b/structdtNode-members.html new file mode 100644 index 00000000..edcfcdc0 --- /dev/null +++ b/structdtNode-members.html @@ -0,0 +1,113 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtNode Member List
    +
    +
    + +

    This is the complete list of members for dtNode, including all inherited members.

    + + + + + + + + +
    costdtNode
    flagsdtNode
    iddtNode
    pidxdtNode
    posdtNode
    statedtNode
    totaldtNode
    +
    + + + + + diff --git a/structdtNode.html b/structdtNode.html new file mode 100644 index 00000000..2d267872 --- /dev/null +++ b/structdtNode.html @@ -0,0 +1,250 @@ + + + + + + + +Recast Navigation: dtNode Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtNode Struct Reference
    +
    +
    + +

    #include <DetourNode.h>

    + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    float pos [3]
     Position of the node. More...
     
    float cost
     Cost from previous node to current node. More...
     
    float total
     Cost up to the node. More...
     
    unsigned int pidx: DT_NODE_PARENT_BITS
     Index to parent node. More...
     
    unsigned int state: DT_NODE_STATE_BITS
     extra state information. A polyRef can have multiple nodes with different extra info. see DT_MAX_STATES_PER_NODE More...
     
    unsigned int flags: 3
     Node flags. A combination of dtNodeFlags. More...
     
    dtPolyRef id
     Polygon ref the node corresponds to. More...
     
    +

    Member Data Documentation

    + +

    ◆ cost

    + +
    +
    + + + + +
    float dtNode::cost
    +
    + +

    Cost from previous node to current node.

    + +
    +
    + +

    ◆ flags

    + +
    +
    + + + + +
    unsigned int dtNode::flags
    +
    + +

    Node flags. A combination of dtNodeFlags.

    + +
    +
    + +

    ◆ id

    + +
    +
    + + + + +
    dtPolyRef dtNode::id
    +
    + +

    Polygon ref the node corresponds to.

    + +
    +
    + +

    ◆ pidx

    + +
    +
    + + + + +
    unsigned int dtNode::pidx
    +
    + +

    Index to parent node.

    + +
    +
    + +

    ◆ pos

    + +
    +
    + + + + +
    float dtNode::pos[3]
    +
    + +

    Position of the node.

    + +
    +
    + +

    ◆ state

    + +
    +
    + + + + +
    unsigned int dtNode::state
    +
    + +

    extra state information. A polyRef can have multiple nodes with different extra info. see DT_MAX_STATES_PER_NODE

    + +
    +
    + +

    ◆ total

    + +
    +
    + + + + +
    float dtNode::total
    +
    + +

    Cost up to the node.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtNode.js b/structdtNode.js new file mode 100644 index 00000000..0949f761 --- /dev/null +++ b/structdtNode.js @@ -0,0 +1,10 @@ +var structdtNode = +[ + [ "cost", "structdtNode.html#a253defdaa9ea8dbe9ea5991bcfb75b32", null ], + [ "flags", "structdtNode.html#acd018f188ced1765cce2d34ae88c9f75", null ], + [ "id", "structdtNode.html#a0ffc2be17daff1087e7d2920334eeb3d", null ], + [ "pidx", "structdtNode.html#af9b33590451ca71942c251e140724d49", null ], + [ "pos", "structdtNode.html#a2e6577134c6d533b9cc9914c38eb877d", null ], + [ "state", "structdtNode.html#a9ac33b320a8736d5d8f3f109b1b50bf1", null ], + [ "total", "structdtNode.html#aed27a8d0170505d1dba0cd3201bc6536", null ] +]; \ No newline at end of file diff --git a/structdtObstacleAvoidanceParams-members.html b/structdtObstacleAvoidanceParams-members.html new file mode 100644 index 00000000..9f3b6c0a --- /dev/null +++ b/structdtObstacleAvoidanceParams-members.html @@ -0,0 +1,116 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + + diff --git a/structdtObstacleAvoidanceParams.html b/structdtObstacleAvoidanceParams.html new file mode 100644 index 00000000..49cb63f7 --- /dev/null +++ b/structdtObstacleAvoidanceParams.html @@ -0,0 +1,289 @@ + + + + + + + +Recast Navigation: dtObstacleAvoidanceParams Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtObstacleAvoidanceParams Struct Reference
    +
    +
    + +

    #include <DetourObstacleAvoidance.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    float velBias
     
    float weightDesVel
     
    float weightCurVel
     
    float weightSide
     
    float weightToi
     
    float horizTime
     
    unsigned char gridSize
     grid More...
     
    unsigned char adaptiveDivs
     adaptive More...
     
    unsigned char adaptiveRings
     adaptive More...
     
    unsigned char adaptiveDepth
     adaptive More...
     
    +

    Member Data Documentation

    + +

    ◆ adaptiveDepth

    + +
    +
    + + + + +
    unsigned char dtObstacleAvoidanceParams::adaptiveDepth
    +
    + +

    adaptive

    + +
    +
    + +

    ◆ adaptiveDivs

    + +
    +
    + + + + +
    unsigned char dtObstacleAvoidanceParams::adaptiveDivs
    +
    + +

    adaptive

    + +
    +
    + +

    ◆ adaptiveRings

    + +
    +
    + + + + +
    unsigned char dtObstacleAvoidanceParams::adaptiveRings
    +
    + +

    adaptive

    + +
    +
    + +

    ◆ gridSize

    + +
    +
    + + + + +
    unsigned char dtObstacleAvoidanceParams::gridSize
    +
    + +

    grid

    + +
    +
    + +

    ◆ horizTime

    + +
    +
    + + + + +
    float dtObstacleAvoidanceParams::horizTime
    +
    + +
    +
    + +

    ◆ velBias

    + +
    +
    + + + + +
    float dtObstacleAvoidanceParams::velBias
    +
    + +
    +
    + +

    ◆ weightCurVel

    + +
    +
    + + + + +
    float dtObstacleAvoidanceParams::weightCurVel
    +
    + +
    +
    + +

    ◆ weightDesVel

    + +
    +
    + + + + +
    float dtObstacleAvoidanceParams::weightDesVel
    +
    + +
    +
    + +

    ◆ weightSide

    + +
    +
    + + + + +
    float dtObstacleAvoidanceParams::weightSide
    +
    + +
    +
    + +

    ◆ weightToi

    + +
    +
    + + + + +
    float dtObstacleAvoidanceParams::weightToi
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtObstacleAvoidanceParams.js b/structdtObstacleAvoidanceParams.js new file mode 100644 index 00000000..0fdfff9b --- /dev/null +++ b/structdtObstacleAvoidanceParams.js @@ -0,0 +1,13 @@ +var structdtObstacleAvoidanceParams = +[ + [ "adaptiveDepth", "structdtObstacleAvoidanceParams.html#a673b877b64fb47f5bb30f44eae61e5b2", null ], + [ "adaptiveDivs", "structdtObstacleAvoidanceParams.html#a8725d0bb382f789d2dec1d9a0f28187f", null ], + [ "adaptiveRings", "structdtObstacleAvoidanceParams.html#ae463a1999935511e7a0467ccedcaff6d", null ], + [ "gridSize", "structdtObstacleAvoidanceParams.html#a38655cab9f879095f3f0906fdf535f3c", null ], + [ "horizTime", "structdtObstacleAvoidanceParams.html#a20bba3a481f4478eb32fce9a7f61c436", null ], + [ "velBias", "structdtObstacleAvoidanceParams.html#aa0f2c37d4f28a77a68df51efa53f10c8", null ], + [ "weightCurVel", "structdtObstacleAvoidanceParams.html#af7ec3edc6cae60dd41cc8df169b3ae63", null ], + [ "weightDesVel", "structdtObstacleAvoidanceParams.html#a5d409ac4b0ab128139caf586f130d079", null ], + [ "weightSide", "structdtObstacleAvoidanceParams.html#a310499f03a1697ab7c32db9565bf8329", null ], + [ "weightToi", "structdtObstacleAvoidanceParams.html#a7cfb9d5a8b8a3358e95755bd81811c26", null ] +]; \ No newline at end of file diff --git a/structdtObstacleBox-members.html b/structdtObstacleBox-members.html new file mode 100644 index 00000000..35efdb17 --- /dev/null +++ b/structdtObstacleBox-members.html @@ -0,0 +1,108 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtObstacleBox Member List
    +
    +
    + +

    This is the complete list of members for dtObstacleBox, including all inherited members.

    + + + +
    bmaxdtObstacleBox
    bmindtObstacleBox
    +
    + + + + + diff --git a/structdtObstacleBox.html b/structdtObstacleBox.html new file mode 100644 index 00000000..6ef09368 --- /dev/null +++ b/structdtObstacleBox.html @@ -0,0 +1,149 @@ + + + + + + + +Recast Navigation: dtObstacleBox Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtObstacleBox Struct Reference
    +
    +
    + +

    #include <DetourTileCache.h>

    + + + + + + +

    +Public Attributes

    float bmin [3]
     
    float bmax [3]
     
    +

    Member Data Documentation

    + +

    ◆ bmax

    + +
    +
    + + + + +
    float dtObstacleBox::bmax[3]
    +
    + +
    +
    + +

    ◆ bmin

    + +
    +
    + + + + +
    float dtObstacleBox::bmin[3]
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtObstacleBox.js b/structdtObstacleBox.js new file mode 100644 index 00000000..47b16245 --- /dev/null +++ b/structdtObstacleBox.js @@ -0,0 +1,5 @@ +var structdtObstacleBox = +[ + [ "bmax", "structdtObstacleBox.html#a69fba4f382232b19086228feda8e4cf6", null ], + [ "bmin", "structdtObstacleBox.html#ac0fa4403899b528ae6c2c8b7efcdff51", null ] +]; \ No newline at end of file diff --git a/structdtObstacleCircle-members.html b/structdtObstacleCircle-members.html new file mode 100644 index 00000000..4b038d7d --- /dev/null +++ b/structdtObstacleCircle-members.html @@ -0,0 +1,112 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtObstacleCircle Member List
    +
    +
    + +

    This is the complete list of members for dtObstacleCircle, including all inherited members.

    + + + + + + + +
    dpdtObstacleCircle
    dveldtObstacleCircle
    npdtObstacleCircle
    pdtObstacleCircle
    raddtObstacleCircle
    veldtObstacleCircle
    +
    + + + + + diff --git a/structdtObstacleCircle.html b/structdtObstacleCircle.html new file mode 100644 index 00000000..06acfe03 --- /dev/null +++ b/structdtObstacleCircle.html @@ -0,0 +1,228 @@ + + + + + + + +Recast Navigation: dtObstacleCircle Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtObstacleCircle Struct Reference
    +
    +
    + +

    #include <DetourObstacleAvoidance.h>

    + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    float p [3]
     Position of the obstacle. More...
     
    float vel [3]
     Velocity of the obstacle. More...
     
    float dvel [3]
     Velocity of the obstacle. More...
     
    float rad
     Radius of the obstacle. More...
     
    float dp [3]
     
    float np [3]
     Use for side selection during sampling. More...
     
    +

    Member Data Documentation

    + +

    ◆ dp

    + +
    +
    + + + + +
    float dtObstacleCircle::dp[3]
    +
    + +
    +
    + +

    ◆ dvel

    + +
    +
    + + + + +
    float dtObstacleCircle::dvel[3]
    +
    + +

    Velocity of the obstacle.

    + +
    +
    + +

    ◆ np

    + +
    +
    + + + + +
    float dtObstacleCircle::np[3]
    +
    + +

    Use for side selection during sampling.

    + +
    +
    + +

    ◆ p

    + +
    +
    + + + + +
    float dtObstacleCircle::p[3]
    +
    + +

    Position of the obstacle.

    + +
    +
    + +

    ◆ rad

    + +
    +
    + + + + +
    float dtObstacleCircle::rad
    +
    + +

    Radius of the obstacle.

    + +
    +
    + +

    ◆ vel

    + +
    +
    + + + + +
    float dtObstacleCircle::vel[3]
    +
    + +

    Velocity of the obstacle.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtObstacleCircle.js b/structdtObstacleCircle.js new file mode 100644 index 00000000..a93bfbec --- /dev/null +++ b/structdtObstacleCircle.js @@ -0,0 +1,9 @@ +var structdtObstacleCircle = +[ + [ "dp", "structdtObstacleCircle.html#a14169be1b546aeaf06fb19406f523a08", null ], + [ "dvel", "structdtObstacleCircle.html#a4eeaea216bbc81bf865c19d000589195", null ], + [ "np", "structdtObstacleCircle.html#a04d72360e079c808469b6650fa4e3566", null ], + [ "p", "structdtObstacleCircle.html#a28678b711bbd24d62df014d53b091c68", null ], + [ "rad", "structdtObstacleCircle.html#ae666389d33d7316c1e4e303b13871adc", null ], + [ "vel", "structdtObstacleCircle.html#a8b044ab90c679b65dc7c326eda19c1e8", null ] +]; \ No newline at end of file diff --git a/structdtObstacleCylinder-members.html b/structdtObstacleCylinder-members.html new file mode 100644 index 00000000..1058aae4 --- /dev/null +++ b/structdtObstacleCylinder-members.html @@ -0,0 +1,109 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtObstacleCylinder Member List
    +
    +
    + +

    This is the complete list of members for dtObstacleCylinder, including all inherited members.

    + + + + +
    heightdtObstacleCylinder
    posdtObstacleCylinder
    radiusdtObstacleCylinder
    +
    + + + + + diff --git a/structdtObstacleCylinder.html b/structdtObstacleCylinder.html new file mode 100644 index 00000000..ef355090 --- /dev/null +++ b/structdtObstacleCylinder.html @@ -0,0 +1,165 @@ + + + + + + + +Recast Navigation: dtObstacleCylinder Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtObstacleCylinder Struct Reference
    +
    +
    + +

    #include <DetourTileCache.h>

    + + + + + + + + +

    +Public Attributes

    float pos [3]
     
    float radius
     
    float height
     
    +

    Member Data Documentation

    + +

    ◆ height

    + +
    +
    + + + + +
    float dtObstacleCylinder::height
    +
    + +
    +
    + +

    ◆ pos

    + +
    +
    + + + + +
    float dtObstacleCylinder::pos[3]
    +
    + +
    +
    + +

    ◆ radius

    + +
    +
    + + + + +
    float dtObstacleCylinder::radius
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtObstacleCylinder.js b/structdtObstacleCylinder.js new file mode 100644 index 00000000..16888da8 --- /dev/null +++ b/structdtObstacleCylinder.js @@ -0,0 +1,6 @@ +var structdtObstacleCylinder = +[ + [ "height", "structdtObstacleCylinder.html#aae6a08ac6fded03f3df1cc9bbf34bf96", null ], + [ "pos", "structdtObstacleCylinder.html#aae2ca30505f18221ddd9a583382daa0d", null ], + [ "radius", "structdtObstacleCylinder.html#aea6d46db3e78e208d217b8915e1f195a", null ] +]; \ No newline at end of file diff --git a/structdtObstacleOrientedBox-members.html b/structdtObstacleOrientedBox-members.html new file mode 100644 index 00000000..6ce9823e --- /dev/null +++ b/structdtObstacleOrientedBox-members.html @@ -0,0 +1,109 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtObstacleOrientedBox Member List
    +
    +
    + +

    This is the complete list of members for dtObstacleOrientedBox, including all inherited members.

    + + + + +
    centerdtObstacleOrientedBox
    halfExtentsdtObstacleOrientedBox
    rotAuxdtObstacleOrientedBox
    +
    + + + + + diff --git a/structdtObstacleOrientedBox.html b/structdtObstacleOrientedBox.html new file mode 100644 index 00000000..6689ce1b --- /dev/null +++ b/structdtObstacleOrientedBox.html @@ -0,0 +1,165 @@ + + + + + + + +Recast Navigation: dtObstacleOrientedBox Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtObstacleOrientedBox Struct Reference
    +
    +
    + +

    #include <DetourTileCache.h>

    + + + + + + + + +

    +Public Attributes

    float center [3]
     
    float halfExtents [3]
     
    float rotAux [2]
     
    +

    Member Data Documentation

    + +

    ◆ center

    + +
    +
    + + + + +
    float dtObstacleOrientedBox::center[3]
    +
    + +
    +
    + +

    ◆ halfExtents

    + +
    +
    + + + + +
    float dtObstacleOrientedBox::halfExtents[3]
    +
    + +
    +
    + +

    ◆ rotAux

    + +
    +
    + + + + +
    float dtObstacleOrientedBox::rotAux[2]
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtObstacleOrientedBox.js b/structdtObstacleOrientedBox.js new file mode 100644 index 00000000..5974978f --- /dev/null +++ b/structdtObstacleOrientedBox.js @@ -0,0 +1,6 @@ +var structdtObstacleOrientedBox = +[ + [ "center", "structdtObstacleOrientedBox.html#a8cad84afa4b3beb3cfd482309ea9f913", null ], + [ "halfExtents", "structdtObstacleOrientedBox.html#ad13d533793b5329dd33bd85e43ea3623", null ], + [ "rotAux", "structdtObstacleOrientedBox.html#a458dd50502225f6b7070f9cad93c537b", null ] +]; \ No newline at end of file diff --git a/structdtObstacleSegment-members.html b/structdtObstacleSegment-members.html new file mode 100644 index 00000000..ecebeca9 --- /dev/null +++ b/structdtObstacleSegment-members.html @@ -0,0 +1,109 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtObstacleSegment Member List
    +
    +
    + +

    This is the complete list of members for dtObstacleSegment, including all inherited members.

    + + + + +
    pdtObstacleSegment
    qdtObstacleSegment
    touchdtObstacleSegment
    +
    + + + + + diff --git a/structdtObstacleSegment.html b/structdtObstacleSegment.html new file mode 100644 index 00000000..e8e62ebc --- /dev/null +++ b/structdtObstacleSegment.html @@ -0,0 +1,168 @@ + + + + + + + +Recast Navigation: dtObstacleSegment Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtObstacleSegment Struct Reference
    +
    +
    + +

    #include <DetourObstacleAvoidance.h>

    + + + + + + + + + +

    +Public Attributes

    float p [3]
     
    float q [3]
     End points of the obstacle segment. More...
     
    bool touch
     
    +

    Member Data Documentation

    + +

    ◆ p

    + +
    +
    + + + + +
    float dtObstacleSegment::p[3]
    +
    + +
    +
    + +

    ◆ q

    + +
    +
    + + + + +
    float dtObstacleSegment::q[3]
    +
    + +

    End points of the obstacle segment.

    + +
    +
    + +

    ◆ touch

    + +
    +
    + + + + +
    bool dtObstacleSegment::touch
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtObstacleSegment.js b/structdtObstacleSegment.js new file mode 100644 index 00000000..34a00846 --- /dev/null +++ b/structdtObstacleSegment.js @@ -0,0 +1,6 @@ +var structdtObstacleSegment = +[ + [ "p", "structdtObstacleSegment.html#aac975238e1614b0652643f973f32dc78", null ], + [ "q", "structdtObstacleSegment.html#a3282730543d772664692b32c15576ee9", null ], + [ "touch", "structdtObstacleSegment.html#a26ef06bc8db4ec6ceac546dd4d34da83", null ] +]; \ No newline at end of file diff --git a/structdtOffMeshConnection-members.html b/structdtOffMeshConnection-members.html new file mode 100644 index 00000000..34fb4e80 --- /dev/null +++ b/structdtOffMeshConnection-members.html @@ -0,0 +1,112 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtOffMeshConnection Member List
    +
    + +
    + + + + + diff --git a/structdtOffMeshConnection.html b/structdtOffMeshConnection.html new file mode 100644 index 00000000..bf1550c6 --- /dev/null +++ b/structdtOffMeshConnection.html @@ -0,0 +1,240 @@ + + + + + + + +Recast Navigation: dtOffMeshConnection Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtOffMeshConnection Struct Reference
    +
    +
    + +

    Defines an navigation mesh off-mesh connection within a dtMeshTile object. + More...

    + +

    #include <DetourNavMesh.h>

    + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    float pos [6]
     The endpoints of the connection. [(ax, ay, az, bx, by, bz)]. More...
     
    float rad
     The radius of the endpoints. [Limit: >= 0]. More...
     
    unsigned short poly
     The polygon reference of the connection within the tile. More...
     
    unsigned char flags
     Link flags. More...
     
    unsigned char side
     End point side. More...
     
    unsigned int userId
     The id of the offmesh connection. (User assigned when the navigation mesh is built.) More...
     
    +

    Description

    +

    Defines an navigation mesh off-mesh connection within a dtMeshTile object.

    +

    An off-mesh connection is a user defined traversable connection made up to two vertices.

    +

    Member Data Documentation

    + +

    ◆ flags

    + +
    +
    + + + + +
    unsigned char dtOffMeshConnection::flags
    +
    + +

    Link flags.

    +
    Note
    These are not the connection's user defined flags. Those are assigned via the connection's dtPoly definition. These are link flags used for internal purposes.
    + +
    +
    + +

    ◆ poly

    + +
    +
    + + + + +
    unsigned short dtOffMeshConnection::poly
    +
    + +

    The polygon reference of the connection within the tile.

    + +
    +
    + +

    ◆ pos

    + +
    +
    + + + + +
    float dtOffMeshConnection::pos[6]
    +
    + +

    The endpoints of the connection. [(ax, ay, az, bx, by, bz)].

    +
    +

    For a properly built navigation mesh, vertex A will always be within the bounds of the mesh. Vertex B is not required to be within the bounds of the mesh.

    + +
    +
    + +

    ◆ rad

    + +
    +
    + + + + +
    float dtOffMeshConnection::rad
    +
    + +

    The radius of the endpoints. [Limit: >= 0].

    + +
    +
    + +

    ◆ side

    + +
    +
    + + + + +
    unsigned char dtOffMeshConnection::side
    +
    + +

    End point side.

    + +
    +
    + +

    ◆ userId

    + +
    +
    + + + + +
    unsigned int dtOffMeshConnection::userId
    +
    + +

    The id of the offmesh connection. (User assigned when the navigation mesh is built.)

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtOffMeshConnection.js b/structdtOffMeshConnection.js new file mode 100644 index 00000000..3e55152a --- /dev/null +++ b/structdtOffMeshConnection.js @@ -0,0 +1,9 @@ +var structdtOffMeshConnection = +[ + [ "flags", "structdtOffMeshConnection.html#adf581af16754d8bbed1479cdf91dd82d", null ], + [ "poly", "structdtOffMeshConnection.html#a4b6b7097d8fd55a5e7f7173a40d01325", null ], + [ "pos", "structdtOffMeshConnection.html#a1ad6f470aa15ca67e1df62d692a4efe4", null ], + [ "rad", "structdtOffMeshConnection.html#af5ea87d3e8c0d6c1bd5afeac3f954fa1", null ], + [ "side", "structdtOffMeshConnection.html#a8c193e7df9998a218be48a39b2be1488", null ], + [ "userId", "structdtOffMeshConnection.html#a157eae33ff9cb301e25f822a9d0b74dc", null ] +]; \ No newline at end of file diff --git a/structdtPoly-members.html b/structdtPoly-members.html new file mode 100644 index 00000000..ec5603f5 --- /dev/null +++ b/structdtPoly-members.html @@ -0,0 +1,116 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtPoly Member List
    +
    +
    + +

    This is the complete list of members for dtPoly, including all inherited members.

    + + + + + + + + + + + +
    areaAndtypedtPoly
    firstLinkdtPoly
    flagsdtPoly
    getArea() constdtPolyinline
    getType() constdtPolyinline
    neisdtPoly
    setArea(unsigned char a)dtPolyinline
    setType(unsigned char t)dtPolyinline
    vertCountdtPoly
    vertsdtPoly
    +
    + + + + + diff --git a/structdtPoly.html b/structdtPoly.html new file mode 100644 index 00000000..52f26d2e --- /dev/null +++ b/structdtPoly.html @@ -0,0 +1,375 @@ + + + + + + + +Recast Navigation: dtPoly Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    Defines a polygon within a dtMeshTile object. + More...

    + +

    #include <DetourNavMesh.h>

    + + + + + + + + + + + + + + +

    +Public Member Functions

    void setArea (unsigned char a)
     Sets the user defined area id. [Limit: < DT_MAX_AREAS]. More...
     
    void setType (unsigned char t)
     Sets the polygon type. (See: dtPolyTypes.) More...
     
    unsigned char getArea () const
     Gets the user defined area id. More...
     
    unsigned char getType () const
     Gets the polygon type. (See: dtPolyTypes) More...
     
    + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    unsigned int firstLink
     Index to first link in linked list. (Or DT_NULL_LINK if there is no link.) More...
     
    unsigned short verts [DT_VERTS_PER_POLYGON]
     The indices of the polygon's vertices. More...
     
    unsigned short neis [DT_VERTS_PER_POLYGON]
     Packed data representing neighbor polygons references and flags for each edge. More...
     
    unsigned short flags
     The user defined polygon flags. More...
     
    unsigned char vertCount
     The number of vertices in the polygon. More...
     
    unsigned char areaAndtype
     The bit packed area id and polygon type. More...
     
    +

    Description

    +

    Defines a polygon within a dtMeshTile object.

    +

    Member Function Documentation

    + +

    ◆ getArea()

    + +
    +
    + + + + + +
    + + + + + + + +
    unsigned char dtPoly::getArea () const
    +
    +inline
    +
    + +

    Gets the user defined area id.

    + +
    +
    + +

    ◆ getType()

    + +
    +
    + + + + + +
    + + + + + + + +
    unsigned char dtPoly::getType () const
    +
    +inline
    +
    + +

    Gets the polygon type. (See: dtPolyTypes)

    + +
    +
    + +

    ◆ setArea()

    + +
    +
    + + + + + +
    + + + + + + + + +
    void dtPoly::setArea (unsigned char a)
    +
    +inline
    +
    + +

    Sets the user defined area id. [Limit: < DT_MAX_AREAS].

    + +
    +
    + +

    ◆ setType()

    + +
    +
    + + + + + +
    + + + + + + + + +
    void dtPoly::setType (unsigned char t)
    +
    +inline
    +
    + +

    Sets the polygon type. (See: dtPolyTypes.)

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ areaAndtype

    + +
    +
    + + + + +
    unsigned char dtPoly::areaAndtype
    +
    + +

    The bit packed area id and polygon type.

    +
    Note
    Use the structure's set and get methods to acess this value.
    + +
    +
    + +

    ◆ firstLink

    + +
    +
    + + + + +
    unsigned int dtPoly::firstLink
    +
    + +

    Index to first link in linked list. (Or DT_NULL_LINK if there is no link.)

    + +
    +
    + +

    ◆ flags

    + +
    +
    + + + + +
    unsigned short dtPoly::flags
    +
    + +

    The user defined polygon flags.

    + +
    +
    + +

    ◆ neis

    + +
    +
    + + + + +
    unsigned short dtPoly::neis[DT_VERTS_PER_POLYGON]
    +
    + +

    Packed data representing neighbor polygons references and flags for each edge.

    +
    +

    Each entry represents data for the edge starting at the vertex of the same index. E.g. The entry at index n represents the edge data for vertex[n] to vertex[n+1].

    +

    A value of zero indicates the edge has no polygon connection. (It makes up the border of the navigation mesh.)

    +

    The information can be extracted as follows:

    neighborRef = neis[n] & 0xff; // Get the neighbor polygon reference.
    +
    +
    if (neis[n] & #DT_EX_LINK)
    +
    {
    +
    // The edge is an external (portal) edge.
    +
    }
    +
    unsigned short neis[DT_VERTS_PER_POLYGON]
    Packed data representing neighbor polygons references and flags for each edge.
    Definition: DetourNavMesh.h:165
    +
    +
    +
    + +

    ◆ vertCount

    + +
    +
    + + + + +
    unsigned char dtPoly::vertCount
    +
    + +

    The number of vertices in the polygon.

    + +
    +
    + +

    ◆ verts

    + +
    +
    + + + + +
    unsigned short dtPoly::verts[DT_VERTS_PER_POLYGON]
    +
    + +

    The indices of the polygon's vertices.

    +

    The actual vertices are located in dtMeshTile::verts.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtPoly.js b/structdtPoly.js new file mode 100644 index 00000000..03843e79 --- /dev/null +++ b/structdtPoly.js @@ -0,0 +1,13 @@ +var structdtPoly = +[ + [ "getArea", "structdtPoly.html#ab5e97720847977aa7a4caf8c75e73792", null ], + [ "getType", "structdtPoly.html#a12a7d5dcd2f1d7164531be4ecb5f35a4", null ], + [ "setArea", "structdtPoly.html#a84f05dcf69d70b26323b65a0c1c66954", null ], + [ "setType", "structdtPoly.html#ac625b3f1acf8df354a50464e210300dc", null ], + [ "areaAndtype", "structdtPoly.html#af3caa090f5d4776766bf56f82c27a899", null ], + [ "firstLink", "structdtPoly.html#a671fd6893087936e80fcd17f7f666c0e", null ], + [ "flags", "structdtPoly.html#a47312e2c5dfd1ff1a729580c339f0d7d", null ], + [ "neis", "structdtPoly.html#ac4f5aa32df32aa5b1385f76f697376af", null ], + [ "vertCount", "structdtPoly.html#af940c431464c022f844e61130f83d9c2", null ], + [ "verts", "structdtPoly.html#acff94eb19526d33ef3c966b583d1d73f", null ] +]; \ No newline at end of file diff --git a/structdtPolyDetail-members.html b/structdtPolyDetail-members.html new file mode 100644 index 00000000..75134ec4 --- /dev/null +++ b/structdtPolyDetail-members.html @@ -0,0 +1,110 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtPolyDetail Member List
    +
    +
    + +

    This is the complete list of members for dtPolyDetail, including all inherited members.

    + + + + + +
    triBasedtPolyDetail
    triCountdtPolyDetail
    vertBasedtPolyDetail
    vertCountdtPolyDetail
    +
    + + + + + diff --git a/structdtPolyDetail.html b/structdtPolyDetail.html new file mode 100644 index 00000000..c940c257 --- /dev/null +++ b/structdtPolyDetail.html @@ -0,0 +1,198 @@ + + + + + + + +Recast Navigation: dtPolyDetail Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtPolyDetail Struct Reference
    +
    +
    + +

    Defines the location of detail sub-mesh data within a dtMeshTile. + More...

    + +

    #include <DetourNavMesh.h>

    + + + + + + + + + + + + + + +

    +Public Attributes

    unsigned int vertBase
     The offset of the vertices in the dtMeshTile::detailVerts array. More...
     
    unsigned int triBase
     The offset of the triangles in the dtMeshTile::detailTris array. More...
     
    unsigned char vertCount
     The number of vertices in the sub-mesh. More...
     
    unsigned char triCount
     The number of triangles in the sub-mesh. More...
     
    +

    Description

    +

    Defines the location of detail sub-mesh data within a dtMeshTile.

    +

    Member Data Documentation

    + +

    ◆ triBase

    + +
    +
    + + + + +
    unsigned int dtPolyDetail::triBase
    +
    + +

    The offset of the triangles in the dtMeshTile::detailTris array.

    + +
    +
    + +

    ◆ triCount

    + +
    +
    + + + + +
    unsigned char dtPolyDetail::triCount
    +
    + +

    The number of triangles in the sub-mesh.

    + +
    +
    + +

    ◆ vertBase

    + +
    +
    + + + + +
    unsigned int dtPolyDetail::vertBase
    +
    + +

    The offset of the vertices in the dtMeshTile::detailVerts array.

    + +
    +
    + +

    ◆ vertCount

    + +
    +
    + + + + +
    unsigned char dtPolyDetail::vertCount
    +
    + +

    The number of vertices in the sub-mesh.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtPolyDetail.js b/structdtPolyDetail.js new file mode 100644 index 00000000..5f4c7b10 --- /dev/null +++ b/structdtPolyDetail.js @@ -0,0 +1,7 @@ +var structdtPolyDetail = +[ + [ "triBase", "structdtPolyDetail.html#aaccd8de89ab39454558ce4bfe6230c98", null ], + [ "triCount", "structdtPolyDetail.html#aef53174e1c31d4304bc07da5d677528c", null ], + [ "vertBase", "structdtPolyDetail.html#ae3f408c9c8974ccd058a98f781c58801", null ], + [ "vertCount", "structdtPolyDetail.html#a2b1473cb6f856126db05a2955fbb2a61", null ] +]; \ No newline at end of file diff --git a/structdtPolyState-members.html b/structdtPolyState-members.html new file mode 100644 index 00000000..a81d15e0 --- /dev/null +++ b/structdtPolyState-members.html @@ -0,0 +1,108 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtPolyState Member List
    +
    +
    + +

    This is the complete list of members for dtPolyState, including all inherited members.

    + + + +
    areadtPolyState
    flagsdtPolyState
    +
    + + + + + diff --git a/structdtPolyState.html b/structdtPolyState.html new file mode 100644 index 00000000..46a5034b --- /dev/null +++ b/structdtPolyState.html @@ -0,0 +1,147 @@ + + + + + + + +Recast Navigation: dtPolyState Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtPolyState Struct Reference
    +
    +
    + + + + + + +

    +Public Attributes

    unsigned short flags
     
    unsigned char area
     
    +

    Member Data Documentation

    + +

    ◆ area

    + +
    +
    + + + + +
    unsigned char dtPolyState::area
    +
    + +
    +
    + +

    ◆ flags

    + +
    +
    + + + + +
    unsigned short dtPolyState::flags
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtPolyState.js b/structdtPolyState.js new file mode 100644 index 00000000..dac06a3f --- /dev/null +++ b/structdtPolyState.js @@ -0,0 +1,5 @@ +var structdtPolyState = +[ + [ "area", "structdtPolyState.html#afd684e7c95d1048ace6dc198457b7c69", null ], + [ "flags", "structdtPolyState.html#a8e3a8a1c15338bbe761ef4d9ca2b4949", null ] +]; \ No newline at end of file diff --git a/structdtRaycastHit-members.html b/structdtRaycastHit-members.html new file mode 100644 index 00000000..db062c93 --- /dev/null +++ b/structdtRaycastHit-members.html @@ -0,0 +1,113 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtRaycastHit Member List
    +
    + +
    + + + + + diff --git a/structdtRaycastHit.html b/structdtRaycastHit.html new file mode 100644 index 00000000..401068a5 --- /dev/null +++ b/structdtRaycastHit.html @@ -0,0 +1,255 @@ + + + + + + + +Recast Navigation: dtRaycastHit Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtRaycastHit Struct Reference
    +
    +
    + +

    Provides information about raycast hit filled by dtNavMeshQuery::raycast. + More...

    + +

    #include <DetourNavMeshQuery.h>

    + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    float t
     The hit parameter. (FLT_MAX if no wall hit.) More...
     
    float hitNormal [3]
     hitNormal The normal of the nearest wall hit. [(x, y, z)] More...
     
    int hitEdgeIndex
     The index of the edge on the final polygon where the wall was hit. More...
     
    dtPolyRefpath
     Pointer to an array of reference ids of the visited polygons. [opt]. More...
     
    int pathCount
     The number of visited polygons. [opt]. More...
     
    int maxPath
     The maximum number of polygons the path array can hold. More...
     
    float pathCost
     The cost of the path until hit. More...
     
    +

    Description

    +

    Provides information about raycast hit filled by dtNavMeshQuery::raycast.

    +

    Member Data Documentation

    + +

    ◆ hitEdgeIndex

    + +
    +
    + + + + +
    int dtRaycastHit::hitEdgeIndex
    +
    + +

    The index of the edge on the final polygon where the wall was hit.

    + +
    +
    + +

    ◆ hitNormal

    + +
    +
    + + + + +
    float dtRaycastHit::hitNormal[3]
    +
    + +

    hitNormal The normal of the nearest wall hit. [(x, y, z)]

    + +
    +
    + +

    ◆ maxPath

    + +
    +
    + + + + +
    int dtRaycastHit::maxPath
    +
    + +

    The maximum number of polygons the path array can hold.

    + +
    +
    + +

    ◆ path

    + +
    +
    + + + + +
    dtPolyRef* dtRaycastHit::path
    +
    + +

    Pointer to an array of reference ids of the visited polygons. [opt].

    + +
    +
    + +

    ◆ pathCost

    + +
    +
    + + + + +
    float dtRaycastHit::pathCost
    +
    + +

    The cost of the path until hit.

    + +
    +
    + +

    ◆ pathCount

    + +
    +
    + + + + +
    int dtRaycastHit::pathCount
    +
    + +

    The number of visited polygons. [opt].

    + +
    +
    + +

    ◆ t

    + +
    +
    + + + + +
    float dtRaycastHit::t
    +
    + +

    The hit parameter. (FLT_MAX if no wall hit.)

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtRaycastHit.js b/structdtRaycastHit.js new file mode 100644 index 00000000..d6826640 --- /dev/null +++ b/structdtRaycastHit.js @@ -0,0 +1,10 @@ +var structdtRaycastHit = +[ + [ "hitEdgeIndex", "structdtRaycastHit.html#a27f1d665cde84889338ef4634c017c39", null ], + [ "hitNormal", "structdtRaycastHit.html#a35b5d410f632591db3f0a7d7f5c235b8", null ], + [ "maxPath", "structdtRaycastHit.html#a62b75cb350d9ace5e47887c7c1add9b3", null ], + [ "path", "structdtRaycastHit.html#afaec74eedaf7e62a4fcc9b2bc2ce7006", null ], + [ "pathCost", "structdtRaycastHit.html#aa545333016e4844923a022263ab6a5fa", null ], + [ "pathCount", "structdtRaycastHit.html#ae1b9b3893e653ce5a1ecf8d8415f5a93", null ], + [ "t", "structdtRaycastHit.html#a890c2216ded62ca0932cd6ee27cc7ea9", null ] +]; \ No newline at end of file diff --git a/structdtSegInterval-members.html b/structdtSegInterval-members.html new file mode 100644 index 00000000..a5f8d893 --- /dev/null +++ b/structdtSegInterval-members.html @@ -0,0 +1,109 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtSegInterval Member List
    +
    +
    + +

    This is the complete list of members for dtSegInterval, including all inherited members.

    + + + + +
    refdtSegInterval
    tmaxdtSegInterval
    tmindtSegInterval
    +
    + + + + + diff --git a/structdtSegInterval.html b/structdtSegInterval.html new file mode 100644 index 00000000..b9ad7937 --- /dev/null +++ b/structdtSegInterval.html @@ -0,0 +1,163 @@ + + + + + + + +Recast Navigation: dtSegInterval Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtSegInterval Struct Reference
    +
    +
    + + + + + + + + +

    +Public Attributes

    dtPolyRef ref
     
    short tmin
     
    short tmax
     
    +

    Member Data Documentation

    + +

    ◆ ref

    + +
    +
    + + + + +
    dtPolyRef dtSegInterval::ref
    +
    + +
    +
    + +

    ◆ tmax

    + +
    +
    + + + + +
    short dtSegInterval::tmax
    +
    + +
    +
    + +

    ◆ tmin

    + +
    +
    + + + + +
    short dtSegInterval::tmin
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtSegInterval.js b/structdtSegInterval.js new file mode 100644 index 00000000..1f3213ca --- /dev/null +++ b/structdtSegInterval.js @@ -0,0 +1,6 @@ +var structdtSegInterval = +[ + [ "ref", "structdtSegInterval.html#adeaef89322156ccfb6ecd7fc5e259b70", null ], + [ "tmax", "structdtSegInterval.html#a4463687b08087da04f076ec79beb5c03", null ], + [ "tmin", "structdtSegInterval.html#a93cb86ab8a97836ee145bb03bab7ed89", null ] +]; \ No newline at end of file diff --git a/structdtTempContour-members.html b/structdtTempContour-members.html new file mode 100644 index 00000000..6ec6d804 --- /dev/null +++ b/structdtTempContour-members.html @@ -0,0 +1,113 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtTempContour Member List
    +
    +
    + +

    This is the complete list of members for dtTempContour, including all inherited members.

    + + + + + + + + +
    cpolydtTempContour
    cvertsdtTempContour
    dtTempContour(unsigned char *vbuf, const int nvbuf, unsigned short *pbuf, const int npbuf)dtTempContourinline
    npolydtTempContour
    nvertsdtTempContour
    polydtTempContour
    vertsdtTempContour
    +
    + + + + + diff --git a/structdtTempContour.html b/structdtTempContour.html new file mode 100644 index 00000000..a1d709d5 --- /dev/null +++ b/structdtTempContour.html @@ -0,0 +1,266 @@ + + + + + + + +Recast Navigation: dtTempContour Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtTempContour Struct Reference
    +
    +
    + + + + +

    +Public Member Functions

     dtTempContour (unsigned char *vbuf, const int nvbuf, unsigned short *pbuf, const int npbuf)
     
    + + + + + + + + + + + + + +

    +Public Attributes

    unsigned char * verts
     
    int nverts
     
    int cverts
     
    unsigned short * poly
     
    int npoly
     
    int cpoly
     
    +

    Constructor & Destructor Documentation

    + +

    ◆ dtTempContour()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    dtTempContour::dtTempContour (unsigned char * vbuf,
    const int nvbuf,
    unsigned short * pbuf,
    const int npbuf 
    )
    +
    +inline
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ cpoly

    + +
    +
    + + + + +
    int dtTempContour::cpoly
    +
    + +
    +
    + +

    ◆ cverts

    + +
    +
    + + + + +
    int dtTempContour::cverts
    +
    + +
    +
    + +

    ◆ npoly

    + +
    +
    + + + + +
    int dtTempContour::npoly
    +
    + +
    +
    + +

    ◆ nverts

    + +
    +
    + + + + +
    int dtTempContour::nverts
    +
    + +
    +
    + +

    ◆ poly

    + +
    +
    + + + + +
    unsigned short* dtTempContour::poly
    +
    + +
    +
    + +

    ◆ verts

    + +
    +
    + + + + +
    unsigned char* dtTempContour::verts
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtTempContour.js b/structdtTempContour.js new file mode 100644 index 00000000..da1b8e80 --- /dev/null +++ b/structdtTempContour.js @@ -0,0 +1,10 @@ +var structdtTempContour = +[ + [ "dtTempContour", "structdtTempContour.html#a7bc7026b48e8a23448e6fe5363c7e20f", null ], + [ "cpoly", "structdtTempContour.html#a0d3c890707733eb165076c44202b9058", null ], + [ "cverts", "structdtTempContour.html#af7144f4b212231221298f01f47e461d3", null ], + [ "npoly", "structdtTempContour.html#a6dd3c29881b08d88182c1a6117132879", null ], + [ "nverts", "structdtTempContour.html#ab01c00d6a0d27fa0fb88743030e7a303", null ], + [ "poly", "structdtTempContour.html#a3292c9c8f9d16f471d8c0c9d702ce062", null ], + [ "verts", "structdtTempContour.html#ac8a3ec52b5e3667c91bfe38ec94d6699", null ] +]; \ No newline at end of file diff --git a/structdtTileCacheAlloc-members.html b/structdtTileCacheAlloc-members.html new file mode 100644 index 00000000..c130192a --- /dev/null +++ b/structdtTileCacheAlloc-members.html @@ -0,0 +1,110 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtTileCacheAlloc Member List
    +
    +
    + +

    This is the complete list of members for dtTileCacheAlloc, including all inherited members.

    + + + + + +
    alloc(const size_t size)dtTileCacheAllocinlinevirtual
    free(void *ptr)dtTileCacheAllocinlinevirtual
    reset()dtTileCacheAllocinlinevirtual
    ~dtTileCacheAlloc()dtTileCacheAllocvirtual
    +
    + + + + + diff --git a/structdtTileCacheAlloc.html b/structdtTileCacheAlloc.html new file mode 100644 index 00000000..6ec302b3 --- /dev/null +++ b/structdtTileCacheAlloc.html @@ -0,0 +1,244 @@ + + + + + + + +Recast Navigation: dtTileCacheAlloc Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtTileCacheAlloc Struct Reference
    +
    +
    + +

    #include <DetourTileCacheBuilder.h>

    +
    +Inheritance diagram for dtTileCacheAlloc:
    +
    +
    + + +LinearAllocator + +
    + + + + + + + + + + +

    +Public Member Functions

    virtual ~dtTileCacheAlloc ()
     
    virtual void reset ()
     
    virtual void * alloc (const size_t size)
     
    virtual void free (void *ptr)
     
    +

    Constructor & Destructor Documentation

    + +

    ◆ ~dtTileCacheAlloc()

    + +
    +
    + + + + + +
    + + + + + + + +
    dtTileCacheAlloc::~dtTileCacheAlloc ()
    +
    +virtual
    +
    + +
    +
    +

    Member Function Documentation

    + +

    ◆ alloc()

    + +
    +
    + + + + + +
    + + + + + + + + +
    virtual void* dtTileCacheAlloc::alloc (const size_t size)
    +
    +inlinevirtual
    +
    + +

    Reimplemented in LinearAllocator.

    + +
    +
    + +

    ◆ free()

    + +
    +
    + + + + + +
    + + + + + + + + +
    virtual void dtTileCacheAlloc::free (void * ptr)
    +
    +inlinevirtual
    +
    + +

    Reimplemented in LinearAllocator.

    + +
    +
    + +

    ◆ reset()

    + +
    +
    + + + + + +
    + + + + + + + +
    virtual void dtTileCacheAlloc::reset ()
    +
    +inlinevirtual
    +
    + +

    Reimplemented in LinearAllocator.

    + +
    +
    +
    The documentation for this struct was generated from the following files: +
    +
    + + + + + diff --git a/structdtTileCacheAlloc.js b/structdtTileCacheAlloc.js new file mode 100644 index 00000000..2a32e18d --- /dev/null +++ b/structdtTileCacheAlloc.js @@ -0,0 +1,7 @@ +var structdtTileCacheAlloc = +[ + [ "~dtTileCacheAlloc", "structdtTileCacheAlloc.html#a8507c465095ee62fed991ba5a3781c0c", null ], + [ "alloc", "structdtTileCacheAlloc.html#a39388622f5af120cf1d32d5794da940b", null ], + [ "free", "structdtTileCacheAlloc.html#aeb9afcb80b4e923d173b2c1706c56130", null ], + [ "reset", "structdtTileCacheAlloc.html#a04f61863b2c6a81e1fbfd96dd519a733", null ] +]; \ No newline at end of file diff --git a/structdtTileCacheAlloc.png b/structdtTileCacheAlloc.png new file mode 100644 index 00000000..72eb86c6 Binary files /dev/null and b/structdtTileCacheAlloc.png differ diff --git a/structdtTileCacheCompressor-members.html b/structdtTileCacheCompressor-members.html new file mode 100644 index 00000000..f06c41dc --- /dev/null +++ b/structdtTileCacheCompressor-members.html @@ -0,0 +1,110 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtTileCacheCompressor Member List
    +
    +
    + +

    This is the complete list of members for dtTileCacheCompressor, including all inherited members.

    + + + + + +
    compress(const unsigned char *buffer, const int bufferSize, unsigned char *compressed, const int maxCompressedSize, int *compressedSize)=0dtTileCacheCompressorpure virtual
    decompress(const unsigned char *compressed, const int compressedSize, unsigned char *buffer, const int maxBufferSize, int *bufferSize)=0dtTileCacheCompressorpure virtual
    maxCompressedSize(const int bufferSize)=0dtTileCacheCompressorpure virtual
    ~dtTileCacheCompressor()dtTileCacheCompressorvirtual
    +
    + + + + + diff --git a/structdtTileCacheCompressor.html b/structdtTileCacheCompressor.html new file mode 100644 index 00000000..f89486a5 --- /dev/null +++ b/structdtTileCacheCompressor.html @@ -0,0 +1,301 @@ + + + + + + + +Recast Navigation: dtTileCacheCompressor Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtTileCacheCompressor Struct Referenceabstract
    +
    +
    + +

    #include <DetourTileCacheBuilder.h>

    +
    +Inheritance diagram for dtTileCacheCompressor:
    +
    +
    + + +FastLZCompressor + +
    + + + + + + + + + + +

    +Public Member Functions

    virtual ~dtTileCacheCompressor ()
     
    virtual int maxCompressedSize (const int bufferSize)=0
     
    virtual dtStatus compress (const unsigned char *buffer, const int bufferSize, unsigned char *compressed, const int maxCompressedSize, int *compressedSize)=0
     
    virtual dtStatus decompress (const unsigned char *compressed, const int compressedSize, unsigned char *buffer, const int maxBufferSize, int *bufferSize)=0
     
    +

    Constructor & Destructor Documentation

    + +

    ◆ ~dtTileCacheCompressor()

    + +
    +
    + + + + + +
    + + + + + + + +
    dtTileCacheCompressor::~dtTileCacheCompressor ()
    +
    +virtual
    +
    + +
    +
    +

    Member Function Documentation

    + +

    ◆ compress()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    virtual dtStatus dtTileCacheCompressor::compress (const unsigned char * buffer,
    const int bufferSize,
    unsigned char * compressed,
    const int maxCompressedSize,
    int * compressedSize 
    )
    +
    +pure virtual
    +
    + +

    Implemented in FastLZCompressor.

    + +
    +
    + +

    ◆ decompress()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    virtual dtStatus dtTileCacheCompressor::decompress (const unsigned char * compressed,
    const int compressedSize,
    unsigned char * buffer,
    const int maxBufferSize,
    int * bufferSize 
    )
    +
    +pure virtual
    +
    + +

    Implemented in FastLZCompressor.

    + +
    +
    + +

    ◆ maxCompressedSize()

    + +
    +
    + + + + + +
    + + + + + + + + +
    virtual int dtTileCacheCompressor::maxCompressedSize (const int bufferSize)
    +
    +pure virtual
    +
    + +

    Implemented in FastLZCompressor.

    + +
    +
    +
    The documentation for this struct was generated from the following files: +
    +
    + + + + + diff --git a/structdtTileCacheCompressor.js b/structdtTileCacheCompressor.js new file mode 100644 index 00000000..1fe21cf0 --- /dev/null +++ b/structdtTileCacheCompressor.js @@ -0,0 +1,7 @@ +var structdtTileCacheCompressor = +[ + [ "~dtTileCacheCompressor", "structdtTileCacheCompressor.html#a6db6bd0ea893262196f91d1c5368e655", null ], + [ "compress", "structdtTileCacheCompressor.html#ad117fb147426232344a3a1d83b572182", null ], + [ "decompress", "structdtTileCacheCompressor.html#a16d46b3a4c03c9d5b89998c80c247ab6", null ], + [ "maxCompressedSize", "structdtTileCacheCompressor.html#aaa7fcfc5889a5f3fc5fbf689bbbc1494", null ] +]; \ No newline at end of file diff --git a/structdtTileCacheCompressor.png b/structdtTileCacheCompressor.png new file mode 100644 index 00000000..ea5c6b75 Binary files /dev/null and b/structdtTileCacheCompressor.png differ diff --git a/structdtTileCacheContour-members.html b/structdtTileCacheContour-members.html new file mode 100644 index 00000000..ef417ffd --- /dev/null +++ b/structdtTileCacheContour-members.html @@ -0,0 +1,110 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtTileCacheContour Member List
    +
    +
    + +

    This is the complete list of members for dtTileCacheContour, including all inherited members.

    + + + + + +
    areadtTileCacheContour
    nvertsdtTileCacheContour
    regdtTileCacheContour
    vertsdtTileCacheContour
    +
    + + + + + diff --git a/structdtTileCacheContour.html b/structdtTileCacheContour.html new file mode 100644 index 00000000..2779b6aa --- /dev/null +++ b/structdtTileCacheContour.html @@ -0,0 +1,181 @@ + + + + + + + +Recast Navigation: dtTileCacheContour Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtTileCacheContour Struct Reference
    +
    +
    + +

    #include <DetourTileCacheBuilder.h>

    + + + + + + + + + + +

    +Public Attributes

    int nverts
     
    unsigned char * verts
     
    unsigned char reg
     
    unsigned char area
     
    +

    Member Data Documentation

    + +

    ◆ area

    + +
    +
    + + + + +
    unsigned char dtTileCacheContour::area
    +
    + +
    +
    + +

    ◆ nverts

    + +
    +
    + + + + +
    int dtTileCacheContour::nverts
    +
    + +
    +
    + +

    ◆ reg

    + +
    +
    + + + + +
    unsigned char dtTileCacheContour::reg
    +
    + +
    +
    + +

    ◆ verts

    + +
    +
    + + + + +
    unsigned char* dtTileCacheContour::verts
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtTileCacheContour.js b/structdtTileCacheContour.js new file mode 100644 index 00000000..f36bc6a9 --- /dev/null +++ b/structdtTileCacheContour.js @@ -0,0 +1,7 @@ +var structdtTileCacheContour = +[ + [ "area", "structdtTileCacheContour.html#a3ab1d658278d4dcc482dcb7f17be6b3b", null ], + [ "nverts", "structdtTileCacheContour.html#a2bb153bf7d141e4ab209a27eeceff55f", null ], + [ "reg", "structdtTileCacheContour.html#a71fc05a4f350f018a5ee82c446381d6a", null ], + [ "verts", "structdtTileCacheContour.html#a63c3ebf5aec913e13ab12ce7f0cd1daa", null ] +]; \ No newline at end of file diff --git a/structdtTileCacheContourSet-members.html b/structdtTileCacheContourSet-members.html new file mode 100644 index 00000000..2a2c340f --- /dev/null +++ b/structdtTileCacheContourSet-members.html @@ -0,0 +1,108 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtTileCacheContourSet Member List
    +
    +
    + +

    This is the complete list of members for dtTileCacheContourSet, including all inherited members.

    + + + +
    contsdtTileCacheContourSet
    ncontsdtTileCacheContourSet
    +
    + + + + + diff --git a/structdtTileCacheContourSet.html b/structdtTileCacheContourSet.html new file mode 100644 index 00000000..37a8436d --- /dev/null +++ b/structdtTileCacheContourSet.html @@ -0,0 +1,149 @@ + + + + + + + +Recast Navigation: dtTileCacheContourSet Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtTileCacheContourSet Struct Reference
    +
    +
    + +

    #include <DetourTileCacheBuilder.h>

    + + + + + + +

    +Public Attributes

    int nconts
     
    dtTileCacheContourconts
     
    +

    Member Data Documentation

    + +

    ◆ conts

    + +
    +
    + + + + +
    dtTileCacheContour* dtTileCacheContourSet::conts
    +
    + +
    +
    + +

    ◆ nconts

    + +
    +
    + + + + +
    int dtTileCacheContourSet::nconts
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtTileCacheContourSet.js b/structdtTileCacheContourSet.js new file mode 100644 index 00000000..9a7c2af6 --- /dev/null +++ b/structdtTileCacheContourSet.js @@ -0,0 +1,5 @@ +var structdtTileCacheContourSet = +[ + [ "conts", "structdtTileCacheContourSet.html#a02af11366a4bb181741c45bfc3bf0172", null ], + [ "nconts", "structdtTileCacheContourSet.html#a337ee629794b3eb22f605f531990456e", null ] +]; \ No newline at end of file diff --git a/structdtTileCacheLayer-members.html b/structdtTileCacheLayer-members.html new file mode 100644 index 00000000..ed7e4adc --- /dev/null +++ b/structdtTileCacheLayer-members.html @@ -0,0 +1,112 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtTileCacheLayer Member List
    +
    + +
    + + + + + diff --git a/structdtTileCacheLayer.html b/structdtTileCacheLayer.html new file mode 100644 index 00000000..a64e547e --- /dev/null +++ b/structdtTileCacheLayer.html @@ -0,0 +1,216 @@ + + + + + + + +Recast Navigation: dtTileCacheLayer Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtTileCacheLayer Struct Reference
    +
    +
    + +

    #include <DetourTileCacheBuilder.h>

    + + + + + + + + + + + + + + + +

    +Public Attributes

    dtTileCacheLayerHeaderheader
     
    unsigned char regCount
     Region count. More...
     
    unsigned char * heights
     
    unsigned char * areas
     
    unsigned char * cons
     
    unsigned char * regs
     
    +

    Member Data Documentation

    + +

    ◆ areas

    + +
    +
    + + + + +
    unsigned char* dtTileCacheLayer::areas
    +
    + +
    +
    + +

    ◆ cons

    + +
    +
    + + + + +
    unsigned char* dtTileCacheLayer::cons
    +
    + +
    +
    + +

    ◆ header

    + +
    +
    + + + + +
    dtTileCacheLayerHeader* dtTileCacheLayer::header
    +
    + +
    +
    + +

    ◆ heights

    + +
    +
    + + + + +
    unsigned char* dtTileCacheLayer::heights
    +
    + +
    +
    + +

    ◆ regCount

    + +
    +
    + + + + +
    unsigned char dtTileCacheLayer::regCount
    +
    + +

    Region count.

    + +
    +
    + +

    ◆ regs

    + +
    +
    + + + + +
    unsigned char* dtTileCacheLayer::regs
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtTileCacheLayer.js b/structdtTileCacheLayer.js new file mode 100644 index 00000000..35e0711c --- /dev/null +++ b/structdtTileCacheLayer.js @@ -0,0 +1,9 @@ +var structdtTileCacheLayer = +[ + [ "areas", "structdtTileCacheLayer.html#afeb17050bbd75d6c31fc4601dcff8045", null ], + [ "cons", "structdtTileCacheLayer.html#aa81a7e641ccfb8e00f0072efae4d74fd", null ], + [ "header", "structdtTileCacheLayer.html#aee440990f8d08c3c08f0759bfd00639c", null ], + [ "heights", "structdtTileCacheLayer.html#ad5671088121159f5f4f39d52f6c3d42f", null ], + [ "regCount", "structdtTileCacheLayer.html#ab9bd3001111fc4512c2ef7f225a4466d", null ], + [ "regs", "structdtTileCacheLayer.html#a2c1f0dc1d5b1b0c5770fdd49aa0cb634", null ] +]; \ No newline at end of file diff --git a/structdtTileCacheLayerHeader-members.html b/structdtTileCacheLayerHeader-members.html new file mode 100644 index 00000000..232d301d --- /dev/null +++ b/structdtTileCacheLayerHeader-members.html @@ -0,0 +1,121 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + + diff --git a/structdtTileCacheLayerHeader.html b/structdtTileCacheLayerHeader.html new file mode 100644 index 00000000..f1992688 --- /dev/null +++ b/structdtTileCacheLayerHeader.html @@ -0,0 +1,372 @@ + + + + + + + +Recast Navigation: dtTileCacheLayerHeader Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtTileCacheLayerHeader Struct Reference
    +
    +
    + +

    #include <DetourTileCacheBuilder.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    int magic
     Data magic. More...
     
    int version
     Data version. More...
     
    int tx
     
    int ty
     
    int tlayer
     
    float bmin [3]
     
    float bmax [3]
     
    unsigned short hmin
     
    unsigned short hmax
     Height min/max range. More...
     
    unsigned char width
     
    unsigned char height
     Dimension of the layer. More...
     
    unsigned char minx
     
    unsigned char maxx
     
    unsigned char miny
     
    unsigned char maxy
     Usable sub-region. More...
     
    +

    Member Data Documentation

    + +

    ◆ bmax

    + +
    +
    + + + + +
    float dtTileCacheLayerHeader::bmax[3]
    +
    + +
    +
    + +

    ◆ bmin

    + +
    +
    + + + + +
    float dtTileCacheLayerHeader::bmin[3]
    +
    + +
    +
    + +

    ◆ height

    + +
    +
    + + + + +
    unsigned char dtTileCacheLayerHeader::height
    +
    + +

    Dimension of the layer.

    + +
    +
    + +

    ◆ hmax

    + +
    +
    + + + + +
    unsigned short dtTileCacheLayerHeader::hmax
    +
    + +

    Height min/max range.

    + +
    +
    + +

    ◆ hmin

    + +
    +
    + + + + +
    unsigned short dtTileCacheLayerHeader::hmin
    +
    + +
    +
    + +

    ◆ magic

    + +
    +
    + + + + +
    int dtTileCacheLayerHeader::magic
    +
    + +

    Data magic.

    + +
    +
    + +

    ◆ maxx

    + +
    +
    + + + + +
    unsigned char dtTileCacheLayerHeader::maxx
    +
    + +
    +
    + +

    ◆ maxy

    + +
    +
    + + + + +
    unsigned char dtTileCacheLayerHeader::maxy
    +
    + +

    Usable sub-region.

    + +
    +
    + +

    ◆ minx

    + +
    +
    + + + + +
    unsigned char dtTileCacheLayerHeader::minx
    +
    + +
    +
    + +

    ◆ miny

    + +
    +
    + + + + +
    unsigned char dtTileCacheLayerHeader::miny
    +
    + +
    +
    + +

    ◆ tlayer

    + +
    +
    + + + + +
    int dtTileCacheLayerHeader::tlayer
    +
    + +
    +
    + +

    ◆ tx

    + +
    +
    + + + + +
    int dtTileCacheLayerHeader::tx
    +
    + +
    +
    + +

    ◆ ty

    + +
    +
    + + + + +
    int dtTileCacheLayerHeader::ty
    +
    + +
    +
    + +

    ◆ version

    + +
    +
    + + + + +
    int dtTileCacheLayerHeader::version
    +
    + +

    Data version.

    + +
    +
    + +

    ◆ width

    + +
    +
    + + + + +
    unsigned char dtTileCacheLayerHeader::width
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtTileCacheLayerHeader.js b/structdtTileCacheLayerHeader.js new file mode 100644 index 00000000..2999aea5 --- /dev/null +++ b/structdtTileCacheLayerHeader.js @@ -0,0 +1,18 @@ +var structdtTileCacheLayerHeader = +[ + [ "bmax", "structdtTileCacheLayerHeader.html#abd60dc6572c7b80e43985c75b5477eee", null ], + [ "bmin", "structdtTileCacheLayerHeader.html#a83848b7b2936f0cc2c029351b0f4251a", null ], + [ "height", "structdtTileCacheLayerHeader.html#a3ea2f3a128e73e23879575725142d5fb", null ], + [ "hmax", "structdtTileCacheLayerHeader.html#a1a39cf584edf04f90b05b38f1979f13d", null ], + [ "hmin", "structdtTileCacheLayerHeader.html#ac67e4ecbb71ab3814e9e270f14004ee9", null ], + [ "magic", "structdtTileCacheLayerHeader.html#a8c7b27ed53bf0189ccc94c67d6820e2f", null ], + [ "maxx", "structdtTileCacheLayerHeader.html#ab675bd252447bcae38a8356b627af383", null ], + [ "maxy", "structdtTileCacheLayerHeader.html#afcbde7458c37c89801243b98a5aa4674", null ], + [ "minx", "structdtTileCacheLayerHeader.html#ac536f24cbc32f35d0a42bd23f6ac1a56", null ], + [ "miny", "structdtTileCacheLayerHeader.html#a4e0f98a4b6cba8baf300311feb2700e2", null ], + [ "tlayer", "structdtTileCacheLayerHeader.html#a73bd5f743faae4a1c485835d97fb7fc1", null ], + [ "tx", "structdtTileCacheLayerHeader.html#a24118e3ecc122ac7685cf9636cced948", null ], + [ "ty", "structdtTileCacheLayerHeader.html#a020f2fc8488811b19c7d1c70f854bee9", null ], + [ "version", "structdtTileCacheLayerHeader.html#ac568165a80d945c62522408d7f9cdc62", null ], + [ "width", "structdtTileCacheLayerHeader.html#a967e7b1b310ae0a5a90168727c146f4c", null ] +]; \ No newline at end of file diff --git a/structdtTileCacheMeshProcess-members.html b/structdtTileCacheMeshProcess-members.html new file mode 100644 index 00000000..7e81cf6a --- /dev/null +++ b/structdtTileCacheMeshProcess-members.html @@ -0,0 +1,108 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtTileCacheMeshProcess Member List
    +
    +
    + +

    This is the complete list of members for dtTileCacheMeshProcess, including all inherited members.

    + + + +
    process(struct dtNavMeshCreateParams *params, unsigned char *polyAreas, unsigned short *polyFlags)=0dtTileCacheMeshProcesspure virtual
    ~dtTileCacheMeshProcess()dtTileCacheMeshProcessvirtual
    +
    + + + + + diff --git a/structdtTileCacheMeshProcess.html b/structdtTileCacheMeshProcess.html new file mode 100644 index 00000000..55d0515b --- /dev/null +++ b/structdtTileCacheMeshProcess.html @@ -0,0 +1,201 @@ + + + + + + + +Recast Navigation: dtTileCacheMeshProcess Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtTileCacheMeshProcess Struct Referenceabstract
    +
    +
    + +

    #include <DetourTileCache.h>

    +
    +Inheritance diagram for dtTileCacheMeshProcess:
    +
    +
    + + +MeshProcess + +
    + + + + + + +

    +Public Member Functions

    virtual ~dtTileCacheMeshProcess ()
     
    virtual void process (struct dtNavMeshCreateParams *params, unsigned char *polyAreas, unsigned short *polyFlags)=0
     
    +

    Constructor & Destructor Documentation

    + +

    ◆ ~dtTileCacheMeshProcess()

    + +
    +
    + + + + + +
    + + + + + + + +
    dtTileCacheMeshProcess::~dtTileCacheMeshProcess ()
    +
    +virtual
    +
    + +
    +
    +

    Member Function Documentation

    + +

    ◆ process()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    virtual void dtTileCacheMeshProcess::process (struct dtNavMeshCreateParamsparams,
    unsigned char * polyAreas,
    unsigned short * polyFlags 
    )
    +
    +pure virtual
    +
    + +

    Implemented in MeshProcess.

    + +
    +
    +
    The documentation for this struct was generated from the following files: +
    +
    + + + + + diff --git a/structdtTileCacheMeshProcess.js b/structdtTileCacheMeshProcess.js new file mode 100644 index 00000000..0ece6759 --- /dev/null +++ b/structdtTileCacheMeshProcess.js @@ -0,0 +1,5 @@ +var structdtTileCacheMeshProcess = +[ + [ "~dtTileCacheMeshProcess", "structdtTileCacheMeshProcess.html#a4e9d0eaaad8e15203156cd550802efff", null ], + [ "process", "structdtTileCacheMeshProcess.html#a215d535bec3a568d5fdb0b8ebe8cd609", null ] +]; \ No newline at end of file diff --git a/structdtTileCacheMeshProcess.png b/structdtTileCacheMeshProcess.png new file mode 100644 index 00000000..1d2e4450 Binary files /dev/null and b/structdtTileCacheMeshProcess.png differ diff --git a/structdtTileCacheObstacle-members.html b/structdtTileCacheObstacle-members.html new file mode 100644 index 00000000..d0cf7433 --- /dev/null +++ b/structdtTileCacheObstacle-members.html @@ -0,0 +1,117 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + + diff --git a/structdtTileCacheObstacle.html b/structdtTileCacheObstacle.html new file mode 100644 index 00000000..1d8d1bd6 --- /dev/null +++ b/structdtTileCacheObstacle.html @@ -0,0 +1,310 @@ + + + + + + + +Recast Navigation: dtTileCacheObstacle Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtTileCacheObstacle Struct Reference
    +
    +
    + +

    #include <DetourTileCache.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    union {
       dtObstacleCylinder   cylinder
     
       dtObstacleBox   box
     
       dtObstacleOrientedBox   orientedBox
     
    }; 
     
    dtCompressedTileRef touched [DT_MAX_TOUCHED_TILES]
     
    dtCompressedTileRef pending [DT_MAX_TOUCHED_TILES]
     
    unsigned short salt
     
    unsigned char type
     
    unsigned char state
     
    unsigned char ntouched
     
    unsigned char npending
     
    dtTileCacheObstaclenext
     
    +

    Member Data Documentation

    + +

    ◆ 

    + +
    +
    + + + + +
    union { ... }
    +
    + +
    +
    + +

    ◆ box

    + +
    +
    + + + + +
    dtObstacleBox dtTileCacheObstacle::box
    +
    + +
    +
    + +

    ◆ cylinder

    + +
    +
    + + + + +
    dtObstacleCylinder dtTileCacheObstacle::cylinder
    +
    + +
    +
    + +

    ◆ next

    + +
    +
    + + + + +
    dtTileCacheObstacle* dtTileCacheObstacle::next
    +
    + +
    +
    + +

    ◆ npending

    + +
    +
    + + + + +
    unsigned char dtTileCacheObstacle::npending
    +
    + +
    +
    + +

    ◆ ntouched

    + +
    +
    + + + + +
    unsigned char dtTileCacheObstacle::ntouched
    +
    + +
    +
    + +

    ◆ orientedBox

    + +
    +
    + + + + +
    dtObstacleOrientedBox dtTileCacheObstacle::orientedBox
    +
    + +
    +
    + +

    ◆ pending

    + +
    +
    + + + + +
    dtCompressedTileRef dtTileCacheObstacle::pending[DT_MAX_TOUCHED_TILES]
    +
    + +
    +
    + +

    ◆ salt

    + +
    +
    + + + + +
    unsigned short dtTileCacheObstacle::salt
    +
    + +
    +
    + +

    ◆ state

    + +
    +
    + + + + +
    unsigned char dtTileCacheObstacle::state
    +
    + +
    +
    + +

    ◆ touched

    + +
    +
    + + + + +
    dtCompressedTileRef dtTileCacheObstacle::touched[DT_MAX_TOUCHED_TILES]
    +
    + +
    +
    + +

    ◆ type

    + +
    +
    + + + + +
    unsigned char dtTileCacheObstacle::type
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtTileCacheObstacle.js b/structdtTileCacheObstacle.js new file mode 100644 index 00000000..012c8ee9 --- /dev/null +++ b/structdtTileCacheObstacle.js @@ -0,0 +1,14 @@ +var structdtTileCacheObstacle = +[ + [ "box", "structdtTileCacheObstacle.html#a0e31025b2911c006f4a16d9f634b812a", null ], + [ "cylinder", "structdtTileCacheObstacle.html#a6e42e7ac7564db49c70b849f3cc49a39", null ], + [ "next", "structdtTileCacheObstacle.html#aa2366814cc7ea879699236e70fb3faed", null ], + [ "npending", "structdtTileCacheObstacle.html#a49a8cbfab1e19c6d5aa378f1a33f02ec", null ], + [ "ntouched", "structdtTileCacheObstacle.html#a10ae8b8922bd1cad14693de0c69c27c3", null ], + [ "orientedBox", "structdtTileCacheObstacle.html#ac644e6dc7525b0157f10f3dc6abd1416", null ], + [ "pending", "structdtTileCacheObstacle.html#afb12e99f5680d18d4d61b8ad40c4a654", null ], + [ "salt", "structdtTileCacheObstacle.html#aaed7d123d0feb3efcfa735968c478fe3", null ], + [ "state", "structdtTileCacheObstacle.html#a43d1c2aa32d48a2a88713ca3f62e0512", null ], + [ "touched", "structdtTileCacheObstacle.html#a33a2a7301e5836a84af09074a8da8fe6", null ], + [ "type", "structdtTileCacheObstacle.html#af4848c786f8c2e4d9d182df72e333058", null ] +]; \ No newline at end of file diff --git a/structdtTileCacheParams-members.html b/structdtTileCacheParams-members.html new file mode 100644 index 00000000..e4ec3d00 --- /dev/null +++ b/structdtTileCacheParams-members.html @@ -0,0 +1,117 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + + diff --git a/structdtTileCacheParams.html b/structdtTileCacheParams.html new file mode 100644 index 00000000..39852578 --- /dev/null +++ b/structdtTileCacheParams.html @@ -0,0 +1,293 @@ + + + + + + + +Recast Navigation: dtTileCacheParams Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtTileCacheParams Struct Reference
    +
    +
    + +

    #include <DetourTileCache.h>

    + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    float orig [3]
     
    float cs
     
    float ch
     
    int width
     
    int height
     
    float walkableHeight
     
    float walkableRadius
     
    float walkableClimb
     
    float maxSimplificationError
     
    int maxTiles
     
    int maxObstacles
     
    +

    Member Data Documentation

    + +

    ◆ ch

    + +
    +
    + + + + +
    float dtTileCacheParams::ch
    +
    + +
    +
    + +

    ◆ cs

    + +
    +
    + + + + +
    float dtTileCacheParams::cs
    +
    + +
    +
    + +

    ◆ height

    + +
    +
    + + + + +
    int dtTileCacheParams::height
    +
    + +
    +
    + +

    ◆ maxObstacles

    + +
    +
    + + + + +
    int dtTileCacheParams::maxObstacles
    +
    + +
    +
    + +

    ◆ maxSimplificationError

    + +
    +
    + + + + +
    float dtTileCacheParams::maxSimplificationError
    +
    + +
    +
    + +

    ◆ maxTiles

    + +
    +
    + + + + +
    int dtTileCacheParams::maxTiles
    +
    + +
    +
    + +

    ◆ orig

    + +
    +
    + + + + +
    float dtTileCacheParams::orig[3]
    +
    + +
    +
    + +

    ◆ walkableClimb

    + +
    +
    + + + + +
    float dtTileCacheParams::walkableClimb
    +
    + +
    +
    + +

    ◆ walkableHeight

    + +
    +
    + + + + +
    float dtTileCacheParams::walkableHeight
    +
    + +
    +
    + +

    ◆ walkableRadius

    + +
    +
    + + + + +
    float dtTileCacheParams::walkableRadius
    +
    + +
    +
    + +

    ◆ width

    + +
    +
    + + + + +
    int dtTileCacheParams::width
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtTileCacheParams.js b/structdtTileCacheParams.js new file mode 100644 index 00000000..34dfef10 --- /dev/null +++ b/structdtTileCacheParams.js @@ -0,0 +1,14 @@ +var structdtTileCacheParams = +[ + [ "ch", "structdtTileCacheParams.html#a366560e2dd03f2d8a2ceaf9b08cc7578", null ], + [ "cs", "structdtTileCacheParams.html#aa3d397344d70e8d65300ceec47bf6512", null ], + [ "height", "structdtTileCacheParams.html#a0428fa48e2d01e17aab08ff814b2c769", null ], + [ "maxObstacles", "structdtTileCacheParams.html#a30fb34944589db46ad6262748d3f4c0c", null ], + [ "maxSimplificationError", "structdtTileCacheParams.html#a426e4e8fbaea199ecc4714ba01aa8ef2", null ], + [ "maxTiles", "structdtTileCacheParams.html#a08e5fc995595846369e9dc040370b660", null ], + [ "orig", "structdtTileCacheParams.html#af9020a1528db6a1ac4e21d54c951e0e5", null ], + [ "walkableClimb", "structdtTileCacheParams.html#a9d83b6704bebc30682a1f2e97d09d1fc", null ], + [ "walkableHeight", "structdtTileCacheParams.html#ab9a8b82edf527b2396f778a8b4121f88", null ], + [ "walkableRadius", "structdtTileCacheParams.html#ae2c266df6a6a9feb25c3ab7d6aff2616", null ], + [ "width", "structdtTileCacheParams.html#a0028aaae0c422f2191be3f5f44a06c02", null ] +]; \ No newline at end of file diff --git a/structdtTileCachePolyMesh-members.html b/structdtTileCachePolyMesh-members.html new file mode 100644 index 00000000..ba7d6d5a --- /dev/null +++ b/structdtTileCachePolyMesh-members.html @@ -0,0 +1,113 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtTileCachePolyMesh Member List
    +
    + +
    + + + + + diff --git a/structdtTileCachePolyMesh.html b/structdtTileCachePolyMesh.html new file mode 100644 index 00000000..8e124a1b --- /dev/null +++ b/structdtTileCachePolyMesh.html @@ -0,0 +1,247 @@ + + + + + + + +Recast Navigation: dtTileCachePolyMesh Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtTileCachePolyMesh Struct Reference
    +
    +
    + +

    #include <DetourTileCacheBuilder.h>

    + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    int nvp
     
    int nverts
     Number of vertices. More...
     
    int npolys
     Number of polygons. More...
     
    unsigned short * verts
     Vertices of the mesh, 3 elements per vertex. More...
     
    unsigned short * polys
     Polygons of the mesh, nvp*2 elements per polygon. More...
     
    unsigned short * flags
     Per polygon flags. More...
     
    unsigned char * areas
     Area ID of polygons. More...
     
    +

    Member Data Documentation

    + +

    ◆ areas

    + +
    +
    + + + + +
    unsigned char* dtTileCachePolyMesh::areas
    +
    + +

    Area ID of polygons.

    + +
    +
    + +

    ◆ flags

    + +
    +
    + + + + +
    unsigned short* dtTileCachePolyMesh::flags
    +
    + +

    Per polygon flags.

    + +
    +
    + +

    ◆ npolys

    + +
    +
    + + + + +
    int dtTileCachePolyMesh::npolys
    +
    + +

    Number of polygons.

    + +
    +
    + +

    ◆ nverts

    + +
    +
    + + + + +
    int dtTileCachePolyMesh::nverts
    +
    + +

    Number of vertices.

    + +
    +
    + +

    ◆ nvp

    + +
    +
    + + + + +
    int dtTileCachePolyMesh::nvp
    +
    + +
    +
    + +

    ◆ polys

    + +
    +
    + + + + +
    unsigned short* dtTileCachePolyMesh::polys
    +
    + +

    Polygons of the mesh, nvp*2 elements per polygon.

    + +
    +
    + +

    ◆ verts

    + +
    +
    + + + + +
    unsigned short* dtTileCachePolyMesh::verts
    +
    + +

    Vertices of the mesh, 3 elements per vertex.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtTileCachePolyMesh.js b/structdtTileCachePolyMesh.js new file mode 100644 index 00000000..7d32cd9a --- /dev/null +++ b/structdtTileCachePolyMesh.js @@ -0,0 +1,10 @@ +var structdtTileCachePolyMesh = +[ + [ "areas", "structdtTileCachePolyMesh.html#a6536adffe42fc5c4c6591347f1af7b0c", null ], + [ "flags", "structdtTileCachePolyMesh.html#a8d39c5b38bf4dc9b88d1d47199eacf13", null ], + [ "npolys", "structdtTileCachePolyMesh.html#a19b929513482da73c5abf7aba98b46e8", null ], + [ "nverts", "structdtTileCachePolyMesh.html#a369808f1d748df877916ad7d66ea38a1", null ], + [ "nvp", "structdtTileCachePolyMesh.html#adc3ecbab9e04c96d87b1ad4fbad439aa", null ], + [ "polys", "structdtTileCachePolyMesh.html#a334e7e9d3643a199f8b006d632bf15e3", null ], + [ "verts", "structdtTileCachePolyMesh.html#af501feeccdf8389bd7acc47e93984077", null ] +]; \ No newline at end of file diff --git a/structdtTileState-members.html b/structdtTileState-members.html new file mode 100644 index 00000000..e21f08fa --- /dev/null +++ b/structdtTileState-members.html @@ -0,0 +1,109 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    dtTileState Member List
    +
    +
    + +

    This is the complete list of members for dtTileState, including all inherited members.

    + + + + +
    magicdtTileState
    refdtTileState
    versiondtTileState
    +
    + + + + + diff --git a/structdtTileState.html b/structdtTileState.html new file mode 100644 index 00000000..55f6b9c1 --- /dev/null +++ b/structdtTileState.html @@ -0,0 +1,163 @@ + + + + + + + +Recast Navigation: dtTileState Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    dtTileState Struct Reference
    +
    +
    + + + + + + + + +

    +Public Attributes

    int magic
     
    int version
     
    dtTileRef ref
     
    +

    Member Data Documentation

    + +

    ◆ magic

    + +
    +
    + + + + +
    int dtTileState::magic
    +
    + +
    +
    + +

    ◆ ref

    + +
    +
    + + + + +
    dtTileRef dtTileState::ref
    +
    + +
    +
    + +

    ◆ version

    + +
    +
    + + + + +
    int dtTileState::version
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structdtTileState.js b/structdtTileState.js new file mode 100644 index 00000000..2c441fe3 --- /dev/null +++ b/structdtTileState.js @@ -0,0 +1,6 @@ +var structdtTileState = +[ + [ "magic", "structdtTileState.html#ad1d40a5f3e34dcd3b0cd5e52a1929e15", null ], + [ "ref", "structdtTileState.html#a5c3602092e22491b52974d478e229cd0", null ], + [ "version", "structdtTileState.html#ad24ddf11608ec1f0b43f676a2437483f", null ] +]; \ No newline at end of file diff --git a/structduDebugDraw-members.html b/structduDebugDraw-members.html new file mode 100644 index 00000000..3c8b8ed6 --- /dev/null +++ b/structduDebugDraw-members.html @@ -0,0 +1,116 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    duDebugDraw Member List
    +
    +
    + +

    This is the complete list of members for duDebugDraw, including all inherited members.

    + + + + + + + + + + + +
    areaToCol(unsigned int area)duDebugDrawvirtual
    begin(duDebugDrawPrimitives prim, float size=1.0f)=0duDebugDrawpure virtual
    depthMask(bool state)=0duDebugDrawpure virtual
    end()=0duDebugDrawpure virtual
    texture(bool state)=0duDebugDrawpure virtual
    vertex(const float *pos, unsigned int color)=0duDebugDrawpure virtual
    vertex(const float x, const float y, const float z, unsigned int color)=0duDebugDrawpure virtual
    vertex(const float *pos, unsigned int color, const float *uv)=0duDebugDrawpure virtual
    vertex(const float x, const float y, const float z, unsigned int color, const float u, const float v)=0duDebugDrawpure virtual
    ~duDebugDraw()=0duDebugDrawpure virtual
    +
    + + + + + diff --git a/structduDebugDraw.html b/structduDebugDraw.html new file mode 100644 index 00000000..5a9403e5 --- /dev/null +++ b/structduDebugDraw.html @@ -0,0 +1,581 @@ + + + + + + + +Recast Navigation: duDebugDraw Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    duDebugDraw Struct Referenceabstract
    +
    +
    + +

    Abstract debug draw interface. + More...

    + +

    #include <DebugDraw.h>

    +
    +Inheritance diagram for duDebugDraw:
    +
    +
    + + +DebugDrawGL +duDisplayList +SampleDebugDraw + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

    virtual ~duDebugDraw ()=0
     
    virtual void depthMask (bool state)=0
     
    virtual void texture (bool state)=0
     
    virtual void begin (duDebugDrawPrimitives prim, float size=1.0f)=0
     Begin drawing primitives. More...
     
    virtual void vertex (const float *pos, unsigned int color)=0
     Submit a vertex. More...
     
    virtual void vertex (const float x, const float y, const float z, unsigned int color)=0
     Submit a vertex. More...
     
    virtual void vertex (const float *pos, unsigned int color, const float *uv)=0
     Submit a vertex. More...
     
    virtual void vertex (const float x, const float y, const float z, unsigned int color, const float u, const float v)=0
     Submit a vertex. More...
     
    virtual void end ()=0
     End drawing primitives. More...
     
    virtual unsigned int areaToCol (unsigned int area)
     Compute a color for given area. More...
     
    +

    Description

    +

    Abstract debug draw interface.

    +

    Constructor & Destructor Documentation

    + +

    ◆ ~duDebugDraw()

    + +
    +
    + + + + + +
    + + + + + + + +
    duDebugDraw::~duDebugDraw ()
    +
    +pure virtual
    +
    + +
    +
    +

    Member Function Documentation

    + +

    ◆ areaToCol()

    + +
    +
    + + + + + +
    + + + + + + + + +
    unsigned int duDebugDraw::areaToCol (unsigned int area)
    +
    +virtual
    +
    + +

    Compute a color for given area.

    + +

    Reimplemented in SampleDebugDraw.

    + +
    +
    + +

    ◆ begin()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    virtual void duDebugDraw::begin (duDebugDrawPrimitives prim,
    float size = 1.0f 
    )
    +
    +pure virtual
    +
    + +

    Begin drawing primitives.

    +
    Parameters
    + + + +
    prim[in] primitive type to draw, one of rcDebugDrawPrimitives.
    size[in] size of a primitive, applies to point size and line width only.
    +
    +
    + +

    Implemented in DebugDrawGL, and duDisplayList.

    + +
    +
    + +

    ◆ depthMask()

    + +
    +
    + + + + + +
    + + + + + + + + +
    virtual void duDebugDraw::depthMask (bool state)
    +
    +pure virtual
    +
    + +

    Implemented in DebugDrawGL, and duDisplayList.

    + +
    +
    + +

    ◆ end()

    + +
    +
    + + + + + +
    + + + + + + + +
    virtual void duDebugDraw::end ()
    +
    +pure virtual
    +
    + +

    End drawing primitives.

    + +

    Implemented in DebugDrawGL, and duDisplayList.

    + +
    +
    + +

    ◆ texture()

    + +
    +
    + + + + + +
    + + + + + + + + +
    virtual void duDebugDraw::texture (bool state)
    +
    +pure virtual
    +
    + +

    Implemented in DebugDrawGL.

    + +
    +
    + +

    ◆ vertex() [1/4]

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    virtual void duDebugDraw::vertex (const float * pos,
    unsigned int color 
    )
    +
    +pure virtual
    +
    + +

    Submit a vertex.

    +
    Parameters
    + + + +
    pos[in] position of the verts.
    color[in] color of the verts.
    +
    +
    + +

    Implemented in DebugDrawGL, and duDisplayList.

    + +
    +
    + +

    ◆ vertex() [2/4]

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    virtual void duDebugDraw::vertex (const float * pos,
    unsigned int color,
    const float * uv 
    )
    +
    +pure virtual
    +
    + +

    Submit a vertex.

    +
    Parameters
    + + + + +
    pos[in] position of the verts.
    color[in] color of the verts.
    uv[in] the uv coordinates of the verts.
    +
    +
    + +

    Implemented in DebugDrawGL.

    + +
    +
    + +

    ◆ vertex() [3/4]

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    virtual void duDebugDraw::vertex (const float x,
    const float y,
    const float z,
    unsigned int color 
    )
    +
    +pure virtual
    +
    + +

    Submit a vertex.

    +
    Parameters
    + + + +
    x,y,z[in] position of the verts.
    color[in] color of the verts.
    +
    +
    + +

    Implemented in DebugDrawGL, and duDisplayList.

    + +
    +
    + +

    ◆ vertex() [4/4]

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    virtual void duDebugDraw::vertex (const float x,
    const float y,
    const float z,
    unsigned int color,
    const float u,
    const float v 
    )
    +
    +pure virtual
    +
    + +

    Submit a vertex.

    +
    Parameters
    + + + + +
    x,y,z[in] position of the verts.
    color[in] color of the verts.
    u,v[in] the uv coordinates of the verts.
    +
    +
    + +

    Implemented in DebugDrawGL.

    + +
    +
    +
    The documentation for this struct was generated from the following files: +
    +
    + + + + + diff --git a/structduDebugDraw.js b/structduDebugDraw.js new file mode 100644 index 00000000..52304a69 --- /dev/null +++ b/structduDebugDraw.js @@ -0,0 +1,13 @@ +var structduDebugDraw = +[ + [ "~duDebugDraw", "structduDebugDraw.html#af7942595befad5dab1372d8c8b2c2ec1", null ], + [ "areaToCol", "structduDebugDraw.html#aabdd9cd0f4381c686c3e0beaf50d3d13", null ], + [ "begin", "structduDebugDraw.html#a6403932173f27503e05cd258f5837d17", null ], + [ "depthMask", "structduDebugDraw.html#aac0f17039f76220b14b2bdce7e26f521", null ], + [ "end", "structduDebugDraw.html#ac699459669944f2f950bbf972fe62a14", null ], + [ "texture", "structduDebugDraw.html#afd70102a49177ea8068508139c8cdb1e", null ], + [ "vertex", "structduDebugDraw.html#a8fac1072846b60be4ce4810c68140ee8", null ], + [ "vertex", "structduDebugDraw.html#a711146a2e4be2ef9e0d6de7be8c714bc", null ], + [ "vertex", "structduDebugDraw.html#a2af291d6e63081ce1d3f34e1851ae5e0", null ], + [ "vertex", "structduDebugDraw.html#a0f76c61eb9f274f17c91308c739211eb", null ] +]; \ No newline at end of file diff --git a/structduDebugDraw.png b/structduDebugDraw.png new file mode 100644 index 00000000..58b81fc9 Binary files /dev/null and b/structduDebugDraw.png differ diff --git a/structduFileIO-members.html b/structduFileIO-members.html new file mode 100644 index 00000000..83baef54 --- /dev/null +++ b/structduFileIO-members.html @@ -0,0 +1,111 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    duFileIO Member List
    +
    +
    + +

    This is the complete list of members for duFileIO, including all inherited members.

    + + + + + + +
    isReading() const =0duFileIOpure virtual
    isWriting() const =0duFileIOpure virtual
    read(void *ptr, const size_t size)=0duFileIOpure virtual
    write(const void *ptr, const size_t size)=0duFileIOpure virtual
    ~duFileIO()duFileIOvirtual
    +
    + + + + + diff --git a/structduFileIO.html b/structduFileIO.html new file mode 100644 index 00000000..ef6ecc90 --- /dev/null +++ b/structduFileIO.html @@ -0,0 +1,293 @@ + + + + + + + +Recast Navigation: duFileIO Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    duFileIO Struct Referenceabstract
    +
    +
    + +

    #include <RecastDump.h>

    +
    +Inheritance diagram for duFileIO:
    +
    +
    + + +FileIO + +
    + + + + + + + + + + + + +

    +Public Member Functions

    virtual ~duFileIO ()
     
    virtual bool isWriting () const =0
     
    virtual bool isReading () const =0
     
    virtual bool write (const void *ptr, const size_t size)=0
     
    virtual bool read (void *ptr, const size_t size)=0
     
    +

    Constructor & Destructor Documentation

    + +

    ◆ ~duFileIO()

    + +
    +
    + + + + + +
    + + + + + + + +
    duFileIO::~duFileIO ()
    +
    +virtual
    +
    + +
    +
    +

    Member Function Documentation

    + +

    ◆ isReading()

    + +
    +
    + + + + + +
    + + + + + + + +
    virtual bool duFileIO::isReading () const
    +
    +pure virtual
    +
    + +

    Implemented in FileIO.

    + +
    +
    + +

    ◆ isWriting()

    + +
    +
    + + + + + +
    + + + + + + + +
    virtual bool duFileIO::isWriting () const
    +
    +pure virtual
    +
    + +

    Implemented in FileIO.

    + +
    +
    + +

    ◆ read()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    virtual bool duFileIO::read (void * ptr,
    const size_t size 
    )
    +
    +pure virtual
    +
    + +

    Implemented in FileIO.

    + +
    +
    + +

    ◆ write()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    virtual bool duFileIO::write (const void * ptr,
    const size_t size 
    )
    +
    +pure virtual
    +
    + +

    Implemented in FileIO.

    + +
    +
    +
    The documentation for this struct was generated from the following files: +
    +
    + + + + + diff --git a/structduFileIO.js b/structduFileIO.js new file mode 100644 index 00000000..1cbbfd33 --- /dev/null +++ b/structduFileIO.js @@ -0,0 +1,8 @@ +var structduFileIO = +[ + [ "~duFileIO", "structduFileIO.html#afab2836e1a3b9909bebe00e9ab81aae8", null ], + [ "isReading", "structduFileIO.html#a853e4af9415fdaa073bb785151f6b28c", null ], + [ "isWriting", "structduFileIO.html#ab436e18b116c61875dbdf5faafda9694", null ], + [ "read", "structduFileIO.html#af9c0d46a4697c00c657fa75636d0cf67", null ], + [ "write", "structduFileIO.html#aec33f1c0d1d0d1ec464fc1a5c135cb00", null ] +]; \ No newline at end of file diff --git a/structduFileIO.png b/structduFileIO.png new file mode 100644 index 00000000..a6186f02 Binary files /dev/null and b/structduFileIO.png differ diff --git a/structimguiGfxCmd-members.html b/structimguiGfxCmd-members.html new file mode 100644 index 00000000..e94079bc --- /dev/null +++ b/structimguiGfxCmd-members.html @@ -0,0 +1,113 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    imguiGfxCmd Member List
    +
    +
    + +

    This is the complete list of members for imguiGfxCmd, including all inherited members.

    + + + + + + + + +
    colimguiGfxCmd
    flagsimguiGfxCmd
    lineimguiGfxCmd
    padimguiGfxCmd
    rectimguiGfxCmd
    textimguiGfxCmd
    typeimguiGfxCmd
    +
    + + + + + diff --git a/structimguiGfxCmd.html b/structimguiGfxCmd.html new file mode 100644 index 00000000..35509612 --- /dev/null +++ b/structimguiGfxCmd.html @@ -0,0 +1,246 @@ + + + + + + + +Recast Navigation: imguiGfxCmd Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    imguiGfxCmd Struct Reference
    +
    +
    + +

    #include <imgui.h>

    + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    char type
     
    char flags
     
    char pad [2]
     
    unsigned int col
     
    union {
       imguiGfxLine   line
     
       imguiGfxRect   rect
     
       imguiGfxText   text
     
    }; 
     
    +

    Member Data Documentation

    + +

    ◆ 

    + +
    +
    + + + + +
    union { ... }
    +
    + +
    +
    + +

    ◆ col

    + +
    +
    + + + + +
    unsigned int imguiGfxCmd::col
    +
    + +
    +
    + +

    ◆ flags

    + +
    +
    + + + + +
    char imguiGfxCmd::flags
    +
    + +
    +
    + +

    ◆ line

    + +
    +
    + + + + +
    imguiGfxLine imguiGfxCmd::line
    +
    + +
    +
    + +

    ◆ pad

    + +
    +
    + + + + +
    char imguiGfxCmd::pad[2]
    +
    + +
    +
    + +

    ◆ rect

    + +
    +
    + + + + +
    imguiGfxRect imguiGfxCmd::rect
    +
    + +
    +
    + +

    ◆ text

    + +
    +
    + + + + +
    imguiGfxText imguiGfxCmd::text
    +
    + +
    +
    + +

    ◆ type

    + +
    +
    + + + + +
    char imguiGfxCmd::type
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structimguiGfxCmd.js b/structimguiGfxCmd.js new file mode 100644 index 00000000..d2edbdad --- /dev/null +++ b/structimguiGfxCmd.js @@ -0,0 +1,10 @@ +var structimguiGfxCmd = +[ + [ "col", "structimguiGfxCmd.html#a79777935f7150173eba508835942bb42", null ], + [ "flags", "structimguiGfxCmd.html#a88b02b5846d36381fdde1e990804162d", null ], + [ "line", "structimguiGfxCmd.html#a7cc3675a387e8714dd2a2f6d6303a12d", null ], + [ "pad", "structimguiGfxCmd.html#ae68d40f922fd4dda9f7e41d69db143c0", null ], + [ "rect", "structimguiGfxCmd.html#a83f785a85c31c45d64870075d76e9b50", null ], + [ "text", "structimguiGfxCmd.html#aa97c4773b8fc18c02f64d6db0e555d56", null ], + [ "type", "structimguiGfxCmd.html#a3508ea30366854eae1909484cc179338", null ] +]; \ No newline at end of file diff --git a/structimguiGfxLine-members.html b/structimguiGfxLine-members.html new file mode 100644 index 00000000..25038d3d --- /dev/null +++ b/structimguiGfxLine-members.html @@ -0,0 +1,111 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    imguiGfxLine Member List
    +
    +
    + +

    This is the complete list of members for imguiGfxLine, including all inherited members.

    + + + + + + +
    rimguiGfxLine
    x0imguiGfxLine
    x1imguiGfxLine
    y0imguiGfxLine
    y1imguiGfxLine
    +
    + + + + + diff --git a/structimguiGfxLine.html b/structimguiGfxLine.html new file mode 100644 index 00000000..1041ec75 --- /dev/null +++ b/structimguiGfxLine.html @@ -0,0 +1,197 @@ + + + + + + + +Recast Navigation: imguiGfxLine Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    imguiGfxLine Struct Reference
    +
    +
    + +

    #include <imgui.h>

    + + + + + + + + + + + + +

    +Public Attributes

    short x0
     
    short y0
     
    short x1
     
    short y1
     
    short r
     
    +

    Member Data Documentation

    + +

    ◆ r

    + +
    +
    + + + + +
    short imguiGfxLine::r
    +
    + +
    +
    + +

    ◆ x0

    + +
    +
    + + + + +
    short imguiGfxLine::x0
    +
    + +
    +
    + +

    ◆ x1

    + +
    +
    + + + + +
    short imguiGfxLine::x1
    +
    + +
    +
    + +

    ◆ y0

    + +
    +
    + + + + +
    short imguiGfxLine::y0
    +
    + +
    +
    + +

    ◆ y1

    + +
    +
    + + + + +
    short imguiGfxLine::y1
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structimguiGfxLine.js b/structimguiGfxLine.js new file mode 100644 index 00000000..53ba6995 --- /dev/null +++ b/structimguiGfxLine.js @@ -0,0 +1,8 @@ +var structimguiGfxLine = +[ + [ "r", "structimguiGfxLine.html#a6e6579cb0bbe0b6adc256326c5580e9e", null ], + [ "x0", "structimguiGfxLine.html#a77dee23b2e6f3582591b197b157276b4", null ], + [ "x1", "structimguiGfxLine.html#ae3ced14f8ccc697421abfbb8c45a8b9b", null ], + [ "y0", "structimguiGfxLine.html#a1d5c294bc5a64a07ee855c4be3487f7a", null ], + [ "y1", "structimguiGfxLine.html#aa7f7bd3941ff8fd8014f119b0a123193", null ] +]; \ No newline at end of file diff --git a/structimguiGfxRect-members.html b/structimguiGfxRect-members.html new file mode 100644 index 00000000..7c819385 --- /dev/null +++ b/structimguiGfxRect-members.html @@ -0,0 +1,111 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    imguiGfxRect Member List
    +
    +
    + +

    This is the complete list of members for imguiGfxRect, including all inherited members.

    + + + + + + +
    himguiGfxRect
    rimguiGfxRect
    wimguiGfxRect
    ximguiGfxRect
    yimguiGfxRect
    +
    + + + + + diff --git a/structimguiGfxRect.html b/structimguiGfxRect.html new file mode 100644 index 00000000..3dbe66f4 --- /dev/null +++ b/structimguiGfxRect.html @@ -0,0 +1,197 @@ + + + + + + + +Recast Navigation: imguiGfxRect Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    imguiGfxRect Struct Reference
    +
    +
    + +

    #include <imgui.h>

    + + + + + + + + + + + + +

    +Public Attributes

    short x
     
    short y
     
    short w
     
    short h
     
    short r
     
    +

    Member Data Documentation

    + +

    ◆ h

    + +
    +
    + + + + +
    short imguiGfxRect::h
    +
    + +
    +
    + +

    ◆ r

    + +
    +
    + + + + +
    short imguiGfxRect::r
    +
    + +
    +
    + +

    ◆ w

    + +
    +
    + + + + +
    short imguiGfxRect::w
    +
    + +
    +
    + +

    ◆ x

    + +
    +
    + + + + +
    short imguiGfxRect::x
    +
    + +
    +
    + +

    ◆ y

    + +
    +
    + + + + +
    short imguiGfxRect::y
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structimguiGfxRect.js b/structimguiGfxRect.js new file mode 100644 index 00000000..af12d6d0 --- /dev/null +++ b/structimguiGfxRect.js @@ -0,0 +1,8 @@ +var structimguiGfxRect = +[ + [ "h", "structimguiGfxRect.html#a45a1b8518cccb97f986f1ddd6b90f83b", null ], + [ "r", "structimguiGfxRect.html#ae51467bcbbb702b825ebac3f0307fc4e", null ], + [ "w", "structimguiGfxRect.html#aec658995a4c5a20fb2a61abdd98d18b0", null ], + [ "x", "structimguiGfxRect.html#ab702cb223baf33e949741d5bbc8778dd", null ], + [ "y", "structimguiGfxRect.html#a4e555e92963a7972428af94ebc560285", null ] +]; \ No newline at end of file diff --git a/structimguiGfxText-members.html b/structimguiGfxText-members.html new file mode 100644 index 00000000..beec73fa --- /dev/null +++ b/structimguiGfxText-members.html @@ -0,0 +1,110 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    imguiGfxText Member List
    +
    +
    + +

    This is the complete list of members for imguiGfxText, including all inherited members.

    + + + + + +
    alignimguiGfxText
    textimguiGfxText
    ximguiGfxText
    yimguiGfxText
    +
    + + + + + diff --git a/structimguiGfxText.html b/structimguiGfxText.html new file mode 100644 index 00000000..809a9a9c --- /dev/null +++ b/structimguiGfxText.html @@ -0,0 +1,181 @@ + + + + + + + +Recast Navigation: imguiGfxText Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    imguiGfxText Struct Reference
    +
    +
    + +

    #include <imgui.h>

    + + + + + + + + + + +

    +Public Attributes

    short x
     
    short y
     
    short align
     
    const char * text
     
    +

    Member Data Documentation

    + +

    ◆ align

    + +
    +
    + + + + +
    short imguiGfxText::align
    +
    + +
    +
    + +

    ◆ text

    + +
    +
    + + + + +
    const char* imguiGfxText::text
    +
    + +
    +
    + +

    ◆ x

    + +
    +
    + + + + +
    short imguiGfxText::x
    +
    + +
    +
    + +

    ◆ y

    + +
    +
    + + + + +
    short imguiGfxText::y
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structimguiGfxText.js b/structimguiGfxText.js new file mode 100644 index 00000000..7407bb57 --- /dev/null +++ b/structimguiGfxText.js @@ -0,0 +1,7 @@ +var structimguiGfxText = +[ + [ "align", "structimguiGfxText.html#aeed4f7559be7abbfa0b5a49adaedbd0f", null ], + [ "text", "structimguiGfxText.html#a46d1f241b44a57cfc99607b81e97f5b5", null ], + [ "x", "structimguiGfxText.html#ad7bf3cc0e24e63d997c335b7a5e15d25", null ], + [ "y", "structimguiGfxText.html#ad760b02492ffb7f9a1e8a5dcef9d9ba5", null ] +]; \ No newline at end of file diff --git a/structrcChunkyTriMesh-members.html b/structrcChunkyTriMesh-members.html new file mode 100644 index 00000000..b353b43c --- /dev/null +++ b/structrcChunkyTriMesh-members.html @@ -0,0 +1,113 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    rcChunkyTriMesh Member List
    +
    + +
    + + + + + diff --git a/structrcChunkyTriMesh.html b/structrcChunkyTriMesh.html new file mode 100644 index 00000000..bee22a57 --- /dev/null +++ b/structrcChunkyTriMesh.html @@ -0,0 +1,256 @@ + + + + + + + +Recast Navigation: rcChunkyTriMesh Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    rcChunkyTriMesh Struct Reference
    +
    +
    + +

    #include <ChunkyTriMesh.h>

    + + + + + + +

    +Public Member Functions

     rcChunkyTriMesh ()
     
     ~rcChunkyTriMesh ()
     
    + + + + + + + + + + + +

    +Public Attributes

    rcChunkyTriMeshNodenodes
     
    int nnodes
     
    int * tris
     
    int ntris
     
    int maxTrisPerChunk
     
    +

    Constructor & Destructor Documentation

    + +

    ◆ rcChunkyTriMesh()

    + +
    +
    + + + + + +
    + + + + + + + +
    rcChunkyTriMesh::rcChunkyTriMesh ()
    +
    +inline
    +
    + +
    +
    + +

    ◆ ~rcChunkyTriMesh()

    + +
    +
    + + + + + +
    + + + + + + + +
    rcChunkyTriMesh::~rcChunkyTriMesh ()
    +
    +inline
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ maxTrisPerChunk

    + +
    +
    + + + + +
    int rcChunkyTriMesh::maxTrisPerChunk
    +
    + +
    +
    + +

    ◆ nnodes

    + +
    +
    + + + + +
    int rcChunkyTriMesh::nnodes
    +
    + +
    +
    + +

    ◆ nodes

    + +
    +
    + + + + +
    rcChunkyTriMeshNode* rcChunkyTriMesh::nodes
    +
    + +
    +
    + +

    ◆ ntris

    + +
    +
    + + + + +
    int rcChunkyTriMesh::ntris
    +
    + +
    +
    + +

    ◆ tris

    + +
    +
    + + + + +
    int* rcChunkyTriMesh::tris
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structrcChunkyTriMesh.js b/structrcChunkyTriMesh.js new file mode 100644 index 00000000..893f3a61 --- /dev/null +++ b/structrcChunkyTriMesh.js @@ -0,0 +1,10 @@ +var structrcChunkyTriMesh = +[ + [ "rcChunkyTriMesh", "structrcChunkyTriMesh.html#a11e03f096c8d3bcd8a249e6b64fb0502", null ], + [ "~rcChunkyTriMesh", "structrcChunkyTriMesh.html#abd0bad171797ff8785f0483fc95e260f", null ], + [ "maxTrisPerChunk", "structrcChunkyTriMesh.html#a93638e22b53882b6bdc700b8c35ecd05", null ], + [ "nnodes", "structrcChunkyTriMesh.html#aaf4b64877b4d7e95d037e5c8e7480420", null ], + [ "nodes", "structrcChunkyTriMesh.html#a9d0871acc93ee37e657ab5a39507849b", null ], + [ "ntris", "structrcChunkyTriMesh.html#a72fed74ea56cac960cd9eb282e312d87", null ], + [ "tris", "structrcChunkyTriMesh.html#a1bfb682902d948da8e2f1f575f22dba1", null ] +]; \ No newline at end of file diff --git a/structrcChunkyTriMeshNode-members.html b/structrcChunkyTriMeshNode-members.html new file mode 100644 index 00000000..53705c84 --- /dev/null +++ b/structrcChunkyTriMeshNode-members.html @@ -0,0 +1,110 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    rcChunkyTriMeshNode Member List
    +
    +
    + +

    This is the complete list of members for rcChunkyTriMeshNode, including all inherited members.

    + + + + + +
    bmaxrcChunkyTriMeshNode
    bminrcChunkyTriMeshNode
    ircChunkyTriMeshNode
    nrcChunkyTriMeshNode
    +
    + + + + + diff --git a/structrcChunkyTriMeshNode.html b/structrcChunkyTriMeshNode.html new file mode 100644 index 00000000..8209a9f3 --- /dev/null +++ b/structrcChunkyTriMeshNode.html @@ -0,0 +1,181 @@ + + + + + + + +Recast Navigation: rcChunkyTriMeshNode Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    rcChunkyTriMeshNode Struct Reference
    +
    +
    + +

    #include <ChunkyTriMesh.h>

    + + + + + + + + + + +

    +Public Attributes

    float bmin [2]
     
    float bmax [2]
     
    int i
     
    int n
     
    +

    Member Data Documentation

    + +

    ◆ bmax

    + +
    +
    + + + + +
    float rcChunkyTriMeshNode::bmax[2]
    +
    + +
    +
    + +

    ◆ bmin

    + +
    +
    + + + + +
    float rcChunkyTriMeshNode::bmin[2]
    +
    + +
    +
    + +

    ◆ i

    + +
    +
    + + + + +
    int rcChunkyTriMeshNode::i
    +
    + +
    +
    + +

    ◆ n

    + +
    +
    + + + + +
    int rcChunkyTriMeshNode::n
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structrcChunkyTriMeshNode.js b/structrcChunkyTriMeshNode.js new file mode 100644 index 00000000..40a17f25 --- /dev/null +++ b/structrcChunkyTriMeshNode.js @@ -0,0 +1,7 @@ +var structrcChunkyTriMeshNode = +[ + [ "bmax", "structrcChunkyTriMeshNode.html#a8bf02576089ffe146ce180799b313fb1", null ], + [ "bmin", "structrcChunkyTriMeshNode.html#a948fbc71343377493524d56fd67ba937", null ], + [ "i", "structrcChunkyTriMeshNode.html#aef4c1c5ae3d3e688449598791f65483c", null ], + [ "n", "structrcChunkyTriMeshNode.html#a21461e9717fa41aede9a197e82c2fab8", null ] +]; \ No newline at end of file diff --git a/structrcCompactCell-members.html b/structrcCompactCell-members.html new file mode 100644 index 00000000..3256d53c --- /dev/null +++ b/structrcCompactCell-members.html @@ -0,0 +1,108 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    rcCompactCell Member List
    +
    +
    + +

    This is the complete list of members for rcCompactCell, including all inherited members.

    + + + +
    countrcCompactCell
    indexrcCompactCell
    +
    + + + + + diff --git a/structrcCompactCell.html b/structrcCompactCell.html new file mode 100644 index 00000000..fe611a42 --- /dev/null +++ b/structrcCompactCell.html @@ -0,0 +1,164 @@ + + + + + + + +Recast Navigation: rcCompactCell Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    rcCompactCell Struct Reference
    +
    +
    + +

    Provides information on the content of a cell column in a compact heightfield. + More...

    + +

    #include <Recast.h>

    + + + + + + + + +

    +Public Attributes

    unsigned int index: 24
     Index to the first span in the column. More...
     
    unsigned int count: 8
     Number of spans in the column. More...
     
    +

    Description

    +

    Provides information on the content of a cell column in a compact heightfield.

    +
    +

    See the rcCompactHeightfield documentation for an example of how compact cells are used to iterate the heightfield.

    +

    Useful instances of this type can only by obtained from a rcCompactHeightfield object.

    +
    See also
    rcCompactHeightfield
    +

    Member Data Documentation

    + +

    ◆ count

    + +
    +
    + + + + +
    unsigned int rcCompactCell::count
    +
    + +

    Number of spans in the column.

    + +
    +
    + +

    ◆ index

    + +
    +
    + + + + +
    unsigned int rcCompactCell::index
    +
    + +

    Index to the first span in the column.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structrcCompactCell.js b/structrcCompactCell.js new file mode 100644 index 00000000..c6761789 --- /dev/null +++ b/structrcCompactCell.js @@ -0,0 +1,5 @@ +var structrcCompactCell = +[ + [ "count", "structrcCompactCell.html#a70bb509654a28a8c9d67bcb469d0b3ce", null ], + [ "index", "structrcCompactCell.html#ad1695135ae520dfee8c39aa7b1fd41d8", null ] +]; \ No newline at end of file diff --git a/structrcCompactHeightfield-members.html b/structrcCompactHeightfield-members.html new file mode 100644 index 00000000..03f31cf2 --- /dev/null +++ b/structrcCompactHeightfield-members.html @@ -0,0 +1,124 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + + diff --git a/structrcCompactHeightfield.html b/structrcCompactHeightfield.html new file mode 100644 index 00000000..625138ae --- /dev/null +++ b/structrcCompactHeightfield.html @@ -0,0 +1,549 @@ + + + + + + + +Recast Navigation: rcCompactHeightfield Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    rcCompactHeightfield Struct Reference
    +
    +
    + +

    A compact, static heightfield representing unobstructed space. + More...

    + +

    #include <Recast.h>

    + + + + + + +

    +Public Member Functions

     rcCompactHeightfield ()
     
     ~rcCompactHeightfield ()
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    int width
     The width of the heightfield. (Along the x-axis in cell units.) More...
     
    int height
     The height of the heightfield. (Along the z-axis in cell units.) More...
     
    int spanCount
     The number of spans in the heightfield. More...
     
    int walkableHeight
     The walkable height used during the build of the field. (See: rcConfig::walkableHeight) More...
     
    int walkableClimb
     The walkable climb used during the build of the field. (See: rcConfig::walkableClimb) More...
     
    int borderSize
     The AABB border size used during the build of the field. (See: rcConfig::borderSize) More...
     
    unsigned short maxDistance
     The maximum distance value of any span within the field. More...
     
    unsigned short maxRegions
     The maximum region id of any span within the field. More...
     
    float bmin [3]
     The minimum bounds in world space. [(x, y, z)]. More...
     
    float bmax [3]
     The maximum bounds in world space. [(x, y, z)]. More...
     
    float cs
     The size of each cell. (On the xz-plane.) More...
     
    float ch
     The height of each cell. (The minimum increment along the y-axis.) More...
     
    rcCompactCellcells
     Array of cells. [Size: width*height]. More...
     
    rcCompactSpanspans
     Array of spans. [Size: spanCount]. More...
     
    unsigned short * dist
     Array containing border distance data. [Size: spanCount]. More...
     
    unsigned char * areas
     Array containing area id data. [Size: spanCount]. More...
     
    +

    Description

    +

    A compact, static heightfield representing unobstructed space.

    +
    +

    For this type of heightfield, the spans represent the open (unobstructed) space above the solid surfaces of a voxel field. It is usually created from a rcHeightfield object. Data is stored in a compact, efficient manner,
    + but the structure is not condusive to adding and removing spans.

    +

    The standard process for buidling a compact heightfield is to allocate it using rcAllocCompactHeightfield, build it using rcBuildCompactHeightfield, then run it through the various helper functions to generate neighbor and region data.

    +

    Connected neighbor spans form non-overlapping surfaces. When neighbor information is generated, spans will include data that can be used to locate axis-neighbors. Axis-neighbors are connected spans that are offset from the current cell column as follows:

    +Direction 0 = (-1, 0)
    +Direction 1 = (0, 1)
    +Direction 2 = (1, 0)
    +Direction 3 = (0, -1)
    +

    Example of iterating and inspecting spans, including connected neighbors:

    +
    // Where chf is an instance of a rcCompactHeightfield.
    +
    +
    const float cs = chf.cs;
    +
    const float ch = chf.ch;
    +
    +
    for (int y = 0; y < chf.height; ++y)
    +
    {
    +
    for (int x = 0; x < chf.width; ++x)
    +
    {
    +
    // Deriving the minimum corner of the grid location.
    +
    const float fx = chf.bmin[0] + x*cs;
    +
    const float fz = chf.bmin[2] + y*cs;
    +
    +
    // Get the cell for the grid location then iterate
    +
    // up the column.
    +
    const rcCompactCell& c = chf.cells[x+y*chf.width];
    +
    for (unsigned i = c.index, ni = c.index+c.count; i < ni; ++i)
    +
    {
    +
    const rcCompactSpan& s = chf.spans[i];
    +
    +
    Deriving the minimum (floor) of the span.
    +
    const float fy = chf.bmin[1] + (s.y+1)*ch;
    +
    +
    // Testing the area assignment of the span.
    +
    if (chf.areas[i] == RC_WALKABLE_AREA)
    +
    {
    +
    // The span is in the default 'walkable area'.
    +
    }
    +
    else if (chf.areas[i] == RC_NULL_AREA)
    +
    {
    +
    // The surface is not considered walkable.
    +
    // E.g. It was filtered out during the build processes.
    +
    }
    +
    else
    +
    {
    +
    // Do something. (Only applicable for custom build
    +
    // build processes.)
    +
    }
    +
    +
    // Iterating the connected axis-neighbor spans.
    +
    for (int dir = 0; dir < 4; ++dir)
    +
    {
    +
    if (rcGetCon(s, dir) != RC_NOT_CONNECTED)
    +
    {
    +
    // There is a neighbor in this direction.
    +
    const int nx = x + rcGetDirOffsetX(dir);
    +
    const int ny = y + rcGetDirOffsetY(dir);
    +
    const int ni = (int)chf.cells[nx+ny*w].index + rcGetCon(s, 0);
    +
    const rcCompactSpan& ns = chf.spans[ni];
    +
    // Do something with the neighbor span.
    +
    }
    +
    }
    +
    }
    +
    }
    +
    }
    +
    static const unsigned char RC_NULL_AREA
    Represents the null area.
    Definition: Recast.h:633
    +
    static const unsigned char RC_WALKABLE_AREA
    The default area id used to indicate a walkable polygon.
    Definition: Recast.h:638
    +
    static const int RC_NOT_CONNECTED
    The value returned by rcGetCon if the specified direction is not connected to another span.
    Definition: Recast.h:642
    +
    int rcGetDirOffsetY(int direction)
    Gets the standard height (z-axis) offset for the specified direction.
    Definition: Recast.h:1228
    +
    int rcGetDirOffsetX(int direction)
    Gets the standard width (x-axis) offset for the specified direction.
    Definition: Recast.h:1218
    +
    int rcGetCon(const rcCompactSpan &span, int direction)
    Gets neighbor connection data for the specified direction.
    Definition: Recast.h:1209
    +
    Provides information on the content of a cell column in a compact heightfield.
    Definition: Recast.h:335
    +
    unsigned int count
    Number of spans in the column.
    Definition: Recast.h:337
    +
    unsigned int index
    Index to the first span in the column.
    Definition: Recast.h:336
    +
    float ch
    The height of each cell. (The minimum increment along the y-axis.)
    Definition: Recast.h:367
    +
    float cs
    The size of each cell. (On the xz-plane.)
    Definition: Recast.h:366
    +
    Represents a span of unobstructed space within a compact heightfield.
    Definition: Recast.h:342
    +
    unsigned short y
    The lower extent of the span. (Measured from the heightfield's base.)
    Definition: Recast.h:343
    +
    See also
    rcAllocCompactHeightfield, rcFreeCompactHeightfield, rcBuildCompactHeightfield
    +

    Constructor & Destructor Documentation

    + +

    ◆ rcCompactHeightfield()

    + +
    +
    + + + + + + + +
    rcCompactHeightfield::rcCompactHeightfield ()
    +
    + +
    +
    + +

    ◆ ~rcCompactHeightfield()

    + +
    +
    + + + + + + + +
    rcCompactHeightfield::~rcCompactHeightfield ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ areas

    + +
    +
    + + + + +
    unsigned char* rcCompactHeightfield::areas
    +
    + +

    Array containing area id data. [Size: spanCount].

    + +
    +
    + +

    ◆ bmax

    + +
    +
    + + + + +
    float rcCompactHeightfield::bmax[3]
    +
    + +

    The maximum bounds in world space. [(x, y, z)].

    + +
    +
    + +

    ◆ bmin

    + +
    +
    + + + + +
    float rcCompactHeightfield::bmin[3]
    +
    + +

    The minimum bounds in world space. [(x, y, z)].

    + +
    +
    + +

    ◆ borderSize

    + +
    +
    + + + + +
    int rcCompactHeightfield::borderSize
    +
    + +

    The AABB border size used during the build of the field. (See: rcConfig::borderSize)

    + +
    +
    + +

    ◆ cells

    + +
    +
    + + + + +
    rcCompactCell* rcCompactHeightfield::cells
    +
    + +

    Array of cells. [Size: width*height].

    + +
    +
    + +

    ◆ ch

    + +
    +
    + + + + +
    float rcCompactHeightfield::ch
    +
    + +

    The height of each cell. (The minimum increment along the y-axis.)

    + +
    +
    + +

    ◆ cs

    + +
    +
    + + + + +
    float rcCompactHeightfield::cs
    +
    + +

    The size of each cell. (On the xz-plane.)

    + +
    +
    + +

    ◆ dist

    + +
    +
    + + + + +
    unsigned short* rcCompactHeightfield::dist
    +
    + +

    Array containing border distance data. [Size: spanCount].

    + +
    +
    + +

    ◆ height

    + +
    +
    + + + + +
    int rcCompactHeightfield::height
    +
    + +

    The height of the heightfield. (Along the z-axis in cell units.)

    + +
    +
    + +

    ◆ maxDistance

    + +
    +
    + + + + +
    unsigned short rcCompactHeightfield::maxDistance
    +
    + +

    The maximum distance value of any span within the field.

    + +
    +
    + +

    ◆ maxRegions

    + +
    +
    + + + + +
    unsigned short rcCompactHeightfield::maxRegions
    +
    + +

    The maximum region id of any span within the field.

    + +
    +
    + +

    ◆ spanCount

    + +
    +
    + + + + +
    int rcCompactHeightfield::spanCount
    +
    + +

    The number of spans in the heightfield.

    + +
    +
    + +

    ◆ spans

    + +
    +
    + + + + +
    rcCompactSpan* rcCompactHeightfield::spans
    +
    + +

    Array of spans. [Size: spanCount].

    + +
    +
    + +

    ◆ walkableClimb

    + +
    +
    + + + + +
    int rcCompactHeightfield::walkableClimb
    +
    + +

    The walkable climb used during the build of the field. (See: rcConfig::walkableClimb)

    + +
    +
    + +

    ◆ walkableHeight

    + +
    +
    + + + + +
    int rcCompactHeightfield::walkableHeight
    +
    + +

    The walkable height used during the build of the field. (See: rcConfig::walkableHeight)

    + +
    +
    + +

    ◆ width

    + +
    +
    + + + + +
    int rcCompactHeightfield::width
    +
    + +

    The width of the heightfield. (Along the x-axis in cell units.)

    + +
    +
    +
    The documentation for this struct was generated from the following files: +
    +
    + + + + + diff --git a/structrcCompactHeightfield.js b/structrcCompactHeightfield.js new file mode 100644 index 00000000..fd2597af --- /dev/null +++ b/structrcCompactHeightfield.js @@ -0,0 +1,21 @@ +var structrcCompactHeightfield = +[ + [ "rcCompactHeightfield", "structrcCompactHeightfield.html#a33d0846cef5f90e605f272b61277ffb0", null ], + [ "~rcCompactHeightfield", "structrcCompactHeightfield.html#aea6121b36d3fb1cab5955a7915c68809", null ], + [ "areas", "structrcCompactHeightfield.html#abcdf0d737779779376bce23d1c0be910", null ], + [ "bmax", "structrcCompactHeightfield.html#a5d175954135840be9d4e4fc3b36d8067", null ], + [ "bmin", "structrcCompactHeightfield.html#ae73d55ffeafd659c189bf14e440b902f", null ], + [ "borderSize", "structrcCompactHeightfield.html#a675418d81ce6ade83fbd18be2dfd1647", null ], + [ "cells", "structrcCompactHeightfield.html#ab497c9a9f6e0f1b8882fada13ce880a5", null ], + [ "ch", "structrcCompactHeightfield.html#a39baf56bf3baf2b026aae0a309facaf4", null ], + [ "cs", "structrcCompactHeightfield.html#a75ee8e198d672db29a2f98c7463c0b31", null ], + [ "dist", "structrcCompactHeightfield.html#af345442d6b49e71a2191c5e2dac3ca97", null ], + [ "height", "structrcCompactHeightfield.html#a25d9e16e5d82cf698e47b18a5740b639", null ], + [ "maxDistance", "structrcCompactHeightfield.html#a38921b347d72bdc07487d07e7608ffc7", null ], + [ "maxRegions", "structrcCompactHeightfield.html#a6bfb7a2fdb06a64b03f0fffa885edd94", null ], + [ "spanCount", "structrcCompactHeightfield.html#a7206a15efe8a9e2a8e28b8c7d89b45bd", null ], + [ "spans", "structrcCompactHeightfield.html#a20f5a93095dfd199b0a9baad4127bec3", null ], + [ "walkableClimb", "structrcCompactHeightfield.html#ae403555331ef3d2624ca9433226bd683", null ], + [ "walkableHeight", "structrcCompactHeightfield.html#a04baed5c41b0e19e525e3136b138dc1a", null ], + [ "width", "structrcCompactHeightfield.html#a98868c1df2523cd724696ed1d223ba13", null ] +]; \ No newline at end of file diff --git a/structrcCompactSpan-members.html b/structrcCompactSpan-members.html new file mode 100644 index 00000000..b307c999 --- /dev/null +++ b/structrcCompactSpan-members.html @@ -0,0 +1,110 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    rcCompactSpan Member List
    +
    +
    + +

    This is the complete list of members for rcCompactSpan, including all inherited members.

    + + + + + +
    conrcCompactSpan
    hrcCompactSpan
    regrcCompactSpan
    yrcCompactSpan
    +
    + + + + + diff --git a/structrcCompactSpan.html b/structrcCompactSpan.html new file mode 100644 index 00000000..64624d40 --- /dev/null +++ b/structrcCompactSpan.html @@ -0,0 +1,202 @@ + + + + + + + +Recast Navigation: rcCompactSpan Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    rcCompactSpan Struct Reference
    +
    +
    + +

    Represents a span of unobstructed space within a compact heightfield. + More...

    + +

    #include <Recast.h>

    + + + + + + + + + + + + + + +

    +Public Attributes

    unsigned short y
     The lower extent of the span. (Measured from the heightfield's base.) More...
     
    unsigned short reg
     The id of the region the span belongs to. (Or zero if not in a region.) More...
     
    unsigned int con: 24
     Packed neighbor connection data. More...
     
    unsigned int h: 8
     The height of the span. (Measured from y.) More...
     
    +

    Description

    +

    Represents a span of unobstructed space within a compact heightfield.

    +
    +

    The span represents open, unobstructed space within a compact heightfield column. See the rcCompactHeightfield documentation for an example of iterating spans and searching span connections.

    +

    Useful instances of this type can only by obtained from a rcCompactHeightfield object.

    +
    See also
    rcCompactHeightfield
    +

    Member Data Documentation

    + +

    ◆ con

    + +
    +
    + + + + +
    unsigned int rcCompactSpan::con
    +
    + +

    Packed neighbor connection data.

    + +
    +
    + +

    ◆ h

    + +
    +
    + + + + +
    unsigned int rcCompactSpan::h
    +
    + +

    The height of the span. (Measured from y.)

    + +
    +
    + +

    ◆ reg

    + +
    +
    + + + + +
    unsigned short rcCompactSpan::reg
    +
    + +

    The id of the region the span belongs to. (Or zero if not in a region.)

    + +
    +
    + +

    ◆ y

    + +
    +
    + + + + +
    unsigned short rcCompactSpan::y
    +
    + +

    The lower extent of the span. (Measured from the heightfield's base.)

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structrcCompactSpan.js b/structrcCompactSpan.js new file mode 100644 index 00000000..2b9f8f40 --- /dev/null +++ b/structrcCompactSpan.js @@ -0,0 +1,7 @@ +var structrcCompactSpan = +[ + [ "con", "structrcCompactSpan.html#ac01d1dafd150efc71de4ee671edb8539", null ], + [ "h", "structrcCompactSpan.html#a7eb3771c94cae7b6e1bc239ec8fd7043", null ], + [ "reg", "structrcCompactSpan.html#aca1a16c8453c9533120c094979601d77", null ], + [ "y", "structrcCompactSpan.html#a51e8cdcf30408a3f84da22c4d2623b68", null ] +]; \ No newline at end of file diff --git a/structrcConfig-members.html b/structrcConfig-members.html new file mode 100644 index 00000000..d35cedee --- /dev/null +++ b/structrcConfig-members.html @@ -0,0 +1,125 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + + diff --git a/structrcConfig.html b/structrcConfig.html new file mode 100644 index 00000000..f5014251 --- /dev/null +++ b/structrcConfig.html @@ -0,0 +1,549 @@ + + + + + + + +Recast Navigation: rcConfig Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    rcConfig Struct Reference
    +
    +
    + +

    Specifies a configuration to use when performing Recast builds. + More...

    + +

    #include <Recast.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    int width
     The width of the field along the x-axis. [Limit: >= 0] [Units: vx]. More...
     
    int height
     The height of the field along the z-axis. [Limit: >= 0] [Units: vx]. More...
     
    int tileSize
     The width/height size of tile's on the xz-plane. [Limit: >= 0] [Units: vx]. More...
     
    int borderSize
     The size of the non-navigable border around the heightfield. [Limit: >=0] [Units: vx]. More...
     
    float cs
     The xz-plane cell size to use for fields. [Limit: > 0] [Units: wu]. More...
     
    float ch
     The y-axis cell size to use for fields. [Limit: > 0] [Units: wu]. More...
     
    float bmin [3]
     The minimum bounds of the field's AABB. [(x, y, z)] [Units: wu]. More...
     
    float bmax [3]
     The maximum bounds of the field's AABB. [(x, y, z)] [Units: wu]. More...
     
    float walkableSlopeAngle
     The maximum slope that is considered walkable. [Limits: 0 <= value < 90] [Units: Degrees]. More...
     
    int walkableHeight
     Minimum floor to 'ceiling' height that will still allow the floor area to be considered walkable. More...
     
    int walkableClimb
     Maximum ledge height that is considered to still be traversable. [Limit: >=0] [Units: vx]. More...
     
    int walkableRadius
     The distance to erode/shrink the walkable area of the heightfield away from obstructions. More...
     
    int maxEdgeLen
     The maximum allowed length for contour edges along the border of the mesh. [Limit: >=0] [Units: vx]. More...
     
    float maxSimplificationError
     The maximum distance a simplified contour's border edges should deviate the original raw contour. More...
     
    int minRegionArea
     The minimum number of cells allowed to form isolated island areas. [Limit: >=0] [Units: vx]. More...
     
    int mergeRegionArea
     Any regions with a span count smaller than this value will, if possible, be merged with larger regions. More...
     
    int maxVertsPerPoly
     The maximum number of vertices allowed for polygons generated during the contour to polygon conversion process. More...
     
    float detailSampleDist
     Sets the sampling distance to use when generating the detail mesh. More...
     
    float detailSampleMaxError
     The maximum distance the detail mesh surface should deviate from heightfield data. More...
     
    +

    Description

    +

    Specifies a configuration to use when performing Recast builds.

    +
    +

    The is a convenience structure that represents an aggregation of parameters used at different stages in the Recast build process. Some values are derived during the build process. Not all parameters are used for all build processes.

    +

    Units are usually in voxels (vx) or world units (wu). The units for voxels, grid size, and cell size are all based on the values of cs and ch.

    +

    In this documentation, the term 'field' refers to heightfield and contour data structures that define spacial information using an integer grid.

    +

    The upper and lower limits for the various parameters often depend on the platform's floating point accuraccy as well as interdependencies between the values of multiple parameters. See the individual parameter documentation for details.

    +
    Note
    First you should decide the size of your agent's logical cylinder. If your game world uses meters as units, a reasonable starting point for a human-sized agent might be a radius of 0.4 and a height of 2.0.
    +

    Member Data Documentation

    + +

    ◆ bmax

    + +
    +
    + + + + +
    float rcConfig::bmax[3]
    +
    + +

    The maximum bounds of the field's AABB. [(x, y, z)] [Units: wu].

    + +
    +
    + +

    ◆ bmin

    + +
    +
    + + + + +
    float rcConfig::bmin[3]
    +
    + +

    The minimum bounds of the field's AABB. [(x, y, z)] [Units: wu].

    + +
    +
    + +

    ◆ borderSize

    + +
    +
    + + + + +
    rcConfig::borderSize
    +
    + +

    The size of the non-navigable border around the heightfield. [Limit: >=0] [Units: vx].

    +
    +

    This value represents the the closest the walkable area of the heightfield should come to the xz-plane AABB of the field. It does not have any impact on the borders around internal obstructions.

    + +
    +
    + +

    ◆ ch

    + +
    +
    + + + + +
    rcConfig::ch
    +
    + +

    The y-axis cell size to use for fields. [Limit: > 0] [Units: wu].

    +
    +

    The voxelization cell height ch is defined separately in order to allow for greater precision in height tests. A good starting point for ch is half the cs value. Smaller ch values ensure that the navmesh properly connects areas that are only separated by a small curb or ditch. If small holes are generated in your navmesh around where there are discontinuities in height (for example, stairs or curbs), you may want to decrease the cell height value to increase the vertical rasterization precision of Recast.

    +

    cs and ch define voxel/grid/cell size. So their values have significant side effects on all parameters defined in voxel units.

    +

    The minimum value for this parameter depends on the platform's floating point accuracy, with the practical minimum usually around 0.05.

    + +
    +
    + +

    ◆ cs

    + +
    +
    + + + + +
    rcConfig::cs
    +
    + +

    The xz-plane cell size to use for fields. [Limit: > 0] [Units: wu].

    +
    +

    The voxelization cell size cs defines the voxel size along both axes of the ground plane: x and z in Recast. This value is usually derived from the character radius r. A recommended starting value for cs is either r/2 or r/3. Smaller values of cs will increase rasterization resolution and navmesh detail, but total generation time will increase exponentially. In outdoor environments, r/2 is often good enough. For indoor scenes with tight spaces you might want the extra precision, so a value of r/3 or smaller may give better results.

    +

    The initial instinct is to reduce this value to something very close to zero to maximize the detail of the generated navmesh. This quickly becomes a case of diminishing returns, however. Beyond a certain point there's usually not much perceptable difference in the generated navmesh, but huge increases in generation time. This hinders your ability to quickly iterate on level designs and provides little benefit. The general recommendation here is to use as large a value for cs as you can get away with.

    +

    cs and ch define voxel/grid/cell size. So their values have significant side effects on all parameters defined in voxel units.

    +

    The minimum value for this parameter depends on the platform's floating point accuracy, with the practical minimum usually around 0.05.

    + +
    +
    + +

    ◆ detailSampleDist

    + +
    +
    + + + + +
    float rcConfig::detailSampleDist
    +
    + +

    Sets the sampling distance to use when generating the detail mesh.

    +

    (For height detail only.) [Limits: 0 or >= 0.9] [Units: wu]
    +

    + +
    +
    + +

    ◆ detailSampleMaxError

    + +
    +
    + + + + +
    float rcConfig::detailSampleMaxError
    +
    + +

    The maximum distance the detail mesh surface should deviate from heightfield data.

    +

    (For height detail only.) [Limit: >=0] [Units: wu]
    +

    + +
    +
    + +

    ◆ height

    + +
    +
    + + + + +
    int rcConfig::height
    +
    + +

    The height of the field along the z-axis. [Limit: >= 0] [Units: vx].

    + +
    +
    + +

    ◆ maxEdgeLen

    + +
    +
    + + + + +
    rcConfig::maxEdgeLen
    +
    + +

    The maximum allowed length for contour edges along the border of the mesh. [Limit: >=0] [Units: vx].

    +
    +

    In certain cases, long outer edges may decrease the quality of the resulting triangulation, creating very long thin triangles. This can sometimes be remedied by limiting the maximum edge length, causing the problematic long edges to be broken up into smaller segments.

    +

    The parameter maxEdgeLen defines the maximum edge length and is defined in terms of voxels. A good value for maxEdgeLen is something like walkableRadius * 8. A good way to adjust this value is to first set it really high and see if your data creates long edges. If it does, decrease maxEdgeLen until you find the largest value which improves the resulting tesselation.

    +

    Extra vertices will be inserted as needed to keep contour edges below this length. A value of zero effectively disables this feature.

    + +
    +
    + +

    ◆ maxSimplificationError

    + +
    +
    + + + + +
    rcConfig::maxSimplificationError
    +
    + +

    The maximum distance a simplified contour's border edges should deviate the original raw contour.

    +

    [Limit: >=0] [Units: vx]

    +
    +

    When the rasterized areas are converted back to a vectorized representation, the maxSimplificationError describes how loosely the simplification is done. The simplification process uses the Ramer–Douglas-Peucker algorithm, and this value describes the max deviation in voxels.

    +

    Good values for maxSimplificationError are in the range [1.1, 1.5].
    + A value of 1.3 is a good starting point and usually yields good results. If the value is less than 1.1, some sawtoothing starts to appear at the generated edges. If the value is more than 1.5, the mesh simplification starts to cut some corners it shouldn't.

    +

    The effect of this parameter only applies to the xz-plane.

    + +
    +
    + +

    ◆ maxVertsPerPoly

    + +
    +
    + + + + +
    rcConfig::maxVertsPerPoly
    +
    + +

    The maximum number of vertices allowed for polygons generated during the contour to polygon conversion process.

    +

    [Limit: >= 3]
    +

    +
    +

    If the mesh data is to be used to construct a Detour navigation mesh, then the upper limit is limited to <= DT_VERTS_PER_POLYGON.

    + +
    +
    + +

    ◆ mergeRegionArea

    + +
    +
    + + + + +
    rcConfig::mergeRegionArea
    +
    + +

    Any regions with a span count smaller than this value will, if possible, be merged with larger regions.

    +

    [Limit: >=0] [Units: vx]
    +

    +
    +

    The triangulation process works best with small, localized voxel regions. The parameter mergeRegionArea controls the maximum voxel area of a region that is allowed to be merged with another region. If you see small patches missing here and there, you could lower the minRegionArea value.

    + +
    +
    + +

    ◆ minRegionArea

    + +
    +
    + + + + +
    rcConfig::minRegionArea
    +
    + +

    The minimum number of cells allowed to form isolated island areas. [Limit: >=0] [Units: vx].

    +
    +

    Watershed partitioning is really prone to noise in the input distance field. In order to get nicer areas, the areas are merged and small disconnected areas are removed after the water shed partitioning. The parameter minRegionArea describes the minimum isolated region size that is still kept. A region is removed if the number of voxels in the region is less than the square of minRegionArea.

    +

    Any regions that are smaller than this area will be marked as unwalkable. This is useful in removing useless regions that can sometimes form on geometry such as table tops, box tops, etc.

    + +
    +
    + +

    ◆ tileSize

    + +
    +
    + + + + +
    rcConfig::tileSize
    +
    + +

    The width/height size of tile's on the xz-plane. [Limit: >= 0] [Units: vx].

    +
    +

    This field is only used when building multi-tile meshes.

    + +
    +
    + +

    ◆ walkableClimb

    + +
    +
    + + + + +
    rcConfig::walkableClimb
    +
    + +

    Maximum ledge height that is considered to still be traversable. [Limit: >=0] [Units: vx].

    +
    +

    The walkableClimb value defines the maximum height of ledges and steps that the agent can walk up. Given a designer-defined maxClimb distance in world units, the value of walkableClimb should be calculated as ceil(maxClimb / ch).
    + Note that this is using ch not cs because it's a height-based value.

    +

    Allows the mesh to flow over low lying obstructions such as curbs and up/down stairways. The value is usually set to how far up/down an agent can step.

    + +
    +
    + +

    ◆ walkableHeight

    + +
    +
    + + + + +
    rcConfig::walkableHeight
    +
    + +

    Minimum floor to 'ceiling' height that will still allow the floor area to be considered walkable.

    +

    [Limit: >= 3] [Units: vx]
    +

    +
    +

    This value defines the worldspace height h of the agent in voxels. Th value of walkableHeight should be calculated as ceil(h / ch). Note this is based on ch not cs since it's a height value.

    +

    Permits detection of overhangs in the source geometry that make the geometry below un-walkable. The value is usually set to the maximum agent height.

    + +
    +
    + +

    ◆ walkableRadius

    + +
    +
    + + + + +
    rcConfig::walkableRadius
    +
    + +

    The distance to erode/shrink the walkable area of the heightfield away from obstructions.

    +

    [Limit: >=0] [Units: vx]
    +

    +
    +

    The parameter walkableRadius defines the worldspace agent radius r in voxels.
    + Most often, this value of walkableRadius should be calculated as ceil(r / cs). Note this is based on cs since the agent radius is always parallel to the ground plane.

    +

    If the walkableRadius value is greater than zero, the edges of the navmesh will be pushed away from all obstacles by this amount.

    +

    A non-zero walkableRadius allows for much simpler runtime navmesh collision checks. The game only needs to check that the center point of the agent is contained within a navmesh polygon. Without this erosion, runtime navigation checks need to collide the geometric projection of the agent's logical cylinder onto the navmesh with the boundary edges of the navmesh polygons.

    +

    In general, this is the closest any part of the final mesh should get to an obstruction in the source geometry. It is usually set to the maximum agent radius.

    +

    If you want to have tight-fitting navmesh, or want to reuse the same navmesh for multiple agents with differing radii, you can use a walkableRadius value of zero. Be advised though that you will need to perform your own collisions with the navmesh edges, and odd edge cases issues in the mesh generation can potentially occur. For these reasons, specifying a radius of zero is allowed but is not recommended.

    + +
    +
    + +

    ◆ walkableSlopeAngle

    + +
    +
    + + + + +
    rcConfig::walkableSlopeAngle
    +
    + +

    The maximum slope that is considered walkable. [Limits: 0 <= value < 90] [Units: Degrees].

    +
    +

    The parameter walkableSlopeAngle is to filter out areas of the world where the ground slope would be too steep for an agent to traverse. This value is defined as a maximum angle in degrees that the surface normal of a polgyon can differ from the world's up vector. This value must be within the range [0, 90].

    +

    The practical upper limit for this parameter is usually around 85 degrees.

    + +
    +
    + +

    ◆ width

    + +
    +
    + + + + +
    int rcConfig::width
    +
    + +

    The width of the field along the x-axis. [Limit: >= 0] [Units: vx].

    + +
    +
    +
    The documentation for this struct was generated from the following files: +
    +
    + + + + + diff --git a/structrcConfig.js b/structrcConfig.js new file mode 100644 index 00000000..8ba7232f --- /dev/null +++ b/structrcConfig.js @@ -0,0 +1,22 @@ +var structrcConfig = +[ + [ "bmax", "structrcConfig.html#ab33657eac12a119d583422c4c00c6892", null ], + [ "bmin", "structrcConfig.html#afb77489af4eb0cd75ceb8b46db2c4341", null ], + [ "borderSize", "structrcConfig.html#a473ec0f080862d2593099d8ee207da57", null ], + [ "ch", "structrcConfig.html#acdde0dfdbb39611966ece78ef473d861", null ], + [ "cs", "structrcConfig.html#ae74c4bd2b0477f29a65a53ca9c59196d", null ], + [ "detailSampleDist", "structrcConfig.html#abdc131d1c8f5e4c1f09a68702efba604", null ], + [ "detailSampleMaxError", "structrcConfig.html#ae53de5fcf0777c0be9e3cd91c9da3d1f", null ], + [ "height", "structrcConfig.html#a25cdb5fcddc1d2813eca2462f60c13d1", null ], + [ "maxEdgeLen", "structrcConfig.html#a2149036442bf38b9ec9615549aa48fd4", null ], + [ "maxSimplificationError", "structrcConfig.html#a3421826332c0acfbbdfa34ee6c7183d1", null ], + [ "maxVertsPerPoly", "structrcConfig.html#a055d0ed71c79c9af29424de5d0cf3d2d", null ], + [ "mergeRegionArea", "structrcConfig.html#ac2385e0a316304cd7b1c563cf9f7dd59", null ], + [ "minRegionArea", "structrcConfig.html#af91c92dd5bb5ebf51a85b194917062ec", null ], + [ "tileSize", "structrcConfig.html#ac011c6166e1c722dd07427a7c301a601", null ], + [ "walkableClimb", "structrcConfig.html#a9b6bbabb4857e3f4bf4428af86ee7673", null ], + [ "walkableHeight", "structrcConfig.html#a2483649686584b9d696ac00b968dedaa", null ], + [ "walkableRadius", "structrcConfig.html#a57a961a919d76559d6124d60ddf73864", null ], + [ "walkableSlopeAngle", "structrcConfig.html#a689373b55bb5fab1d3284b716e972fe0", null ], + [ "width", "structrcConfig.html#aa870882b1addeb37535185740838eb32", null ] +]; \ No newline at end of file diff --git a/structrcContour-members.html b/structrcContour-members.html new file mode 100644 index 00000000..b34e18d1 --- /dev/null +++ b/structrcContour-members.html @@ -0,0 +1,112 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    rcContour Member List
    +
    +
    + +

    This is the complete list of members for rcContour, including all inherited members.

    + + + + + + + +
    arearcContour
    nrvertsrcContour
    nvertsrcContour
    regrcContour
    rvertsrcContour
    vertsrcContour
    +
    + + + + + diff --git a/structrcContour.html b/structrcContour.html new file mode 100644 index 00000000..f88dfce6 --- /dev/null +++ b/structrcContour.html @@ -0,0 +1,269 @@ + + + + + + + +Recast Navigation: rcContour Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    rcContour Struct Reference
    +
    +
    + +

    Represents a simple, non-overlapping contour in field space. + More...

    + +

    #include <Recast.h>

    + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    int * verts
     Simplified contour vertex and connection data. [Size: 4 * nverts]. More...
     
    int nverts
     The number of vertices in the simplified contour. More...
     
    int * rverts
     Raw contour vertex and connection data. [Size: 4 * nrverts]. More...
     
    int nrverts
     The number of vertices in the raw contour. More...
     
    unsigned short reg
     The region id of the contour. More...
     
    unsigned char area
     The area id of the contour. More...
     
    +

    Description

    +

    Represents a simple, non-overlapping contour in field space.

    +
    +

    A contour only exists within the context of a rcContourSet object.

    +

    While the height of the contour's border may vary, the contour will always form a simple polygon when projected onto the xz-plane.

    +

    Example of converting vertices into world space:

    +
    // Where cset is the rcContourSet object to which the contour belongs.
    +
    float worldX = cset.bmin[0] + vertX * cset.cs;
    +
    float worldY = cset.bmin[1] + vertY * cset.ch;
    +
    float worldZ = cset.bmin[2] + vertZ * cset.cs;
    +
    See also
    rcContourSet
    +

    Member Data Documentation

    + +

    ◆ area

    + +
    +
    + + + + +
    unsigned char rcContour::area
    +
    + +

    The area id of the contour.

    + +
    +
    + +

    ◆ nrverts

    + +
    +
    + + + + +
    int rcContour::nrverts
    +
    + +

    The number of vertices in the raw contour.

    + +
    +
    + +

    ◆ nverts

    + +
    +
    + + + + +
    int rcContour::nverts
    +
    + +

    The number of vertices in the simplified contour.

    + +
    +
    + +

    ◆ reg

    + +
    +
    + + + + +
    unsigned short rcContour::reg
    +
    + +

    The region id of the contour.

    + +
    +
    + +

    ◆ rverts

    + +
    +
    + + + + +
    rcContour::rverts
    +
    + +

    Raw contour vertex and connection data. [Size: 4 * nrverts].

    +
    +

    See verts for information on element layout.

    + +
    +
    + +

    ◆ verts

    + +
    +
    + + + + +
    rcContour::verts
    +
    + +

    Simplified contour vertex and connection data. [Size: 4 * nverts].

    +
    +

    The simplified contour is a version of the raw contour with all 'unnecessary' vertices removed. Whether a vertex is considered unnecessary depends on the contour build process.

    +

    The data format is as follows: (x, y, z, r) * nverts

    +

    A contour edge is formed by the current and next vertex. The r-value represents region and connection information for the edge. For example:

    +
    int r = verts[i*4+3];
    +
    +
    int regionId = r & RC_CONTOUR_REG_MASK;
    +
    + +
    {
    +
    // The edge represents a solid border.
    +
    }
    +
    + +
    {
    +
    // The edge represents a transition between different areas.
    +
    }
    +
    static const int RC_AREA_BORDER
    Area border flag.
    Definition: Recast.h:609
    +
    static const int RC_CONTOUR_REG_MASK
    Applied to the region id field of contour vertices in order to extract the region id.
    Definition: Recast.h:623
    +
    static const int RC_BORDER_VERTEX
    Border vertex flag.
    Definition: Recast.h:602
    +
    int * verts
    Simplified contour vertex and connection data. [Size: 4 * nverts].
    Definition: Recast.h:420
    +
    +
    +
    +
    The documentation for this struct was generated from the following files: +
    +
    + + + + + diff --git a/structrcContour.js b/structrcContour.js new file mode 100644 index 00000000..99efd487 --- /dev/null +++ b/structrcContour.js @@ -0,0 +1,9 @@ +var structrcContour = +[ + [ "area", "structrcContour.html#a1052e9ac2da6e515cbb12908a58fca78", null ], + [ "nrverts", "structrcContour.html#a0cceba5f2070c42ac2a871189d4ceb53", null ], + [ "nverts", "structrcContour.html#afcf77c01352f2c46172fdfabd2f9b9f6", null ], + [ "reg", "structrcContour.html#a8971d5c5cc7c7fb8e5d79a6ff9812cd1", null ], + [ "rverts", "structrcContour.html#a4875d6bf00efae95009d0fe8ccb1f0e9", null ], + [ "verts", "structrcContour.html#a71a33a9ba0930586b0c8ba595267d9da", null ] +]; \ No newline at end of file diff --git a/structrcContourHole-members.html b/structrcContourHole-members.html new file mode 100644 index 00000000..da9663ac --- /dev/null +++ b/structrcContourHole-members.html @@ -0,0 +1,110 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    rcContourHole Member List
    +
    +
    + +

    This is the complete list of members for rcContourHole, including all inherited members.

    + + + + + +
    contourrcContourHole
    leftmostrcContourHole
    minxrcContourHole
    minzrcContourHole
    +
    + + + + + diff --git a/structrcContourHole.html b/structrcContourHole.html new file mode 100644 index 00000000..64e34515 --- /dev/null +++ b/structrcContourHole.html @@ -0,0 +1,179 @@ + + + + + + + +Recast Navigation: rcContourHole Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    rcContourHole Struct Reference
    +
    +
    + + + + + + + + + + +

    +Public Attributes

    rcContourcontour
     
    int minx
     
    int minz
     
    int leftmost
     
    +

    Member Data Documentation

    + +

    ◆ contour

    + +
    +
    + + + + +
    rcContour* rcContourHole::contour
    +
    + +
    +
    + +

    ◆ leftmost

    + +
    +
    + + + + +
    int rcContourHole::leftmost
    +
    + +
    +
    + +

    ◆ minx

    + +
    +
    + + + + +
    int rcContourHole::minx
    +
    + +
    +
    + +

    ◆ minz

    + +
    +
    + + + + +
    int rcContourHole::minz
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structrcContourHole.js b/structrcContourHole.js new file mode 100644 index 00000000..c27184b2 --- /dev/null +++ b/structrcContourHole.js @@ -0,0 +1,7 @@ +var structrcContourHole = +[ + [ "contour", "structrcContourHole.html#a11fb23a6bba9ccc948b8779aa78f6b54", null ], + [ "leftmost", "structrcContourHole.html#a9fb0f2717007dddc37156feca8b00cf2", null ], + [ "minx", "structrcContourHole.html#ab83982af11e1649becfdf57766fe45ee", null ], + [ "minz", "structrcContourHole.html#a6638d0ce2b7972c1a6e795a99fea5504", null ] +]; \ No newline at end of file diff --git a/structrcContourRegion-members.html b/structrcContourRegion-members.html new file mode 100644 index 00000000..616999b7 --- /dev/null +++ b/structrcContourRegion-members.html @@ -0,0 +1,109 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    rcContourRegion Member List
    +
    +
    + +

    This is the complete list of members for rcContourRegion, including all inherited members.

    + + + + +
    holesrcContourRegion
    nholesrcContourRegion
    outlinercContourRegion
    +
    + + + + + diff --git a/structrcContourRegion.html b/structrcContourRegion.html new file mode 100644 index 00000000..db5bac7b --- /dev/null +++ b/structrcContourRegion.html @@ -0,0 +1,163 @@ + + + + + + + +Recast Navigation: rcContourRegion Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    rcContourRegion Struct Reference
    +
    +
    + + + + + + + + +

    +Public Attributes

    rcContouroutline
     
    rcContourHoleholes
     
    int nholes
     
    +

    Member Data Documentation

    + +

    ◆ holes

    + +
    +
    + + + + +
    rcContourHole* rcContourRegion::holes
    +
    + +
    +
    + +

    ◆ nholes

    + +
    +
    + + + + +
    int rcContourRegion::nholes
    +
    + +
    +
    + +

    ◆ outline

    + +
    +
    + + + + +
    rcContour* rcContourRegion::outline
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structrcContourRegion.js b/structrcContourRegion.js new file mode 100644 index 00000000..ae054b7b --- /dev/null +++ b/structrcContourRegion.js @@ -0,0 +1,6 @@ +var structrcContourRegion = +[ + [ "holes", "structrcContourRegion.html#ae12d68ef4a40342b654ce16ad1962dec", null ], + [ "nholes", "structrcContourRegion.html#a868d233f83da1275952c46874d808114", null ], + [ "outline", "structrcContourRegion.html#abe0095d55beae3075672c9584211662c", null ] +]; \ No newline at end of file diff --git a/structrcContourSet-members.html b/structrcContourSet-members.html new file mode 100644 index 00000000..dd420a94 --- /dev/null +++ b/structrcContourSet-members.html @@ -0,0 +1,118 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    rcContourSet Member List
    +
    + +
    + + + + + diff --git a/structrcContourSet.html b/structrcContourSet.html new file mode 100644 index 00000000..5e49bb5e --- /dev/null +++ b/structrcContourSet.html @@ -0,0 +1,360 @@ + + + + + + + +Recast Navigation: rcContourSet Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    rcContourSet Struct Reference
    +
    +
    + +

    Represents a group of related contours. + More...

    + +

    #include <Recast.h>

    + + + + + + +

    +Public Member Functions

     rcContourSet ()
     
     ~rcContourSet ()
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    rcContourconts
     An array of the contours in the set. [Size: nconts]. More...
     
    int nconts
     The number of contours in the set. More...
     
    float bmin [3]
     The minimum bounds in world space. [(x, y, z)]. More...
     
    float bmax [3]
     The maximum bounds in world space. [(x, y, z)]. More...
     
    float cs
     The size of each cell. (On the xz-plane.) More...
     
    float ch
     The height of each cell. (The minimum increment along the y-axis.) More...
     
    int width
     The width of the set. (Along the x-axis in cell units.) More...
     
    int height
     The height of the set. (Along the z-axis in cell units.) More...
     
    int borderSize
     The AABB border size used to generate the source data from which the contours were derived. More...
     
    float maxError
     The max edge error that this contour set was simplified with. More...
     
    +

    Description

    +

    Represents a group of related contours.

    +
    +

    All contours within the set share the minimum bounds and cell sizes of the set.

    +

    The standard process for building a contour set is to allocate it using rcAllocContourSet, then initialize it using rcBuildContours.

    +
    See also
    rcAllocContourSet, rcFreeContourSet, rcBuildContours
    +

    Constructor & Destructor Documentation

    + +

    ◆ rcContourSet()

    + +
    +
    + + + + + + + +
    rcContourSet::rcContourSet ()
    +
    + +
    +
    + +

    ◆ ~rcContourSet()

    + +
    +
    + + + + + + + +
    rcContourSet::~rcContourSet ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ bmax

    + +
    +
    + + + + +
    float rcContourSet::bmax[3]
    +
    + +

    The maximum bounds in world space. [(x, y, z)].

    + +
    +
    + +

    ◆ bmin

    + +
    +
    + + + + +
    float rcContourSet::bmin[3]
    +
    + +

    The minimum bounds in world space. [(x, y, z)].

    + +
    +
    + +

    ◆ borderSize

    + +
    +
    + + + + +
    int rcContourSet::borderSize
    +
    + +

    The AABB border size used to generate the source data from which the contours were derived.

    + +
    +
    + +

    ◆ ch

    + +
    +
    + + + + +
    float rcContourSet::ch
    +
    + +

    The height of each cell. (The minimum increment along the y-axis.)

    + +
    +
    + +

    ◆ conts

    + +
    +
    + + + + +
    rcContour* rcContourSet::conts
    +
    + +

    An array of the contours in the set. [Size: nconts].

    + +
    +
    + +

    ◆ cs

    + +
    +
    + + + + +
    float rcContourSet::cs
    +
    + +

    The size of each cell. (On the xz-plane.)

    + +
    +
    + +

    ◆ height

    + +
    +
    + + + + +
    int rcContourSet::height
    +
    + +

    The height of the set. (Along the z-axis in cell units.)

    + +
    +
    + +

    ◆ maxError

    + +
    +
    + + + + +
    float rcContourSet::maxError
    +
    + +

    The max edge error that this contour set was simplified with.

    + +
    +
    + +

    ◆ nconts

    + +
    +
    + + + + +
    int rcContourSet::nconts
    +
    + +

    The number of contours in the set.

    + +
    +
    + +

    ◆ width

    + +
    +
    + + + + +
    int rcContourSet::width
    +
    + +

    The width of the set. (Along the x-axis in cell units.)

    + +
    +
    +
    The documentation for this struct was generated from the following files: +
    +
    + + + + + diff --git a/structrcContourSet.js b/structrcContourSet.js new file mode 100644 index 00000000..2bbcf396 --- /dev/null +++ b/structrcContourSet.js @@ -0,0 +1,15 @@ +var structrcContourSet = +[ + [ "rcContourSet", "structrcContourSet.html#a01481af6f568ea6098fc5fa4fc5140f7", null ], + [ "~rcContourSet", "structrcContourSet.html#ab94de9c515eac08480d33cadc50a5a2b", null ], + [ "bmax", "structrcContourSet.html#ae756cdf05388b7455768011841c0f6a1", null ], + [ "bmin", "structrcContourSet.html#a6528f1d81286f5bff26ae217c33da654", null ], + [ "borderSize", "structrcContourSet.html#adb04d1277e815ed89b156714bad3c17a", null ], + [ "ch", "structrcContourSet.html#ada4d5c2916f351065c6f5a382f087ebc", null ], + [ "conts", "structrcContourSet.html#ad737b7220701eeae5aa9c488d4d4f18d", null ], + [ "cs", "structrcContourSet.html#a1dbf04db7e828a3757e951e4f8499c95", null ], + [ "height", "structrcContourSet.html#a18be0e9d84b65e8688153b0adb517124", null ], + [ "maxError", "structrcContourSet.html#af657b46878e8fff2dd731ee066e4e1b2", null ], + [ "nconts", "structrcContourSet.html#aa751e5adb077b2ea7a9c8795e7a2fa99", null ], + [ "width", "structrcContourSet.html#af165415f9e2ef3cf446786040864e6d2", null ] +]; \ No newline at end of file diff --git a/structrcEdge-members.html b/structrcEdge-members.html new file mode 100644 index 00000000..45a38093 --- /dev/null +++ b/structrcEdge-members.html @@ -0,0 +1,109 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    rcEdge Member List
    +
    +
    + +

    This is the complete list of members for rcEdge, including all inherited members.

    + + + + +
    polyrcEdge
    polyEdgercEdge
    vertrcEdge
    +
    + + + + + diff --git a/structrcEdge.html b/structrcEdge.html new file mode 100644 index 00000000..75a7d06e --- /dev/null +++ b/structrcEdge.html @@ -0,0 +1,164 @@ + + + + + + + +Recast Navigation: rcEdge Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    rcEdge Struct Reference
    +
    +
    + + + + + + + + +

    +Public Attributes

    unsigned short vert [2]
     
    unsigned short polyEdge [2]
     
    unsigned short poly [2]
     
    +

    Member Data Documentation

    + +

    ◆ poly

    + +
    +
    + + + + +
    unsigned short rcEdge::poly
    +
    + +
    +
    + +

    ◆ polyEdge

    + +
    +
    + + + + +
    unsigned short rcEdge::polyEdge
    +
    + +
    +
    + +

    ◆ vert

    + +
    +
    + + + + +
    unsigned short rcEdge::vert
    +
    + +
    +
    +
    The documentation for this struct was generated from the following files: +
    +
    + + + + + diff --git a/structrcEdge.js b/structrcEdge.js new file mode 100644 index 00000000..442c5ba4 --- /dev/null +++ b/structrcEdge.js @@ -0,0 +1,6 @@ +var structrcEdge = +[ + [ "poly", "structrcEdge.html#a8c7453ea99462ccd11a1a4df861897db", null ], + [ "polyEdge", "structrcEdge.html#ab20ad72bbcb3029d46c375f3b9358d07", null ], + [ "vert", "structrcEdge.html#a7c483c5d52d1caa50d3305c175822bcc", null ] +]; \ No newline at end of file diff --git a/structrcHeightPatch-members.html b/structrcHeightPatch-members.html new file mode 100644 index 00000000..54657ffd --- /dev/null +++ b/structrcHeightPatch-members.html @@ -0,0 +1,113 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    rcHeightPatch Member List
    +
    +
    + +

    This is the complete list of members for rcHeightPatch, including all inherited members.

    + + + + + + + + +
    datarcHeightPatch
    heightrcHeightPatch
    rcHeightPatch()rcHeightPatchinline
    widthrcHeightPatch
    xminrcHeightPatch
    yminrcHeightPatch
    ~rcHeightPatch()rcHeightPatchinline
    +
    + + + + + diff --git a/structrcHeightPatch.html b/structrcHeightPatch.html new file mode 100644 index 00000000..b5cb85fc --- /dev/null +++ b/structrcHeightPatch.html @@ -0,0 +1,254 @@ + + + + + + + +Recast Navigation: rcHeightPatch Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    rcHeightPatch Struct Reference
    +
    +
    + + + + + + +

    +Public Member Functions

     rcHeightPatch ()
     
     ~rcHeightPatch ()
     
    + + + + + + + + + + + +

    +Public Attributes

    unsigned short * data
     
    int xmin
     
    int ymin
     
    int width
     
    int height
     
    +

    Constructor & Destructor Documentation

    + +

    ◆ rcHeightPatch()

    + +
    +
    + + + + + +
    + + + + + + + +
    rcHeightPatch::rcHeightPatch ()
    +
    +inline
    +
    + +
    +
    + +

    ◆ ~rcHeightPatch()

    + +
    +
    + + + + + +
    + + + + + + + +
    rcHeightPatch::~rcHeightPatch ()
    +
    +inline
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ data

    + +
    +
    + + + + +
    unsigned short* rcHeightPatch::data
    +
    + +
    +
    + +

    ◆ height

    + +
    +
    + + + + +
    int rcHeightPatch::height
    +
    + +
    +
    + +

    ◆ width

    + +
    +
    + + + + +
    int rcHeightPatch::width
    +
    + +
    +
    + +

    ◆ xmin

    + +
    +
    + + + + +
    int rcHeightPatch::xmin
    +
    + +
    +
    + +

    ◆ ymin

    + +
    +
    + + + + +
    int rcHeightPatch::ymin
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structrcHeightPatch.js b/structrcHeightPatch.js new file mode 100644 index 00000000..4c61de04 --- /dev/null +++ b/structrcHeightPatch.js @@ -0,0 +1,10 @@ +var structrcHeightPatch = +[ + [ "rcHeightPatch", "structrcHeightPatch.html#a7bec65bd5c005d4c47e041596fdf1b8d", null ], + [ "~rcHeightPatch", "structrcHeightPatch.html#aa25fe10c0b9b186192c1fd8b741e6b96", null ], + [ "data", "structrcHeightPatch.html#a02c8a5e18872b3eee023888f0a85adcf", null ], + [ "height", "structrcHeightPatch.html#a6e2f9591899f48231b2d13e87bc5ba6a", null ], + [ "width", "structrcHeightPatch.html#ab26096449132f591083d5355b88953f8", null ], + [ "xmin", "structrcHeightPatch.html#ac8af7bf8fa73d87c84ba155fd48be28a", null ], + [ "ymin", "structrcHeightPatch.html#addd346c10b03e29029ffe5c520e8f66f", null ] +]; \ No newline at end of file diff --git a/structrcHeightfield-members.html b/structrcHeightfield-members.html new file mode 100644 index 00000000..3258c359 --- /dev/null +++ b/structrcHeightfield-members.html @@ -0,0 +1,117 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    rcHeightfield Member List
    +
    + +
    + + + + + diff --git a/structrcHeightfield.html b/structrcHeightfield.html new file mode 100644 index 00000000..4f238d6d --- /dev/null +++ b/structrcHeightfield.html @@ -0,0 +1,376 @@ + + + + + + + +Recast Navigation: rcHeightfield Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    rcHeightfield Struct Reference
    +
    +
    + +

    A dynamic heightfield representing obstructed space. + More...

    + +

    #include <Recast.h>

    + + + + + + +

    +Public Member Functions

     rcHeightfield ()
     
     ~rcHeightfield ()
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    int width
     The width of the heightfield. (Along the x-axis in cell units.) More...
     
    int height
     The height of the heightfield. (Along the z-axis in cell units.) More...
     
    float bmin [3]
     The minimum bounds in world space. [(x, y, z)]. More...
     
    float bmax [3]
     The maximum bounds in world space. [(x, y, z)]. More...
     
    float cs
     The size of each cell. (On the xz-plane.) More...
     
    float ch
     The height of each cell. (The minimum increment along the y-axis.) More...
     
    rcSpan ** spans
     Heightfield of spans (width*height). More...
     
    rcSpanPoolpools
     Linked list of span pools. More...
     
    rcSpanfreelist
     The next free span. More...
     
    +

    Description

    +

    A dynamic heightfield representing obstructed space.

    +
    +

    The grid of a heightfield is layed out on the xz-plane based on the value of cs. Spans exist within the grid columns with the span min/max values at increments of ch from the base of the grid. The smallest possible span size is (cs width) * (cs depth) * (ch height). (Which is a single voxel.)

    +

    The standard process for buidling a heightfield is to allocate it using rcAllocHeightfield, initialize it using rcCreateHeightfield, then add spans using the various helper functions such as rcRasterizeTriangle.

    +

    Building a heightfield is one of the first steps in creating a polygon mesh from source geometry. After it is populated, it is used to build a rcCompactHeightfield.

    +

    Example of iterating the spans in a heightfield:

    // Where hf is a reference to an heightfield object.
    +
    +
    const float* orig = hf.bmin;
    +
    const float cs = hf.cs;
    +
    const float ch = hf.ch;
    +
    +
    const int w = hf.width;
    +
    const int h = hf.height;
    +
    +
    for (int y = 0; y < h; ++y)
    +
    {
    +
    for (int x = 0; x < w; ++x)
    +
    {
    +
    // Deriving the minimum corner of the grid location.
    +
    float fx = orig[0] + x*cs;
    +
    float fz = orig[2] + y*cs;
    +
    // The base span in the column. (May be null.)
    +
    const rcSpan* s = hf.spans[x + y*w];
    +
    while (s)
    +
    {
    +
    // Detriving the minium and maximum world position of the span.
    +
    float fymin = orig[1]+s->smin*ch;
    +
    float fymax = orig[1] + s->smax*ch;
    +
    // Do other things with the span before moving up the column.
    +
    s = s->next;
    +
    }
    +
    }
    +
    }
    +
    float ch
    The height of each cell. (The minimum increment along the y-axis.)
    Definition: Recast.h:322
    +
    float cs
    The size of each cell. (On the xz-plane.)
    Definition: Recast.h:321
    +
    Represents a span in a heightfield.
    Definition: Recast.h:295
    +
    rcSpan * next
    The next span higher up in column.
    Definition: Recast.h:299
    +
    unsigned int smax
    The upper limit of the span. [Limit: <= RC_SPAN_MAX_HEIGHT].
    Definition: Recast.h:297
    +
    unsigned int smin
    The lower limit of the span. [Limit: < smax].
    Definition: Recast.h:296
    +
    See also
    rcAllocHeightfield, rcFreeHeightField, rcCreateHeightfield
    +

    Constructor & Destructor Documentation

    + +

    ◆ rcHeightfield()

    + +
    +
    + + + + + + + +
    rcHeightfield::rcHeightfield ()
    +
    + +
    +
    + +

    ◆ ~rcHeightfield()

    + +
    +
    + + + + + + + +
    rcHeightfield::~rcHeightfield ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ bmax

    + +
    +
    + + + + +
    float rcHeightfield::bmax[3]
    +
    + +

    The maximum bounds in world space. [(x, y, z)].

    + +
    +
    + +

    ◆ bmin

    + +
    +
    + + + + +
    float rcHeightfield::bmin[3]
    +
    + +

    The minimum bounds in world space. [(x, y, z)].

    + +
    +
    + +

    ◆ ch

    + +
    +
    + + + + +
    float rcHeightfield::ch
    +
    + +

    The height of each cell. (The minimum increment along the y-axis.)

    + +
    +
    + +

    ◆ cs

    + +
    +
    + + + + +
    float rcHeightfield::cs
    +
    + +

    The size of each cell. (On the xz-plane.)

    + +
    +
    + +

    ◆ freelist

    + +
    +
    + + + + +
    rcSpan* rcHeightfield::freelist
    +
    + +

    The next free span.

    + +
    +
    + +

    ◆ height

    + +
    +
    + + + + +
    int rcHeightfield::height
    +
    + +

    The height of the heightfield. (Along the z-axis in cell units.)

    + +
    +
    + +

    ◆ pools

    + +
    +
    + + + + +
    rcSpanPool* rcHeightfield::pools
    +
    + +

    Linked list of span pools.

    + +
    +
    + +

    ◆ spans

    + +
    +
    + + + + +
    rcSpan** rcHeightfield::spans
    +
    + +

    Heightfield of spans (width*height).

    + +
    +
    + +

    ◆ width

    + +
    +
    + + + + +
    int rcHeightfield::width
    +
    + +

    The width of the heightfield. (Along the x-axis in cell units.)

    + +
    +
    +
    The documentation for this struct was generated from the following files: +
    +
    + + + + + diff --git a/structrcHeightfield.js b/structrcHeightfield.js new file mode 100644 index 00000000..8b2937c7 --- /dev/null +++ b/structrcHeightfield.js @@ -0,0 +1,14 @@ +var structrcHeightfield = +[ + [ "rcHeightfield", "structrcHeightfield.html#acfb6e103d887102196c69f1e28954cd4", null ], + [ "~rcHeightfield", "structrcHeightfield.html#aa8ba94f263c970d09881d362c0a1b38a", null ], + [ "bmax", "structrcHeightfield.html#a4da9e52fc907522aae0364fad9e865f7", null ], + [ "bmin", "structrcHeightfield.html#a0158658d3487f7531364a84887fc2bce", null ], + [ "ch", "structrcHeightfield.html#a23488349cb552d5410e29d089234effc", null ], + [ "cs", "structrcHeightfield.html#a3f28962585b2f726d809b1a86b925edb", null ], + [ "freelist", "structrcHeightfield.html#a05dd56e279148e65e9b6820e6c02b908", null ], + [ "height", "structrcHeightfield.html#a568ceeea7acb4ddf67dd78ec4fee7672", null ], + [ "pools", "structrcHeightfield.html#a9808fdf31203f60447a3b9d693a6efc7", null ], + [ "spans", "structrcHeightfield.html#a0fea35ab8365dfcb38c63566abf7f261", null ], + [ "width", "structrcHeightfield.html#a9dd6e386c167f1537e3c7638f6b9a752", null ] +]; \ No newline at end of file diff --git a/structrcHeightfieldLayer-members.html b/structrcHeightfieldLayer-members.html new file mode 100644 index 00000000..7da342dd --- /dev/null +++ b/structrcHeightfieldLayer-members.html @@ -0,0 +1,121 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + + diff --git a/structrcHeightfieldLayer.html b/structrcHeightfieldLayer.html new file mode 100644 index 00000000..9e5506ac --- /dev/null +++ b/structrcHeightfieldLayer.html @@ -0,0 +1,408 @@ + + + + + + + +Recast Navigation: rcHeightfieldLayer Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    rcHeightfieldLayer Struct Reference
    +
    +
    + +

    Represents a heightfield layer within a layer set. + More...

    + +

    #include <Recast.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    float bmin [3]
     The minimum bounds in world space. [(x, y, z)]. More...
     
    float bmax [3]
     The maximum bounds in world space. [(x, y, z)]. More...
     
    float cs
     The size of each cell. (On the xz-plane.) More...
     
    float ch
     The height of each cell. (The minimum increment along the y-axis.) More...
     
    int width
     The width of the heightfield. (Along the x-axis in cell units.) More...
     
    int height
     The height of the heightfield. (Along the z-axis in cell units.) More...
     
    int minx
     The minimum x-bounds of usable data. More...
     
    int maxx
     The maximum x-bounds of usable data. More...
     
    int miny
     The minimum y-bounds of usable data. (Along the z-axis.) More...
     
    int maxy
     The maximum y-bounds of usable data. (Along the z-axis.) More...
     
    int hmin
     The minimum height bounds of usable data. (Along the y-axis.) More...
     
    int hmax
     The maximum height bounds of usable data. (Along the y-axis.) More...
     
    unsigned char * heights
     The heightfield. [Size: width * height]. More...
     
    unsigned char * areas
     Area ids. [Size: Same as heights]. More...
     
    unsigned char * cons
     Packed neighbor connection information. [Size: Same as heights]. More...
     
    +

    Description

    +

    Represents a heightfield layer within a layer set.

    +
    See also
    rcHeightfieldLayerSet
    +

    Member Data Documentation

    + +

    ◆ areas

    + +
    +
    + + + + +
    unsigned char* rcHeightfieldLayer::areas
    +
    + +

    Area ids. [Size: Same as heights].

    + +
    +
    + +

    ◆ bmax

    + +
    +
    + + + + +
    float rcHeightfieldLayer::bmax[3]
    +
    + +

    The maximum bounds in world space. [(x, y, z)].

    + +
    +
    + +

    ◆ bmin

    + +
    +
    + + + + +
    float rcHeightfieldLayer::bmin[3]
    +
    + +

    The minimum bounds in world space. [(x, y, z)].

    + +
    +
    + +

    ◆ ch

    + +
    +
    + + + + +
    float rcHeightfieldLayer::ch
    +
    + +

    The height of each cell. (The minimum increment along the y-axis.)

    + +
    +
    + +

    ◆ cons

    + +
    +
    + + + + +
    unsigned char* rcHeightfieldLayer::cons
    +
    + +

    Packed neighbor connection information. [Size: Same as heights].

    + +
    +
    + +

    ◆ cs

    + +
    +
    + + + + +
    float rcHeightfieldLayer::cs
    +
    + +

    The size of each cell. (On the xz-plane.)

    + +
    +
    + +

    ◆ height

    + +
    +
    + + + + +
    int rcHeightfieldLayer::height
    +
    + +

    The height of the heightfield. (Along the z-axis in cell units.)

    + +
    +
    + +

    ◆ heights

    + +
    +
    + + + + +
    unsigned char* rcHeightfieldLayer::heights
    +
    + +

    The heightfield. [Size: width * height].

    + +
    +
    + +

    ◆ hmax

    + +
    +
    + + + + +
    int rcHeightfieldLayer::hmax
    +
    + +

    The maximum height bounds of usable data. (Along the y-axis.)

    + +
    +
    + +

    ◆ hmin

    + +
    +
    + + + + +
    int rcHeightfieldLayer::hmin
    +
    + +

    The minimum height bounds of usable data. (Along the y-axis.)

    + +
    +
    + +

    ◆ maxx

    + +
    +
    + + + + +
    int rcHeightfieldLayer::maxx
    +
    + +

    The maximum x-bounds of usable data.

    + +
    +
    + +

    ◆ maxy

    + +
    +
    + + + + +
    int rcHeightfieldLayer::maxy
    +
    + +

    The maximum y-bounds of usable data. (Along the z-axis.)

    + +
    +
    + +

    ◆ minx

    + +
    +
    + + + + +
    int rcHeightfieldLayer::minx
    +
    + +

    The minimum x-bounds of usable data.

    + +
    +
    + +

    ◆ miny

    + +
    +
    + + + + +
    int rcHeightfieldLayer::miny
    +
    + +

    The minimum y-bounds of usable data. (Along the z-axis.)

    + +
    +
    + +

    ◆ width

    + +
    +
    + + + + +
    int rcHeightfieldLayer::width
    +
    + +

    The width of the heightfield. (Along the x-axis in cell units.)

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structrcHeightfieldLayer.js b/structrcHeightfieldLayer.js new file mode 100644 index 00000000..b9ebd565 --- /dev/null +++ b/structrcHeightfieldLayer.js @@ -0,0 +1,18 @@ +var structrcHeightfieldLayer = +[ + [ "areas", "structrcHeightfieldLayer.html#a82606c7d0d590c924d49e84698452353", null ], + [ "bmax", "structrcHeightfieldLayer.html#a11c82fbf9e04182a0be7b6c877f7029c", null ], + [ "bmin", "structrcHeightfieldLayer.html#aaca8964dd736b356e4ee2c0dcd4b1208", null ], + [ "ch", "structrcHeightfieldLayer.html#a4e3df2893e1773e801e6f41d077715d6", null ], + [ "cons", "structrcHeightfieldLayer.html#a48ca9f0db5708d03fe043e54bc515199", null ], + [ "cs", "structrcHeightfieldLayer.html#af0311febcc96aa2a2b611e0a65478f49", null ], + [ "height", "structrcHeightfieldLayer.html#a58d4448da1f29c63229a11ffc886b351", null ], + [ "heights", "structrcHeightfieldLayer.html#ac524f9b2f07bd31eba6a9ef72c2f2d0b", null ], + [ "hmax", "structrcHeightfieldLayer.html#a95365db6dde274d1722aec90ade7a8c8", null ], + [ "hmin", "structrcHeightfieldLayer.html#a6ddd970ccf1cd15048ac535f9f75d083", null ], + [ "maxx", "structrcHeightfieldLayer.html#ab0b3836202050d3a701d2e3cfba8d9ab", null ], + [ "maxy", "structrcHeightfieldLayer.html#ad697fc4a8a65c2b1ef1f976097ee2b3f", null ], + [ "minx", "structrcHeightfieldLayer.html#adcd87e9ea184d277f36eea61314f6f4a", null ], + [ "miny", "structrcHeightfieldLayer.html#af5df0f6946f89193ca1c3e5c6f9ab49b", null ], + [ "width", "structrcHeightfieldLayer.html#a6904f7a9539c4a5f88c2f134ac7b8649", null ] +]; \ No newline at end of file diff --git a/structrcHeightfieldLayerSet-members.html b/structrcHeightfieldLayerSet-members.html new file mode 100644 index 00000000..880aa0a9 --- /dev/null +++ b/structrcHeightfieldLayerSet-members.html @@ -0,0 +1,110 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    rcHeightfieldLayerSet Member List
    +
    + +
    + + + + + diff --git a/structrcHeightfieldLayerSet.html b/structrcHeightfieldLayerSet.html new file mode 100644 index 00000000..b5f630dc --- /dev/null +++ b/structrcHeightfieldLayerSet.html @@ -0,0 +1,206 @@ + + + + + + + +Recast Navigation: rcHeightfieldLayerSet Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    rcHeightfieldLayerSet Struct Reference
    +
    +
    + +

    Represents a set of heightfield layers. + More...

    + +

    #include <Recast.h>

    + + + + + + +

    +Public Member Functions

     rcHeightfieldLayerSet ()
     
     ~rcHeightfieldLayerSet ()
     
    + + + + + + + +

    +Public Attributes

    rcHeightfieldLayerlayers
     The layers in the set. [Size: nlayers]. More...
     
    int nlayers
     The number of layers in the set. More...
     
    +

    Description

    +

    Represents a set of heightfield layers.

    +
    See also
    rcAllocHeightfieldLayerSet, rcFreeHeightfieldLayerSet
    +
    +

    Constructor & Destructor Documentation

    + +

    ◆ rcHeightfieldLayerSet()

    + +
    +
    + + + + + + + +
    rcHeightfieldLayerSet::rcHeightfieldLayerSet ()
    +
    + +
    +
    + +

    ◆ ~rcHeightfieldLayerSet()

    + +
    +
    + + + + + + + +
    rcHeightfieldLayerSet::~rcHeightfieldLayerSet ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ layers

    + +
    +
    + + + + +
    rcHeightfieldLayer* rcHeightfieldLayerSet::layers
    +
    + +

    The layers in the set. [Size: nlayers].

    + +
    +
    + +

    ◆ nlayers

    + +
    +
    + + + + +
    int rcHeightfieldLayerSet::nlayers
    +
    + +

    The number of layers in the set.

    + +
    +
    +
    The documentation for this struct was generated from the following files: +
    +
    + + + + + diff --git a/structrcHeightfieldLayerSet.js b/structrcHeightfieldLayerSet.js new file mode 100644 index 00000000..b26d2cbb --- /dev/null +++ b/structrcHeightfieldLayerSet.js @@ -0,0 +1,7 @@ +var structrcHeightfieldLayerSet = +[ + [ "rcHeightfieldLayerSet", "structrcHeightfieldLayerSet.html#a5c4ff4d898a2f7e014439ac1c8e98e6f", null ], + [ "~rcHeightfieldLayerSet", "structrcHeightfieldLayerSet.html#ac54454771247c643b7978a347051a523", null ], + [ "layers", "structrcHeightfieldLayerSet.html#a9ce20a3ccd65f24b6704e57768c2ea5c", null ], + [ "nlayers", "structrcHeightfieldLayerSet.html#aee43327ad152d5dea25ed5299f38101a", null ] +]; \ No newline at end of file diff --git a/structrcLayerRegion-members.html b/structrcLayerRegion-members.html new file mode 100644 index 00000000..e7e33360 --- /dev/null +++ b/structrcLayerRegion-members.html @@ -0,0 +1,114 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    rcLayerRegion Member List
    +
    + +
    + + + + + diff --git a/structrcLayerRegion.html b/structrcLayerRegion.html new file mode 100644 index 00000000..cfdddbc0 --- /dev/null +++ b/structrcLayerRegion.html @@ -0,0 +1,243 @@ + + + + + + + +Recast Navigation: rcLayerRegion Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    rcLayerRegion Struct Reference
    +
    +
    + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    unsigned char layers [RC_MAX_LAYERS]
     
    unsigned char neis [RC_MAX_NEIS]
     
    unsigned short ymin
     
    unsigned short ymax
     
    unsigned char layerId
     
    unsigned char nlayers
     
    unsigned char nneis
     
    unsigned char base
     
    +

    Member Data Documentation

    + +

    ◆ base

    + +
    +
    + + + + +
    unsigned char rcLayerRegion::base
    +
    + +
    +
    + +

    ◆ layerId

    + +
    +
    + + + + +
    unsigned char rcLayerRegion::layerId
    +
    + +
    +
    + +

    ◆ layers

    + +
    +
    + + + + +
    unsigned char rcLayerRegion::layers[RC_MAX_LAYERS]
    +
    + +
    +
    + +

    ◆ neis

    + +
    +
    + + + + +
    unsigned char rcLayerRegion::neis[RC_MAX_NEIS]
    +
    + +
    +
    + +

    ◆ nlayers

    + +
    +
    + + + + +
    unsigned char rcLayerRegion::nlayers
    +
    + +
    +
    + +

    ◆ nneis

    + +
    +
    + + + + +
    unsigned char rcLayerRegion::nneis
    +
    + +
    +
    + +

    ◆ ymax

    + +
    +
    + + + + +
    unsigned short rcLayerRegion::ymax
    +
    + +
    +
    + +

    ◆ ymin

    + +
    +
    + + + + +
    unsigned short rcLayerRegion::ymin
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structrcLayerRegion.js b/structrcLayerRegion.js new file mode 100644 index 00000000..21c62413 --- /dev/null +++ b/structrcLayerRegion.js @@ -0,0 +1,11 @@ +var structrcLayerRegion = +[ + [ "base", "structrcLayerRegion.html#ad49bf74284d20c2d7c3ef56f6b4c589f", null ], + [ "layerId", "structrcLayerRegion.html#a98aa2992acd9a6ebcf57a401182e6b1b", null ], + [ "layers", "structrcLayerRegion.html#aba2653474f31343b075cb51167276b09", null ], + [ "neis", "structrcLayerRegion.html#a4ecba0bd9f4f46d3c349f96670c7ba05", null ], + [ "nlayers", "structrcLayerRegion.html#a6c0f115441207bdf6eb739a000229bb2", null ], + [ "nneis", "structrcLayerRegion.html#ac8dbef0b5cc388f6fb6492a7a4192c61", null ], + [ "ymax", "structrcLayerRegion.html#ac62ab3eceaca8cb92f3b72c9ef697bb4", null ], + [ "ymin", "structrcLayerRegion.html#a5d6ec3a8040c16fd837ea4e06264044c", null ] +]; \ No newline at end of file diff --git a/structrcLayerSweepSpan-members.html b/structrcLayerSweepSpan-members.html new file mode 100644 index 00000000..77829fee --- /dev/null +++ b/structrcLayerSweepSpan-members.html @@ -0,0 +1,109 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    rcLayerSweepSpan Member List
    +
    +
    + +

    This is the complete list of members for rcLayerSweepSpan, including all inherited members.

    + + + + +
    idrcLayerSweepSpan
    neircLayerSweepSpan
    nsrcLayerSweepSpan
    +
    + + + + + diff --git a/structrcLayerSweepSpan.html b/structrcLayerSweepSpan.html new file mode 100644 index 00000000..b3de726a --- /dev/null +++ b/structrcLayerSweepSpan.html @@ -0,0 +1,163 @@ + + + + + + + +Recast Navigation: rcLayerSweepSpan Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    rcLayerSweepSpan Struct Reference
    +
    +
    + + + + + + + + +

    +Public Attributes

    unsigned short ns
     
    unsigned char id
     
    unsigned char nei
     
    +

    Member Data Documentation

    + +

    ◆ id

    + +
    +
    + + + + +
    unsigned char rcLayerSweepSpan::id
    +
    + +
    +
    + +

    ◆ nei

    + +
    +
    + + + + +
    unsigned char rcLayerSweepSpan::nei
    +
    + +
    +
    + +

    ◆ ns

    + +
    +
    + + + + +
    unsigned short rcLayerSweepSpan::ns
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structrcLayerSweepSpan.js b/structrcLayerSweepSpan.js new file mode 100644 index 00000000..588f0b25 --- /dev/null +++ b/structrcLayerSweepSpan.js @@ -0,0 +1,6 @@ +var structrcLayerSweepSpan = +[ + [ "id", "structrcLayerSweepSpan.html#a16f6f61547ed2e1c6f22b6e17810785e", null ], + [ "nei", "structrcLayerSweepSpan.html#ae002a2c1f59bcd05df6661734ba7e466", null ], + [ "ns", "structrcLayerSweepSpan.html#a7106ea090c417b32ef87c78a3940b997", null ] +]; \ No newline at end of file diff --git a/structrcNewTag.html b/structrcNewTag.html new file mode 100644 index 00000000..e64481a8 --- /dev/null +++ b/structrcNewTag.html @@ -0,0 +1,115 @@ + + + + + + + +Recast Navigation: rcNewTag Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    rcNewTag Struct Reference
    +
    +
    + +

    An implementation of operator new usable for placement new. + More...

    + +

    #include <RecastAlloc.h>

    +

    Description

    +

    An implementation of operator new usable for placement new.

    +

    The default one is part of STL (which we don't use). rcNewTag is a dummy type used to differentiate our operator from the STL one, in case users import both Recast and STL.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structrcPolyMesh-members.html b/structrcPolyMesh-members.html new file mode 100644 index 00000000..7ce00521 --- /dev/null +++ b/structrcPolyMesh-members.html @@ -0,0 +1,123 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + + diff --git a/structrcPolyMesh.html b/structrcPolyMesh.html new file mode 100644 index 00000000..07e723e0 --- /dev/null +++ b/structrcPolyMesh.html @@ -0,0 +1,517 @@ + + + + + + + +Recast Navigation: rcPolyMesh Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    rcPolyMesh Struct Reference
    +
    +
    + +

    Represents a polygon mesh suitable for use in building a navigation mesh. + More...

    + +

    #include <Recast.h>

    + + + + + + +

    +Public Member Functions

     rcPolyMesh ()
     
     ~rcPolyMesh ()
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    unsigned short * verts
     The mesh vertices. [Form: (x, y, z) * nverts]. More...
     
    unsigned short * polys
     Polygon and neighbor data. [Length: maxpolys * 2 * nvp]. More...
     
    unsigned short * regs
     The region id assigned to each polygon. [Length: maxpolys]. More...
     
    unsigned short * flags
     The user defined flags for each polygon. [Length: maxpolys]. More...
     
    unsigned char * areas
     The area id assigned to each polygon. [Length: maxpolys]. More...
     
    int nverts
     The number of vertices. More...
     
    int npolys
     The number of polygons. More...
     
    int maxpolys
     The number of allocated polygons. More...
     
    int nvp
     The maximum number of vertices per polygon. More...
     
    float bmin [3]
     The minimum bounds in world space. [(x, y, z)]. More...
     
    float bmax [3]
     The maximum bounds in world space. [(x, y, z)]. More...
     
    float cs
     The size of each cell. (On the xz-plane.) More...
     
    float ch
     The height of each cell. (The minimum increment along the y-axis.) More...
     
    int borderSize
     The AABB border size used to generate the source data from which the mesh was derived. More...
     
    float maxEdgeError
     The max error of the polygon edges in the mesh. More...
     
    +

    Description

    +

    Represents a polygon mesh suitable for use in building a navigation mesh.

    +
    +

    A mesh of potentially overlapping convex polygons of between three and nvp vertices. The mesh exists within the context of an axis-aligned bounding box (AABB) with vertices laid out in an evenly spaced grid, based on the values of cs and ch.

    +

    The standard process for building a contour set is to allocate it using rcAllocPolyMesh, the initialize it using rcBuildPolyMesh

    +

    Example of iterating the polygons:

    +
    // Where mesh is a reference to a rcPolyMesh object.
    +
    +
    const int nvp = mesh.nvp;
    +
    const float cs = mesh.cs;
    +
    const float ch = mesh.ch;
    +
    const float* orig = mesh.bmin;
    +
    +
    for (int i = 0; i < mesh.npolys; ++i)
    +
    {
    +
    const unsigned short* p = &mesh.polys[i*nvp*2];
    +
    +
    // Iterate the vertices.
    +
    unsigned short vi[3]; // The vertex indices.
    +
    for (int j = 0; j < nvp; ++j)
    +
    {
    +
    if (p[j] == RC_MESH_NULL_IDX)
    +
    break; // End of vertices.
    +
    +
    if (p[j + nvp] == RC_MESH_NULL_IDX)
    +
    {
    +
    // The edge beginning with this vertex is a solid border.
    +
    }
    +
    else
    +
    {
    +
    // The edge beginning with this vertex connects to
    +
    // polygon p[j + nvp].
    +
    }
    +
    +
    // Convert to world space.
    +
    const unsigned short* v = &mesh.verts[p[j]*3];
    +
    const float x = orig[0] + v[0]*cs;
    +
    const float y = orig[1] + v[1]*ch;
    +
    const float z = orig[2] + v[2]*cs;
    +
    // Do something with the vertices.
    +
    }
    +
    }
    +
    static const unsigned short RC_MESH_NULL_IDX
    An value which indicates an invalid index within a mesh.
    Definition: Recast.h:628
    +
    float cs
    The size of each cell. (On the xz-plane.)
    Definition: Recast.h:470
    +
    float ch
    The height of each cell. (The minimum increment along the y-axis.)
    Definition: Recast.h:471
    +
    int nvp
    The maximum number of vertices per polygon.
    Definition: Recast.h:467
    +
    See also
    rcAllocPolyMesh, rcFreePolyMesh, rcBuildPolyMesh
    +

    Constructor & Destructor Documentation

    + +

    ◆ rcPolyMesh()

    + +
    +
    + + + + + + + +
    rcPolyMesh::rcPolyMesh ()
    +
    + +
    +
    + +

    ◆ ~rcPolyMesh()

    + +
    +
    + + + + + + + +
    rcPolyMesh::~rcPolyMesh ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ areas

    + +
    +
    + + + + +
    rcPolyMesh::areas
    +
    + +

    The area id assigned to each polygon. [Length: maxpolys].

    +
    +

    The standard build process assigns the value of RC_WALKABLE_AREA to all walkable polygons. This value can then be changed to meet user requirements.

    + +
    +
    + +

    ◆ bmax

    + +
    +
    + + + + +
    float rcPolyMesh::bmax[3]
    +
    + +

    The maximum bounds in world space. [(x, y, z)].

    + +
    +
    + +

    ◆ bmin

    + +
    +
    + + + + +
    float rcPolyMesh::bmin[3]
    +
    + +

    The minimum bounds in world space. [(x, y, z)].

    + +
    +
    + +

    ◆ borderSize

    + +
    +
    + + + + +
    int rcPolyMesh::borderSize
    +
    + +

    The AABB border size used to generate the source data from which the mesh was derived.

    + +
    +
    + +

    ◆ ch

    + +
    +
    + + + + +
    float rcPolyMesh::ch
    +
    + +

    The height of each cell. (The minimum increment along the y-axis.)

    + +
    +
    + +

    ◆ cs

    + +
    +
    + + + + +
    float rcPolyMesh::cs
    +
    + +

    The size of each cell. (On the xz-plane.)

    + +
    +
    + +

    ◆ flags

    + +
    +
    + + + + +
    unsigned short* rcPolyMesh::flags
    +
    + +

    The user defined flags for each polygon. [Length: maxpolys].

    + +
    +
    + +

    ◆ maxEdgeError

    + +
    +
    + + + + +
    float rcPolyMesh::maxEdgeError
    +
    + +

    The max error of the polygon edges in the mesh.

    + +
    +
    + +

    ◆ maxpolys

    + +
    +
    + + + + +
    int rcPolyMesh::maxpolys
    +
    + +

    The number of allocated polygons.

    + +
    +
    + +

    ◆ npolys

    + +
    +
    + + + + +
    int rcPolyMesh::npolys
    +
    + +

    The number of polygons.

    + +
    +
    + +

    ◆ nverts

    + +
    +
    + + + + +
    int rcPolyMesh::nverts
    +
    + +

    The number of vertices.

    + +
    +
    + +

    ◆ nvp

    + +
    +
    + + + + +
    int rcPolyMesh::nvp
    +
    + +

    The maximum number of vertices per polygon.

    + +
    +
    + +

    ◆ polys

    + +
    +
    + + + + +
    rcPolyMesh::polys
    +
    + +

    Polygon and neighbor data. [Length: maxpolys * 2 * nvp].

    +
    +

    Each entry is 2 * nvp in length. The first half of the entry contains the indices of the polygon. The first instance of RC_MESH_NULL_IDX indicates the end of the indices for the entry. The second half contains indices to neighbor polygons. A value of RC_MESH_NULL_IDX indicates no connection for the associated edge. (I.e. The edge is a solid border.)

    +

    For example:

    +nvp = 6
    +For the entry: (1, 3, 4, 8, RC_MESH_NULL_IDX, RC_MESH_NULL_IDX, 
    +                18, RC_MESH_NULL_IDX , 21, RC_MESH_NULL_IDX, RC_MESH_NULL_IDX, RC_MESH_NULL_IDX)
    +
    +(1, 3, 4, 8) defines a polygon with 4 vertices.
    +Edge 1->3 is shared with polygon 18.
    +Edge 4->8 is shared with polygon 21.
    +Edges 3->4 and 4->8 are border edges not shared with any other polygon.
    +
    +
    +
    + +

    ◆ regs

    + +
    +
    + + + + +
    unsigned short* rcPolyMesh::regs
    +
    + +

    The region id assigned to each polygon. [Length: maxpolys].

    + +
    +
    + +

    ◆ verts

    + +
    +
    + + + + +
    rcPolyMesh::verts
    +
    + +

    The mesh vertices. [Form: (x, y, z) * nverts].

    +
    +

    The values of bmin ,cs, and ch are used to convert vertex coordinates to world space as follows:

    +
    float worldX = bmin[0] + verts[i*3+0] * cs
    +
    float worldY = bmin[1] + verts[i*3+1] * ch
    +
    float worldZ = bmin[2] + verts[i*3+2] * cs
    +
    float bmin[3]
    The minimum bounds in world space. [(x, y, z)].
    Definition: Recast.h:468
    +
    unsigned short * verts
    The mesh vertices. [Form: (x, y, z) * nverts].
    Definition: Recast.h:459
    +
    +
    +
    +
    The documentation for this struct was generated from the following files: +
    +
    + + + + + diff --git a/structrcPolyMesh.js b/structrcPolyMesh.js new file mode 100644 index 00000000..b01f1c3d --- /dev/null +++ b/structrcPolyMesh.js @@ -0,0 +1,20 @@ +var structrcPolyMesh = +[ + [ "rcPolyMesh", "structrcPolyMesh.html#a219af1d7c18ebc7cea0d845c76166123", null ], + [ "~rcPolyMesh", "structrcPolyMesh.html#a414a3bc052e13abf77d731da160823d4", null ], + [ "areas", "structrcPolyMesh.html#aa08d7da4e0c97f57151f93d9a7d46bde", null ], + [ "bmax", "structrcPolyMesh.html#aabdf91f888b1c2dacd077a339a6df3a4", null ], + [ "bmin", "structrcPolyMesh.html#a63625dd55ca66c97ca29a87a5455cc27", null ], + [ "borderSize", "structrcPolyMesh.html#a9f367a88b878ce8029b9709fb27b878b", null ], + [ "ch", "structrcPolyMesh.html#aa1ba795ddbb893da041b2a5273716ac5", null ], + [ "cs", "structrcPolyMesh.html#a4c3ca520c55f96037cffcf6a92809563", null ], + [ "flags", "structrcPolyMesh.html#ab91ec949432297f7d0341a6ba9c88288", null ], + [ "maxEdgeError", "structrcPolyMesh.html#ab26e9ea24492a2c45b1a2d71ccdb091d", null ], + [ "maxpolys", "structrcPolyMesh.html#afc6261e7cee3e3ff2a83b6ee8baf14a9", null ], + [ "npolys", "structrcPolyMesh.html#abd3e50c1eb0aba7157aa3e2902ae019e", null ], + [ "nverts", "structrcPolyMesh.html#ac9c762a21343c45649638e02332e53eb", null ], + [ "nvp", "structrcPolyMesh.html#ab0c55272b556ffc9db9e643b463cb66a", null ], + [ "polys", "structrcPolyMesh.html#a74e59a4854036ac66dfac9761b9f59b2", null ], + [ "regs", "structrcPolyMesh.html#a9ae584e99de152fb89d957d43b7becd8", null ], + [ "verts", "structrcPolyMesh.html#ac8cdf528edb57061e975eae22d45c4b7", null ] +]; \ No newline at end of file diff --git a/structrcPolyMeshDetail-members.html b/structrcPolyMeshDetail-members.html new file mode 100644 index 00000000..07bda397 --- /dev/null +++ b/structrcPolyMeshDetail-members.html @@ -0,0 +1,113 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    rcPolyMeshDetail Member List
    +
    + +
    + + + + + diff --git a/structrcPolyMeshDetail.html b/structrcPolyMeshDetail.html new file mode 100644 index 00000000..61391135 --- /dev/null +++ b/structrcPolyMeshDetail.html @@ -0,0 +1,321 @@ + + + + + + + +Recast Navigation: rcPolyMeshDetail Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    rcPolyMeshDetail Struct Reference
    +
    +
    + +

    Contains triangle meshes that represent detailed height data associated with the polygons in its associated polygon mesh object. + More...

    + +

    #include <Recast.h>

    + + + + +

    +Public Member Functions

     rcPolyMeshDetail ()
     
    + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    unsigned int * meshes
     The sub-mesh data. [Size: 4*nmeshes]. More...
     
    float * verts
     The mesh vertices. [Size: 3*nverts]. More...
     
    unsigned char * tris
     The mesh triangles. [Size: 4*ntris]. More...
     
    int nmeshes
     The number of sub-meshes defined by meshes. More...
     
    int nverts
     The number of vertices in verts. More...
     
    int ntris
     The number of triangles in tris. More...
     
    +

    Description

    +

    Contains triangle meshes that represent detailed height data associated with the polygons in its associated polygon mesh object.

    +
    +

    The detail mesh is made up of triangle sub-meshes that provide extra height detail for each polygon in its assoicated polygon mesh.

    +

    The standard process for building a detail mesh is to allocate it using rcAllocPolyMeshDetail, then build it using rcBuildPolyMeshDetail.

    +

    See the individual field definitions for details realted to the structure the mesh.

    +
    See also
    rcAllocPolyMeshDetail, rcFreePolyMeshDetail, rcBuildPolyMeshDetail, rcPolyMesh
    +

    Constructor & Destructor Documentation

    + +

    ◆ rcPolyMeshDetail()

    + +
    +
    + + + + + + + +
    rcPolyMeshDetail::rcPolyMeshDetail ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ meshes

    + +
    +
    + + + + +
    rcPolyMeshDetail::meshes
    +
    + +

    The sub-mesh data. [Size: 4*nmeshes].

    +
    +

    [(baseVertIndex, vertCount, baseTriIndex, triCount) * nmeshes]

    +

    Maximum number of vertices per sub-mesh: 127
    + Maximum number of triangles per sub-mesh: 255

    +

    The sub-meshes are stored in the same order as the polygons from the rcPolyMesh they represent. E.g. rcPolyMeshDetail sub-mesh 5 is associated with rcPolyMesh polygon 5.

    +

    Example of iterating the triangles in a sub-mesh.

    +
    // Where dmesh is a reference to a rcPolyMeshDetail object.
    +
    +
    // Iterate the sub-meshes. (One for each source polygon.)
    +
    for (int i = 0; i < dmesh.nmeshes; ++i)
    +
    {
    +
    const unsigned int* meshDef = &dmesh.meshes[i*4];
    +
    const unsigned int baseVerts = meshDef[0];
    +
    const unsigned int baseTri = meshDef[2];
    +
    const int ntris = (int)meshDef[3];
    +
    +
    const float* verts = &dmesh.verts[baseVerts*3];
    +
    const unsigned char* tris = &dmesh.tris[baseTri*4];
    +
    +
    // Iterate the sub-mesh's triangles.
    +
    for (int j = 0; j < ntris; ++j)
    +
    {
    +
    const float x = verts[tris[j*4+0]*3];
    +
    const float y = verts[tris[j*4+1]*3];
    +
    const float z = verts[tris[j*4+2]*3];
    +
    // Do something with the vertex.
    +
    }
    +
    }
    +
    unsigned char * tris
    The mesh triangles. [Size: 4*ntris].
    Definition: Recast.h:490
    +
    float * verts
    The mesh vertices. [Size: 3*nverts].
    Definition: Recast.h:489
    +
    int ntris
    The number of triangles in tris.
    Definition: Recast.h:493
    +
    +
    +
    + +

    ◆ nmeshes

    + +
    +
    + + + + +
    int rcPolyMeshDetail::nmeshes
    +
    + +

    The number of sub-meshes defined by meshes.

    + +
    +
    + +

    ◆ ntris

    + +
    +
    + + + + +
    int rcPolyMeshDetail::ntris
    +
    + +

    The number of triangles in tris.

    + +
    +
    + +

    ◆ nverts

    + +
    +
    + + + + +
    int rcPolyMeshDetail::nverts
    +
    + +

    The number of vertices in verts.

    + +
    +
    + +

    ◆ tris

    + +
    +
    + + + + +
    rcPolyMeshDetail::tris
    +
    + +

    The mesh triangles. [Size: 4*ntris].

    +
    +

    [(vertIndexA, vertIndexB, vertIndexC, flags) * ntris]

    +

    The triangles are grouped by sub-mesh.

    +

    Vertex Indices

    +

    The vertex indices in the triangle array are local to the sub-mesh, not global. To translate into an global index in the vertices array, the values must be offset by the sub-mesh's base vertex index.

    +

    Example: If the baseVertexIndex for the sub-mesh is 5 and the triangle entry is (4, 8, 7, 0), then the actual indices for the vertices are (4 + 5, 8 + 5, 7 + 5).

    +

    Flags

    +

    The flags entry indicates which edges are internal and which are external to the sub-mesh. Internal edges connect to other triangles within the same sub-mesh. External edges represent portals to other sub-meshes or the null region.

    +

    Each flag is stored in a 2-bit position. Where position 0 is the lowest 2-bits and position 4 is the highest 2-bits:

    +

    Position 0: Edge AB (>> 0)
    + Position 1: Edge BC (>> 2)
    + Position 2: Edge CA (>> 4)
    + Position 4: Unused
    +

    +

    Testing can be performed as follows:

    +
    if (((flags >> 2) & 0x3) != 0)
    +
    {
    +
    // Edge BC is an external edge.
    +
    }
    +
    +
    +
    + +

    ◆ verts

    + +
    +
    + + + + +
    rcPolyMeshDetail::verts
    +
    + +

    The mesh vertices. [Size: 3*nverts].

    +
    +

    [(x, y, z) * nverts]

    +

    The vertices are grouped by sub-mesh and will contain duplicates since each sub-mesh is independently defined.

    +

    The first group of vertices for each sub-mesh are in the same order as the vertices for the sub-mesh's associated PolyMesh polygon. These vertices are followed by any additional detail vertices. So it the associated polygon has 5 vertices, the sub-mesh will have a minimum of 5 vertices and the first 5 vertices will be equivalent to the 5 polygon vertices.

    + +
    +
    +
    The documentation for this struct was generated from the following files: +
    +
    + + + + + diff --git a/structrcPolyMeshDetail.js b/structrcPolyMeshDetail.js new file mode 100644 index 00000000..b733ead8 --- /dev/null +++ b/structrcPolyMeshDetail.js @@ -0,0 +1,10 @@ +var structrcPolyMeshDetail = +[ + [ "rcPolyMeshDetail", "structrcPolyMeshDetail.html#ac19c2eb106a9a9bd40e15f16fd847c84", null ], + [ "meshes", "structrcPolyMeshDetail.html#a39a0a4bdfaf81025dfd5c6efc17a9f02", null ], + [ "nmeshes", "structrcPolyMeshDetail.html#afbe7e21cf0f9dca429c6762f457f61b6", null ], + [ "ntris", "structrcPolyMeshDetail.html#a80041af5ae32e618d4980cd81a08c9e3", null ], + [ "nverts", "structrcPolyMeshDetail.html#a5424a45b24c43d49d93d89e89f11b59f", null ], + [ "tris", "structrcPolyMeshDetail.html#a05e186a92fad184179c726debb033979", null ], + [ "verts", "structrcPolyMeshDetail.html#a14af552d094aa71551d296f278861806", null ] +]; \ No newline at end of file diff --git a/structrcPotentialDiagonal-members.html b/structrcPotentialDiagonal-members.html new file mode 100644 index 00000000..2d53219e --- /dev/null +++ b/structrcPotentialDiagonal-members.html @@ -0,0 +1,108 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    rcPotentialDiagonal Member List
    +
    +
    + +

    This is the complete list of members for rcPotentialDiagonal, including all inherited members.

    + + + +
    distrcPotentialDiagonal
    vertrcPotentialDiagonal
    +
    + + + + + diff --git a/structrcPotentialDiagonal.html b/structrcPotentialDiagonal.html new file mode 100644 index 00000000..8431a43a --- /dev/null +++ b/structrcPotentialDiagonal.html @@ -0,0 +1,147 @@ + + + + + + + +Recast Navigation: rcPotentialDiagonal Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    rcPotentialDiagonal Struct Reference
    +
    +
    + + + + + + +

    +Public Attributes

    int vert
     
    int dist
     
    +

    Member Data Documentation

    + +

    ◆ dist

    + +
    +
    + + + + +
    int rcPotentialDiagonal::dist
    +
    + +
    +
    + +

    ◆ vert

    + +
    +
    + + + + +
    int rcPotentialDiagonal::vert
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structrcPotentialDiagonal.js b/structrcPotentialDiagonal.js new file mode 100644 index 00000000..df25b066 --- /dev/null +++ b/structrcPotentialDiagonal.js @@ -0,0 +1,5 @@ +var structrcPotentialDiagonal = +[ + [ "dist", "structrcPotentialDiagonal.html#aedf8e9dad665440c8db85e1e9d37b05d", null ], + [ "vert", "structrcPotentialDiagonal.html#aa0ab356474c301630105b9c4125bb0e3", null ] +]; \ No newline at end of file diff --git a/structrcRegion-members.html b/structrcRegion-members.html new file mode 100644 index 00000000..bea76306 --- /dev/null +++ b/structrcRegion-members.html @@ -0,0 +1,118 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    rcRegion Member List
    +
    +
    + +

    This is the complete list of members for rcRegion, including all inherited members.

    + + + + + + + + + + + + + +
    areaTypercRegion
    connectionsrcRegion
    connectsToBorderrcRegion
    floorsrcRegion
    idrcRegion
    overlaprcRegion
    rcRegion(unsigned short i)rcRegioninline
    remaprcRegion
    spanCountrcRegion
    visitedrcRegion
    ymaxrcRegion
    yminrcRegion
    +
    + + + + + diff --git a/structrcRegion.html b/structrcRegion.html new file mode 100644 index 00000000..4a4dd5b6 --- /dev/null +++ b/structrcRegion.html @@ -0,0 +1,324 @@ + + + + + + + +Recast Navigation: rcRegion Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    rcRegion Struct Reference
    +
    +
    + + + + +

    +Public Member Functions

     rcRegion (unsigned short i)
     
    + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    int spanCount
     
    unsigned short id
     
    unsigned char areaType
     
    bool remap
     
    bool visited
     
    bool overlap
     
    bool connectsToBorder
     
    unsigned short ymin
     
    unsigned short ymax
     
    rcIntArray connections
     
    rcIntArray floors
     
    +

    Constructor & Destructor Documentation

    + +

    ◆ rcRegion()

    + +
    +
    + + + + + +
    + + + + + + + + +
    rcRegion::rcRegion (unsigned short i)
    +
    +inline
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ areaType

    + +
    +
    + + + + +
    unsigned char rcRegion::areaType
    +
    + +
    +
    + +

    ◆ connections

    + +
    +
    + + + + +
    rcIntArray rcRegion::connections
    +
    + +
    +
    + +

    ◆ connectsToBorder

    + +
    +
    + + + + +
    bool rcRegion::connectsToBorder
    +
    + +
    +
    + +

    ◆ floors

    + +
    +
    + + + + +
    rcIntArray rcRegion::floors
    +
    + +
    +
    + +

    ◆ id

    + +
    +
    + + + + +
    unsigned short rcRegion::id
    +
    + +
    +
    + +

    ◆ overlap

    + +
    +
    + + + + +
    bool rcRegion::overlap
    +
    + +
    +
    + +

    ◆ remap

    + +
    +
    + + + + +
    bool rcRegion::remap
    +
    + +
    +
    + +

    ◆ spanCount

    + +
    +
    + + + + +
    int rcRegion::spanCount
    +
    + +
    +
    + +

    ◆ visited

    + +
    +
    + + + + +
    bool rcRegion::visited
    +
    + +
    +
    + +

    ◆ ymax

    + +
    +
    + + + + +
    unsigned short rcRegion::ymax
    +
    + +
    +
    + +

    ◆ ymin

    + +
    +
    + + + + +
    unsigned short rcRegion::ymin
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structrcRegion.js b/structrcRegion.js new file mode 100644 index 00000000..433df502 --- /dev/null +++ b/structrcRegion.js @@ -0,0 +1,15 @@ +var structrcRegion = +[ + [ "rcRegion", "structrcRegion.html#ac7b24c63bcdaeee325cdc61b4f12f39c", null ], + [ "areaType", "structrcRegion.html#a35bfc8470602b06a1a09c519582b821a", null ], + [ "connections", "structrcRegion.html#ac6cbe80ad7da2858aa3f463079bc391e", null ], + [ "connectsToBorder", "structrcRegion.html#a4ddce7919ddb139fe21ac4c05b5c3f79", null ], + [ "floors", "structrcRegion.html#a3ab2d5343e1ae28463c5a8ccbca04cf1", null ], + [ "id", "structrcRegion.html#a4938489b9fdddccbfb9273975632a30b", null ], + [ "overlap", "structrcRegion.html#a74e8d6e0e6bd376822dfa732aa7106b3", null ], + [ "remap", "structrcRegion.html#afacd1efddbdfbb854e7c2cf505365f0b", null ], + [ "spanCount", "structrcRegion.html#ad9093323ce31904ef59709b0664f31d3", null ], + [ "visited", "structrcRegion.html#a59b8c8837159f85c1b8f7818976d26ae", null ], + [ "ymax", "structrcRegion.html#a84ec21b2fef6d82817283727f295f14e", null ], + [ "ymin", "structrcRegion.html#a058cf62973ff65b0d277724ed7cde9a8", null ] +]; \ No newline at end of file diff --git a/structrcSpan-members.html b/structrcSpan-members.html new file mode 100644 index 00000000..9225b06f --- /dev/null +++ b/structrcSpan-members.html @@ -0,0 +1,110 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    rcSpan Member List
    +
    +
    + +

    This is the complete list of members for rcSpan, including all inherited members.

    + + + + + +
    arearcSpan
    nextrcSpan
    smaxrcSpan
    sminrcSpan
    +
    + + + + + diff --git a/structrcSpan.html b/structrcSpan.html new file mode 100644 index 00000000..54deea33 --- /dev/null +++ b/structrcSpan.html @@ -0,0 +1,199 @@ + + + + + + + +Recast Navigation: rcSpan Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    rcSpan Struct Reference
    +
    +
    + +

    Represents a span in a heightfield. + More...

    + +

    #include <Recast.h>

    + + + + + + + + + + + + + + +

    +Public Attributes

    unsigned int smin: RC_SPAN_HEIGHT_BITS
     The lower limit of the span. [Limit: < smax]. More...
     
    unsigned int smax: RC_SPAN_HEIGHT_BITS
     The upper limit of the span. [Limit: <= RC_SPAN_MAX_HEIGHT]. More...
     
    unsigned int area: 6
     The area id assigned to the span. More...
     
    rcSpannext
     The next span higher up in column. More...
     
    +

    Description

    +

    Represents a span in a heightfield.

    +
    See also
    rcHeightfield
    +

    Member Data Documentation

    + +

    ◆ area

    + +
    +
    + + + + +
    unsigned int rcSpan::area
    +
    + +

    The area id assigned to the span.

    + +
    +
    + +

    ◆ next

    + +
    +
    + + + + +
    rcSpan* rcSpan::next
    +
    + +

    The next span higher up in column.

    + +
    +
    + +

    ◆ smax

    + +
    +
    + + + + +
    unsigned int rcSpan::smax
    +
    + +

    The upper limit of the span. [Limit: <= RC_SPAN_MAX_HEIGHT].

    + +
    +
    + +

    ◆ smin

    + +
    +
    + + + + +
    unsigned int rcSpan::smin
    +
    + +

    The lower limit of the span. [Limit: < smax].

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structrcSpan.js b/structrcSpan.js new file mode 100644 index 00000000..937ac91f --- /dev/null +++ b/structrcSpan.js @@ -0,0 +1,7 @@ +var structrcSpan = +[ + [ "area", "structrcSpan.html#a8bf133cf1e7ccf3d69f1ba365cb0c1ca", null ], + [ "next", "structrcSpan.html#a3b1dbeacc04852fe7330dcd0f5745424", null ], + [ "smax", "structrcSpan.html#a6bca504828087023719794cce9a5f0ab", null ], + [ "smin", "structrcSpan.html#aba70c34dc95c49c4b3142b7d9ca9d359", null ] +]; \ No newline at end of file diff --git a/structrcSpanPool-members.html b/structrcSpanPool-members.html new file mode 100644 index 00000000..c819a2da --- /dev/null +++ b/structrcSpanPool-members.html @@ -0,0 +1,108 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    rcSpanPool Member List
    +
    +
    + +

    This is the complete list of members for rcSpanPool, including all inherited members.

    + + + +
    itemsrcSpanPool
    nextrcSpanPool
    +
    + + + + + diff --git a/structrcSpanPool.html b/structrcSpanPool.html new file mode 100644 index 00000000..6566d336 --- /dev/null +++ b/structrcSpanPool.html @@ -0,0 +1,161 @@ + + + + + + + +Recast Navigation: rcSpanPool Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    rcSpanPool Struct Reference
    +
    +
    + +

    A memory pool used for quick allocation of spans within a heightfield. + More...

    + +

    #include <Recast.h>

    + + + + + + + + +

    +Public Attributes

    rcSpanPoolnext
     The next span pool. More...
     
    rcSpan items [RC_SPANS_PER_POOL]
     Array of spans in the pool. More...
     
    +

    Description

    +

    A memory pool used for quick allocation of spans within a heightfield.

    +
    See also
    rcHeightfield
    +

    Member Data Documentation

    + +

    ◆ items

    + +
    +
    + + + + +
    rcSpan rcSpanPool::items[RC_SPANS_PER_POOL]
    +
    + +

    Array of spans in the pool.

    + +
    +
    + +

    ◆ next

    + +
    +
    + + + + +
    rcSpanPool* rcSpanPool::next
    +
    + +

    The next span pool.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structrcSpanPool.js b/structrcSpanPool.js new file mode 100644 index 00000000..0f82fb0a --- /dev/null +++ b/structrcSpanPool.js @@ -0,0 +1,5 @@ +var structrcSpanPool = +[ + [ "items", "structrcSpanPool.html#a7527556787dc57fc87296e8f3dcdd227", null ], + [ "next", "structrcSpanPool.html#aaa72cbbf0abb73bfaa8fefc55ef37f2f", null ] +]; \ No newline at end of file diff --git a/structrcSweepSpan-members.html b/structrcSweepSpan-members.html new file mode 100644 index 00000000..b6f58d25 --- /dev/null +++ b/structrcSweepSpan-members.html @@ -0,0 +1,110 @@ + + + + + + + +Recast Navigation: Member List + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    rcSweepSpan Member List
    +
    +
    + +

    This is the complete list of members for rcSweepSpan, including all inherited members.

    + + + + + +
    idrcSweepSpan
    neircSweepSpan
    nsrcSweepSpan
    ridrcSweepSpan
    +
    + + + + + diff --git a/structrcSweepSpan.html b/structrcSweepSpan.html new file mode 100644 index 00000000..b452049b --- /dev/null +++ b/structrcSweepSpan.html @@ -0,0 +1,179 @@ + + + + + + + +Recast Navigation: rcSweepSpan Struct Reference + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Recast Navigation +
    +
    Navigation-mesh Toolset for Games
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    rcSweepSpan Struct Reference
    +
    +
    + + + + + + + + + + +

    +Public Attributes

    unsigned short rid
     
    unsigned short id
     
    unsigned short ns
     
    unsigned short nei
     
    +

    Member Data Documentation

    + +

    ◆ id

    + +
    +
    + + + + +
    unsigned short rcSweepSpan::id
    +
    + +
    +
    + +

    ◆ nei

    + +
    +
    + + + + +
    unsigned short rcSweepSpan::nei
    +
    + +
    +
    + +

    ◆ ns

    + +
    +
    + + + + +
    unsigned short rcSweepSpan::ns
    +
    + +
    +
    + +

    ◆ rid

    + +
    +
    + + + + +
    unsigned short rcSweepSpan::rid
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + + diff --git a/structrcSweepSpan.js b/structrcSweepSpan.js new file mode 100644 index 00000000..1c282e54 --- /dev/null +++ b/structrcSweepSpan.js @@ -0,0 +1,7 @@ +var structrcSweepSpan = +[ + [ "id", "structrcSweepSpan.html#ac1a82c65b0a40920eab883fc2b0aa706", null ], + [ "nei", "structrcSweepSpan.html#a4d7da0d9409cf1124f8fed63783da60e", null ], + [ "ns", "structrcSweepSpan.html#afa7aea20a3d345b6663799f60d846737", null ], + [ "rid", "structrcSweepSpan.html#ab92de3221c19c2c9a2d716ea7680146f", null ] +]; \ No newline at end of file diff --git a/sync_off.png b/sync_off.png new file mode 100644 index 00000000..3b443fc6 Binary files /dev/null and b/sync_off.png differ diff --git a/sync_on.png b/sync_on.png new file mode 100644 index 00000000..e08320fb Binary files /dev/null and b/sync_on.png differ diff --git a/tab_a.png b/tab_a.png new file mode 100644 index 00000000..3b725c41 Binary files /dev/null and b/tab_a.png differ diff --git a/tab_b.png b/tab_b.png new file mode 100644 index 00000000..e2b4a863 Binary files /dev/null and b/tab_b.png differ diff --git a/tab_h.png b/tab_h.png new file mode 100644 index 00000000..fd5cb705 Binary files /dev/null and b/tab_h.png differ diff --git a/tab_s.png b/tab_s.png new file mode 100644 index 00000000..ab478c95 Binary files /dev/null and b/tab_s.png differ diff --git a/tabs.css b/tabs.css new file mode 100644 index 00000000..7d45d36c --- /dev/null +++ b/tabs.css @@ -0,0 +1 @@ +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0px 1px 1px rgba(255,255,255,0.9);color:#283A5D;outline:none}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283A5D transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a:hover span.sub-arrow{border-color:#fff transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #fff}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}}