SAL
A C++ library for spatial audio.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Attributes | List of all members
sal::Room Class Referenceabstract

#include <room.h>

Inheritance diagram for sal::Room:
sal::CuboidRoom

Public Member Functions

 Room (const std::vector< mcl::IirFilter > &wall_filters) noexcept
 
const std::vector
< mcl::IirFilter > & 
wall_filters () const noexcept
 
void SetWallFilters (const std::vector< mcl::IirFilter > &wall_filters) noexcept
 
void SetWallFilter (const Int wall_id, const mcl::IirFilter &filter) noexcept
 
void SetWallFilters (const mcl::IirFilter &filter) noexcept
 
void SetFiltersNumeratorCoefficient (const Int coeff_id, const Sample value)
 
virtual std::vector< mcl::Point > CalculateBoundaryPoints (const mcl::Point &source, const mcl::Point &destination) const noexcept=0
 
virtual std::vector
< mcl::IirFilter > 
GetBoundaryFilters (const mcl::Point &source_point, const mcl::Point &mic_point) const noexcept=0
 
virtual sal::Int num_boundary_points () const noexcept=0
 
virtual sal::Int num_faces () const noexcept=0
 
virtual sal::Length max_distance () const noexcept=0
 
virtual bool IsPointInRoom (const mcl::Point &point, const sal::Length wall_distance=0.0) const noexcept=0
 
virtual std::string ShapeDescription () const noexcept=0
 
virtual ~Room () noexcept
 

Protected Attributes

std::vector< mcl::IirFilter > wall_filters_
 
BoundarySetType boundary_set_type_
 

Constructor & Destructor Documentation

sal::Room::Room ( const std::vector< mcl::IirFilter > &  wall_filters)
inlinenoexcept
virtual sal::Room::~Room ( )
inlinevirtualnoexcept

Member Function Documentation

virtual std::vector<mcl::Point> sal::Room::CalculateBoundaryPoints ( const mcl::Point &  source,
const mcl::Point &  destination 
) const
pure virtualnoexcept

Implemented in sal::CuboidRoom.

virtual std::vector<mcl::IirFilter> sal::Room::GetBoundaryFilters ( const mcl::Point &  source_point,
const mcl::Point &  mic_point 
) const
pure virtualnoexcept

Implemented in sal::CuboidRoom.

virtual bool sal::Room::IsPointInRoom ( const mcl::Point &  point,
const sal::Length  wall_distance = 0.0 
) const
pure virtualnoexcept

Returns true if the specified point is inside the room.

Parameters
[in]wall_distanceThis parameter allows to set also a safe distance form the walls. For instance, if wall_distance is set to 1 meter, and the point is less than 1 meter away from a wall, this method will return false.

Implemented in sal::CuboidRoom.

virtual sal::Length sal::Room::max_distance ( ) const
pure virtualnoexcept

Implemented in sal::CuboidRoom.

virtual sal::Int sal::Room::num_boundary_points ( ) const
pure virtualnoexcept

Implemented in sal::CuboidRoom.

virtual sal::Int sal::Room::num_faces ( ) const
pure virtualnoexcept

Implemented in sal::CuboidRoom.

void sal::Room::SetFiltersNumeratorCoefficient ( const Int  coeff_id,
const Sample  value 
)
inline
void sal::Room::SetWallFilter ( const Int  wall_id,
const mcl::IirFilter &  filter 
)
inlinenoexcept
void sal::Room::SetWallFilters ( const std::vector< mcl::IirFilter > &  wall_filters)
inlinenoexcept
void sal::Room::SetWallFilters ( const mcl::IirFilter &  filter)
inlinenoexcept
virtual std::string sal::Room::ShapeDescription ( ) const
pure virtualnoexcept

Implemented in sal::CuboidRoom.

const std::vector<mcl::IirFilter>& sal::Room::wall_filters ( ) const
inlinenoexcept

Member Data Documentation

BoundarySetType sal::Room::boundary_set_type_
protected
std::vector<mcl::IirFilter> sal::Room::wall_filters_
protected

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