JPL Spatial
Sound spatialization and propagation library
Loading...
Searching...
No Matches
JPL::AcousticMaterial Struct Reference

Acoustical properties of a material. More...

#include <JPLSpatial/AcousticMaterial.h>

Public Types

using List = std::unordered_map< uint32, AcousticMaterial >
 
using AbsorptionCoeffs = JPL::AbsorptionCoeffs
 
using FreqBandCenters = JPL::FreqBandCenters
 

Public Member Functions

JPL_INLINE void Accumulate (AbsorptionCoeffs &inOutCoefMultiplier) const
 

Static Public Member Functions

static const AcousticMaterialGet (uint32 materialID)
 
static const AcousticMaterialGet (std::string_view materialName)
 
static const AcousticMaterialGetDefault ()
 
static const ListGetListOfMaterials ()
 
static void SetMaterial (std::string_view name, const AbsorptionCoeffs &coeffs)
 
static std::pair< uint32, AcousticMaterialMakeMaterial (std::string_view name, const AbsorptionCoeffs &coeffs)
 Make material without adding it to global static list.
 

Public Attributes

std::string_view Name
 
uint32 ID = 0
 
float AbsorptionAverage_dB = 0.0f
 
float AbsorptionAverage = 0.0f
 
float AbsorptionAverageOneMinus = 1.0f
 
AbsorptionCoeffs Coeffs
 
AbsorptionCoeffs Absorption_dB
 
AbsorptionCoeffs AmplitudeFactors
 

Static Public Attributes

static const FreqBandCenters cBandCenters = JPL::cBandCenters
 

Detailed Description

Acoustical properties of a material.

Member Typedef Documentation

◆ AbsorptionCoeffs

◆ FreqBandCenters

◆ List

Member Function Documentation

◆ Accumulate()

JPL_INLINE void JPL::AcousticMaterial::Accumulate ( AbsorptionCoeffs inOutCoefMultiplier) const
inline

◆ Get() [1/2]

static const AcousticMaterial * JPL::AcousticMaterial::Get ( std::string_view  materialName)
static

◆ Get() [2/2]

static const AcousticMaterial * JPL::AcousticMaterial::Get ( uint32  materialID)
static

◆ GetDefault()

static const AcousticMaterial & JPL::AcousticMaterial::GetDefault ( )
static

◆ GetListOfMaterials()

static const List & JPL::AcousticMaterial::GetListOfMaterials ( )
inlinestatic

◆ MakeMaterial()

static std::pair< uint32, AcousticMaterial > JPL::AcousticMaterial::MakeMaterial ( std::string_view  name,
const AbsorptionCoeffs coeffs 
)
static

Make material without adding it to global static list.

◆ SetMaterial()

static void JPL::AcousticMaterial::SetMaterial ( std::string_view  name,
const AbsorptionCoeffs coeffs 
)
static

If material by the name exists, set material coefficients, add new material otherwise.

Member Data Documentation

◆ Absorption_dB

AbsorptionCoeffs JPL::AcousticMaterial::Absorption_dB

◆ AbsorptionAverage

float JPL::AcousticMaterial::AbsorptionAverage = 0.0f

◆ AbsorptionAverage_dB

float JPL::AcousticMaterial::AbsorptionAverage_dB = 0.0f

◆ AbsorptionAverageOneMinus

float JPL::AcousticMaterial::AbsorptionAverageOneMinus = 1.0f

◆ AmplitudeFactors

AbsorptionCoeffs JPL::AcousticMaterial::AmplitudeFactors

◆ cBandCenters

const FreqBandCenters JPL::AcousticMaterial::cBandCenters = JPL::cBandCenters
inlinestatic

◆ Coeffs

AbsorptionCoeffs JPL::AcousticMaterial::Coeffs

◆ ID

uint32 JPL::AcousticMaterial::ID = 0

◆ Name

std::string_view JPL::AcousticMaterial::Name

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