Salome HOME
Issue #1351: partition is not done
[modules/shaper.git] / src / FeaturesPlugin / FeaturesPlugin_ExtrusionBoolean.h
index 8fd63449f45f3af31475a6d6785744f8eba45a42..b9efd63f6f2fc7fa47dea7e517df0afd5735ef19 100644 (file)
@@ -11,6 +11,7 @@
 
 /** \class FeaturesPlugin_ExtrusionBoolean
  *  \ingroup Plugins
+ *  \brief Interface for the composite extrusion feature.
  */
 class FeaturesPlugin_ExtrusionBoolean : public FeaturesPlugin_CompositeBoolean
 {
@@ -23,14 +24,14 @@ class FeaturesPlugin_ExtrusionBoolean : public FeaturesPlugin_CompositeBoolean
     return METHOD_ATTR;
   }
 
-  /// Attribute name of an object from which the extrusion grows.
-  inline static const std::string& FROM_OBJECT_ID()
+  /// attribute name of extrusion size
+  inline static const std::string& TO_SIZE_ID()
   {
-    static const std::string MY_FROM_OBJECT_ID("from_object");
-    return MY_FROM_OBJECT_ID;
+    static const std::string MY_TO_SIZE_ID("to_size");
+    return MY_TO_SIZE_ID;
   }
 
-  /// Attribute name of extrusion from size.
+  /// attribute name of extrusion size
   inline static const std::string& FROM_SIZE_ID()
   {
     static const std::string MY_FROM_SIZE_ID("from_size");
@@ -44,11 +45,25 @@ class FeaturesPlugin_ExtrusionBoolean : public FeaturesPlugin_CompositeBoolean
     return MY_TO_OBJECT_ID;
   }
 
-  /// Attribute name of extrusion to size.
-  inline static const std::string& TO_SIZE_ID()
+  /// attribute name of extrusion offset
+  inline static const std::string& TO_OFFSET_ID()
   {
-    static const std::string MY_TO_SIZE_ID("to_size");
-    return MY_TO_SIZE_ID;
+    static const std::string MY_TO_OFFSET_ID("to_offset");
+    return MY_TO_OFFSET_ID;
+  }
+
+  /// Attribute name of an object from which the extrusion grows.
+  inline static const std::string& FROM_OBJECT_ID()
+  {
+    static const std::string MY_FROM_OBJECT_ID("from_object");
+    return MY_FROM_OBJECT_ID;
+  }
+
+  /// attribute name of extrusion offset
+  inline static const std::string& FROM_OFFSET_ID()
+  {
+    static const std::string MY_FROM_OFFSET_ID("from_offset");
+    return MY_FROM_OFFSET_ID;
   }
 
 protected:
@@ -56,7 +71,9 @@ protected:
   virtual void initMakeSolidsAttributes();
 
   /// Create solids from faces with extrusion.
-  virtual ListOfShape MakeSolids(const ListOfShape& theFaces);
+  virtual void makeSolids(const ListOfShape& theFaces,
+                          ListOfShape& theResults,
+                          ListOfMakeShape& theAlgos);
 
 protected:
   FeaturesPlugin_ExtrusionBoolean(){};