Kanzi  3.9.4
Kanzi Engine API
kanzi::RenderEntryRegistry< T > Class Template Reference

Registry used to keep track of DrawObjectsRenderPass objects that contain render entries. More...

#include <kanzi/core.ui/graphics3d/render_entry_registry_3d.hpp>

Public Member Functions

void cleanRenderEntryRegistry ()
 Clean references to this node from all all render entries. More...
 
TgetThisObject ()
 Gets the pointer to this object. More...
 
void insertReferringDrawPass (DrawObjectsRenderPassWeakPtr drawPass)
 Insert a referring draw pass. More...
 
 ~RenderEntryRegistry ()
 Destructor. More...
 

Protected Attributes

flat_set< DrawObjectsRenderPassWeakPtr, owner_less< DrawObjectsRenderPassWeakPtr > > m_referringRenderPasses
 Render passes referring to the Node deriving this template class. More...
 
Node3D::RenderEntryParameterContainer m_renderEntryParameters
 Cached render entry parameters. More...
 

Detailed Description

template<typename T>
class kanzi::RenderEntryRegistry< T >

Registry used to keep track of DrawObjectsRenderPass objects that contain render entries.

Derive from this class when you implement your own Node3D classes that generate render states for DrawObjectsRenderPass or its derivatives.

A Node3D class that inherits from RenderEntryRegistry must call:

void CustomDataDrivenNode3D::registerDrawPassOverride(DrawObjectsRenderPassSharedPtr drawPass)
{
}
Since
Kanzi 3.9.0

Constructor & Destructor Documentation

◆ ~RenderEntryRegistry()

template<typename T>
kanzi::RenderEntryRegistry< T >::~RenderEntryRegistry ( )
inline

Destructor.

Member Function Documentation

◆ getThisObject()

template<typename T>
T* kanzi::RenderEntryRegistry< T >::getThisObject ( )
inline

Gets the pointer to this object.

(CRTP).

Returns
This pointer.

◆ insertReferringDrawPass()

template<typename T>
void kanzi::RenderEntryRegistry< T >::insertReferringDrawPass ( DrawObjectsRenderPassWeakPtr  drawPass)
inline

Insert a referring draw pass.

Parameters
drawPassWeak reference to a draw pass.

◆ cleanRenderEntryRegistry()

template<typename T>
void kanzi::RenderEntryRegistry< T >::cleanRenderEntryRegistry ( )
inline

Clean references to this node from all all render entries.

Member Data Documentation

◆ m_referringRenderPasses

template<typename T>
flat_set<DrawObjectsRenderPassWeakPtr, owner_less<DrawObjectsRenderPassWeakPtr> > kanzi::RenderEntryRegistry< T >::m_referringRenderPasses
protected

Render passes referring to the Node deriving this template class.

◆ m_renderEntryParameters

template<typename T>
Node3D::RenderEntryParameterContainer kanzi::RenderEntryRegistry< T >::m_renderEntryParameters
protected

Cached render entry parameters.

This container is updated whenever the rendering parameters of the node change.


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