69 int nbTrajectsForOneSource = 0;
70 int nbTrajectsTotal = 0;
74 "Overwriting Acccelerator solver parameter to 1 (grid accelerating structure)");
110 for(
unsigned int i=0; i< aproblem.
nsources(); i++)
116 nbTrajectsForOneSource =0;
118 for (
unsigned int j = 0; j<aproblem.
nreceptors(); j++)
120 TYTrajet *trajet =
new TYTrajet(const_cast<tympan::AcousticProblemModel&>(aproblem).source(i), const_cast<tympan::AcousticProblemModel&>(aproblem).receptor(j));
127 nbTrajectsForOneSource++;
140 if (keepRays ==
true)
144 for (
size_t j=0; j<
_tabTrajets.at(i)->get_tab_rays().size(); j++)
146 tabRays.push_back(
_tabTrajets.at(i)->get_tab_rays()[j]);
151 for (
int i=0; i<nbTrajectsForOneSource; i++)
156 matrix(ridx, sidx) =
_tabTrajets.at(i)->getSpectre();
159 for(
unsigned int cnt = 0 ; cnt <
_tabTrajets.size();cnt++)
170 return std::unique_ptr<TYFaceSelector>(
new TYFaceSelector(*
this) );
192 for (
unsigned int i=0; i<triangles.size(); i++)
194 pts[0] = nodes[triangles[i].n[0]];
195 pts[1] = nodes[triangles[i].n[1]];
196 pts[2] = nodes[triangles[i].n[2]];
205 SI.
material = triangles[i].made_of.get();
226 for (
unsigned int i = 0; i <
_tabPolygon.size(); i++)
230 unsigned int a, b,
c;
233 _scene->addVertex(pos, a);
236 _scene->addVertex(pos, b);
239 _scene->addVertex(pos, c);
241 if ( dynamic_cast<tympan::AcousticGroundMaterial*>(
_tabPolygon[i].material) )
virtual void warning(const char *message,...)
std::unique_ptr< TYAcousticModel > _acousticModel
Pointer to the TYAcousticModel.
size_t nreceptors() const
Return the total number of receptors.
virtual void push(OTask *task)
Add a task to the queue.
const material_pool_t & materials() const
Return array of materials.
Building class of the faces list.
void resize(size_t nb_receptors, size_t nb_sources)
Resize the matrix (data is cleared)
tympan::receptor_idx arcpt_idx
std::unique_ptr< TYFaceSelector > _faceSelector
Pointer to the TYFaceSelector.
This file provides class for solver configuration.
std::unique_ptr< Scene > _scene
Pointer to the Scene.
SpectrumMatrix & get_data()
Return the results matrix.
virtual ~TYSolver()
Destructor.
void begin(unsigned int count)
Begin solver.
std::vector< TYTrajet * > _tabTrajets
Vector of TYTrajet.
Task of a thread collection for Tympan.
tympan::AcousticMaterialBase * material
Triangle material.
bool buildCalcStruct(const tympan::AcousticProblemModel &aproblem)
std::unique_ptr< TYAcousticPathFinder > _acousticPathFinder
Pointer to the TYAcousticPathFinder.
const triangle_pool_t & triangles() const
Return array of triangles.
3D vector Vector defined with 3 float numbers
static OMessageManager * get()
This class TYTrajet (journey) links a couple Source-Receptor and a collection of paths, in addition to the direct path.
string volume_id
Volume id.
TabPoint3D tabPoint
Points array used during the pre-selection.
Spectrum matrix N*M used to store results. N is the number of receptors. M is the number of sources...
std::deque< AcousticTriangle > triangle_pool_t
Array of AcousticTriangle.
OVector3D normal
Surface normal vector.
bool appendTriangleToScene()
Convertion des triangles Tympan en primitives utilisables par ray tracer.
Slave threads collection.
static void set(LPSolverConfiguration config)
Set a configuration.
Build the acoustic path for the default solver.
vec3 OPoint3Dtovec3(const OPoint3D &_p)
Converts a OPoint3D to vec3.
Class to describe the acoustic problem.
std::unique_ptr< TYFaceSelector > make_face_selector()
TYFaceSelector builder.
const nodes_pool_t & nodes() const
Return array of nodes.
Describe surface intersections.
tympan::source_idx asrc_idx
std::deque< Point > nodes_pool_t
boost::shared_ptr< SolverConfiguration > LPSolverConfiguration
size_t nsources() const
Return the total number of sources.
This class mainly define a mesh (list of Shape) used by the Simulation object.
tab_acoustic_path & get_path_data()
Return the array of the acoustic paths.
std::vector< TYStructSurfIntersect > _tabPolygon
Vector of TYStructSurfIntersect.
Contains the results of the model solved.
Acoustic model for the default solver.
std::unique_ptr< TYAcousticPathFinder > make_path_finder()
TYAcousticPathFinder builder.
virtual bool solve(const tympan::AcousticProblemModel &aproblem, tympan::AcousticResultModel &aresult, tympan::LPSolverConfiguration configuration)
Launch the resolution and get the results.
static void computeNormal(OPoint3D *pts, int nbPts, OVector3D &normal)
Computes the normal of the list of points.
std::vector< acoustic_path * > tab_acoustic_path
std::unique_ptr< TYAcousticModel > make_acoustic_model()
TYAcousticModel builder.
static LPSolverConfiguration get()
Get the configuration.