gwnavruntime/abstractgraph/abstractgraph.h Source File
Go to the documentation of this file.
20 class AbstractGraphCellGrid;
21 class AbstractGraphBlob;
22 class AbstractGraphCellBlob;
28 class LoadedAbstractGraphCellIdx;
30 class AbstractGraphNodeLink
33 enum NavMeshLinkStatus
35 NavMeshLink_NoNavMesh = 0,
36 NavMeshLink_Inside = 1,
42 AbstractGraphNodeLink()
43 : m_navMeshLinkStatus(NavMeshLink_Undefined)
46 bool CanTraverse()
const {
return m_pairedNodeIdx.IsValid(); }
49 LoadedAbstractGraphNodeIdx m_pairedNodeIdx;
50 NavMeshLinkStatus m_navMeshLinkStatus;
61 static Ptr<AbstractGraph> Create(AbstractGraphBlob* abstractGraphBlob, Database* database, MemoryHeap* pheap =
nullptr);
65 Vec3f GetNodePosition(const LoadedAbstractGraphNodeIdx& node) const;
66 Vec3f GetNodePosition(AbstractGraphNodeIdx nodeIdx) const;
70 KyFloat32 GetNeighborCost(AbstractGraphNodeIdx fromGraphNodeIdx, AbstractGraphNodeIdx toGraphNodeIdx) const;
72 const AbstractGraphCellBlob* GetAbstractGraphCellBlob(const LoadedAbstractGraphCellIdx& cellIdx) const;
73 AbstractGraphCellGrid* GetAbstractGraphCellGrid() const;
74 Database* GetDatabase() const;
77 KyUInt32 GetIndexInCollection()
const {
return m_abstractGraphIdx; }
78 void SetIndexInCollection(
KyUInt32 indexInCollection);
80 bool IsNodePaired(
const LoadedAbstractGraphNodeIdx& node)
const;
81 bool IsNodePaired(AbstractGraphNodeIdx nodeIdx)
const;
86 DebugDisplay_AbstractEdges = 1 << 0,
87 DebugDisplay_CellBoxCoverage = 1 << 1,
90 void Display(DisplayList& displayList,
const Color& color, DebugDisplay debugDisplay = DebugDisplay_All);
94 const AbstractGraphBlob* m_blob;
95 AbstractGraphNodeLink* m_links;
96 AbstractGraphIdx m_abstractGraphIdx;
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
#define KY_REFCOUNT_MALLOC_FREE(ClassName)
Specific to RefCounting, no inheritance involved, used to make RefCount-able classes compatible with ...
Definition: memory.h:141
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:196
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:132
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
#define KyUInt32MAXVAL
KyUInt32 max value
Definition: types.h:68
float KyFloat32
float
Definition: types.h:32