11 #ifndef Navigation_NavGraphVertexRawPtr_H
12 #define Navigation_NavGraphVertexRawPtr_H
23 class GraphVertexData;
33 class NavGraphVertexRawPtr
48 bool operator ==(const NavGraphVertexRawPtr& rhs) const;
49 bool operator !=(const NavGraphVertexRawPtr& rhs) const;
50 bool operator < (const NavGraphVertexRawPtr& rhs) const;
51 bool operator <=(const NavGraphVertexRawPtr& rhs) const;
68 CompactNavGraphVertexIdx m_vertexIdx;
71 KY_INLINE NavGraphVertexRawPtr::NavGraphVertexRawPtr() : m_vertexIdx(CompactNavGraphVertexIdx_MAXVAL) {}
74 m_navGraphRawPtr(navGraphRawPtr), m_vertexIdx((CompactNavGraphVertexIdx)vertexIdx) {}
83 KY_INLINE
bool NavGraphVertexRawPtr::operator < (
const NavGraphVertexRawPtr& rhs)
const {
return m_navGraphRawPtr < rhs.m_navGraphRawPtr || (m_navGraphRawPtr == rhs.m_navGraphRawPtr && m_vertexIdx < rhs.m_vertexIdx); }
84 KY_INLINE
bool NavGraphVertexRawPtr::operator <=(
const NavGraphVertexRawPtr& rhs)
const {
return !(rhs < *
this); }
97 const NavTagIdx navTagIdx = navGraphBlob->GetNavGraphVertexNavTagIdx(m_vertexIdx);
98 return navGraphBlob->GetNavTag(navTagIdx);
103 #endif //Navigation_NavGraphVertexRawPtr_H
bool IsValid() const
Returns true if this object refers to a valid NavGraphVertex: i.e. a NavGraphVertex in a validNavGrap...
Definition: navgraphvertexrawptr.h:85
The NavGraphBlob contains the static data of a NavGraph.
Definition: navgraphblob.h:21
KyUInt32 NavGraphVertexIdx
An index that uniquely identifies a single vertex within the set of vertices owned by a NavGraph...
Definition: navgraphtypes.h:47
bool operator!=(const NavGraphVertexRawPtr &rhs) const
Returns true if this object identifies an vertex different from the one identified by rhs...
Definition: navgraphvertexrawptr.h:91
bool operator==(const NavGraphVertexRawPtr &rhs) const
Returns true if this object identifies the same vertex as rhs, or if both are invalid.
Definition: navgraphvertexrawptr.h:90
void Invalidate()
Invalidates this object.
Definition: navgraphvertexrawptr.h:86
const NavGraphBlob * GetNavGraphBlob() const
Returns a reference to the NavGraphBlob that contains this NavGraphVertex.
Definition: navgraphvertexrawptr.h:95
NavGraph * GetNavGraph() const
Returns a reference to the NavGraph that contains this NavGraphVertex.
Definition: navgraphvertexrawptr.h:96
void Invalidate()
Invalidates this object.
Definition: navgraphrawptr.h:70
GraphVertexData & GetGraphVertexData() const
Returns theGraphVertexData associated to this NavGraphVertex. For Internal use.
Definition: navgraphvertexrawptr.h:100
This class uniquely identifies a NavGraph that has been loaded.
Definition: navgraphrawptr.h:33
Definition: gamekitcrowddispersion.h:20
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:137
const NavTag & GetNavTag() const
Returns the NavTag associated to this NavGraphVertex.
Definition: navgraphvertexrawptr.h:103
KyUInt32 GetNeighborVertexCount() const
Returns the number of outgoing edges (equal to the number of neighbors) of this vertex.
Definition: navgraphvertexrawptr.h:101
bool IsValid() const
Returns true if this object refers to a valid NavGraph.
Definition: navgraphrawptr.h:69
NavGraphVertexIdx GetNavGraphVertexIdx() const
Returns the NavGraphVertexIdx that identifies this vertex within its NavGraph.
Definition: navgraphvertexrawptr.h:88
const Vec3f & GetGraphVertexPosition() const
Retrieves the position of the NavGraph vertex .
Definition: navgraphvertexrawptr.h:99
unsigned int KyUInt32
Type used internally to represent an unsigned 32-bit integer.
Definition: types.h:36
NavGraphVertexRawPtr()
Constructs a new instance of this class. Creates an invalid NavGraphVertexRawPtr. ...
Definition: navgraphvertexrawptr.h:80
NavGraph * GetNavGraph() const
Returns a reference to the NavGraph that handles the NavGraph.
Definition: navgraphrawptr.h:77
Each instance of this class uniquely identifies a single NavGraphVertex in a NavGraph.
Definition: navgraphvertexrawptr.h:36
This class defines a three-dimensional vector whose coordinates are stored using floating-point numbe...
Definition: vec3f.h:23
This class is a runtime wrapper of a NavGraphBlob, it gathers all the runtime information associated ...
Definition: navgraph.h:27
const NavGraphVertex & GetNavGraphVertex() const
Retrieves the NavGraph vertex at the start of the specified NavGraph edge.
Definition: navgraphvertexrawptr.h:98