gwnavruntime/queries/utils/spatializedpointcollectorcontext.h Source File
Go to the documentation of this file.
9 #ifndef Navigation_SpatializedPointCollectorContext_H
10 #define Navigation_SpatializedPointCollectorContext_H
19 class CollectorTraversalNodeIdx
23 CollectorTraversalNodeIdx(
const NavFloorRawPtr& ,
KyUInt32 nodeIndex) : m_data(0x80000000 | nodeIndex) {}
24 CollectorTraversalNodeIdx(
const NavGraphEdgeRawPtr& ,
KyUInt32 nodeIndex) : m_data(0x7FFFFFFF & nodeIndex) {}
26 KY_INLINE
bool IsNavFloorNode()
const {
return (m_data & 0x80000000) != 0; }
27 KY_INLINE
bool IsNavGraphEdgeNode()
const {
return (m_data & 0x80000000) == 0; }
28 KY_INLINE
KyUInt32 GetNodeIndex()
const {
return (m_data & 0x7FFFFFFF); }
33 class SpatializedPointCollectorContext
37 SpatializedPointCollectorContext() {}
38 ~SpatializedPointCollectorContext() { ReleaseWorkingMemory(); }
40 void ReleaseWorkingMemory()
42 m_traversalNodeStatus.ReleaseWorkingMemoryBuffer();
43 m_openNodes.ReleaseWorkingMemoryBuffer();
44 m_edgeRawPtrNodes.ReleaseWorkingMemoryBuffer();
45 m_navFloorRawPtrNodes.ReleaseWorkingMemoryBuffer();
48 NavFloorAndNavGraphEdgeStatusInGrid m_traversalNodeStatus;
49 WorkingMemDeque<CollectorTraversalNodeIdx> m_openNodes;
50 WorkingMemArray<NavGraphEdgeRawPtr> m_edgeRawPtrNodes;
51 WorkingMemArray<NavFloorRawPtr> m_navFloorRawPtrNodes;
60 #endif //Navigation_SpatializedPointCollectorContext_H
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
#define KyUInt32MAXVAL
The maximum value that can be stored in the KyUInt32 variable type.
Definition: types.h:226