]> SALOME platform Git repositories - modules/shaper.git/blobdiff - src/SketchPlugin/SketchPlugin_BSplineBase.h
Salome HOME
updated copyright message
[modules/shaper.git] / src / SketchPlugin / SketchPlugin_BSplineBase.h
index d84a17a9cff40c58c9552c7bab7d42d7e0e19020..4d34ebe71440e49bee76d778b53925f7a8e699d6 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2019-2020  CEA/DEN, EDF R&D
+// Copyright (C) 2019-2023  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -65,6 +65,13 @@ public:
     return ID;
   }
 
+  /// name for add pole action
+  inline static const std::string& ADD_POLE_ACTION_ID()
+  {
+    static const std::string ID("AddPole");
+    return ID;
+  }
+
   /// Returns true is sketch element is under the rigid constraint
   SKETCHPLUGIN_EXPORT virtual bool isFixed();
 
@@ -74,6 +81,11 @@ public:
   /// Creates a new part document if needed
   SKETCHPLUGIN_EXPORT virtual void execute();
 
+  /// Updates the B-spline curve.
+  /// \param[in] theActionId action key id (in following form: Action#Index)
+  /// \return \c false in case the action not performed.
+  SKETCHPLUGIN_EXPORT virtual bool customAction(const std::string& theActionId);
+
 protected:
   /// Called from the derived class
   SketchPlugin_BSplineBase();
@@ -83,6 +95,9 @@ protected:
 
   /// \brief Return \c true if the B-spline curve is periodic
   virtual bool isPeriodic() const = 0;
+
+  /// Add new pole after the pole with the given index
+  bool addPole(const int theAfter);
 };
 
 #endif