Salome HOME
Issue #1860: fix end lines with spaces
[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)
18 ///        from a set of separate topological elements (faces).
19 class GeomAlgoAPI_Sewing : public GeomAlgoAPI_MakeShape
20 {
21 public:
22   /// Constructor.
23   GEOMALGOAPI_EXPORT GeomAlgoAPI_Sewing(const ListOfShape& theShapes);
24
25   /// \return the list of shapes modified from the shape \a theShape.
26   /// \param[in] theShape base shape.
27   /// \param[out] theHistory modified shapes.
28   GEOMALGOAPI_EXPORT virtual void modified(const std::shared_ptr<GeomAPI_Shape> theShape,
29                                            ListOfShape& theHistory);
30
31 private:
32   /// Builds resulting shape.
33   void build(const ListOfShape& theShapes);
34 };
35
36 #endif