+ /// Add arc
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_Arc> addArc(
+ double theCenterX, double theCenterY,
+ double theStartX, double theStartY,
+ double theEndX, double theEndY,
+ bool theInversed);
+
+ /// Add arc
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_Arc> addArc(
+ const std::shared_ptr<GeomAPI_Pnt2d>& theCenter,
+ const std::shared_ptr<GeomAPI_Pnt2d>& theStart,
+ const std::shared_ptr<GeomAPI_Pnt2d>& theEnd,
+ bool theInversed);
+
+ /// Add arc
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_MacroArc> addArc(
+ double theStartX, double theStartY,
+ double theEndX, double theEndY,
+ double thePassedX, double thePassedY);
+
+ /// Add arc
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_MacroArc> addArc(
+ const std::shared_ptr<GeomAPI_Pnt2d>& theStart,
+ const std::shared_ptr<GeomAPI_Pnt2d>& theEnd,
+ const std::shared_ptr<GeomAPI_Pnt2d>& thePassed);
+
+ /// Add transversal/tangent arc
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_MacroArc> addArc(
+ const ModelHighAPI_RefAttr& theConnectedPoint,
+ double theEndX, double theEndY,
+ bool theInversed,
+ bool theTransversal = false);
+
+ /// Add transversal/tangent arc
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_MacroArc> addArc(
+ const ModelHighAPI_RefAttr& theConnectedPoint,
+ const std::shared_ptr<GeomAPI_Pnt2d>& theEnd,
+ bool theInversed,
+ bool theTransversal = false);
+
+ /// Add arc
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_Arc> addArc(const ModelHighAPI_Selection & theExternal);
+
+ /// Add arc
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_Arc> addArc(const std::string & theExternalName);
+
+ /// Add ellipse
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_Ellipse> addEllipse(
+ double theCenterX, double theCenterY,
+ double theFocusX, double theFocusY,
+ double theMinorRadius);
+ /// Add ellipse
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_Ellipse> addEllipse(
+ const std::shared_ptr<GeomAPI_Pnt2d>& theCenter,
+ const std::shared_ptr<GeomAPI_Pnt2d>& theFocus,
+ double theRadius);
+ /// Add ellipse
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_MacroEllipse> addEllipse(
+ double thePoint1X, double thePoint1Y,
+ double thePoint2X, double thePoint2Y,
+ double thePassedX, double thePassedY,
+ bool isPoint1Center = true);
+ /// Add ellipse
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_MacroEllipse> addEllipse(
+ const PointOrReference& thePoint1,
+ const PointOrReference& thePoint2,
+ const PointOrReference& thePassedPoint,
+ bool isPoint1Center = true);
+ /// Add ellipse
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_Ellipse> addEllipse(const ModelHighAPI_Selection & theExternal);
+ /// Add ellipse
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_Ellipse> addEllipse(const std::string & theExternalName);
+
+ /// Add elliptic arc
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_EllipticArc> addEllipticArc(
+ double theCenterX, double theCenterY,
+ double theFocusX, double theFocusY,
+ double theStartX, double theStartY,
+ double theEndX, double theEndY,
+ bool theInversed = false);
+ /// Add elliptic arc
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_MacroEllipticArc> addEllipticArc(
+ const PointOrReference& theCenter,
+ const PointOrReference& theMajorAxisPoint,
+ const PointOrReference& theStartPoint,
+ const PointOrReference& theEndPoint,
+ bool theInversed = false);
+ /// Add elliptic arc
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_EllipticArc> addEllipticArc(const ModelHighAPI_Selection & theExternal);
+ /// Add elliptic arc
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_EllipticArc> addEllipticArc(const std::string & theExternalName);
+
+ /// Add B-spline
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_BSpline> addSpline(
+ const ModelHighAPI_Selection & external = ModelHighAPI_Selection(),
+ const int degree = -1,
+ const std::list<PointOrReference>& poles = std::list<PointOrReference>(),
+ const std::list<ModelHighAPI_Double>& weights = std::list<ModelHighAPI_Double>(),
+ const std::list<ModelHighAPI_Double>& knots = std::list<ModelHighAPI_Double>(),
+ const std::list<ModelHighAPI_Integer>& multiplicities = std::list<ModelHighAPI_Integer>(),
+ const bool periodic = false);
+
+ /// Add interpolation feature
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_BSpline> addInterpolation(
+ const std::list<ModelHighAPI_RefAttr>& points,
+ const bool periodic = false,
+ const bool closed = false);
+
+ /// Add approximation feature
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_BSpline> addApproximation(
+ const std::list<ModelHighAPI_RefAttr>& points,
+ const ModelHighAPI_Double& precision = ModelHighAPI_Double(1.e-3),
+ const bool periodic = false,
+ const bool closed = false);
+
+ /// Add projection
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_Projection> addProjection(
+ const ModelHighAPI_Selection & theExternalFeature,
+ bool keepResult = false,
+ bool keepRefToOriginal = true);
+
+ /// Add mirror
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_Mirror> addMirror(
+ const ModelHighAPI_RefAttr & theMirrorLine,
+ const std::list<std::shared_ptr<ModelAPI_Object> > & theObjects);
+
+ /// Add offset
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_Offset> addOffset(
+ const std::list<std::shared_ptr<ModelAPI_Object> > & theObjects,
+ const ModelHighAPI_Double & theValue,
+ const bool theReversed);
+
+ /// Add translation
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_Translation> addTranslation(
+ const std::list<std::shared_ptr<ModelAPI_Object> > & theObjects,
+ const ModelHighAPI_RefAttr & thePoint1,
+ const ModelHighAPI_RefAttr & thePoint2,
+ const ModelHighAPI_Integer & theNumberOfObjects,
+ bool theFullValue = false);
+
+ /// Add rotation
+ SKETCHAPI_EXPORT
+ std::shared_ptr<SketchAPI_Rotation> addRotation(
+ const std::list<std::shared_ptr<ModelAPI_Object> > & theObjects,
+ const ModelHighAPI_RefAttr & theCenter,
+ const ModelHighAPI_Double & theAngle,
+ const ModelHighAPI_Integer & theNumberOfObjects,
+ bool theFullValue = false,
+ bool theReversed = false);
+
+ /// Add split
+ SKETCHAPI_EXPORT
+ std::shared_ptr<ModelHighAPI_Interface> addSplit(
+ const ModelHighAPI_Reference& theFeature,
+ const std::shared_ptr<GeomAPI_Pnt2d>& thePositionPoint);
+
+ /// Add trim
+ SKETCHAPI_EXPORT
+ std::shared_ptr<ModelHighAPI_Interface> addTrim(
+ const ModelHighAPI_Reference& theFeature,
+ const std::shared_ptr<GeomAPI_Pnt2d>& thePositionPoint);
+
+ /// Set angle
+ SKETCHAPI_EXPORT
+ std::shared_ptr<ModelHighAPI_Interface> setAngle(
+ const ModelHighAPI_RefAttr & theLine1,
+ const ModelHighAPI_RefAttr & theLine2,
+ const ModelHighAPI_Double & theValue,
+ const std::string& type = std::string());
+
+ /// Set complementary angle
+ SKETCHAPI_EXPORT
+ std::shared_ptr<ModelHighAPI_Interface> setAngleComplementary(
+ const ModelHighAPI_RefAttr & theLine1,
+ const ModelHighAPI_RefAttr & theLine2,
+ const ModelHighAPI_Double & theValue);
+
+ /// Set backward angle (= 360 - angle)
+ SKETCHAPI_EXPORT
+ std::shared_ptr<ModelHighAPI_Interface> setAngleBackward(
+ const ModelHighAPI_RefAttr & theLine1,
+ const ModelHighAPI_RefAttr & theLine2,
+ const ModelHighAPI_Double & theValue);