]> SALOME platform Git repositories - modules/shaper.git/blobdiff - src/SketchAPI/SketchAPI_Sketch.h
Salome HOME
Issue #17347: B-Splines in Sketcher
[modules/shaper.git] / src / SketchAPI / SketchAPI_Sketch.h
index f1787c9360267c1f533f37f541c0ff84a067b53b..4ea404be6dc10a01ddc3b8fc55c09470132da644 100644 (file)
@@ -46,6 +46,7 @@ class SketchAPI_Ellipse;
 class SketchAPI_MacroEllipse;
 class SketchAPI_EllipticArc;
 class SketchAPI_MacroEllipticArc;
+class SketchAPI_BSpline;
 class SketchAPI_IntersectionPoint;
 class SketchAPI_Line;
 class SketchAPI_Mirror;
@@ -324,6 +325,26 @@ public:
   SKETCHAPI_EXPORT
   std::shared_ptr<SketchAPI_EllipticArc> addEllipticArc(const std::string & theExternalName);
 
+  /// Add B-spline
+  SKETCHAPI_EXPORT
+  std::shared_ptr<SketchAPI_BSpline> addSpline(
+      const std::list<std::shared_ptr<GeomAPI_Pnt2d> >& thePoles,
+      const std::list<ModelHighAPI_Double>& theWeights = std::list<ModelHighAPI_Double>());
+  /// Add B-spline
+  SKETCHAPI_EXPORT
+  std::shared_ptr<SketchAPI_BSpline> addSpline(
+      const int theDegree,
+      const std::list<std::shared_ptr<GeomAPI_Pnt2d> >& thePoles,
+      const std::list<ModelHighAPI_Double>& theWeights = std::list<ModelHighAPI_Double>(),
+      const std::list<ModelHighAPI_Double>& theKnots = std::list<ModelHighAPI_Double>(),
+      const std::list<ModelHighAPI_Integer>& theMults = std::list<ModelHighAPI_Integer>());
+  /// Add B-spline
+  SKETCHAPI_EXPORT
+  std::shared_ptr<SketchAPI_BSpline> addSpline(const ModelHighAPI_Selection & theExternal);
+  /// Add B-spline
+  SKETCHAPI_EXPORT
+  std::shared_ptr<SketchAPI_BSpline> addSpline(const std::string & theExternalName);
+
   /// Add projection
   SKETCHAPI_EXPORT
   std::shared_ptr<SketchAPI_Projection> addProjection(