Kanzi 4.1.0
kanzi::RenderEntryParameterMapping3D Class Reference

Helper class to manage render entry parameter mapping for requirements. More...

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

Public Member Functions

void clear ()
 Clears the mapping.
 
bool empty () const
 Indicates whether or not the mapping is empty.
 
RenderEntryParameterContainer3DgetDefaultParameters ()
 Gets the default parameter set corresponding to no requirements.
 
RenderEntryParameterContainer3DgetParameters (optional< MaterialRequirements > requirements)
 Gets the parameters corresponding to given requirements.
 
RenderEntryParameterMapping3Doperator= (const RenderEntryParameterMapping3D &)=delete
 Deleted copy operator.
 
RenderEntryParameterMapping3Doperator= (RenderEntryParameterMapping3D &&)=default
 Default move operator.
 
 RenderEntryParameterMapping3D ()=default
 Default constructor.
 
 RenderEntryParameterMapping3D (const RenderEntryParameterMapping3D &)=delete
 Deleted copy constructor.
 
 RenderEntryParameterMapping3D (RenderEntryParameterMapping3D &&)=default
 Default move constructor.
 

Protected Attributes

flat_map< optional< MaterialRequirements >, unique_ptr< RenderEntryParameterContainer3D > > m_parameters
 Cached render entry parameters.
 

Detailed Description

Helper class to manage render entry parameter mapping for requirements.

Since
Kanzi 4.0.0

Constructor & Destructor Documentation

◆ RenderEntryParameterMapping3D() [1/3]

kanzi::RenderEntryParameterMapping3D::RenderEntryParameterMapping3D ( )
explicitdefault

Default constructor.

◆ RenderEntryParameterMapping3D() [2/3]

kanzi::RenderEntryParameterMapping3D::RenderEntryParameterMapping3D ( RenderEntryParameterMapping3D && )
default

Default move constructor.

◆ RenderEntryParameterMapping3D() [3/3]

kanzi::RenderEntryParameterMapping3D::RenderEntryParameterMapping3D ( const RenderEntryParameterMapping3D & )
delete

Deleted copy constructor.

Member Function Documentation

◆ operator=() [1/2]

RenderEntryParameterMapping3D & kanzi::RenderEntryParameterMapping3D::operator= ( RenderEntryParameterMapping3D && )
default

Default move operator.

◆ operator=() [2/2]

RenderEntryParameterMapping3D & kanzi::RenderEntryParameterMapping3D::operator= ( const RenderEntryParameterMapping3D & )
delete

Deleted copy operator.

◆ clear()

void kanzi::RenderEntryParameterMapping3D::clear ( )
inline

Clears the mapping.

Classes using the mapping should call this function when their rendering parameters change.

◆ empty()

bool kanzi::RenderEntryParameterMapping3D::empty ( ) const
inline

Indicates whether or not the mapping is empty.

Returns
If the mapping is empty true, false otherwise.

◆ getDefaultParameters()

RenderEntryParameterContainer3D & kanzi::RenderEntryParameterMapping3D::getDefaultParameters ( )
inline

Gets the default parameter set corresponding to no requirements.

Returns
Reference to the default parameters array, created if necessary.

◆ getParameters()

RenderEntryParameterContainer3D & kanzi::RenderEntryParameterMapping3D::getParameters ( optional< MaterialRequirements > requirements)

Gets the parameters corresponding to given requirements.

Parameters
requirementsRequirements to satisfy.
Returns
Reference to a parameter array for given requirements.

Member Data Documentation

◆ m_parameters

flat_map<optional<MaterialRequirements>, unique_ptr<RenderEntryParameterContainer3D> > kanzi::RenderEntryParameterMapping3D::m_parameters
protected

Cached render entry parameters.

This container is updated whenever the rendering parameters of the node change. The containers are held through unique_ptr so that their addresses stay stable when the map grows: callers (and the render passes) keep references/pointers to a container across operations that may insert further entries, so the container objects must not be relocated by a map reallocation. [EDITORS-960]


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