VISR  0.12.0
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

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.
visr::AtomicComponent::AtomicComponent ( AtomicComponent const &  )
delete

Deleted copy constructor to avoid copying.

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

Deleted move constructor to avoid move construction.

visr::AtomicComponent::~AtomicComponent ( )
overridevirtualdefault

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

Member Function Documentation


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