Scene graph and ECS storage interface. More...
#include <RadientScene.h>
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 |
Scene graph and ECS storage interface.
|
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.
|
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.