55 const NavTag* GetNavTag()
const
60 if(m_navFloorPtr !=
nullptr)
61 return &m_navFloorPtr->m_navTags[m_navTagIdx];
63 return &m_navGraphPtr->m_navTags[m_navTagIdx];
67 mutable Ptr<NavFloor> m_navFloorPtr;
68 mutable Ptr<NavGraph> m_navGraphPtr;
69 NavTagIdx m_navTagIdx;
86 m_navTagIdx = navGraphEdgePtr.
GetNavGraphBlob_UnSafe()->GetNavGraphEdgeNavTagIdx(navGraphEdgePtr.m_edgeSmartIdx);
91 if (navGraphVertexPtr.
IsValid())
98 KY_INLINE
void NavTagPtr::Invalidate() { m_navFloorPtr =
nullptr; m_navGraphPtr =
nullptr; m_navTagIdx = NavTagIdx_Invalid; }
99 KY_INLINE
bool NavTagPtr::IsValid()
const {
return (m_navFloorPtr !=
nullptr || m_navGraphPtr !=
nullptr) && m_navTagIdx != NavTagIdx_Invalid; }
101 KY_INLINE
bool NavTagPtr::operator==(
const NavTagPtr& rhs)
const {
return m_navFloorPtr == rhs.m_navFloorPtr && m_navGraphPtr == rhs.m_navGraphPtr && m_navTagIdx == rhs.m_navTagIdx; }
102 KY_INLINE
bool NavTagPtr::operator!=(
const NavTagPtr& rhs)
const {
return m_navFloorPtr != rhs.m_navFloorPtr || m_navGraphPtr != rhs.m_navGraphPtr || m_navTagIdx != rhs.m_navTagIdx; }
bool IsValid() const
Returns true if this object refers to a valid triangle: i.e. a triangle in a validNavFloor. see NavFloorPtr::IsValid().
Definition: navtriangleptr.h:123
bool IsValid() const
Returns true if this object refers to a valid NavGraphVertex: i.e. a NavGraphVertex in a validNavGrap...
Definition: navgraphvertexptr.h:100
NavFloor * GetNavFloor() const
Returns a pointer to the NavFloor that contains this triangle. Returns nullptr if this object is not ...
Definition: navtriangleptr.h:132
const NavGraphBlob * GetNavGraphBlob_UnSafe() const
Returns a pointer to the NavGraphBlob identified by this object.
Definition: navgraphvertexptr.h:112
const NavGraphBlob * GetNavGraphBlob_UnSafe() const
Returns a pointer to the NavGraphBlob identified by this object.
Definition: navgraphedgeptr.h:122
NavTriangleIdx GetTriangleIdx() const
Returns the index of this triangle within its NavFloor.
Definition: navtriangleptr.h:130
NavConnexIdx NavTriangleIdxToNavConnexIdx(NavTriangleIdx idx) const
Retrieves the index of the NavConnex associated to the triangle specified by the input NavTriangleIdx...
Definition: navfloorblob.inl:109
Each instance of this class uniquely identifies a single NavFloor.
Definition: navtagptr.h:21
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:132
NavGraph * GetNavGraph() const
Returns a pointer to the NavGraph that handles the graph identified by this object.
Definition: navgraphvertexptr.h:109
bool operator!=(const NavTagPtr &rhs) const
Definition: navtagptr.h:102
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
Each instance of this class uniquely identifies a single NavGraphVertex in a NavGraph.
Definition: navgraphvertexptr.h:17
NavGraphVertexIdx GetNavGraphVertexIdx() const
Returns the GraphVertexIdx that identifies this vertex within its Graph.
Definition: navgraphvertexptr.h:108
const NavFloorBlob * GetNavFloorBlob_Unsafe() const
Returns a const pointer to the NavFloorBlob that contains this triangle.
Definition: navtriangleptr.h:135
bool IsValid() const
Definition: navtagptr.h:99
Each instance of this class uniquely identifies a single NavTriangle in a NavFloor.
Definition: navtriangleptr.h:17
bool IsValid() const
Returns true if this object refers to a valid NavGraphEdge: i.e. a NavGraphEdge in a valid NavGraph...
Definition: navgraphedgeptr.h:115
NavTagPtr()
Creates an invalid NavTagPtr.
Definition: navtagptr.h:72
Each instance of this class uniquely identifies a single and mono-directionnal NavGraphEdge in a NavG...
Definition: navgraphedgeptr.h:20
void Invalidate()
Invalidates this object.
Definition: navtagptr.h:98
bool operator==(const NavTagPtr &rhs) const
Definition: navtagptr.h:101
NavGraph * GetNavGraph() const
Returns a pointer to the NavGraph that handles the graph identified by this object.
Definition: navgraphedgeptr.h:119