SceneMemberVisibilityRegistry Class Template
Stores visible and culled scene members grouped by viewport. More...
Declaration
Public Constructors Index
template <typename TMemberHandle> | |
| SceneMemberVisibilityRegistry () | |
|
Creates an empty registry with default viewport capacity. More... | |
Public Member Functions Index
template <typename TMemberHandle> | |
| bool | addCulledMember (ViewportHandle viewportHandle, TMemberHandle memberHandle) |
|
Adds a member to the culled list of a viewport. More... | |
template <typename TMemberHandle> | |
| bool | addVisibleMember (ViewportHandle viewportHandle, TMemberHandle memberHandle) |
|
Adds a member to the visible list of a viewport. More... | |
template <typename TMemberHandle> | |
| auto | culledMembers (ViewportHandle viewportHandle) const -> std::span< const TMemberHandle > |
|
Returns culled members for a viewport. More... | |
template <typename TMemberHandle> | |
| auto | visibleMembers (ViewportHandle viewportHandle) const -> std::span< const TMemberHandle > |
|
Returns visible members for a viewport. More... | |
template <typename TMemberHandle> | |
| void | clear () |
|
Clears visible and culled members for all viewports. More... | |
Private Member Attributes Index
template <typename TMemberHandle> | |
| HandleManyToManyMap< ViewportHandle, TMemberHandle > | visibleMembers_ |
template <typename TMemberHandle> | |
| HandleManyToManyMap< ViewportHandle, TMemberHandle > | culledMembers_ |
Description
Stores visible and culled scene members grouped by viewport.
- Template Parameters
-
TMemberHandle Handle type of tracked scene members.
Definition at line 28 of file SceneMemberVisibilityRegistry.ixx.
Public Constructors
SceneMemberVisibilityRegistry()
| inline |
Creates an empty registry with default viewport capacity.
Definition at line 37 of file SceneMemberVisibilityRegistry.ixx.
References DEFAULT_VIEWPORT_POOL_CAPACITY and helios::engine::core::container::HandleManyToManyMap< TOneHandle, TManyHandle >::reserve.
Public Member Functions
addCulledMember()
| inline |
Adds a member to the culled list of a viewport.
- Parameters
-
viewportHandle Viewport receiving the culled member.
memberHandle Scene member to register as culled.
- Returns
true after the association was appended.
Definition at line 48 of file SceneMemberVisibilityRegistry.ixx.
Reference helios::engine::core::container::HandleManyToManyMap< TOneHandle, TManyHandle >::bind.
Referenced by helios::engine::scene::systems::SceneRenderSystem< TOwnerHandle, TMemberHandle, TCullingStrategy, TCommandBuffer >::update.
addVisibleMember()
| inline |
Adds a member to the visible list of a viewport.
- Parameters
-
viewportHandle Viewport receiving the visible member.
memberHandle Scene member to register as visible.
- Returns
true after the association was appended.
Definition at line 58 of file SceneMemberVisibilityRegistry.ixx.
Reference helios::engine::core::container::HandleManyToManyMap< TOneHandle, TManyHandle >::bind.
Referenced by helios::engine::scene::systems::SceneRenderSystem< TOwnerHandle, TMemberHandle, TCullingStrategy, TCommandBuffer >::update.
clear()
| inline |
Clears visible and culled members for all viewports.
Definition at line 84 of file SceneMemberVisibilityRegistry.ixx.
Reference helios::engine::core::container::HandleManyToManyMap< TOneHandle, TManyHandle >::clear.
Referenced by helios::engine::scene::systems::SceneMemberVisibilityRegistryClearSystem< TMemberHandle >::update.
culledMembers()
| inline |
Returns culled members for a viewport.
- Parameters
-
viewportHandle Viewport to query.
- Returns
Read-only span of culled members, or an empty span.
Definition at line 67 of file SceneMemberVisibilityRegistry.ixx.
Reference helios::engine::core::container::HandleManyToManyMap< TOneHandle, TManyHandle >::values.
visibleMembers()
| inline |
Returns visible members for a viewport.
- Parameters
-
viewportHandle Viewport to query.
- Returns
Read-only span of visible members, or an empty span.
Definition at line 76 of file SceneMemberVisibilityRegistry.ixx.
Reference helios::engine::core::container::HandleManyToManyMap< TOneHandle, TManyHandle >::values.
Private Member Attributes
culledMembers_
|
Definition at line 31 of file SceneMemberVisibilityRegistry.ixx.
visibleMembers_
|
Definition at line 30 of file SceneMemberVisibilityRegistry.ixx.
The documentation for this class was generated from the following file:
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.