Salome HOME
5a63fbf5e4d67a1eb61747e2d275d7950d9fa21a
[modules/shaper.git] / src / GeomAlgoAPI / GeomAlgoAPI_PaveFiller.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        GeomAlgoAPI_PaveFiller.h
4 // Created:     27 August 2015
5 // Author:      Dmitry Bobylev
6
7 #ifndef GeomAlgoAPI_PaveFiller_H_
8 #define GeomAlgoAPI_PaveFiller_H_
9
10 #include <GeomAlgoAPI.h>
11 #include <GeomAlgoAPI_MakeShape.h>
12
13 #include <GeomAPI_Shape.h>
14
15 /// \class GeomAlgoAPI_PaveFiller
16 /// \ingroup DataAlgo
17 /// \brief Finds the common parts from the list of shapes and 
18 ///  breaks it to shapes with shared subshapes.
19 class GeomAlgoAPI_PaveFiller : public GeomAlgoAPI_MakeShape
20 {
21 public:
22   /// \brief Constructor.
23   /// \param[in] theListOfShape list of shape which should be splitted.
24   /// \param[in] theIsMakeCompSolids if true gather shapes with shared faces to compsolids.
25   GEOMALGOAPI_EXPORT GeomAlgoAPI_PaveFiller(const ListOfShape& theListOfShape, 
26                                             const bool theIsMakeCompSolids = false);
27
28 private:
29   /// Builds resulting shape.
30   void build(const ListOfShape& theListOfShape, const bool theIsMakeCompSolids);
31 };
32
33 #endif