gwnavgeneration/navmesh/dynamicnavfloorbuilder.h Source File
Go to the documentation of this file.
9 #ifndef GwNavGen_DynamicNavFloorBuilder_H
10 #define GwNavGen_DynamicNavFloorBuilder_H
26 class IndexedTriangleSoup2i;
27 class DynamicNavFloor;
28 class BoundaryPolygon;
30 class BoundarySimplifiedPolygon;
31 class BoundarySimplifiedContour;
32 class DynamicNavFloorHeightField;
33 class DynamicTriangulation;
36 class BoundarySimplifiedEdge;
39 class DynamicNavFloorBuilder
43 DynamicNavFloorBuilder(GeneratorSystem* sys, const CellDesc& cellDesc)
44 : m_sys(sys), m_cellDesc(cellDesc), m_lastBuildDurationMs(0.0f), m_doProfile(false)
46 m_displayLists.SetVisualDebugServer(m_sys->m_visualDebugServer);
49 KyResult BuildNavFloorFromBoundaryPolygons(
const BoundarySimplifiedPolygon& polygon,
50 DynamicNavFloorHeightField* heightField, DynamicNavFloor& floor,
51 const KyArrayTLS_POD<KyUInt32>& connexIdxToNavTagIdx,
const KyArrayTLS_POD<const NavTag*>& navtagArray);
53 void ToggleProfiling(
bool activate) {m_doProfile = activate;}
54 KyFloat32 GetLastBuildDurationMs() {
return m_lastBuildDurationMs; }
57 KyResult AddNavConnexToDynamicNavFloor(
const DynamicTriangulation& triangulation, DynamicNavFloor& floor, KyArrayTLS_POD<BoundarySimplifiedEdge*>& edgesForEdges,
KyUInt32 navTagIdx);
58 KyResult MakeVerticallyAccurateTriangulation(DynamicTriangulation& triangulation, DynamicNavFloorHeightField* heightField);
60 KyResult FixHalfEdgeTypeInDynamicNavFloor(DynamicNavFloor &dynaFloor,
const KyArrayTLS_POD<BoundarySimplifiedEdge*>& edgesForEdges);
62 void RenderDynamicTriangulationInVisualDebug(
const DynamicTriangulation& triangulation);
63 void RenderHeightFieldInVisualDebug(
const DynamicNavFloorHeightField& heightField);
65 GeneratorSystem* m_sys;
69 DisplayListManager m_displayLists;
75 #endif //GwNavGen_DynamicNavFloorBuilder_H
KyInt32 KyResult
Defines a type that can be returned by methods or functions in the Gameware Navigation SDK to indicat...
Definition: types.h:254
Definition: gamekitcrowddispersion.h:20
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:137
unsigned int KyUInt32
Type used internally to represent an unsigned 32-bit integer.
Definition: types.h:36
float KyFloat32
Type used internally to represent a 32-bit floating-point number.
Definition: types.h:43