gwnavruntime/abstractgraph/abstractgraphcellgrid.h Source File
Go to the documentation of this file.
7 #ifndef Navigation_AbstractGraphCellGrid_H
8 #define Navigation_AbstractGraphCellGrid_H
24 class AbstractGraphBlob;
25 class NavMeshGenParameters;
26 class ScopedDisplayList;
29 class AbstractGraphCell
33 LoadedAbstractGraphCellIdx m_graphCellIdx;
38 class AbstractGraphCellGrid
43 AbstractGraphCellGrid(Database* database)
44 : m_database(database)
45 , m_abstractGraphCellBuffer(
KY_NULL)
46 , m_abstractGraphCellBufferSize(0)
47 , m_altitudeTolerance(0.5f)
48 , m_abstractGraphChangeIdx(0)
51 ~AbstractGraphCellGrid() { Clear(); }
55 void EnlargeGrid(
const CellBox& cellBox);
57 AbstractGraph* InsertAbstractGraph(AbstractGraphBlob* abstractGraphBlob);
58 void RemoveAbstractGraph(AbstractGraph* abstractGraph);
60 void UpdateNavMeshLinkStatus(
CellBox cellBox);
63 KyResult CheckGenerationParameters(
const NavMeshGenParameters& navMeshGenParameters);
66 LoadedAbstractGraphCellIdx GetAbstractGraphCellIdx(
const CellPos& cellPos)
const;
67 AbstractGraph* GetAbstractGraph(
const LoadedAbstractGraphNodeIdx& node)
const;
68 AbstractGraph* GetAbstractGraph(
const LoadedAbstractGraphCellIdx& cell)
const;
69 AbstractGraph* GetAbstractGraph(
const CellPos& cellPos)
const;
72 void Display(ScopedDisplayList& displayList);
75 void SetAbstractGraphIndexInCollection(AbstractGraph* abstractGraph,
KyUInt32 newIndexInCollection);
79 AbstractGraphCell* m_abstractGraphCellBuffer;
80 KyInt32 m_abstractGraphCellBufferSize;
83 TrackedCollection< Ptr<AbstractGraph>, MemStat_NavData> m_abstractGraphs;
KyInt32 KyResult
Defines a type that can be returned by methods or functions in the Gameware Navigation SDK to indicat...
Definition: types.h:254
Box2i CellBox
A type that represents a bounding box around cells in a 2D grid.
Definition: navmeshtypes.h:34
Vec2i CellPos
A type that represents the position of a cell within a 2D grid.
Definition: navmeshtypes.h:33
int KyInt32
Type used internally to represent a 32-bit integer.
Definition: types.h:35
#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
float KyFloat32
Type used internally to represent a 32-bit floating-point number.
Definition: types.h:43