VISR  0.12.0
Versatile Interactive Scene Renderer
visr::objectmodel::PointSourceWithReverb::DiscreteReflection Class Reference

#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)
 

Detailed Description

Internal class to represent a single discrete reflection (early reflections)

Constructor & Destructor Documentation

visr::objectmodel::PointSourceWithReverb::DiscreteReflection::DiscreteReflection ( )

Default constructor, zeros all members.

visr::objectmodel::PointSourceWithReverb::DiscreteReflection::DiscreteReflection ( DiscreteReflection const &  )
default

Copy constructor.

Member Function Documentation

SampleType visr::objectmodel::PointSourceWithReverb::DiscreteReflection::delay ( ) const
inline

Return the delay (in seconds) for the discrete reflection.

LevelType visr::objectmodel::PointSourceWithReverb::DiscreteReflection::level ( ) const
inline

Return the level (linear gain) of the discrete reflection. The final gain takes the object gain into account.

Coordinate visr::objectmodel::PointSourceWithReverb::DiscreteReflection::positionX ( ) const
inline

Return the x coordinate of the early reflection.

Coordinate visr::objectmodel::PointSourceWithReverb::DiscreteReflection::positionY ( ) const
inline

Return the y coordinate of the early reflection.

Coordinate visr::objectmodel::PointSourceWithReverb::DiscreteReflection::positionZ ( ) const
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.

Parameters
biquadIdxThe index of the biquad to be returned.
Exceptions
std::out_of_rangeIf biquadIdx exceeds the number of biquads (cNumDiscreteReflectionBiquads)
rbbl::BiquadCoefficientList<SampleType> const& visr::objectmodel::PointSourceWithReverb::DiscreteReflection::reflectionFilters ( ) const
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.

Parameters
newDelayNew delay value (in seconds)
void visr::objectmodel::PointSourceWithReverb::DiscreteReflection::setLevel ( LevelType  newLevel)

Set the level of the discrete reflection.

Parameters
newLevelNew level (linear scale)
void visr::objectmodel::PointSourceWithReverb::DiscreteReflection::setPosition ( Coordinate  x,
Coordinate  y,
Coordinate  z 
)

Set the position of the discrete reflection.

Parameters
xCartesian x coordinate of the position
yCartesian y coordinate of the position
zCartesian 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

Parameters
biquadIdxThe index (zero-offset) of the biquad to be set.
newFilterThe new biquad parameters
Exceptions
std::out_of_rangeIf 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.

Parameters
newFiltersa set of biquad parameter coefficients. It must contain at most cNumDiscreteReflectionBiquads entries.
Exceptions
std::invalid_argumentIf the size of newFilters exceeds cNumDiscreteReflectionBiquads

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