VISR
0.11.7
Versatile Interactive Scene Renderer
diffusion_gain_calculator.hpp
Go to the documentation of this file.
1
/* Copyright Institute of Sound and Vibration Research - All rights reserved */
2
3
#ifndef VISR_LIBRCL_DIFFUSION_GAIN_CALCULATOR_HPP_INCLUDED
4
#define VISR_LIBRCL_DIFFUSION_GAIN_CALCULATOR_HPP_INCLUDED
5
6
#include "
export_symbols.hpp
"
7
8
#include <
libvisr/constants.hpp
>
9
#include <
libvisr/atomic_component.hpp
>
10
#include <
libvisr/parameter_input.hpp
>
11
#include <
libvisr/parameter_output.hpp
>
12
13
#include <
libobjectmodel/object.hpp
>
// needed basically for type definitions
14
15
#include <
libpml/double_buffering_protocol.hpp
>
16
#include <
libpml/matrix_parameter.hpp
>
17
#include <
libpml/object_vector.hpp
>
18
#include <
libpml/shared_data_protocol.hpp
>
19
20
#include <vector>
21
22
namespace
visr
23
{
24
namespace
rcl
25
{
26
30
class
VISR_RCL_LIBRARY_SYMBOL
DiffusionGainCalculator
:
public
AtomicComponent
31
{
32
public
:
36
using
CoefficientType
=
SampleType
;
37
45
explicit
DiffusionGainCalculator
(
SignalFlowContext
const
& context,
46
char
const
* name,
47
CompositeComponent
* parent,
48
std::size_t numberOfObjectChannels );
49
53
DiffusionGainCalculator
(
DiffusionGainCalculator
const
& ) =
delete
;
54
55
59
~
DiffusionGainCalculator
();
60
61
// /**
62
// * Method to initialise the component.
63
// */
64
// void setup( std::size_t numberOfObjectChannels );
65
69
void
process()
override
;
70
71
private
:
75
std::size_t mNumberOfObjectChannels;
76
80
void
processInternal(
objectmodel::ObjectVector
const
& objects,
CoefficientType
* gains );
81
82
ParameterInput< pml::DoubleBufferingProtocol, pml::ObjectVector >
mObjectVectorInput;
83
ParameterOutput< pml::SharedDataProtocol, pml::MatrixParameter<CoefficientType >
> mGainOutput;
84
85
};
86
87
}
// namespace rcl
88
}
// namespace visr
89
90
#endif // #ifndef VISR_LIBRCL_DIFFUSION_GAIN_CALCULATOR_HPP_INCLUDED
double_buffering_protocol.hpp
visr::ParameterOutput
Definition:
parameter_output.hpp:45
parameter_input.hpp
object.hpp
visr::rcl::DiffusionGainCalculator::CoefficientType
SampleType CoefficientType
Definition:
diffusion_gain_calculator.hpp:36
visr
Definition:
options.cpp:10
visr::AtomicComponent
Definition:
atomic_component.hpp:21
object_vector.hpp
visr::ParameterInput
Definition:
parameter_input.hpp:45
visr::CompositeComponent
Definition:
composite_component.hpp:29
parameter_output.hpp
visr::SignalFlowContext
Definition:
signal_flow_context.hpp:15
matrix_parameter.hpp
visr::rcl::DiffusionGainCalculator
Definition:
diffusion_gain_calculator.hpp:30
export_symbols.hpp
constants.hpp
atomic_component.hpp
shared_data_protocol.hpp
visr::objectmodel::ObjectVector
Definition:
object_vector.hpp:22
visr::SampleType
float SampleType
Definition:
constants.hpp:14
src
librcl
diffusion_gain_calculator.hpp
Generated on Mon Nov 12 2018 10:54:07 for VISR by
1.8.14