67 int nbTrajectsForOneSource = 0;
68 int nbTrajectsTotal = 0;
72 "Overwriting Acccelerator solver parameter to 1 (grid accelerating structure)");
117 for (
unsigned int i = 0; i < aproblem.
nsources(); i++)
123 nbTrajectsForOneSource = 0;
125 for (
unsigned int j = 0; j < aproblem.
nreceptors(); j++)
134 *
_tabTrajets.at(nbTrajectsForOneSource), nbTrajectsTotal + 1));
136 nbTrajectsForOneSource++;
149 if (keepRays ==
true)
151 for (
unsigned int i = 0; i <
_tabTrajets.size(); i++)
153 for (
size_t j = 0; j <
_tabTrajets.at(i)->get_tab_rays().size(); j++)
155 tabRays.push_back(
_tabTrajets.at(i)->get_tab_rays()[j]);
160 for (
int i = 0; i < nbTrajectsForOneSource; i++)
165 matrix(ridx, sidx) =
_tabTrajets.at(i)->getSpectre();
168 for (
unsigned int cnt = 0; cnt <
_tabTrajets.size(); cnt++)
179 return std::unique_ptr<TYFaceSelector>(
new TYFaceSelector(*
this));
201 for (
unsigned int i = 0; i < triangles.size(); i++)
203 pts[0] = nodes[triangles[i].n[0]];
204 pts[1] = nodes[triangles[i].n[1]];
205 pts[2] = nodes[triangles[i].n[2]];
214 SI.
material = triangles[i].made_of.get();
235 for (
unsigned int i = 0; i <
_tabPolygon.size(); i++)
239 unsigned int a, b,
c;
242 _scene->addVertex(pos, a);
245 _scene->addVertex(pos, b);
std::vector< acoustic_path * > tab_acoustic_path
static void computeNormal(OPoint3D *pts, int nbPts, OVector3D &normal)
Computes the normal of the list of points.
virtual void warning(const char *message,...)
static OMessageManager * get()
Slave threads collection.
void begin(unsigned int count)
Begin solver.
virtual void push(OTask *task)
Add a task to the queue.
This class mainly define a mesh (list of Shape) used by the Simulation object.
Acoustic model for the default solver.
Build the acoustic path for the 9613 solver.
Building class of the faces list.
std::unique_ptr< TYAcousticModel > make_acoustic_model()
TYAcousticModel builder.
std::unique_ptr< TYAcousticPathFinder > make_path_finder()
TYAcousticPathFinder builder.
virtual ~TYSolver()
Destructor.
bool appendTriangleToScene()
Convertion des triangles Tympan en primitives utilisables par ray tracer.
std::vector< TYTrajet * > _tabTrajets
Vector of TYTrajet.
std::unique_ptr< TYFaceSelector > _faceSelector
Pointer to the TYFaceSelector.
std::unique_ptr< TYAcousticPathFinder > _acousticPathFinder
Pointer to the TYAcousticPathFinder.
virtual bool solve(const tympan::AcousticProblemModel &aproblem, tympan::AcousticResultModel &aresult, tympan::LPSolverConfiguration configuration)
Launch the resolution and get the results.
std::vector< TYStructSurfIntersect > _tabPolygon
Vector of TYStructSurfIntersect.
bool buildCalcStruct(const tympan::AcousticProblemModel &aproblem)
std::unique_ptr< TYFaceSelector > make_face_selector()
TYFaceSelector builder.
std::unique_ptr< Scene > _scene
Pointer to the Scene.
std::unique_ptr< TYAcousticModel > _acousticModel
Pointer to the TYAcousticModel.
Task of a thread collection for Tympan.
This class TYTrajet (journey) links a couple Source-Receptor and a collection of paths,...
tympan::source_idx asrc_idx
tympan::receptor_idx arcpt_idx
3D vector Vector defined with 3 float numbers
Describes the ground material, a specific AcousticBuildingMaterial.
Class to describe the acoustic problem.
const material_pool_t & materials() const
Return array of materials.
size_t nsources() const
Return the total number of sources.
size_t nreceptors() const
Return the total number of receptors.
const nodes_pool_t & nodes() const
Return array of nodes.
const triangle_pool_t & triangles() const
Return array of triangles.
Contains the results of the model solved.
SpectrumMatrix & get_data()
Return the results matrix.
tab_acoustic_path & get_path_data()
Return the array of the acoustic paths.
static void set(LPSolverConfiguration config)
Set a configuration.
static LPSolverConfiguration get()
Get the configuration.
Spectrum matrix N*M used to store results. N is the number of receptors. M is the number of sources.
void resize(size_t nb_receptors, size_t nb_sources)
Resize the matrix (data is cleared)
This file provides class for solver configuration.
vec3 OPoint3Dtovec3(const OPoint3D &_p)
Converts a OPoint3D to vec3.
boost::shared_ptr< SolverConfiguration > LPSolverConfiguration
std::deque< Point > nodes_pool_t
std::deque< AcousticTriangle > triangle_pool_t
Array of AcousticTriangle.
Describe surface intersections.
string volume_id
Volume id.
TabPoint3D tabPoint
Array of points used for the preselection.
tympan::AcousticMaterialBase * material
Reference to a material.
OVector3D normal
Normal vector to a face.