Kanzi 4.0.0-beta2
kanzi::DebugVisualizationStorage< T, TDerivedClass > Class Template Reference

Storage class for debug visualizations. More...

#include <kanzi/core.ui/node/debug_visualization_storage.hpp>

Public Types

using InternalDebugVisualizationStorage
 Bounding visualization storage.
 
using TNode
 Node type being drawn.
 

Public Member Functions

void clearExpiredVisualizations ()
 Clears expired bounding visualizations.
 
 DebugVisualizationStorage ()=default
 Constructor.
 
 DebugVisualizationStorage (const DebugVisualizationStorage &)=delete
 Deleted copy constructor.
 
DebugVisualizationemplace (const shared_ptr< TNode > &sharedNode, DebugVisualizationSharedPtr sharedVisualization)
 Emplaces the visualization into the internal storage.
 
void eraseVisualization (const shared_ptr< TNode > &node)
 Erase a single visualization from the storage, if it exists.
 
void eraseVisualizations ()
 Erase all visualizations in the storage.
 
DebugVisualizationevaluateVisualizationForNode (Renderer &renderer, const shared_ptr< TNode > &sharedNode)
 Evaluates a visualization for given node.
 
TDerivedClassgetThisObject ()
 Gets the derived class object.
 
DebugVisualizationStorageoperator= (const DebugVisualizationStorage &)=delete
 Deleted copy operator.
 

Protected Attributes

InternalDebugVisualizationStorage m_storage
 Storage for visualizations.
 

Detailed Description

template<typename T, typename TDerivedClass>
class kanzi::DebugVisualizationStorage< T, TDerivedClass >

Storage class for debug visualizations.

Must be created as needed in places visualizing debug objects.

Since
Kanzi 4.0.0

Member Typedef Documentation

◆ TNode

◆ InternalDebugVisualizationStorage

using kanzi::DebugVisualizationStorage< T, TDerivedClass >::InternalDebugVisualizationStorage

Bounding visualization storage.

Constructor & Destructor Documentation

◆ DebugVisualizationStorage() [1/2]

kanzi::DebugVisualizationStorage< T, TDerivedClass >::DebugVisualizationStorage ( )
explicitdefault

Constructor.

◆ DebugVisualizationStorage() [2/2]

Deleted copy constructor.

Member Function Documentation

◆ operator=()

◆ getThisObject()

Gets the derived class object.

Returns
Pointer to derived class object.

◆ emplace()

DebugVisualization * kanzi::DebugVisualizationStorage< T, TDerivedClass >::emplace ( const shared_ptr< TNode > & sharedNode,
DebugVisualizationSharedPtr sharedVisualization )
inline

Emplaces the visualization into the internal storage.

Parameters
sharedNodeNode being rendered.
sharedVisualizationVisualization created.
Returns
Pointer to visualization.

◆ evaluateVisualizationForNode()

DebugVisualization * kanzi::DebugVisualizationStorage< T, TDerivedClass >::evaluateVisualizationForNode ( Renderer & renderer,
const shared_ptr< TNode > & sharedNode )
inline

Evaluates a visualization for given node.

This function passes an existing visualization or nullptr to evaluateVisualization() function to be implemented by the deriving class. Derived class is responsible for creating the visualization if it's nullptr.

The inheriting classes' evaluateVisualization() does not need to actually draw the visualization, or necessarily even create it. The implementation is fully up to the deriving class. Typical use case is to either create and render the visualization or create and return it (without rendering).

Parameters
rendererRenderer to use.
sharedNodeNode to visualize.
Returns
Visualization created or rendered.

◆ eraseVisualizations()

void kanzi::DebugVisualizationStorage< T, TDerivedClass >::eraseVisualizations ( )
inline

Erase all visualizations in the storage.

◆ eraseVisualization()

void kanzi::DebugVisualizationStorage< T, TDerivedClass >::eraseVisualization ( const shared_ptr< TNode > & node)
inline

Erase a single visualization from the storage, if it exists.

Parameters
nodeNode the visualization is associated with.

◆ clearExpiredVisualizations()

void kanzi::DebugVisualizationStorage< T, TDerivedClass >::clearExpiredVisualizations ( )
inline

Clears expired bounding visualizations.

Member Data Documentation

◆ m_storage

Storage for visualizations.


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