Salome HOME
Disable sketch input fields unconditionally.
[modules/shaper.git] / src / SketchPlugin / SketchPlugin_Sketch.h
index 3246a2ad728721f27e3024645f43dc7ee9095cdd..a67069fe87a743026ed4f0af0b1c7173d48dd670 100644 (file)
@@ -68,6 +68,13 @@ class SketchPlugin_Sketch : public ModelAPI_CompositeFeature, public GeomAPI_ICu
     return MY_SOLVER_ERROR;
   }
 
+  /// Sketch solver error
+  inline static const std::string& SOLVER_DOF()
+  {
+    static const std::string MY_SOLVER_DOF("SolverDOF");
+    return MY_SOLVER_DOF;
+  }
+
   /// Returns the kind of a feature
   SKETCHPLUGIN_EXPORT virtual const std::string& getKind()
   {
@@ -169,9 +176,6 @@ class SketchPlugin_Sketch : public ModelAPI_CompositeFeature, public GeomAPI_ICu
   }
 
 
-  /// removes also all sub-sketch elements
-  SKETCHPLUGIN_EXPORT virtual void erase();
-
   /// appends a feature to the sketch sub-elements container
   SKETCHPLUGIN_EXPORT virtual std::shared_ptr<ModelAPI_Feature> addFeature(std::string theID);
 
@@ -196,7 +200,14 @@ class SketchPlugin_Sketch : public ModelAPI_CompositeFeature, public GeomAPI_ICu
 
   SKETCHPLUGIN_EXPORT virtual void attributeChanged(const std::string& theID);
 
+  /// Exchanges IDs of two given features: needed for fillet feature better naming (issue 769)
+  SKETCHPLUGIN_EXPORT virtual void exchangeIDs(std::shared_ptr<ModelAPI_Feature> theFeature1,
+    std::shared_ptr<ModelAPI_Feature> theFeature2);
+
+
   /// \brief Create a result for the point in the attribute if the attribute is initialized
+  /// \param theFeature a source feature
+  /// \param theSketch a sketch intance
   /// \param theAttributeID an attribute string
   /// \param theIndex an index of the result
   static void createPoint2DResult(ModelAPI_Feature* theFeature,
@@ -206,9 +217,12 @@ class SketchPlugin_Sketch : public ModelAPI_CompositeFeature, public GeomAPI_ICu
   /// Add new feature and fill the data of the feature by the data of the parameter feature.
   /// The name of the created feature stays unique.
   /// \param theFeature a source feature
+  /// \param theSketch a sketch intance
+  /// \param theIsCopy if true sets feature copy attribute to true.
   /// \return a created feature
-  static FeaturePtr addUniqueNamedCopiedFeature(FeaturePtr aFeature,
-                                                SketchPlugin_Sketch* theSketch);
+  static FeaturePtr addUniqueNamedCopiedFeature(FeaturePtr theFeature,
+                                                SketchPlugin_Sketch* theSketch,
+                                                const bool theIsCopy = false);
 
   /// Creates a plane of the sketch.
   /// \param theSketch a sketch intance