XII Release 0.1.0
Loading...
Searching...
No Matches
xiiSpatialSystem_RegularGrid Class Reference
Inheritance diagram for xiiSpatialSystem_RegularGrid:
[legend]

Public Member Functions

 xiiSpatialSystem_RegularGrid (xiiUInt32 uiCellSize=128)
 
xiiResult GetCellBoxForSpatialData (const xiiSpatialDataHandle &hData, xiiBoundingBox &out_boundingBox) const
 Returns the bounding box of the cell associated with the given spatial data. Useful for debug visualizations.
 
void GetAllCellBoxes (xiiDynamicArray< xiiBoundingBox > &out_boundingBoxes, xiiSpatialData::Category filterCategory=xiiInvalidSpatialDataCategory) const
 Returns bounding boxes of all existing cells.
 
template<typename Functor>
XII_FORCE_INLINE void ForEachGrid (const Data &data, const xiiSpatialDataHandle &hData, Functor func) const
 
- Public Member Functions inherited from xiiSpatialSystem
virtual void FindObjectsInSphere (const xiiBoundingSphere &sphere, const QueryParams &queryParams, xiiDynamicArray< xiiGameObject * > &out_objects) const
 
virtual void FindObjectsInBox (const xiiBoundingBox &box, const QueryParams &queryParams, xiiDynamicArray< xiiGameObject * > &out_objects) const
 
- Public Member Functions inherited from xiiReflectedClass
virtual const xiiRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const xiiRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T>
XII_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 

Private Member Functions

xiiVisibilityState::Enum GetVisibilityState (const xiiSpatialDataHandle &hData, xiiUInt32 uiNumFramesBeforeInvisible) const override
 Retrieves a state describing how visible the object is.
 

Additional Inherited Members

using QueryCallback = xiiDelegate<xiiVisitorExecution::Enum(xiiGameObject*)>
 
using IsOccludedFunc = xiiDelegate<bool(const xiiSimdBBox&)>
 
- Static Public Member Functions inherited from xiiNoBase
static const xiiRTTIGetStaticRTTI ()
 
- Protected Attributes inherited from xiiSpatialSystem
xiiProxyAllocator m_Allocator
 
xiiUInt64 m_uiFrameCounter = 0
 

Member Function Documentation

◆ CreateSpatialData()

xiiSpatialDataHandle xiiSpatialSystem_RegularGrid::CreateSpatialData ( const xiiSimdBBoxSphere & bounds,
xiiGameObject * pObject,
xiiUInt32 uiCategoryBitmask,
const xiiTagSet & tags )
overrideprivatevirtual

Implements xiiSpatialSystem.

◆ CreateSpatialDataAlwaysVisible()

xiiSpatialDataHandle xiiSpatialSystem_RegularGrid::CreateSpatialDataAlwaysVisible ( xiiGameObject * pObject,
xiiUInt32 uiCategoryBitmask,
const xiiTagSet & tags )
overrideprivatevirtual

Implements xiiSpatialSystem.

◆ DeleteSpatialData()

void xiiSpatialSystem_RegularGrid::DeleteSpatialData ( const xiiSpatialDataHandle & hData)
overrideprivatevirtual

Implements xiiSpatialSystem.

◆ FindObjectsInBox()

void xiiSpatialSystem_RegularGrid::FindObjectsInBox ( const xiiBoundingBox & box,
const QueryParams & queryParams,
QueryCallback callback ) const
overrideprivatevirtual

Implements xiiSpatialSystem.

◆ FindObjectsInSphere()

void xiiSpatialSystem_RegularGrid::FindObjectsInSphere ( const xiiBoundingSphere & sphere,
const QueryParams & queryParams,
QueryCallback callback ) const
overrideprivatevirtual

Implements xiiSpatialSystem.

◆ FindVisibleObjects()

void xiiSpatialSystem_RegularGrid::FindVisibleObjects ( const xiiFrustum & frustum,
const QueryParams & queryParams,
xiiDynamicArray< const xiiGameObject * > & out_Objects,
xiiSpatialSystem::IsOccludedFunc IsOccluded,
xiiVisibilityState::Enum visType ) const
overrideprivatevirtual

Implements xiiSpatialSystem.

◆ GetVisibilityState()

xiiVisibilityState::Enum xiiSpatialSystem_RegularGrid::GetVisibilityState ( const xiiSpatialDataHandle & hData,
xiiUInt32 uiNumFramesBeforeInvisible ) const
overrideprivatevirtual

Retrieves a state describing how visible the object is.

An object may be invisible, fully visible, or indirectly visible (through shadows or reflections).

Parameters
uiNumFramesBeforeInvisibleUsed to treat an object that was visible and just became invisible as visible for a few more frames.

Implements xiiSpatialSystem.

◆ StartNewFrame()

void xiiSpatialSystem_RegularGrid::StartNewFrame ( )
overrideprivatevirtual

Reimplemented from xiiSpatialSystem.

◆ UpdateSpatialDataBounds()

void xiiSpatialSystem_RegularGrid::UpdateSpatialDataBounds ( const xiiSpatialDataHandle & hData,
const xiiSimdBBoxSphere & bounds )
overrideprivatevirtual

Implements xiiSpatialSystem.

◆ UpdateSpatialDataObject()

void xiiSpatialSystem_RegularGrid::UpdateSpatialDataObject ( const xiiSpatialDataHandle & hData,
xiiGameObject * pObject )
overrideprivatevirtual

Implements xiiSpatialSystem.


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