HOA Library
beta 3.0
High Order Ambisonics Library
|
The echanger class renumber and normalize the harmonics channels. More...
#include <Hoa_Exchanger.hpp>
Public Types |
Public Member Functions | |
Exchanger (const size_t order) hoa_noexcept | |
The exchanger constructor. More... | |
virtual | ~Exchanger () hoa_noexcept=0 |
The exchanger destructor. More... | |
virtual void | process (T const *inputs, T *outputs) hoa_noexcept |
This method performs the numbering and the normalization. More... | |
virtual void | setNumbering (const Numbering mode) hoa_noexcept |
Sets the numbering conversion. More... | |
virtual Numbering | getNumbering () const hoa_noexcept |
Gets the numbering conversion. More... | |
virtual void | setNormalization (const Normalization mode) hoa_noexcept |
Sets the normalization conversion. More... | |
virtual Normalization | getNormalization () const hoa_noexcept |
Gets the normalization conversion. More... | |
virtual long | getInputHarmonicOrder (const size_t index) const hoa_noexcept |
Retrieves the harmonic order of an input depending on the current numbering configuration. More... | |
virtual long | getOutputHarmonicOrder (const size_t index) const hoa_noexcept |
Retrieves the harmonic order of an output depending on the current numbering configuration. More... | |
virtual std::string | getHarmonicName (const size_t index, const bool isInput) const hoa_noexcept |
Retrieves the name of an harmonic depending on the current numbering configuration. More... | |
Public Member Functions inherited from ProcessorHarmonics< D, T > | |
ProcessorHarmonics (const size_t order) hoa_noexcept | |
The harmonics constructor. More... | |
virtual | ~ProcessorHarmonics () hoa_noexcept |
The harmonics destructor. | |
size_t | getDecompositionOrder () const hoa_noexcept |
Returns the order of decomposition. | |
size_t | getNumberOfHarmonics () const hoa_noexcept |
Returns the number of harmonics. | |
size_t | getHarmonicDegree (const size_t index) const hoa_noexcept |
Returns the degree of an harmonic. More... | |
long | getHarmonicOrder (const size_t index) const hoa_noexcept |
Returns the azimuthal order of an harmonic. More... | |
size_t | getHarmonicIndex (const size_t degree, const long order) const hoa_noexcept |
Returns the index of an harmonic given the degree and the azimuthal order. More... | |
std::string | getHarmonicName (const size_t index) const hoa_noexcept |
Returns the name of an harmonic. More... | |
T | getHarmonicNormalization (const size_t index) const hoa_noexcept |
Returns the normalization of an harmonic. More... | |
T | getHarmonicSemiNormalization (const size_t index) const hoa_noexcept |
Returns the semi-normalization of an harmonic. More... | |
Public Member Functions inherited from Processor< D, T > | |
virtual | ~Processor () hoa_noexcept |
The destructor. | |
virtual void | process (const T *inputs, T *outputs) hoa_noexcept |
The pure virtual method performs that performs the digital signal processing. More... | |
The echanger class renumber and normalize the harmonics channels.
The echanger should be used to renumber and normalize the harmonics channels. The library uses the Ambisonics Channels Numbering (ACN), this class allows to convert channels arrengements from Furse-Malham (B-format) or Single Index (SID) to Ambisonics Channels Numbering (ACN) and conversely. Furse-Malham and SID never reach up to 3rd order so the maximum order of decomposition should be 3. The library uses the semi-normalization (SN2D and SN3D), this class allows to normalize the channels to the full normalization (N2D and N3D) or to MaxN (B-format) and conversely.
Definition at line 22 of file Hoa_Exchanger.hpp.
enum Numbering |
The numbering conversion.
The enum defines the numbering conversion.
Definition at line 29 of file Hoa_Exchanger.hpp.
enum Normalization |
The numbering conversion.
The enum defines the numbering conversion.
Definition at line 41 of file Hoa_Exchanger.hpp.
Exchanger | ( | const size_t | order | ) |
The exchanger constructor.
The exchanger constructor allocates and initialize the member values to renumber and normalize the harmonics channels. The order must be at least 1 and should be 3 at maximum.
order | The order. |
|
pure virtual |
The exchanger destructor.
The exchanger destructor free the memory.
|
virtual |
This method performs the numbering and the normalization.
You should use this method for in-place or not-in-place processing and sample by sample. The inputs array and outputs array contains the spherical harmonics samples and the minimum size must be the number of harmonics.
inputs | The inputs array. |
outputs | The outputs array. |
|
virtual |
Sets the numbering conversion.
This method sets the numbering conversion.
mode | The numbering convertion. |
|
virtual |
Gets the numbering conversion.
This method gets the numbering conversion.
|
virtual |
Sets the normalization conversion.
This method sets the normalization conversion.
mode | The normalization convertion. |
|
virtual |
Gets the normalization conversion.
This method gets the normalization conversion.
|
virtual |
Retrieves the harmonic order of an input depending on the current numbering configuration.
index | The index of an harmonic. |
|
virtual |
Retrieves the harmonic order of an output depending on the current numbering configuration.
index | The index of an harmonic. |
|
virtual |
Retrieves the name of an harmonic depending on the current numbering configuration.
This methods returns the name that contains the degree and the order of the harmonic for ACN and SID or the letter code of the harmonic for Furse-Malham.
index | The index of an harmonic. |
isInput | Pass true to retrieve the input harmonic name, false for an output. |