Kaim::NavFloor Class Reference

Kaim::NavFloor Class Reference

#include <navfloor.h>

Class Description

This class is a runtime wrapper of a NavFloorBlob, it gathers all the runtime information associated to a NavFloor such links to other NavFloors, SpatializedPoint spatialized in this NavFloor...

A NavFloor defines a contiguous area within a NavCell that is made up of connected, neighboring triangles that share the same NavTag. Different NavFloors within the same NavCell may represent separate floors in 3D that are not connected one to another.

Functions

const NavFloorBlobGetNavFloorBlob () const
 Retrieves the NavFloorBlob that contains the static data for this NavFloor. More...
 
const CellPosGetCellPos () const
 Returns the position of this NavFloor within the grid of NavData cells. More...
 
bool IsStillLoaded () const
 This function returns false if the NavData containing corresponding NavFloorBlob has been removed from the Database. More...
 
bool IsActive () const
 This function returns true if the NavFloor has been "activated" in term of overlap, dynamic version,... More...
 

For internal use only

Databasem_database
 
NavCellm_navCell
 
NavFloor1To1StitchData * m_floor1To1StitchData
 
const NavFloorBlobm_navFloorBlob
 
NavTag * m_navTags
 
ConnectedComponentId * m_connexConnectedComponents
 
CellPos m_cellPos
 
FloorAltitudeRange m_floorAltitudeRange
 
Collection< SpatializedPoint * > m_spatializedPoints
 
KyUInt16 m_floorLinksOffset
 
KyUInt16 m_graphLinksOffset
 
KyUInt16 m_numberOfLink
 
KyUInt16 m_numberOfUnconnectedLink
 
KyUInt16 m_idxInActiveNavFloorCollection
 
KyUInt16 m_idxInTheNavCellBuffer
 
NavFloorGetAssociatedStaticNavFloor () const
 
bool IsStaticVersion () const
 
const ConnectedComponentId & GetConnexConnectedComponentId (KyUInt32 navConnexIdx) const
 
void SetConnexConnectedComponentId (KyUInt32 navConnexIdx, ConnectedComponentId connectedComponentId)
 
NavHalfEdgeRawPtrGetLinksBuffer () const
 
bool HasAnUnconnectedLink () const
 
void OnRemove ()
 Clears all information maintained by this object. More...
 
void OnDeActivate ()
 
NavFloorToNavGraphLinks * GetNavFloorToNavGraphLinks () const
 
KyUInt32 GetIndexInCollection () const
 
void SetIndexInCollection (KyUInt32 indexInCollection)
 
const Collection< SpatializedPoint * > & GetSpatializedPoints () const
 
void AddSpatializedPoint (SpatializedPoint *spatializedPoint)
 
void RemoveSpatializedPoint (SpatializedPoint *spatializedPoint)
 
void RemoveAllSpatializedPoints ()
 
void UnstitchStaticLinks ()
 
static Ptr< NavFloorCreate (const CreateConfig &navFloorCongig, MemoryHeap *pheap=nullptr)
 
static KyUInt32 ComputeSizeForNavFloor (const NavFloorBlob &navFloorBlob)
 

Member Function Documentation

const CellPos & Kaim::NavFloor::GetCellPos ( ) const
inline

Returns the position of this NavFloor within the grid of NavData cells.

const NavFloorBlob * Kaim::NavFloor::GetNavFloorBlob ( ) const
inline

Retrieves the NavFloorBlob that contains the static data for this NavFloor.

bool Kaim::NavFloor::IsActive ( ) const
inline

This function returns true if the NavFloor has been "activated" in term of overlap, dynamic version,...

That means this NavFloor Will be used for Query process, bot pathFollowing, and all other AI components.

bool Kaim::NavFloor::IsStillLoaded ( ) const
inline

This function returns false if the NavData containing corresponding NavFloorBlob has been removed from the Database.

void Kaim::NavFloor::OnRemove ( )

Clears all information maintained by this object.


The documentation for this class was generated from the following files:
  • gwnavruntime/navmesh/navfloor.h
  • gwnavruntime/navmesh/navfloor.cpp