Code_TYMPAN  4.2.0
Industrial site acoustic simulation
TYFaceSelector.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) <2012> <EDF-R&D> <FRANCE>
3  * This program is free software; you can redistribute it and/or modify
4  * it under the terms of the GNU General Public License as published by
5  * the Free Software Foundation; either version 2 of the License, or
6  * (at your option) any later version.
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10  * See the GNU General Public License for more details.
11  * You should have received a copy of the GNU General Public License along
12  * with this program; if not, write to the Free Software Foundation, Inc.,
13  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
14 */
15 
16 
17 #ifndef __TYFACESELECTOR__
18 #define __TYFACESELECTOR__
19 
21 #include "TYSolverDefines.h"
22 
23 class TYSolver;
24 class TYTrajet;
25 
30 {
31 public:
32  TYFaceSelector(TYSolver& solver);
33  virtual ~TYFaceSelector();
34 
40  virtual void selectFaces(std::deque<TYSIntersection>& tabIntersect, const TYTrajet& rayon);
41 
42 protected :
44 
45 private :
46  bool buildPlans(TYSPlan* plan, const OSegment3D& rayon);
47  bool CalculSegmentCoupe(const TYStructSurfIntersect& FaceCourante, TYSIntersection& Intersect, OPoint3D& pt1, OPoint3D& pt2, OPoint3D& pt3, const int& indice) const;
48  void reorder_intersect(std::deque<TYSIntersection>& tabIntersect);
49 };
50 
51 #endif // __TYFACESELECTOR__
TYSolver & _solver
Reference to the solver.
Structure to describe a plan defined with 3 points.
Building class of the faces list.
bool buildPlans(TYSPlan *plan, const OSegment3D &rayon)
TYFaceSelector(TYSolver &solver)
Default solver.
Definition: TYSolver.h:38
void reorder_intersect(std::deque< TYSIntersection > &tabIntersect)
put infrastructure faces on top
Interface of TYFaceSelector classes.
This class TYTrajet (journey) links a couple Source-Receptor and a collection of paths, in addition to the direct path.
Definition: TYTrajet.h:35
virtual void selectFaces(std::deque< TYSIntersection > &tabIntersect, const TYTrajet &rayon)
Build the array of intersections.
bool CalculSegmentCoupe(const TYStructSurfIntersect &FaceCourante, TYSIntersection &Intersect, OPoint3D &pt1, OPoint3D &pt2, OPoint3D &pt3, const int &indice) const
Data structure for intersections.
Class to define a segment.
Definition: 3d.h:1087
Describe surface intersections.
virtual ~TYFaceSelector()
The 3D point class.
Definition: 3d.h:484