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

#include <cuboidroom.h>

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

Public Member Functions

 CuboidRoom (sal::Length x, sal::Length y, sal::Length z, const std::vector< mcl::IirFilter > &filter_prototypes)
 
 CuboidRoom (sal::Length x, sal::Length y, sal::Length z, const mcl::IirFilter &filter_prototype)
 
 CuboidRoom (const Triplet &room_dimensions, const Triplet &origin_position, const mcl::IirFilter &filter_prototype)
 
virtual std::vector< mcl::Point > CalculateBoundaryPoints (const mcl::Point &source, const mcl::Point &destination) const noexcept
 
virtual std::vector
< mcl::IirFilter > 
GetBoundaryFilters (const mcl::Point &source_point, const mcl::Point &mic_point) const noexcept
 
virtual mcl::Int num_boundary_points () const noexcept
 
mcl::Point ImageSourcePosition (const mcl::Point &source_position, const mcl::Int mx, const mcl::Int my, const mcl::Int mz, const mcl::Int px, const mcl::Int py, const mcl::Int pz) const noexcept
 
sal::Time SabineRt60 () const
 
Triplet dimensions () const noexcept
 
void SetDimensions (const Triplet &dimensions) noexcept
 
void SetOriginPosition (const Triplet &position)
 
virtual sal::Int num_faces () const noexcept
 
virtual sal::Length max_distance () const noexcept
 
virtual bool IsPointInRoom (const mcl::Point &point, const sal::Length precision=VERY_SMALL) const noexcept
 
virtual std::string ShapeDescription () const noexcept
 
virtual ~CuboidRoom ()
 
- Public Member Functions inherited from sal::Room
 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 ~Room () noexcept
 

Static Public Member Functions

static bool Test ()
 

Additional Inherited Members

- Protected Attributes inherited from sal::Room
std::vector< mcl::IirFilter > wall_filters_
 
BoundarySetType boundary_set_type_
 

Constructor & Destructor Documentation

sal::CuboidRoom::CuboidRoom ( sal::Length  x,
sal::Length  y,
sal::Length  z,
const std::vector< mcl::IirFilter > &  filter_prototypes 
)
inline
sal::CuboidRoom::CuboidRoom ( sal::Length  x,
sal::Length  y,
sal::Length  z,
const mcl::IirFilter &  filter_prototype 
)
inline
sal::CuboidRoom::CuboidRoom ( const Triplet room_dimensions,
const Triplet origin_position,
const mcl::IirFilter &  filter_prototype 
)
inline

Constructrs a cuboid room.

Parameters
[in]room_dimensionsA triplet containing the 3 dimensions of the room
[in]origin_positionA triplet containing the origin of the room, i.e. the smallest
[in]filter_prototypePrototype of the wall filter.
virtual sal::CuboidRoom::~CuboidRoom ( )
inlinevirtual

Member Function Documentation

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

Implements sal::Room.

Triplet sal::CuboidRoom::dimensions ( ) const
inlinenoexcept
std::vector< mcl::IirFilter > sal::CuboidRoom::GetBoundaryFilters ( const mcl::Point &  source_point,
const mcl::Point &  mic_point 
) const
virtualnoexcept

Implements sal::Room.

mcl::Point sal::CuboidRoom::ImageSourcePosition ( const mcl::Point &  source_position,
const mcl::Int  mx,
const mcl::Int  my,
const mcl::Int  mz,
const mcl::Int  px,
const mcl::Int  py,
const mcl::Int  pz 
) const
noexcept
bool sal::CuboidRoom::IsPointInRoom ( const mcl::Point &  point,
const sal::Length  wall_distance = VERY_SMALL 
) const
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.

Implements sal::Room.

virtual sal::Length sal::CuboidRoom::max_distance ( ) const
inlinevirtualnoexcept

Implements sal::Room.

mcl::Int sal::CuboidRoom::num_boundary_points ( ) const
virtualnoexcept

Implements sal::Room.

virtual sal::Int sal::CuboidRoom::num_faces ( ) const
inlinevirtualnoexcept

Implements sal::Room.

Time sal::CuboidRoom::SabineRt60 ( ) const
void sal::CuboidRoom::SetDimensions ( const Triplet dimensions)
inlinenoexcept
void sal::CuboidRoom::SetOriginPosition ( const Triplet position)
inline
std::string sal::CuboidRoom::ShapeDescription ( ) const
virtualnoexcept

Implements sal::Room.

bool sal::CuboidRoom::Test ( )
static

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