Kaim::NavCell Class Reference

Kaim::NavCell Class Reference

#include <navcell.h>

Class Description

This class is a runtime wrapper of a NavCellBlob.

NavCells are managed by the NavCellGrid. This is the NavMesh unit it term of activation - Deactivation in term of sector and overlaps (using the parent NavMeshElement GuidCompound).

It maintains, for each NavFloorBlob, an instance of NavFloor. It also maintains dynamic versions of NavFloor if present.

Public Attributes

KyUInt8 m_currentActivenessStatus
 
KyUInt16 m_idxOfNavCellVersionCollection
 
const NavCellBlobm_navCellBlob
 
KyUInt32 m_navCellIdxInNavMesh
 
bool m_navFloorsAreStitched
 
KyUInt8 m_nextActivenessStatus
 
KyUInt16 m_numberOfActiveDynamicFloors
 
KyUInt16 m_numberOfFloors
 
NavMeshElementm_parentNavMeshElement
 

Public Member Functions

const CellPosGetCellPos () const
 
KyUInt32 GetNavFloorCount () const
 
NavFloorGetNavFloor (NavFloorIdx floorIdx) const
 
const GuidCompound & GetGuidCompound () const
 
NavMeshElementGetParentNavMeshElement () const
 
bool IsNavCellBlobEmpty () const
 
bool IsNavCellActive () const
 

Member Function Documentation

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

Retrieves the position of this NavCell within the grid of NavData cells.

const GuidCompound & Kaim::NavCell::GetGuidCompound ( ) const
inline

Retrieves the GuidCompound that identifies the NavMeshElement that contains this NavCell.

NavFloor * Kaim::NavCell::GetNavFloor ( NavFloorIdx  floorIdx) const
inline

Retrieves the NavFloor with the specified index.

KyUInt32 Kaim::NavCell::GetNavFloorCount ( ) const
inline

Retrieves the number of NavFloors in this NavCell.

NavMeshElement * Kaim::NavCell::GetParentNavMeshElement ( ) const
inline

Retrieves a pointer to the NavMeshElement that contains this NavCell.

bool Kaim::NavCell::IsNavCellActive ( ) const
inline

Indicates whether or not this NavCell has been considered active by the NavCellGrid in term of overlap and GuidCompound.

If so, all the NavFloor (dynamic if present, static otherwise) of this NavCell are accessible from ActiveData and are used by the bots, queries, etc...

bool Kaim::NavCell::IsNavCellBlobEmpty ( ) const
inline

Returns true if the NavCellBlob contains no NavFloors and triangles.

Member Data Documentation

KyUInt8 Kaim::NavCell::m_currentActivenessStatus

Current ActivenessStatus. Do not modify.

KyUInt16 Kaim::NavCell::m_idxOfNavCellVersionCollection

the idx of this NavCell in the SmallPtrTrackedCollection located at this CellPos in the NavCellGrid. For internal use. Do not modify.

const NavCellBlob* Kaim::NavCell::m_navCellBlob

The NavCellBlob that contains the static data for this NavCell. Do not modify.

KyUInt32 Kaim::NavCell::m_navCellIdxInNavMesh

The index of the NavCell within the buffer of NavCell in its NavMeshElement. Equal to the index of NavCellBlob within the NavMeshElementBlob. Do not modify.

bool Kaim::NavCell::m_navFloorsAreStitched

Indicates whether or not the NavFloors in this NavCell have been stitched into a Database. For Internal Use. Do not modify.

KyUInt8 Kaim::NavCell::m_nextActivenessStatus

this is a temporary ActivenessStatus value used by the NavCellGrid when updating the database. For Internal Use. Do not modify.

KyUInt16 Kaim::NavCell::m_numberOfActiveDynamicFloors

The number of dynamicNavFloors in the #m_activeNavFloors buffer. Do not modify.

KyUInt16 Kaim::NavCell::m_numberOfFloors

The total number of NavFloors in #m_activeNavFloors. never change. Do not modify.

NavMeshElement* Kaim::NavCell::m_parentNavMeshElement

The NavMeshElement that contains this NavCell. Do not modify.


The documentation for this class was generated from the following file: