9 #ifndef Navigation_NavGraphVertexPtr_H
10 #define Navigation_NavGraphVertexPtr_H
21 class NavGraphVertexPtr
100 m_navGraphPtr(navGraphPtr), m_vertexIdx(vertexIdx) {}
102 m_navGraphPtr(navGraphVertexRawPtr.GetNavGraph()), m_vertexIdx(navGraphVertexRawPtr.GetNavGraphVertexIdx()) {}
109 KY_INLINE
bool NavGraphVertexPtr::operator < (
const NavGraphVertexPtr& rhs)
const {
return m_navGraphPtr < rhs.m_navGraphPtr || (m_navGraphPtr == rhs.m_navGraphPtr && m_vertexIdx < rhs.m_vertexIdx); }
110 KY_INLINE
bool NavGraphVertexPtr::operator <=(
const NavGraphVertexPtr& rhs)
const {
return !(rhs < *
this); }
126 #endif //Navigation_NavGraphVertexPtr_H
bool IsValid() const
Returns true if this object refers to a valid runtime NavGraph, which means a NavFloor that exists...
Definition: navgraphptr.h:68
const NavGraphBlob * GetNavGraphBlob() const
Returns a pointer to the NavGraphBlob identified by this object.
Definition: navgraphvertexptr.h:124
bool IsValid() const
Returns true if this object refers to a valid NavGraphVertex: i.e. a NavGraphVertex in a validNavGrap...
Definition: navgraphvertexptr.h:113
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
const Vec3f & GetGraphVertexPosition() const
Retrieves the position of the NavGraph vertex .
Definition: navgraphvertexptr.h:131
NavGraphVertexRawPtr GetRawPtr() const
Constructs and returns a NavGraphVertexRawPtr that refers to the same NavGraphVertex.
Definition: navgraphvertexptr.h:126
static const NavGraphVertexIdx NavGraphVertexIdx_Invalid
Represents an invalid NavGraphVertexIdx.
Definition: navgraphtypes.h:48
const NavGraphBlob * GetNavGraphBlob_UnSafe() const
Returns a pointer to the NavGraphBlob identified by this object.
Definition: navgraphvertexptr.h:125
void Invalidate()
Invalidates this object.
Definition: navgraphvertexptr.h:114
NavGraph * GetNavGraph_UnSafe() const
Returns a pointer to the NavGraph that handles the graph identified by this object.
Definition: navgraphvertexptr.h:123
const NavGraphVertex & GetNavGraphVertex() const
Retrieves the NavGraph vertex at the start of the specified NavGraph edge.
Definition: navgraphvertexptr.h:130
GraphVertexData & GetGraphVertexData() const
Returns theGraphVertexData associated to this NavGraphVertex. For Internal use.
Definition: navgraphvertexrawptr.h:100
const NavGraphBlob * GetNavGraphBlob() const
Returns a pointer to the NavGraphBlob identified by this object.
Definition: navgraphptr.h:84
NavGraph * GetNavGraph() const
Returns a pointer to the NavGraph that handles the graph identified by this object.
Definition: navgraphvertexptr.h:122
const NavGraphBlob * GetNavGraphBlob_UnSafe() const
Returns a pointer to the NavGraphBlob identified by this object.
Definition: navgraphptr.h:85
KyUInt32 GetNeighborVertexCount() const
Returns the number of outgoing edges (equal to the number of neighbors) of this vertex.
Definition: navgraphvertexptr.h:127
Definition: gamekitcrowddispersion.h:20
This class uniquely identifies a single NavGraph.
Definition: navgraphptr.h:24
bool operator!=(const NavGraphVertexPtr &rhs) const
Returns true if this object identifies an vertex different from the one identified by rhs...
Definition: navgraphvertexptr.h:117
Each instance of this class uniquely identifies a single NavGraphVertex in a NavGraph.
Definition: navgraphvertexptr.h:22
#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
NavGraphVertexIdx GetNavGraphVertexIdx() const
Returns the GraphVertexIdx that identifies this vertex within its Graph.
Definition: navgraphvertexptr.h:121
KyUInt32 GetNeighborVertexCount() const
Returns the number of outgoing edges (equal to the number of neighbors) of this vertex.
Definition: navgraphvertexrawptr.h:101
NavGraph * GetNavGraph_UnSafe() const
Returns a pointer to the NavGraph that handles the graph identified by this object.
Definition: navgraphptr.h:82
const NavTag & GetNavTag() const
Returns the NavTag associated to this NavGraphVertex.
Definition: navgraphvertexptr.h:129
void Invalidate()
Invalidates this object.
Definition: navgraphptr.h:67
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
NavGraph * GetNavGraph() const
Returns a pointer to the NavGraph that handles the graph identified by this object.
Definition: navgraphptr.h:81
GraphVertexData & GetGraphVertexData() const
Returns the GraphVertexData associated to this NavGraphVertex.
Definition: navgraphvertexptr.h:128
bool operator==(const NavGraphVertexPtr &rhs) const
Returns true if this object identifies the same vertex as rhs, or if both are invalid.
Definition: navgraphvertexptr.h:116
Each instance of this class uniquely identifies a single NavGraphVertex in a NavGraph.
Definition: navgraphvertexrawptr.h:36
NavGraphVertexPtr()
Constructs a new instance of this class. Creates an invalid NavGraphVertexPtr.
Definition: navgraphvertexptr.h:106
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