Code_TYMPAN  4.4.0
Industrial site acoustic simulation
TYFaceSelector.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) <2012-2024> <EDF-DTG> <FRANCE>
3  * This file is part of Code_TYMPAN (R).
4  * Code_TYMPAN (R) is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  * Code_TYMPAN (R) is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11  * See the GNU General Public License for more details.
12  * You should have received a copy of the GNU General Public License along
13  * with Code_TYMPAN (R). If not, see <https://www.gnu.org/licenses/>.
14  */
15 
16 #ifndef __TYFACESELECTOR__
17 #define __TYFACESELECTOR__
18 
21 
22 class TYTrajet;
23 
28 {
29 public:
31  virtual ~TYFaceSelector();
32 
40  virtual void selectFaces(std::deque<TYSIntersection>& tabIntersect,
41  const std::vector<TYStructSurfIntersect>& tabPolygon, const OSegment3D& rayon,
42  const string& sourceVolumeId);
43 
44 protected:
45 private:
46  bool buildPlans(TYSPlan* plan, const OSegment3D& rayon);
47  bool CalculSegmentCoupe(const TYStructSurfIntersect& FaceCourante, TYSIntersection& Intersect,
48  OPoint3D& pt1, OPoint3D& pt2, OPoint3D& pt3, const int& indice) const;
49  void reorder_intersect(std::deque<TYSIntersection>& tabIntersect);
50 };
51 
52 #endif // __TYFACESELECTOR_9613__
The 3D point class.
Definition: 3d.h:487
Class to define a segment.
Definition: 3d.h:1141
Interface of TYFaceSelector classes.
Building class of the faces list.
virtual void selectFaces(std::deque< TYSIntersection > &tabIntersect, const std::vector< TYStructSurfIntersect > &tabPolygon, const OSegment3D &rayon, const string &sourceVolumeId)
Build the array of intersections.
virtual ~TYFaceSelector()
bool buildPlans(TYSPlan *plan, const OSegment3D &rayon)
bool CalculSegmentCoupe(const TYStructSurfIntersect &FaceCourante, TYSIntersection &Intersect, OPoint3D &pt1, OPoint3D &pt2, OPoint3D &pt3, const int &indice) const
void reorder_intersect(std::deque< TYSIntersection > &tabIntersect)
put infrastructure faces on top
This class TYTrajet (journey) links a couple Source-Receptor and a collection of paths,...
Definition: TYTrajet.h:33
Data structure for intersections.
Structure to describe a plan defined with 3 points.
Describe surface intersections.