TM2IN  0.5.1
merge_surfaces.h
Go to the documentation of this file.
1 //
2 // Created by dongmin on 18. 7. 19.
3 //
4 
5 #ifndef TM2IN_DETAIL_MERGE_SURFACES_H
6 #define TM2IN_DETAIL_MERGE_SURFACES_H
7 
9 
10 using namespace std;
11 using namespace TM2IN::Wall;
12 
13 namespace TM2IN{
14  namespace detail{
15  namespace algorithm{
20  public:
21  SurfaceMerger(double t1, double t2);
22  bool mergeSurfaces(vector<Wall::TriangulatedSurface *> surfaceList, vector<Wall::TriangulatedSurface*>& result);
23  private:
24  double thres1;
25  double thres2;
26 
27  int merge(Wall::TriangulatedSurface *origin, Wall::TriangulatedSurface *piece);
28  bool check_merge_condition(Vector_3 &big, Vector_3 &small);
29  bool is_coplanar(Vector_3 &big, Vector_3 &small);
30  };
34  bool merging_invalid_test(vector<HalfEdge *> new_edges, Vector_3 newNormal);
35  }
36  }
37 }
38 
39 #endif //TM2IN_DETAIL_MERGE_SURFACES_H
bool mergeSurfaces(vector< Wall::TriangulatedSurface * > &surfaceList, double thres1, double thres2, vector< Wall::TriangulatedSurface * > &newSurfaceList)
Merges the list of Surface. Result will be stored in 4th parameter.
Definition: merge_surfaces.h:19
Kernel::Vector_3 Vector_3
Definition: cgal_config.h:42
Definition: collinear.cpp:10
Surface with at least one Triangle.
Definition: TriangulatedSurface.h:16
bool merging_invalid_test(vector< HalfEdge * > new_edges, Vector_3 newNormal)
Definition: merge_surfaces.cpp:173
Definition: IndoorComponent.h:21