gwnavgeneration/generator/generatornavdataelement.h Source File
Go to the documentation of this file.
9 #ifndef GwNavGen_GeneratorNavDataElement_H
10 #define GwNavGen_GeneratorNavDataElement_H
26 class GeneratorSystem;
28 class NavMeshElementBlob;
29 class GeneratorSectorBuilder;
37 class GeneratorNavDataElement
42 GeneratorNavDataElement(GeneratorSystem* sys)
45 , m_emptyNavCellMode(KEEP_EMPTY_NAVCELL)
49 void SetContributingInputCellInfoArrayAtPos(
const Ptr<InputCellInfoArrayAtPos>& inputCellInfoArrayAtPos);
51 KyResult GenerateRawNavCells(InputTileCache& inputTileCache);
62 enum EmptyNavCellMode { KEEP_EMPTY_NAVCELL, DISCARD_EMPTY_NAVCELL};
65 KyResult BuildNavMeshElementBlob(EmptyNavCellMode emptyNavCellMode);
68 NavMeshElementBlob* GetNavMeshElementBlob() {
return m_navMeshElementHandler ? m_navMeshElementHandler->Blob() :
KY_NULL; }
71 void ReplaceNavCell(
KyUInt32 navCellIndex, Ptr<BlobHandler<NavCellBlob> > navCellHandler);
75 void ClearNavCellHandlers();
79 bool operator<(
const GeneratorNavDataElement& other)
const {
return m_guidCompound < other.m_guidCompound; }
82 KyResult ProcessCellGenerators(KyArray<CellGenerator*>& cellGenerators);
83 KyResult GenerateRawNavCells_NoTiling();
84 KyResult GenerateRawNavCells_WithTiling(InputTileCache& inputTileCache);
87 GeneratorSystem* m_sys;
88 GeneratorGuidCompound m_guidCompound;
89 GeneratorSectorBuilder* m_mainSectorBuilder;
92 KyArray<Ptr<InputCellInfoArrayAtPos> > m_inputCellInfoArrayAtPosArray;
93 DenseGridAndArrayOfRawPtr<InputTileContributionAtPos> m_inputTileGrid;
99 KyArray<Ptr<BlobHandler<NavCellBlob> > > m_navCellHandlers;
100 EmptyNavCellMode m_emptyNavCellMode;
104 Ptr<BlobHandler<NavMeshElementBlob> > m_navMeshElementHandler;
KyInt32 KyResult
Defines a type that can be returned by methods or functions in the Gameware Navigation SDK to indicat...
Definition: types.h:254
#define KY_NULL
Null value.
Definition: types.h:247
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