Diligent Engine
Loading...
Searching...
No Matches
Diligent::IRadientScene Struct Referenceabstract

Scene graph and ECS storage interface. More...

#include <RadientScene.h>

Inheritance diagram for Diligent::IRadientScene:
Diligent.IObject

Public Member Functions

virtual const RadientSceneDesc &DILIGENT_CALL_TYPE GetDesc () const =0
 Returns the scene description.
virtual RADIENT_STATUS DILIGENT_CALL_TYPE IsEntityAlive (RadientEntityID Entity) const =0
 Returns RADIENT_STATUS_OK if the entity is alive.
virtual RADIENT_STATUS DILIGENT_CALL_TYPE GetEntityFlags (RadientEntityID Entity, RADIENT_ENTITY_FLAGS &Flags) const =0
 Gets entity flags.
virtual RADIENT_STATUS DILIGENT_CALL_TYPE GetEntityOwnVisibility (RadientEntityID Entity, Bool &Visible) const =0
 Gets entity's own visibility flag.
virtual RADIENT_STATUS DILIGENT_CALL_TYPE GetEntityEffectiveVisibility (RadientEntityID Entity, Bool &Visible)=0
 Gets effective entity visibility, accounting for parent visibility.
virtual RADIENT_STATUS DILIGENT_CALL_TYPE GetCachedEntityEffectiveVisibility (RadientEntityID Entity, Bool &Visible) const =0
virtual RADIENT_STATUS DILIGENT_CALL_TYPE GetParent (RadientEntityID Entity, RadientEntityID &Parent) const =0
 Gets the entity parent, or InvalidRadientEntityID for a root entity.
virtual RADIENT_STATUS DILIGENT_CALL_TYPE GetChildCount (RadientEntityID Entity, Uint32 &ChildCount) const =0
 Returns the number of child entities.
virtual RADIENT_STATUS DILIGENT_CALL_TYPE GetChildren (RadientEntityID Entity, Uint32 StartChild, Uint32 ChildCount, RadientEntityID *pChildren, Uint32 &NumChildrenWritten) const =0
 Gets child entities starting from StartChild.
virtual RADIENT_STATUS DILIGENT_CALL_TYPE GetLocalTransform (RadientEntityID Entity, RadientTransform &Transform) const =0
 Gets local transform.
virtual RADIENT_STATUS DILIGENT_CALL_TYPE GetWorldMatrix (RadientEntityID Entity, RadientMatrix4x4 &Matrix)=0
 Gets world transform matrix.
virtual RADIENT_STATUS DILIGENT_CALL_TYPE GetCachedWorldMatrix (RadientEntityID Entity, RadientMatrix4x4 &Matrix) const =0
virtual RADIENT_STATUS DILIGENT_CALL_TYPE GetCamera (RadientEntityID Entity, RadientCameraComponent &Camera) const =0
 Gets camera component.
virtual const RadientEnvironmentDesc &DILIGENT_CALL_TYPE GetEnvironment () const =0
 Gets the scene environment used for image-based lighting.
virtual RADIENT_STATUS DILIGENT_CALL_TYPE HasComponent (RadientEntityID Entity, RadientComponentTypeID ComponentType, Bool &HasComponent) const =0
 Checks if the entity has the requested component.
virtual const RadientSceneRevisions &DILIGENT_CALL_TYPE GetSceneRevisions () const =0
 Returns renderer-relevant scene revisions.
Public Member Functions inherited from Diligent.IObject
virtual void DILIGENT_CALL_TYPE QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface)=0
 Queries the specific interface.
template<typename DerivedType, typename = typename std::enable_if<std::is_base_of<IObject, DerivedType>::value>::type>
void QueryInterface (const INTERFACE_ID &IID, DerivedType **ppInterface)
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE AddRef ()=0
 Increments the number of strong references by 1.
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE Release ()=0
virtual IReferenceCounters *DILIGENT_CALL_TYPE GetReferenceCounters () const =0

Detailed Description

Scene graph and ECS storage interface.

Member Function Documentation

◆ GetCachedEntityEffectiveVisibility()

virtual RADIENT_STATUS DILIGENT_CALL_TYPE Diligent::IRadientScene::GetCachedEntityEffectiveVisibility ( RadientEntityID Entity,
Bool & Visible ) const
pure virtual

Gets cached effective entity visibility without updating dirty derived state. If the scene has changed, call CommitChanges() first to guarantee the cached value is up to date. Returns RADIENT_STATUS_OUT_OF_DATE if the cached value may be stale.

◆ GetCachedWorldMatrix()

virtual RADIENT_STATUS DILIGENT_CALL_TYPE Diligent::IRadientScene::GetCachedWorldMatrix ( RadientEntityID Entity,
RadientMatrix4x4 & Matrix ) const
pure virtual

Gets cached world transform matrix without updating dirty derived state. If the scene has changed, call CommitChanges() first to guarantee the cached value is up to date. Returns RADIENT_STATUS_OUT_OF_DATE if the cached value may be stale.