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

#include <atomic_component.hpp>

Inheritance diagram for visr::AtomicComponent:
visr::Component visr::apps::audio_network_streamer::AudioNetworkEncoder visr::impl::test::TestAtom visr::python::visr::AtomicComponentWrapper visr::rcl::Add visr::rcl::BiquadIirFilter visr::rcl::CAPGainCalculator visr::rcl::ChannelObjectRoutingCalculator visr::rcl::CrossfadingFirFilterMatrix visr::rcl::DelayMatrix visr::rcl::DelayVector visr::rcl::DiffusionGainCalculator visr::rcl::FirFilterMatrix visr::rcl::GainMatrix visr::rcl::GainVector visr::rcl::HoaAllRadGainCalculator visr::rcl::InterpolatingFirFilterMatrix visr::rcl::ListenerCompensation visr::rcl::NullSource visr::rcl::ObjectGainEqCalculator visr::rcl::PanningCalculator visr::rcl::PositionDecoder visr::rcl::ScalarOscDecoder visr::rcl::SceneDecoder visr::rcl::SceneEncoder visr::rcl::SignalRouting visr::rcl::SparseGainMatrix visr::rcl::TimeFrequencyInverseTransform visr::rcl::TimeFrequencyTransform visr::rcl::UdpReceiver visr::rcl::UdpSender visr::reverbobject::LateReverbFilterCalculator visr::reverbobject::ReverbParameterCalculator visr::rrl::SignalRoutingInternal< SampleType >

Public Member Functions

 AtomicComponent (SignalFlowContext const &context, char const *name, CompositeComponent *parent=nullptr)
 
 AtomicComponent (AtomicComponent const &)=delete
 
 AtomicComponent (AtomicComponent &&)=delete
 
virtual ~AtomicComponent () override
 
virtual void process ()=0
 
- Public Member Functions inherited from visr::Component
 Component (SignalFlowContext const &context, char const *componentName, CompositeComponent *parent)
 
 Component (SignalFlowContext const &context, std::string const &componentName, CompositeComponent *parent)
 
 Component (Component const &)=delete
 
 Component (Component &&)=delete
 
Componentoperator= (Component const &)=delete
 
Componentoperator= (Component &&)=delete
 
virtual ~Component ()
 
std::string const & name () const
 
std::string fullName () const
 
void status (StatusMessage::Kind status, char const *message)
 
template<typename ... MessageArgs>
void status (StatusMessage::Kind status, MessageArgs ... args)
 
bool isComposite () const
 
AudioPortBaseaudioPort (char const *portName)
 
AudioPortBase const & audioPort (char const *portName) const
 
AudioPortBaseaudioPort (std::string const &portName)
 
AudioPortBase const & audioPort (std::string const &portName) const
 
ParameterPortBaseparameterPort (char const *portName)
 
ParameterPortBase const & parameterPort (char const *portName) const
 
ParameterPortBaseparameterPort (std::string const &portName)
 
ParameterPortBase const & parameterPort (std::string const &portName) const
 
SamplingFrequencyType samplingFrequency () const
 
std::size_t period () const
 
bool isTopLevel () const
 
impl::ComponentImplementationimplementation ()
 
impl::ComponentImplementation const & implementation () const
 

Additional Inherited Members

- Static Public Member Functions inherited from visr::Component
static const std::string & nameSeparator ()
 
- Protected Member Functions inherited from visr::Component
 Component (impl::ComponentImplementation *impl)
 

Detailed Description

Base class for atomic components. These components are at the lowest level in the hierarchy and implement runtime functionality as C++ code. Abstract base class, derived classes must override the virtual method process().

Constructor & Destructor Documentation

◆ AtomicComponent() [1/3]

visr::AtomicComponent::AtomicComponent ( SignalFlowContext const &  context,
char const *  name,
CompositeComponent parent = nullptr 
)
explicit

Constructor.

Parameters
contexta signal flow context structure containing general parameters, e.g., sampling rate and block size of computation.
nameNull-terminated character string containing the name. Name must be unique within the containing composite component (if there is one).
parentA composite component to contain this atom, If it is a null pointer (the default), then this component is at the top level.

◆ AtomicComponent() [2/3]

visr::AtomicComponent::AtomicComponent ( AtomicComponent const &  )
delete

Deleted copy constructor to avoid copying.

◆ AtomicComponent() [3/3]

visr::AtomicComponent::AtomicComponent ( AtomicComponent &&  )
delete

Deleted move constructor to avoid move construction.

◆ ~AtomicComponent()

visr::AtomicComponent::~AtomicComponent ( )
overridevirtualdefault

Destructor (virtual). Atomic components are destined to be instantiated and managed polymorphically, thus requiring virtual destructors.

Member Function Documentation

◆ process()


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