Salome HOME
Issue #1351: partition is not done
[modules/shaper.git] / src / FeaturesPlugin / FeaturesPlugin_RevolutionBoolean.h
index e9fe6fb7e9090abcc64eea477d6f736532dfa42d..b645190f7f8f193594a170075999174e48a65a21 100644 (file)
@@ -11,6 +11,7 @@
 
 /** \class FeaturesPlugin_RevolutionBoolean
  *  \ingroup Plugins
+ *  \brief Interface for the composite revolution feature.
  */
 class FeaturesPlugin_RevolutionBoolean : public FeaturesPlugin_CompositeBoolean
 {
@@ -22,11 +23,18 @@ public:
     return MY_AXIS_ID;
   }
 
-  /// Attribute name of an object from which the revolution grows.
-  inline static const std::string& FROM_OBJECT_ID()
+  /// attribute name for creation method
+  inline static const std::string& CREATION_METHOD()
   {
-    static const std::string MY_FROM_OBJECT_ID("from_object");
-    return MY_FROM_OBJECT_ID;
+    static const std::string METHOD_ATTR("CreationMethod");
+    return METHOD_ATTR;
+  }
+
+  /// Attribute name of revolution to angle.
+  inline static const std::string& TO_ANGLE_ID()
+  {
+    static const std::string MY_TO_ANGLE_ID("to_angle");
+    return MY_TO_ANGLE_ID;
   }
 
   /// Attribute name of revolution from angle.
@@ -35,19 +43,33 @@ public:
     static const std::string MY_FROM_ANGLE_ID("from_angle");
     return MY_FROM_ANGLE_ID;
   }
-
-  /// attribute name of an object to which the revolution grows.
+  
+  /// Attribute name of an object to which the revolution grows.
   inline static const std::string& TO_OBJECT_ID()
   {
     static const std::string MY_TO_OBJECT_ID("to_object");
     return MY_TO_OBJECT_ID;
   }
 
-  /// Attribute name of revolution to angle.
-  inline static const std::string& TO_ANGLE_ID()
+  /// Attribute name of extrusion offset.
+  inline static const std::string& TO_OFFSET_ID()
   {
-    static const std::string MY_TO_ANGLE_ID("to_angle");
-    return MY_TO_ANGLE_ID;
+    static const std::string MY_TO_OFFSET_ID("to_offset");
+    return MY_TO_OFFSET_ID;
+  }
+
+  /// Attribute name of an object from which the revolution 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:
@@ -55,7 +77,9 @@ protected:
   virtual void initMakeSolidsAttributes();
 
   /// Create solids from faces with revolution.
-  virtual ListOfShape MakeSolids(const ListOfShape& theFaces);
+  virtual void makeSolids(const ListOfShape& theFaces,
+                          ListOfShape& theResults,
+                          ListOfMakeShape& theAlgos);
 
 protected:
   FeaturesPlugin_RevolutionBoolean(){};