VISR  0.12.0
Versatile Interactive Scene Renderer
visr::PolymorphicParameterInput Class Reference

#include <polymorphic_parameter_input.hpp>

Inheritance diagram for visr::PolymorphicParameterInput:
visr::ParameterInputBase visr::ParameterPortBase

Public Member Functions

 PolymorphicParameterInput (char const *name, Component &parent, ParameterType const &parameterType, CommunicationProtocolType const &protocolType, ParameterConfigBase const &paramConfig)
 
 PolymorphicParameterInput (char const *name, Component &parent, ParameterType const &parameterType, CommunicationProtocolType const &protocolType)
 
virtual ~PolymorphicParameterInput () override
 
void setProtocol (CommunicationProtocolBase *protocol) override
 
CommunicationProtocolBase::InputprotocolInput () override
 
CommunicationProtocolBase::Input const & protocolInput () const
 
- Public Member Functions inherited from visr::ParameterInputBase
 ParameterInputBase (char const *name, Component &parent, ParameterType const &parameterType, CommunicationProtocolType const &protocolType, ParameterConfigBase const &paramConfig)
 
 ParameterInputBase (char const *name, Component &parent, ParameterType const &parameterType, CommunicationProtocolType const &protocolType)
 
virtual ~ParameterInputBase () override
 
void setParameterConfig (ParameterConfigBase const &parameterConfig)
 
- Public Member Functions inherited from visr::ParameterPortBase
 ParameterPortBase (char const *name, Component &parent, PortBase::Direction direction, ParameterType const &parameterType, CommunicationProtocolType const &protocolType, ParameterConfigBase const &parameterConfig)
 
 ParameterPortBase (char const *name, Component &parent, PortBase::Direction direction, ParameterType const &parameterType, CommunicationProtocolType const &protocolType)
 
 ParameterPortBase (ParameterPortBase const &)=delete
 
 ParameterPortBase (ParameterPortBase &&)=delete
 
ParameterPortBaseoperator= (ParameterPortBase const &)=delete
 
ParameterPortBaseoperator= (ParameterPortBase &&)=delete
 
virtual ~ParameterPortBase ()
 
void setParameterConfig (ParameterConfigBase const &parameterConfig)
 
ParameterType parameterType () const
 
CommunicationProtocolType protocolType () const
 
ParameterConfigBase const & parameterConfig () const
 
impl::ParameterPortBaseImplementationimplementation ()
 
impl::ParameterPortBaseImplementation const & implementation () const
 

Additional Inherited Members

- Public Types inherited from visr::ParameterPortBase
using Direction = PortBase::Direction
 

Detailed Description

Parameter input port without predefined parameter and port types. In contrast to the templated ParameterInput classes, these types are set by parameter and protocol type ids that are passed as constructor arguments.

Constructor & Destructor Documentation

◆ PolymorphicParameterInput() [1/2]

visr::PolymorphicParameterInput::PolymorphicParameterInput ( char const *  name,
Component parent,
ParameterType const &  parameterType,
CommunicationProtocolType const &  protocolType,
ParameterConfigBase const &  paramConfig 
)
explicit

Constructor with a parameter config argument.

Parameters
nameThe name of the port, must be unique within the parameter ports of the containing components.
parentthe containing component (atomic or composite)
parameterTypeThe parameter type id for this port.
protocolTypeThe protocol type id for this port.
paramConfigA parameter configuration object. Must be compatible with the parameter type specified by parameterType.

◆ PolymorphicParameterInput() [2/2]

visr::PolymorphicParameterInput::PolymorphicParameterInput ( char const *  name,
Component parent,
ParameterType const &  parameterType,
CommunicationProtocolType const &  protocolType 
)
explicit

Constructor without a parameter config argument. The parameter type must be set during the initalisation set.

Parameters
nameThe name of the port, must be unique within the parameter ports of the containing components.
parentthe containing component (atomic or composite)
parameterTypeThe parameter type id for this port.
protocolTypeThe protocol type id for this port.

◆ ~PolymorphicParameterInput()

visr::PolymorphicParameterInput::~PolymorphicParameterInput ( )
overridevirtualdefault

Virtual destructor. Overrides the base class destructor (of ParameterInputBase).

Member Function Documentation

◆ protocolInput() [1/2]

CommunicationProtocolBase::Input & visr::PolymorphicParameterInput::protocolInput ( )
overridevirtual

Return the protocol input of this port. Must be called only after initialisation. Defines the pure virtual method of the ParameterInputBase protocol.

Exceptions
std::exceptionIf the method is called while this object is not connected.

Implements visr::ParameterInputBase.

◆ protocolInput() [2/2]

CommunicationProtocolBase::Input const & visr::PolymorphicParameterInput::protocolInput ( ) const

Return the protocol input of this port, const version Must be called only after initialisation. Defines the pure virtual method of the ParameterInputBase protocol.

Exceptions
std::exceptionIf the method is called while this object is not connected.

◆ setProtocol()

void visr::PolymorphicParameterInput::setProtocol ( CommunicationProtocolBase protocol)
overridevirtual

Set the communication protocol for the protocol input contained in this port. Defines the pure virtual method of the parameterInputBase protocol.

Implements visr::ParameterPortBase.


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