gwnavruntime/abstractgraph/blobs/abstractgraphgenerator.h Source File
Go to the documentation of this file.
7 #ifndef Navigation_AbstractGraphGenerator_H
8 #define Navigation_AbstractGraphGenerator_H
22 class AbstractGraphGenerationReport;
23 class AbstractGraphDataGenerator;
25 class NavMeshElementBlob;
28 class AbstractGraphGenerator
32 AbstractGraphGenerator()
35 , m_navMeshElementBlob(KY_NULL)
36 , m_neighborhoodDataCount(0)
40 KyResult Init(AbstractGraphDataGenerator* abstractGraphGenerator);
41 KyResult Generate(Ptr< BlobHandler<AbstractGraphBlob> >& abstractGraphBlobHandler, Ptr<CellFilter> cellFilter, KyArrayPOD<CellPos>& cellPosBorder, KyArrayPOD<KyUInt8>& wantedBoundariesPerCells);
43 void ClearAndRelease()
45 m_graphNodeTriangles.ClearAndRelease();
46 m_graphNodeIdxToGraphCellFloorIndices.ClearAndRelease();
47 m_graphNodeNeighborCosts.ClearAndRelease();
48 m_graphNodeNeighbors.ClearAndRelease();
49 m_tmpGraphFloorBlobHandlers.ClearAndRelease();
50 m_tmpGraphCellBlobHandlers.ClearAndRelease();
52 m_neighborhoodDataCount = 0;
53 m_tmpGraphFloorGenerator.ClearAndRelease();
57 KyResult CreateNodes(KyArrayPOD<CellPos>& cellPosBorder, KyArrayPOD<KyUInt8>& wantedBoundariesPerCells);
59 void ComputeAllCosts();
60 Vec3f GetNodePosition(AbstractGraphNodeIdx nodeIdx);
63 AbstractGraphGenerationReport* m_report;
66 NavMeshElementBlob* m_navMeshElementBlob;
68 KyArrayPOD<NavTriangleRawPtr> m_graphNodeTriangles;
69 KyArrayPOD<AbstractGraphCellFloorIndices> m_graphNodeIdxToGraphCellFloorIndices;
71 KyArray< KyArrayPOD<KyFloat32, MemStat_NavDataGen>, MemStat_NavDataGen > m_graphNodeNeighborCosts;
72 KyArray< KyArrayPOD<CompactAbstractGraphNodeIdx, MemStat_NavDataGen>, MemStat_NavDataGen > m_graphNodeNeighbors;
74 AbstractGraphFloorGenerator m_tmpGraphFloorGenerator;
75 KyArray< Ptr< BlobHandler<AbstractGraphFloorBlob> >, MemStat_NavDataGen > m_tmpGraphFloorBlobHandlers;
77 KyArray< Ptr< BlobHandler<AbstractGraphCellBlob> >, MemStat_NavDataGen > m_tmpGraphCellBlobHandlers;
78 Ptr<CellFilter> m_cellFilter;
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