XII Release 0.1.0
Loading...
Searching...
No Matches
xiiSpatialSystem Class Referenceabstract

Copyright (c) Theophilus Eriata. All Rights Reserved. More...

#include <SpatialSystem.h>

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 xiiRTTI * GetDynamicRTTI () 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

Additional Inherited Members

Static Public Member Functions inherited from xiiNoBase
static const xiiRTTI * GetStaticRTTI ()

Detailed Description

Copyright (c) Theophilus Eriata. All Rights Reserved.

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:
  • /home/runner/work/XII/XII/Source/Engine/Core/World/SpatialSystem.h
  • /home/runner/work/XII/XII/Source/Engine/Core/World/Implementation/SpatialSystem.cpp