X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FFeaturesPlugin%2FFeaturesPlugin_Boolean.h;h=0a072e8229cf9a0f1a2a7849129286e05f0df949;hb=2413ba5e387ebc030eb89aaad917991844ae518d;hp=65ad15d2e99f2ba424a3ebb50e75681d613d8713;hpb=88ca95388a92f9bbe96d81bf5b1456ca1179100e;p=modules%2Fshaper.git diff --git a/src/FeaturesPlugin/FeaturesPlugin_Boolean.h b/src/FeaturesPlugin/FeaturesPlugin_Boolean.h index 65ad15d2e..0a072e822 100644 --- a/src/FeaturesPlugin/FeaturesPlugin_Boolean.h +++ b/src/FeaturesPlugin/FeaturesPlugin_Boolean.h @@ -9,9 +9,11 @@ #include "FeaturesPlugin.h" #include -#include + #include +class GeomAlgoAPI_MakeShapeList; + /**\class FeaturesPlugin_Boolean * \ingroup Plugins * \brief Feature for applying of Boolean operations on Solids. @@ -29,6 +31,12 @@ public: return MY_ID; } /// attribute name of referenced object + 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 referenced object inline static const std::string& OBJECT_ID() { static const std::string MY_OBJECT_ID("main_object"); @@ -40,6 +48,12 @@ public: static const std::string MY_TOOL_ID("tool_object"); return MY_TOOL_ID; } + /// attribute name of tool object + inline static const std::string& TOOL_LIST_ID() + { + static const std::string MY_TOOL_LIST_ID("tool_objects"); + return MY_TOOL_LIST_ID; + } /// attribute name of operation type inline static const std::string& TYPE_ID() { @@ -48,8 +62,8 @@ public: } enum { - BOOL_CUT, - BOOL_FUSE, + BOOL_CUT, + BOOL_FUSE, BOOL_COMMON }; @@ -71,13 +85,14 @@ public: private: std::shared_ptr getShape(const std::string& theAttrName); - + /// Load Naming data structure of the feature to the document - void LoadNamingDS(GeomAlgoAPI_Boolean* theFeature, - std::shared_ptr theResultBody, - std::shared_ptr theObject, - std::shared_ptr theTool, - int theType); + void loadNamingDS(std::shared_ptr theResultBody, + const std::shared_ptr theBaseShape, + const ListOfShape& theTools, + const std::shared_ptr theResultShape, + GeomAlgoAPI_MakeShape& theMakeShape, + GeomAPI_DataMapOfShapeShape& theMapOfShapes); }; #endif