gwnavruntime/navgraph/blobs/navgraphvertex.h Source File
Go to the documentation of this file.
18 class NavGraphEdgeInfo
22 NavGraphEdgeInfo() : m_navTagIdx(NavTagIdx_Invalid) {}
23 NavTagIdx m_navTagIdx;
27 SwapEndianness(e,
self.m_navTagIdx);
43 KyUInt32 GetNeighborVertexCount() const;
44 const Vec3f& GetPosition() const;
45 NavTagIdx GetNavTagIdx() const;
50 const NavGraphEdgeInfo& GetNavGraphEdgeInfo(
KyUInt32 neighborIdx) const;
51 NavTagIdx GetNavGraphEdgeNavTagIdx(
KyUInt32 neighborIdx) const;
55 NavTagIdx m_navTagIdx;
59 BlobArray<CompactNavGraphVertexIdx> m_neigbhorVertices;
60 BlobArray<NavGraphEdgeInfo> m_edgesInfo;
62 inline
void SwapEndianness(Endianness::Target e, NavGraphVertex& self)
64 SwapEndianness(e,
self.m_position);
65 SwapEndianness(e,
self.m_navTagIdx);
66 SwapEndianness(e,
self.m_linkType);
67 SwapEndianness(e,
self.m_neigbhorVertices);
68 SwapEndianness(e,
self.m_edgesInfo);
73 KY_INLINE
KyUInt32 NavGraphVertex::GetNeighborVertexCount()
const {
return m_neigbhorVertices.GetCount(); }
74 KY_INLINE
const Vec3f& NavGraphVertex::GetPosition()
const {
return m_position; }
75 KY_INLINE NavTagIdx NavGraphVertex::GetNavTagIdx()
const {
return m_navTagIdx; }
80 KY_ASSERT(neighborIdx < m_neigbhorVertices.GetCount());
84 KY_INLINE
const NavGraphEdgeInfo& NavGraphVertex::GetNavGraphEdgeInfo(
KyUInt32 neighborIdx)
const
86 KY_ASSERT(neighborIdx < m_edgesInfo.GetCount());
87 return m_edgesInfo.GetValues()[neighborIdx];
90 KY_INLINE NavTagIdx NavGraphVertex::GetNavGraphEdgeNavTagIdx(
KyUInt32 neighborIdx)
const {
return GetNavGraphEdgeInfo(neighborIdx).m_navTagIdx; }
KyUInt16 NavGraphVertexLinkType
Defines a type for a tag that determines whether or not a vertex in a NavGraph should be connected to...
Definition: navgraphtypes.h:24
KyUInt32 NavGraphVertexIdx
An index that uniquely identifies a single vertex within the set of vertices owned by a NavGraph...
Definition: navgraphtypes.h:45
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
static const NavGraphVertexLinkType NavGraphVertexLinkType_LinkToNavMesh
Indicates that this vertex should be connected to the NavMesh. If the vertex is outside, we try to link it inside.
Definition: navgraphtypes.h:26
#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
Target
Enumerates the possible endianness types relative to the current platform.
Definition: endianness.h:27
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17