X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FFeaturesPlugin%2FFeaturesPlugin_BooleanCommon.h;h=caf67d38e76c1c90999d0bca2eeda1ccd583a49c;hb=34c2ee35f2b8ae2ef7a0673c7841f11078e06f3c;hp=7acab2e3188b5a9342ec2ca4cf36b51cb69f1e18;hpb=50cef8966d30d658565b08428b4b313f3449d23c;p=modules%2Fshaper.git diff --git a/src/FeaturesPlugin/FeaturesPlugin_BooleanCommon.h b/src/FeaturesPlugin/FeaturesPlugin_BooleanCommon.h index 7acab2e31..caf67d38e 100644 --- a/src/FeaturesPlugin/FeaturesPlugin_BooleanCommon.h +++ b/src/FeaturesPlugin/FeaturesPlugin_BooleanCommon.h @@ -23,6 +23,8 @@ #include "FeaturesPlugin_Boolean.h" +#include + /// \class FeaturesPlugin_BooleanCommon /// \ingroup Plugins /// \brief Feature for applying of Boolean Common operation. @@ -44,10 +46,61 @@ public: return MY_KIND; } + /// Attribute name for creation method. + inline static const std::string& CREATION_METHOD() + { + static const std::string MY_CREATION_METHOD_ID("creation_method"); + return MY_CREATION_METHOD_ID; + } + + /// Attribute name for creation method. + inline static const std::string& CREATION_METHOD_SIMPLE() + { + static const std::string MY_CREATION_METHOD_ID("simple"); + return MY_CREATION_METHOD_ID; + } + + /// Attribute name for creation method. + inline static const std::string& CREATION_METHOD_ADVANCED() + { + static const std::string MY_CREATION_METHOD_ID("advanced"); + return MY_CREATION_METHOD_ID; + } + + /// Attribute name of main objects. + inline static const std::string& OBJECT_LIST_ID() + { + static const std::string MY_OBJECT_LIST_ID("main_objects"); + return MY_OBJECT_LIST_ID; + } + + /// Attribute name of tool objects. + inline static const std::string& TOOL_LIST_ID() + { + static const std::string MY_TOOL_LIST_ID("tool_objects"); + return MY_TOOL_LIST_ID; + } + + /// Request for initialization of data model of the feature: adding all attributes. + FEATURESPLUGIN_EXPORT virtual void initAttributes(); + + /// Creates a new part document if needed. + FEATURESPLUGIN_EXPORT virtual void execute(); + public: - /// Use plugin manager for features creation. - FeaturesPlugin_BooleanCommon(): FeaturesPlugin_Boolean(BOOL_COMMON) {}; + /// Use plugin manager for features creation. + FeaturesPlugin_BooleanCommon(); + +private: + + /// Load Naming data structure of the feature to the document + void loadNamingDS(ResultBodyPtr theResultBody, + const GeomShapePtr theBaseShape, + const ListOfShape& theTools, + const GeomShapePtr theResultShape, + GeomAlgoAPI_MakeShape& theMakeShape, + GeomAPI_DataMapOfShapeShape& theMapOfShapes); };