VISR  0.11.6
Versatile Interactive Scene Renderer
visr::ParameterConfigBase Class Referenceabstract

#include <parameter_config_base.hpp>

Inheritance diagram for visr::ParameterConfigBase:
visr::pml::EmptyParameterConfig visr::pml::InterpolationParameterConfig visr::pml::MatrixParameterConfig visr::pml::TimeFrequencyParameterConfig visr::pml::VectorParameterConfig visr::python::visr::ParameterConfigBaseWrapper

Public Member Functions

virtual ~ParameterConfigBase ()
 
virtual bool compare (ParameterConfigBase const &rhs) const =0
 
virtual std::unique_ptr< ParameterConfigBaseclone () const =0
 

Protected Member Functions

 ParameterConfigBase ()
 
 ParameterConfigBase (ParameterConfigBase const &)
 

Detailed Description

Base class for parameter configuration objects. A parameter configuration object adds information about the transmitted parameter objects to a parameter port or communication protocol. This information contains additional information about the parameter (e.g., the dimension of the matrix), but not the type itself. Each parameter class is associated with a specific parameter configuration type, but the same parameter configuration class can be potentially used by multiple parameter classes. Parameter configuration objects are used by the runtime system to check compatibility of parameter connections, and to construct parameter objects.

Constructor & Destructor Documentation

◆ ParameterConfigBase() [1/2]

visr::ParameterConfigBase::ParameterConfigBase ( )
protecteddefault

Default constructor. This constructor is protected because only derived classes can be instantiated.

◆ ParameterConfigBase() [2/2]

visr::ParameterConfigBase::ParameterConfigBase ( ParameterConfigBase const &  )
protecteddefault

Copy constructor. This constructor is protected because only derived classes can be instantiated.

Note
It is defined explicitly in order to have the symbol placed in the library

◆ ~ParameterConfigBase()

visr::ParameterConfigBase::~ParameterConfigBase ( )
virtualdefault

Destructor (virtual). Parameter configuration objects are instantiated and managed polymorphically, therefore the destructor has to be virtual

Member Function Documentation

◆ clone()

virtual std::unique_ptr<ParameterConfigBase> visr::ParameterConfigBase::clone ( ) const
pure virtual

Clone (virtual copy construction) function. Pure virtual function, must be defined in derived types.

Returns
A shared pointer to an object of the derived type.

Implemented in visr::pml::InterpolationParameterConfig, visr::pml::MatrixParameterConfig, visr::pml::TimeFrequencyParameterConfig, visr::pml::EmptyParameterConfig, and visr::pml::VectorParameterConfig.

◆ compare()

virtual bool visr::ParameterConfigBase::compare ( ParameterConfigBase const &  rhs) const
pure virtual

Comparison function between parameter configurations. Must only be called between objects of equal dynamic type. Pure virtual function interface, must be implemented by derived parameter config types.

Parameters
rhsThe parameter configuration object to compare with.
Returns
True if the parameter objects are compatible, false otherwise
Exceptions
std::invalid_argumentit the this object and rhs have nonmatching dynamic types.

Implemented in visr::pml::InterpolationParameterConfig, visr::pml::MatrixParameterConfig, visr::pml::TimeFrequencyParameterConfig, visr::python::visr::ParameterConfigBaseWrapper, visr::pml::EmptyParameterConfig, and visr::pml::VectorParameterConfig.


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