X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FFeaturesAPI%2FFeaturesAPI_BooleanFuse.h;h=ffe594d6715b67d660b6660fcf723ae00f788851;hb=ac6689aff8d62d06f13c278d146978a303a0e7db;hp=db80f967743843855c763f94371436b2dbb44be0;hpb=6e421e939851e0de46554ae45a3ca0e1f67cd91d;p=modules%2Fshaper.git diff --git a/src/FeaturesAPI/FeaturesAPI_BooleanFuse.h b/src/FeaturesAPI/FeaturesAPI_BooleanFuse.h index db80f9677..ffe594d67 100644 --- a/src/FeaturesAPI/FeaturesAPI_BooleanFuse.h +++ b/src/FeaturesAPI/FeaturesAPI_BooleanFuse.h @@ -1,4 +1,4 @@ -// Copyright (C) 2014-2019 CEA/DEN, EDF R&D +// Copyright (C) 2014-2022 CEA/DEN, EDF R&D // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -26,6 +26,7 @@ #include #include +#include class ModelHighAPI_Integer; class ModelHighAPI_Selection; @@ -42,22 +43,24 @@ public: /// Constructor with values. FEATURESAPI_EXPORT - FeaturesAPI_BooleanFuse(const std::shared_ptr& theFeature, - const std::list& theMainObjects, - const bool theRemoveEdges = false); + FeaturesAPI_BooleanFuse(const std::shared_ptr& theFeature, + const std::list& theMainObjects, + const bool theRemoveEdges = false, + const ModelHighAPI_Double& theFuzzy = ModelHighAPI_Double(-1)); /// Constructor with values. FEATURESAPI_EXPORT FeaturesAPI_BooleanFuse(const std::shared_ptr& theFeature, const std::list& theMainObjects, const std::list& theToolObjects, - const bool theRemoveEdges = false); + const bool theRemoveEdges = false, + const ModelHighAPI_Double& theFuzzy = ModelHighAPI_Double(-1)); /// Destructor. FEATURESAPI_EXPORT virtual ~FeaturesAPI_BooleanFuse(); - INTERFACE_4(FeaturesPlugin_BooleanFuse::ID(), + INTERFACE_6(FeaturesPlugin_BooleanFuse::ID(), creationMethod, FeaturesPlugin_BooleanFuse::CREATION_METHOD(), ModelAPI_AttributeString, /** Creation method */, mainObjects, FeaturesPlugin_BooleanFuse::OBJECT_LIST_ID(), @@ -65,7 +68,11 @@ public: toolObjects, FeaturesPlugin_BooleanFuse::TOOL_LIST_ID(), ModelAPI_AttributeSelectionList, /** Tool objects*/, removeEdges, FeaturesPlugin_BooleanFuse::REMOVE_INTERSECTION_EDGES_ID(), - ModelAPI_AttributeBoolean, /** Remove edges */) + ModelAPI_AttributeBoolean, /** Remove edges */, + useFuzzy, FeaturesPlugin_BooleanFuse::USE_FUZZY_ID(), + ModelAPI_AttributeBoolean, /** Use Fuzzy parameter*/, + fuzzyParam, FeaturesPlugin_BooleanFuse::FUZZY_PARAM_ID(), + ModelAPI_AttributeDouble, /** Fuzzy parameter */) /// Set main objects. FEATURESAPI_EXPORT @@ -79,6 +86,14 @@ public: FEATURESAPI_EXPORT void setRemoveEdges(const bool theRemoveEdges); + /// Set use fuzzy parameter. + FEATURESAPI_EXPORT + void setUseFuzzy(bool theUseFuzzy); + + /// Set fuzzy parameter. + FEATURESAPI_EXPORT + void setFuzzyValue(const ModelHighAPI_Double& theFuzzy); + /// Set mode. FEATURESAPI_EXPORT void setAdvancedMode(const bool theMode); @@ -91,19 +106,17 @@ public: /// Pointer on Boolean object. typedef std::shared_ptr BooleanFusePtr; -/// \ingroup CPPHighAPI -/// \brief Create Boolean Fuse feature. -FEATURESAPI_EXPORT -BooleanFusePtr addFuse(const std::shared_ptr& thePart, - const std::list& theObjects, - const bool theRemoveEdges = false); +#define DUMMY_TOOLS std::pair, bool>\ + (std::list(), false) /// \ingroup CPPHighAPI /// \brief Create Boolean Fuse feature. -FEATURESAPI_EXPORT -BooleanFusePtr addFuse(const std::shared_ptr& thePart, - const std::list& theMainObjects, - const std::list& theToolObjects, - const bool theRemoveEdges = false); +FEATURESAPI_EXPORT BooleanFusePtr addFuse( + const std::shared_ptr& part, + const std::list& objects, + const std::pair, bool>& tools = DUMMY_TOOLS, + const bool removeEdges = false, + const ModelHighAPI_Double& fuzzyParam = ModelHighAPI_Double(-1), + const bool keepSubResults = false); #endif // FeaturesAPI_BooleanFuse_H_