gwnavruntime/abstractgraph/blobs/abstractgraphgenerator.h Source File
Go to the documentation of this file.
21 class AbstractGraphGenerationReport;
22 class AbstractGraphDataGenerator;
24 class NavMeshElementBlob;
27 class AbstractGraphGenerator
31 AbstractGraphGenerator()
34 , m_navMeshElementBlob(
nullptr)
35 , m_neighborhoodDataCount(0)
39 KyResult Init(AbstractGraphDataGenerator* abstractGraphGenerator);
40 KyResult Generate(Ptr< BlobHandler<AbstractGraphBlob> >& abstractGraphBlobHandler, Ptr<CellFilter> cellFilter, KyArrayPOD<CellPos>& cellPosBorder, KyArrayPOD<KyUInt8>& wantedBoundariesPerCells);
42 void ClearAndRelease()
44 m_graphNodeTriangles.ClearAndRelease();
45 m_graphNodeIdxToGraphCellFloorIndices.ClearAndRelease();
46 m_graphNodeNeighborCosts.ClearAndRelease();
47 m_graphNodeNeighbors.ClearAndRelease();
48 m_tmpGraphFloorBlobHandlers.ClearAndRelease();
49 m_tmpGraphCellBlobHandlers.ClearAndRelease();
51 m_neighborhoodDataCount = 0;
52 m_tmpGraphFloorGenerator.ClearAndRelease();
56 KyResult CreateNodes(KyArrayPOD<CellPos>& cellPosBorder, KyArrayPOD<KyUInt8>& wantedBoundariesPerCells);
58 void ComputeAllCosts();
59 Vec3f GetNodePosition(AbstractGraphNodeIdx nodeIdx);
62 AbstractGraphGenerationReport* m_report;
65 NavMeshElementBlob* m_navMeshElementBlob;
67 KyArrayPOD<NavTriangleRawPtr> m_graphNodeTriangles;
68 KyArrayPOD<AbstractGraphCellFloorIndices> m_graphNodeIdxToGraphCellFloorIndices;
70 KyArray< KyArrayPOD<KyFloat32, MemStat_NavDataGen>, MemStat_NavDataGen > m_graphNodeNeighborCosts;
71 KyArray< KyArrayPOD<CompactAbstractGraphNodeIdx, MemStat_NavDataGen>, MemStat_NavDataGen > m_graphNodeNeighbors;
73 AbstractGraphFloorGenerator m_tmpGraphFloorGenerator;
74 KyArray< Ptr< BlobHandler<AbstractGraphFloorBlob> >, MemStat_NavDataGen > m_tmpGraphFloorBlobHandlers;
76 KyArray< Ptr< BlobHandler<AbstractGraphCellBlob> >, MemStat_NavDataGen > m_tmpGraphCellBlobHandlers;
77 Ptr<CellFilter> m_cellFilter;
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