10 #ifndef TYMPAN__ACOUSTIC_PROBLEM_MODEL_H__INCLUDED
11 #define TYMPAN__ACOUSTIC_PROBLEM_MODEL_H__INCLUDED
Class to describe the acoustic problem.
source_pool_t all_sources
Array of all sources.
virtual ~AcousticProblemModel()
Constructor.
AcousticMaterialBase & material(size_t mat_idx)
Return a material by its id.
receptor_idx make_receptor(const Point &position_)
Push a new acoustic receptor into the model.
triangle_idx make_triangle(node_idx n1, node_idx n2, node_idx n3)
const source_pool_t & sources() const
Return array of sources.
AcousticReceptor & receptor(receptor_idx idx)
Return a receptor by its id.
node_idx make_node(const Point &point)
Destructor.
AcousticTriangle & triangle(triangle_idx tri_idx)
Return a triangle by its id.
const receptor_pool_t & receptors() const
Return array of receptors.
size_t ntriangles() const
Return the total number of triangles.
const Point & node(node_idx idx) const
Return a node by its id.
material_ptr_t make_material(const string &name, double resistivity, double deviation, double length, double factor_g)
Push a representation of a ground material into the model. If an instance of a ground material with s...
AcousticSource & source(source_idx idx)
Return a source by its id.
material_pool_t all_materials
Array of all materials.
nodes_pool_t all_nodes
Array of all nodes.
const AcousticSource & source(source_idx idx) const
Return a source by its id.
const material_pool_t & materials() const
Return array of materials.
receptor_pool_t all_receptors
Array of all receptors.
size_t npoints() const
Return the total number of nodes.
node_idx make_node(double x, double y, double z)
Call make_node(Point) with a point given by its coordinates.
const AcousticReceptor & receptor(receptor_idx idx) const
Return a receptor by its id.
size_t nsources() const
Return the total number of sources.
const AcousticTriangle & triangle(triangle_idx tri_idx) const
Return a triangle by its id.
const AcousticMaterialBase & material(size_t mat_idx) const
Return a material by its id.
size_t nreceptors() const
Return the total number of receptors.
const nodes_pool_t & nodes() const
Return array of nodes.
Point & node(node_idx idx)
Return a node by its id.
triangle_pool_t all_triangles
Array of all triangles.
source_idx make_source(const Point &point_, const Spectrum &spectrum_, SourceDirectivityInterface *directivity)
Push a new acoustic source into the model.
size_t nmaterials() const
Return the total number of materials.
const triangle_pool_t & triangles() const
Return array of triangles.
Describes an acoustic receptor.
Describes an acoustic source.
Interface for source directivity classes (SphericalSourceDirectivity, CommonFaceDirectivity,...
Common utilities and includes for all data models.
This file provides the declaration of the entities of the model, which inherit from BaseEntity.
std::deque< AcousticSource > source_pool_t
Array of sources.
std::deque< AcousticReceptor > receptor_pool_t
Array of receptors.
deque< triangle_idx > scene_volume_intersection(const triangle_pool_t &triangle_soup, const nodes_pool_t &nodes, float w, float h, OPoint3D source, OPoint3D receptor)
Find the intersection between some triangles (triangles, nodes) and a volume given by a width,...
std::deque< Point > nodes_pool_t
std::unique_ptr< AcousticProblemModel > make_AcousticProblemModel()
std::deque< material_ptr_t > material_pool_t
shared_ptr< AcousticMaterialBase > material_ptr_t
std::deque< AcousticTriangle > triangle_pool_t
Array of AcousticTriangle.