Salome HOME
Correct dump of default name of results
[modules/shaper.git] / src / GeomAlgoAPI / GeomAlgoAPI_Partition.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        GeomAlgoAPI_Partition.h
4 // Created:     21 Aug 2015
5 // Author:      Sergey POKHODENKO
6
7 #ifndef GeomAlgoAPI_Partition_H_
8 #define GeomAlgoAPI_Partition_H_
9
10 #include <GeomAlgoAPI.h>
11 #include <GeomAlgoAPI_MakeShape.h>
12
13 #include <GeomAPI_Shape.h>
14
15 /// \class GeomAlgoAPI_Partition
16 /// \ingroup DataAlgo
17 /// \brief Allows to perform of partition operations
18 class GeomAlgoAPI_Partition : public GeomAlgoAPI_MakeShape
19 {
20 public:
21   /// \brief Creates common partition operation.
22   /// \param[in] theObjects the main shape.
23   /// \param[in] theTools  second shape.
24   /// \param[in] theGroupConnectedTopology if true then result will be a compound of groups
25   ///            with connected topology(compsolids or compounds of shapes with shared topology).
26   /// \return a solid as result of operation.
27   GEOMALGOAPI_EXPORT static std::shared_ptr<GeomAPI_Shape> make(const ListOfShape& theObjects,
28                                                                 const ListOfShape& theTools);
29
30   /// Constructor.
31   GEOMALGOAPI_EXPORT GeomAlgoAPI_Partition(const ListOfShape& theObjects,
32                                            const ListOfShape& theTools);
33
34 private:
35   /// Builds resulting shape.
36   void build(const ListOfShape& theObjects,
37              const ListOfShape& theTools);
38 };
39
40 #endif