Salome HOME
Issue #1369: Added "Create Shell" feature.
[modules/shaper.git] / src / GeomAlgoAPI / GeomAlgoAPI_Sewing.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        GeomAlgoAPI_Sewing.h
4 // Created:     25 April 2016
5 // Author:      Dmitry Bobylev
6
7 #ifndef GeomAlgoAPI_Sewing_H_
8 #define GeomAlgoAPI_Sewing_H_
9
10 #include "GeomAlgoAPI.h"
11 #include "GeomAlgoAPI_MakeShape.h"
12
13 #include <GeomAPI_Shape.h>
14
15 /// \class GeomAlgoAPI_Sewing
16 /// \ingroup DataAlgo
17 /// \brief Allows creation of connected topology (shells) from a set of separate topological elements (faces).
18 class GeomAlgoAPI_Sewing : public GeomAlgoAPI_MakeShape
19 {
20 public:
21   /// Constructor.
22   GEOMALGOAPI_EXPORT GeomAlgoAPI_Sewing(const ListOfShape& theShapes);
23
24   /// \return the list of shapes modified from the shape \a theShape.
25   /// \param[in] theShape base shape.
26   /// \param[out] theHistory modified shapes.
27   GEOMALGOAPI_EXPORT virtual void modified(const std::shared_ptr<GeomAPI_Shape> theShape,
28                                            ListOfShape& theHistory);
29
30 private:
31   /// Builds resulting shape.
32   void build(const ListOfShape& theShapes);
33 };
34
35 #endif