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

Classes

struct  QueryParams
 

Public Member Functions

virtual void StartNewFrame ()
 
Spatial Data Functions
virtual xiiSpatialDataHandle CreateSpatialData (const xiiSimdBBoxSphere &bounds, xiiGameObject *pObject, xiiUInt32 uiCategoryBitmask, const xiiTagSet &tags)=0
 
virtual xiiSpatialDataHandle CreateSpatialDataAlwaysVisible (xiiGameObject *pObject, xiiUInt32 uiCategoryBitmask, const xiiTagSet &tags)=0
 
virtual void DeleteSpatialData (const xiiSpatialDataHandle &hData)=0
 
virtual void UpdateSpatialDataBounds (const xiiSpatialDataHandle &hData, const xiiSimdBBoxSphere &bounds)=0
 
virtual void UpdateSpatialDataObject (const xiiSpatialDataHandle &hData, xiiGameObject *pObject)=0
 
- 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.
 

Protected Attributes

xiiProxyAllocator m_Allocator
 
xiiUInt64 m_uiFrameCounter = 0
 

Simple Queries

using QueryCallback = xiiDelegate<xiiVisitorExecution::Enum(xiiGameObject*)>
 
virtual void FindObjectsInSphere (const xiiBoundingSphere &sphere, const QueryParams &queryParams, xiiDynamicArray< xiiGameObject * > &out_objects) const
 
virtual void FindObjectsInSphere (const xiiBoundingSphere &sphere, const QueryParams &queryParams, QueryCallback callback) const =0
 
virtual void FindObjectsInBox (const xiiBoundingBox &box, const QueryParams &queryParams, xiiDynamicArray< xiiGameObject * > &out_objects) const
 
virtual void FindObjectsInBox (const xiiBoundingBox &box, const QueryParams &queryParams, QueryCallback callback) const =0
 

Visibility Queries

using IsOccludedFunc = xiiDelegate<bool(const xiiSimdBBox&)>
 
virtual void FindVisibleObjects (const xiiFrustum &frustum, const QueryParams &queryParams, xiiDynamicArray< const xiiGameObject * > &out_objects, IsOccludedFunc isOccluded, xiiVisibilityState::Enum visType) const =0
 
virtual xiiVisibilityState::Enum GetVisibilityState (const xiiSpatialDataHandle &hData, xiiUInt32 uiNumFramesBeforeInvisible) const =0
 Retrieves a state describing how visible the object is.
 

Additional Inherited Members

- Static Public Member Functions inherited from xiiNoBase
static const xiiRTTIGetStaticRTTI ()
 

Member Function Documentation

◆ GetVisibilityState()

virtual xiiVisibilityState::Enum xiiSpatialSystem::GetVisibilityState ( const xiiSpatialDataHandle & hData,
xiiUInt32 uiNumFramesBeforeInvisible ) const
pure virtual

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.

Implemented in xiiSpatialSystem_RegularGrid.


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