X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FFeaturesPlugin%2FFeaturesPlugin_Boolean.h;h=53023300a90359148b8fccf7df6fde8152739e7f;hb=1b9dd3633d644c358424227423b330e9551be38f;hp=2f99dbdf42314c5312b7c5f34e6771c0501a919a;hpb=7fbaddcd99f065a375775e2c3547ad93a5dd8c70;p=modules%2Fshaper.git diff --git a/src/FeaturesPlugin/FeaturesPlugin_Boolean.h b/src/FeaturesPlugin/FeaturesPlugin_Boolean.h index 2f99dbdf4..53023300a 100644 --- a/src/FeaturesPlugin/FeaturesPlugin_Boolean.h +++ b/src/FeaturesPlugin/FeaturesPlugin_Boolean.h @@ -1,3 +1,5 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D --> + // File: FeaturesPlugin_Boolean.h // Created: 02 Sept 2014 // Author: Vitaly SMETANNIKOV @@ -10,14 +12,27 @@ #include #include +/**\class FeaturesPlugin_Boolean + * \ingroup Plugins + * \brief Feature for applying of Boolean operations on Solids. + * + * Supports three kinds of Boolean operations: Cut, Fuse and Common. + * For all of them requires two Solids: object and tool. + */ class FeaturesPlugin_Boolean : public ModelAPI_Feature { - public: +public: /// Extrusion kind inline static const std::string& ID() { - static const std::string MY_CUT_ID("Boolean"); - return MY_CUT_ID; + static const std::string MY_ID("Boolean"); + 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() @@ -31,11 +46,17 @@ class FeaturesPlugin_Boolean : public ModelAPI_Feature 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() { - static const std::string MY_TOOL_ID("bool_type"); - return MY_TOOL_ID; + static const std::string MY_TYPE_ID("bool_type"); + return MY_TYPE_ID; } enum { @@ -44,7 +65,6 @@ class FeaturesPlugin_Boolean : public ModelAPI_Feature BOOL_COMMON }; - /// Returns the kind of a feature FEATURESPLUGIN_EXPORT virtual const std::string& getKind() { @@ -62,13 +82,13 @@ class FeaturesPlugin_Boolean : public ModelAPI_Feature FeaturesPlugin_Boolean(); private: - boost::shared_ptr getShape(const std::string& theAttrName); + std::shared_ptr getShape(const std::string& theAttrName); /// Load Naming data structure of the feature to the document void LoadNamingDS(GeomAlgoAPI_Boolean* theFeature, - boost::shared_ptr theResultBody, - boost::shared_ptr theObject, - boost::shared_ptr theTool, + std::shared_ptr theResultBody, + std::shared_ptr theObject, + std::shared_ptr theTool, int theType); };