Salome HOME
Updated copyright comment
[modules/shaper.git] / src / GeomAlgoAPI / GeomAlgoAPI_Sewing.h
index 98bbc0374dd4cef7e45a661d857b23b3059852d8..1f33001a6450d02d579f0fb92fc234056502744a 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2021  CEA/DEN, EDF R&D
+// Copyright (C) 2014-2024  CEA, EDF
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 class GeomAlgoAPI_Sewing : public GeomAlgoAPI_MakeShape
 {
 public:
-  /// Constructor.
+  /// Constructor (used by MakeShell).
+  /// \param[in] theShapes list of selected shapes.
   GEOMALGOAPI_EXPORT GeomAlgoAPI_Sewing(const ListOfShape& theShapes);
 
+  /// Constructor with additional arguments (used by Sewing feature)
+  /// \param[in] theShapes list of selected shapes.
+  /// \param[in] theAllowNonManifold if True, non-manifold results are allowed.
+  /// \param[in] theTolerance tolerance value used for the sewing operation.
+  GEOMALGOAPI_EXPORT GeomAlgoAPI_Sewing(const ListOfShape& theShapes, const bool theAllowNonManifold, const double theTolerance);
+
   /// \return the list of shapes modified from the shape \a theShape.
   /// \param[in] theShape base shape.
   /// \param[out] theHistory modified shapes.
   GEOMALGOAPI_EXPORT virtual void modified(const std::shared_ptr<GeomAPI_Shape> theShape,
                                            ListOfShape& theHistory);
 
+protected:
+  bool  myBuildShell; // whether algorithm is used by MakeShell or by Sewing
+  
 private:
   /// Builds resulting shape.
-  void build(const ListOfShape& theShapes);
+  void build(const ListOfShape& theShapes, const bool theAllowNonManifold = false, const double theTolerance = 1.e-6);
 };
 
 #endif