Salome HOME
Merge branch 'Dev_0.6.1' of newgeom:newgeom into Dev_0.6.1
[modules/shaper.git] / src / FeaturesPlugin / FeaturesPlugin_Boolean.h
index d4b0e22cf078691c16165cbd72c14b19f288254f..824dcd0dbb5dd787032974c50c93f6c0b95dde69 100644 (file)
@@ -1,3 +1,5 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+
 // File:        FeaturesPlugin_Boolean.h
 // Created:     02 Sept 2014
 // Author:      Vitaly SMETANNIKOV
@@ -8,6 +10,7 @@
 #include "FeaturesPlugin.h"
 #include <ModelAPI_Feature.h>
 #include <GeomAPI_Shape.h>
+#include <GeomAlgoAPI_Boolean.h>
 
 class FeaturesPlugin_Boolean : public ModelAPI_Feature
 {
@@ -15,8 +18,8 @@ class FeaturesPlugin_Boolean : public ModelAPI_Feature
   /// 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_ID()
@@ -33,10 +36,15 @@ class FeaturesPlugin_Boolean : public ModelAPI_Feature
   /// 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 {
+       BOOL_CUT,
+       BOOL_FUSE,
+    BOOL_COMMON
+  };
 
 
   /// Returns the kind of a feature
@@ -56,8 +64,14 @@ class FeaturesPlugin_Boolean : public ModelAPI_Feature
   FeaturesPlugin_Boolean();
 
 private:
-  boost::shared_ptr<GeomAPI_Shape> getShape(const std::string& theAttrName);
-
+  std::shared_ptr<GeomAPI_Shape> getShape(const std::string& theAttrName);
+  
+  /// Load Naming data structure of the feature to the document
+  void LoadNamingDS(GeomAlgoAPI_Boolean* theFeature, 
+                                       std::shared_ptr<ModelAPI_ResultBody> theResultBody,
+                       std::shared_ptr<GeomAPI_Shape> theObject,
+                       std::shared_ptr<GeomAPI_Shape> theTool,
+                                       int theType);
 };
 
 #endif