![]() |
VISR
0.12.0
Versatile Interactive Scene Renderer
|
#include <point_source_with_reverb.hpp>
Public Member Functions | |
DiscreteReflection () | |
DiscreteReflection (DiscreteReflection const &) | |
Coordinate | positionX () const |
Coordinate | positionY () const |
Coordinate | positionZ () const |
SampleType | delay () const |
LevelType | level () const |
rbbl::BiquadCoefficientList< SampleType > const & | reflectionFilters () const |
rbbl::BiquadCoefficient< SampleType > const & | reflectionFilter (std::size_t biquadIdx) const |
void | setPosition (Coordinate x, Coordinate y, Coordinate z) |
void | setDelay (SampleType newDelay) |
void | setLevel (LevelType newLevel) |
void | setReflectionFilters (rbbl::BiquadCoefficientList< SampleType > const &newFilters) |
void | setReflectionFilter (std::size_t biquadIdx, rbbl::BiquadCoefficient< SampleType > const &newFilter) |
Internal class to represent a single discrete reflection (early reflections)
visr::objectmodel::PointSourceWithReverb::DiscreteReflection::DiscreteReflection | ( | ) |
Default constructor, zeros all members.
|
default |
Copy constructor.
|
inline |
Return the delay (in seconds) for the discrete reflection.
|
inline |
Return the level (linear gain) of the discrete reflection. The final gain takes the object gain into account.
|
inline |
Return the x coordinate of the early reflection.
|
inline |
Return the y coordinate of the early reflection.
|
inline |
Return the z coordinate of the early reflection.
rbbl::BiquadCoefficient< SampleType > const & visr::objectmodel::PointSourceWithReverb::DiscreteReflection::reflectionFilter | ( | std::size_t | biquadIdx | ) | const |
Return a specific biquad section of the wall reflection filter.
biquadIdx | The index of the biquad to be returned. |
std::out_of_range | If biquadIdx exceeds the number of biquads (cNumDiscreteReflectionBiquads ) |
|
inline |
Return the wall reflection coefficients for this discrete reflection.
void visr::objectmodel::PointSourceWithReverb::DiscreteReflection::setDelay | ( | SampleType | newDelay | ) |
Set the delay value for the discrete reflection.
newDelay | New delay value (in seconds) |
void visr::objectmodel::PointSourceWithReverb::DiscreteReflection::setLevel | ( | LevelType | newLevel | ) |
Set the level of the discrete reflection.
newLevel | New level (linear scale) |
void visr::objectmodel::PointSourceWithReverb::DiscreteReflection::setPosition | ( | Coordinate | x, |
Coordinate | y, | ||
Coordinate | z | ||
) |
Set the position of the discrete reflection.
x | Cartesian x coordinate of the position |
y | Cartesian y coordinate of the position |
z | Cartesian z coordinate of the position |
void visr::objectmodel::PointSourceWithReverb::DiscreteReflection::setReflectionFilter | ( | std::size_t | biquadIdx, |
rbbl::BiquadCoefficient< SampleType > const & | newFilter | ||
) |
Set a specific biquad of the wall reflection filter for this reflections
biquadIdx | The index (zero-offset) of the biquad to be set. |
newFilter | The new biquad parameters |
std::out_of_range | If the index biquadIdx exceeds the range of available biquads (cNumDiscreteReflectionBiquads ) |
void visr::objectmodel::PointSourceWithReverb::DiscreteReflection::setReflectionFilters | ( | rbbl::BiquadCoefficientList< SampleType > const & | newFilters | ) |
Set the wall reflection biquad filters for this reflections Resets all biquad sections not changed by this message to a default (flat) filter behaviour.
newFilters | a set of biquad parameter coefficients. It must contain at most cNumDiscreteReflectionBiquads entries. |
std::invalid_argument | If the size of newFilters exceeds cNumDiscreteReflectionBiquads |