gwnavgeneration/generator/generatornavdataelement.h Source File
Go to the documentation of this file.
24 class GeneratorSystem;
26 class NavMeshElementBlob;
27 class GeneratorSectorBuilder;
35 class GeneratorNavDataElement
40 GeneratorNavDataElement(GeneratorSystem* sys)
42 , m_mainSectorBuilder(
nullptr)
43 , m_emptyNavCellMode(KEEP_EMPTY_NAVCELL)
47 void SetContributingInputCellInfoArrayAtPos(
const Ptr<InputCellInfoArrayAtPos>& inputCellInfoArrayAtPos);
49 KyResult GenerateRawNavCells(InputTileCache& inputTileCache);
60 enum EmptyNavCellMode { KEEP_EMPTY_NAVCELL, DISCARD_EMPTY_NAVCELL};
63 KyResult BuildNavMeshElementBlob(EmptyNavCellMode emptyNavCellMode);
66 NavMeshElementBlob* GetNavMeshElementBlob() {
return m_navMeshElementHandler ? m_navMeshElementHandler->Blob() :
nullptr; }
69 void ReplaceNavCell(
KyUInt32 navCellIndex, Ptr<BlobHandler<NavCellBlob> > navCellHandler);
73 void ClearNavCellHandlers();
77 bool operator<(
const GeneratorNavDataElement& other)
const {
return m_guidCompound < other.m_guidCompound; }
80 KyResult ProcessCellGenerators(KyArray<CellGenerator*>& cellGenerators);
81 KyResult GenerateRawNavCells_NoTiling();
82 KyResult GenerateRawNavCells_WithTiling(InputTileCache& inputTileCache);
85 GeneratorSystem* m_sys;
86 GeneratorGuidCompound m_guidCompound;
87 GeneratorSectorBuilder* m_mainSectorBuilder;
90 KyArray<Ptr<InputCellInfoArrayAtPos> > m_inputCellInfoArrayAtPosArray;
91 DenseGridAndArrayOfRawPtr<InputTileContributionAtPos> m_inputTileGrid;
97 KyArray<Ptr<BlobHandler<NavCellBlob> > > m_navCellHandlers;
98 EmptyNavCellMode m_emptyNavCellMode;
102 Ptr<BlobHandler<NavMeshElementBlob> > m_navMeshElementHandler;
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:132
Navigation return code class.
Definition: types.h:108
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17