Salome HOME
Issue #2562: CEA 2018-1 Fuse
[modules/shaper.git] / src / FeaturesAPI / FeaturesAPI_BooleanFuse.h
index 17b72f7f2022b8cd38c11f88ae8e5d07b97b058b..495add44e1e7e22aef1a91d69ff63e2fc806a7a8 100644 (file)
@@ -45,17 +45,22 @@ public:
   FEATURESAPI_EXPORT
   FeaturesAPI_BooleanFuse(const std::shared_ptr<ModelAPI_Feature>& theFeature,
                          const std::list<ModelHighAPI_Selection>& theMainObjects,
-                         const std::list<ModelHighAPI_Selection>& theToolObjects);
+                         const std::list<ModelHighAPI_Selection>& theToolObjects,
+                         const bool theRemoveEdges = false);
 
   /// Destructor.
   FEATURESAPI_EXPORT
   virtual ~FeaturesAPI_BooleanFuse();
 
-  INTERFACE_2(FeaturesPlugin_BooleanFuse::ID(),
+  INTERFACE_4(FeaturesPlugin_BooleanFuse::ID(),
+              creationMethod, FeaturesPlugin_BooleanFuse::CREATION_METHOD(),
+              ModelAPI_AttributeString, /** Creation method */,
               mainObjects, FeaturesPlugin_BooleanFuse::OBJECT_LIST_ID(),
               ModelAPI_AttributeSelectionList, /** Main objects */,
               toolObjects, FeaturesPlugin_BooleanFuse::TOOL_LIST_ID(),
-              ModelAPI_AttributeSelectionList, /** Tool objects*/)
+              ModelAPI_AttributeSelectionList, /** Tool objects*/,
+              removeEdges, FeaturesPlugin_BooleanFuse::REMOVE_INTERSECTION_EDGES_ID(),
+              ModelAPI_AttributeBoolean, /** Remove edges */)
 
   /// Set main objects.
   FEATURESAPI_EXPORT
@@ -65,6 +70,10 @@ public:
   FEATURESAPI_EXPORT
   void setToolObjects(const std::list<ModelHighAPI_Selection>& theToolObjects);
 
+  /// Set remove edges.
+  FEATURESAPI_EXPORT
+  void setRemoveEdges(const bool theRemoveEdges);
+
   /// Dump wrapped feature
   FEATURESAPI_EXPORT
   virtual void dump(ModelHighAPI_Dumper& theDumper) const;
@@ -77,13 +86,15 @@ typedef std::shared_ptr<FeaturesAPI_BooleanFuse> BooleanFusePtr;
 /// \brief Create Boolean Fuse feature.
 FEATURESAPI_EXPORT
 BooleanFusePtr addFuse(const std::shared_ptr<ModelAPI_Document>& thePart,
-                       const std::list<ModelHighAPI_Selection>& theObjects);
+                       const std::list<ModelHighAPI_Selection>& theObjects,
+                       const bool theRemoveEdges = false);
 
 /// \ingroup CPPHighAPI
 /// \brief Create Boolean Fuse feature.
 FEATURESAPI_EXPORT
 BooleanFusePtr addFuse(const std::shared_ptr<ModelAPI_Document>& thePart,
                        const std::list<ModelHighAPI_Selection>& theMainObjects,
-                       const std::list<ModelHighAPI_Selection>& theToolObjects);
+                       const std::list<ModelHighAPI_Selection>& theToolObjects,
+                       const bool theRemoveEdges = false);
 
 #endif // FeaturesAPI_BooleanFuse_H_