Salome HOME
Issue #1834: Fix length of lines
[modules/shaper.git] / src / SketchAPI / SketchAPI_Sketch.cpp
index 6b1731aba941e5d6adb767c8821df8e0890e2ed5..ce765e71bd9fb8961bb7032e23f026d76eb03283 100644 (file)
@@ -1,3 +1,4 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 // Name   : SketchAPI_Sketch.cpp
 // Purpose: 
 //
@@ -123,7 +124,8 @@ void SketchAPI_Sketch::setValue(
     const std::shared_ptr<ModelHighAPI_Interface> & theConstraint,
     const ModelHighAPI_Double & theValue)
 {
-  // TODO(spo): check somehow that the feature is a constraint or eliminate crash if the feature have no real attribute VALUE
+  // TODO(spo): check somehow that the feature is a constraint or eliminate
+  // crash if the feature have no real attribute VALUE
   fillAttribute(theValue, theConstraint->feature()->real(SketchPlugin_Constraint::VALUE()));
 
 //  theConstraint->execute();
@@ -172,7 +174,8 @@ SketchPtr addSketch(const std::shared_ptr<ModelAPI_Document> & thePart,
 {
   // TODO(spo): check that thePart is not empty
   std::shared_ptr<ModelAPI_Feature> aFeature = thePart->addFeature(SketchAPI_Sketch::ID());
-  return SketchPtr(new SketchAPI_Sketch(aFeature, ModelHighAPI_Selection("FACE", theExternalName)));
+  return SketchPtr(
+    new SketchAPI_Sketch(aFeature, ModelHighAPI_Selection("FACE", theExternalName)));
 }
 
 SketchPtr addSketch(const std::shared_ptr<ModelAPI_Document> & thePart,
@@ -187,23 +190,28 @@ SketchPtr addSketch(const std::shared_ptr<ModelAPI_Document> & thePart,
 std::shared_ptr<SketchAPI_Point> SketchAPI_Sketch::addPoint(
     double theX, double theY)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_Point::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_Point::ID());
   return PointPtr(new SketchAPI_Point(aFeature, theX, theY));
 }
 std::shared_ptr<SketchAPI_Point> SketchAPI_Sketch::addPoint(
     const std::shared_ptr<GeomAPI_Pnt2d> & thePoint)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_Point::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_Point::ID());
   return PointPtr(new SketchAPI_Point(aFeature, thePoint));
 }
-std::shared_ptr<SketchAPI_Point> SketchAPI_Sketch::addPoint(const ModelHighAPI_Selection & theExternal)
+std::shared_ptr<SketchAPI_Point> 
+  SketchAPI_Sketch::addPoint(const ModelHighAPI_Selection & theExternal)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_Point::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_Point::ID());
   return PointPtr(new SketchAPI_Point(aFeature, theExternal));
 }
 std::shared_ptr<SketchAPI_Point> SketchAPI_Sketch::addPoint(const std::string & theExternalName)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_Point::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_Point::ID());
   return PointPtr(new SketchAPI_Point(aFeature, theExternalName));
 }
 
@@ -211,51 +219,62 @@ std::shared_ptr<SketchAPI_Point> SketchAPI_Sketch::addPoint(const std::string &
 std::shared_ptr<SketchAPI_IntersectionPoint> SketchAPI_Sketch::addIntersectionPoint(
     const ModelHighAPI_Selection & theExternal)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_IntersectionPoint::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_IntersectionPoint::ID());
   return IntersectionPointPtr(new SketchAPI_IntersectionPoint(aFeature, theExternal));
 }
 std::shared_ptr<SketchAPI_IntersectionPoint> SketchAPI_Sketch::addIntersectionPoint(
     const std::string & theExternalName)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_IntersectionPoint::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_IntersectionPoint::ID());
   return IntersectionPointPtr(new SketchAPI_IntersectionPoint(aFeature, theExternalName));
 }
 
 //--------------------------------------------------------------------------------------
-std::shared_ptr<SketchAPI_Line> SketchAPI_Sketch::addLine(double theX1, double theY1, double theX2, double theY2)
+std::shared_ptr<SketchAPI_Line> SketchAPI_Sketch::addLine(double theX1, double theY1, 
+                                                          double theX2, double theY2)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_Line::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_Line::ID());
   return LinePtr(new SketchAPI_Line(aFeature, theX1, theY1, theX2, theY2));
 }
 std::shared_ptr<SketchAPI_Line> SketchAPI_Sketch::addLine(
     const std::shared_ptr<GeomAPI_Pnt2d> & theStartPoint,
     const std::shared_ptr<GeomAPI_Pnt2d> & theEndPoint)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_Line::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_Line::ID());
   return LinePtr(new SketchAPI_Line(aFeature, theStartPoint, theEndPoint));
 }
-std::shared_ptr<SketchAPI_Line> SketchAPI_Sketch::addLine(const ModelHighAPI_Selection & theExternal)
+std::shared_ptr<SketchAPI_Line> 
+  SketchAPI_Sketch::addLine(const ModelHighAPI_Selection & theExternal)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_Line::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_Line::ID());
   return LinePtr(new SketchAPI_Line(aFeature, theExternal));
 }
 std::shared_ptr<SketchAPI_Line> SketchAPI_Sketch::addLine(const std::string & theExternalName)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_Line::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_Line::ID());
   return LinePtr(new SketchAPI_Line(aFeature, theExternalName));
 }
 
 //--------------------------------------------------------------------------------------
-std::shared_ptr<SketchAPI_Rectangle> SketchAPI_Sketch::addRectangle(double theX1, double theY1, double theX2, double theY2)
+std::shared_ptr<SketchAPI_Rectangle> SketchAPI_Sketch::addRectangle(double theX1, double theY1, 
+                                                                    double theX2, double theY2)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchAPI_Rectangle::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchAPI_Rectangle::ID());
   return RectanglePtr(new SketchAPI_Rectangle(aFeature, theX1, theY1, theX2, theY2));
 }
 std::shared_ptr<SketchAPI_Rectangle> SketchAPI_Sketch::addRectangle(
     const std::shared_ptr<GeomAPI_Pnt2d> & theStartPoint,
     const std::shared_ptr<GeomAPI_Pnt2d> & theEndPoint)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchAPI_Rectangle::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchAPI_Rectangle::ID());
   return RectanglePtr(new SketchAPI_Rectangle(aFeature, theStartPoint, theEndPoint));
 }
 
@@ -264,14 +283,17 @@ std::shared_ptr<SketchAPI_Circle> SketchAPI_Sketch::addCircle(double theCenterX,
                                                               double theCenterY,
                                                               double theRadius)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_Circle::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_Circle::ID());
   return CirclePtr(new SketchAPI_Circle(aFeature, theCenterX, theCenterY, theRadius));
 }
 
-std::shared_ptr<SketchAPI_Circle> SketchAPI_Sketch::addCircle(const std::shared_ptr<GeomAPI_Pnt2d>& theCenter,
-                                                              double theRadius)
+std::shared_ptr<SketchAPI_Circle> SketchAPI_Sketch::addCircle(
+                                    const std::shared_ptr<GeomAPI_Pnt2d>& theCenter,
+                                    double theRadius)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_Circle::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_Circle::ID());
   return CirclePtr(new SketchAPI_Circle(aFeature, theCenter, theRadius));
 }
 
@@ -279,28 +301,34 @@ std::shared_ptr<SketchAPI_Circle> SketchAPI_Sketch::addCircle(double theX1, doub
                                                               double theX2, double theY2,
                                                               double theX3, double theY3)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_Circle::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_Circle::ID());
   return CirclePtr(new SketchAPI_Circle(aFeature, theX1, theY1, theX2, theY2, theX3, theY3));
 }
 
-std::shared_ptr<SketchAPI_Circle> SketchAPI_Sketch::addCircle(const std::shared_ptr<GeomAPI_Pnt2d>& thePoint1,
-                                                              const std::shared_ptr<GeomAPI_Pnt2d>& thePoint2,
-                                                              const std::shared_ptr<GeomAPI_Pnt2d>& thePoint3)
+std::shared_ptr<SketchAPI_Circle> SketchAPI_Sketch::addCircle(
+                                                const std::shared_ptr<GeomAPI_Pnt2d>& thePoint1,
+                                                const std::shared_ptr<GeomAPI_Pnt2d>& thePoint2,
+                                                const std::shared_ptr<GeomAPI_Pnt2d>& thePoint3)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_Circle::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_Circle::ID());
   return CirclePtr(new SketchAPI_Circle(aFeature, thePoint1, thePoint2, thePoint3));
 }
 
-std::shared_ptr<SketchAPI_Circle> SketchAPI_Sketch::addCircle(const ModelHighAPI_Selection & theExternal)
+std::shared_ptr<SketchAPI_Circle> 
+  SketchAPI_Sketch::addCircle(const ModelHighAPI_Selection & theExternal)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_Circle::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_Circle::ID());
   return CirclePtr(new SketchAPI_Circle(aFeature, theExternal));
 }
 
 std::shared_ptr<SketchAPI_Circle> SketchAPI_Sketch::addCircle(const std::string & theExternalName)
 {
   // TODO(spo): Add constraint SketchConstraintRigid like in PythonAPI. Is it necessary?
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_Circle::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_Circle::ID());
   return CirclePtr(new SketchAPI_Circle(aFeature, theExternalName));
 }
 
@@ -310,7 +338,8 @@ std::shared_ptr<SketchAPI_Arc> SketchAPI_Sketch::addArc(double theCenterX, doubl
                                                         double theEndX, double theEndY,
                                                         bool theInversed)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_Arc::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_Arc::ID());
   return ArcPtr(new SketchAPI_Arc(aFeature,
                                   theCenterX, theCenterY,
                                   theStartX, theStartY,
@@ -318,12 +347,14 @@ std::shared_ptr<SketchAPI_Arc> SketchAPI_Sketch::addArc(double theCenterX, doubl
                                   theInversed));
 }
 
-std::shared_ptr<SketchAPI_Arc> SketchAPI_Sketch::addArc(const std::shared_ptr<GeomAPI_Pnt2d>& theCenter,
-                                                        const std::shared_ptr<GeomAPI_Pnt2d>& theStart,
-                                                        const std::shared_ptr<GeomAPI_Pnt2d>& theEnd,
-                                                        bool theInversed)
+std::shared_ptr<SketchAPI_Arc> SketchAPI_Sketch::addArc(
+                                              const std::shared_ptr<GeomAPI_Pnt2d>& theCenter,
+                                              const std::shared_ptr<GeomAPI_Pnt2d>& theStart,
+                                              const std::shared_ptr<GeomAPI_Pnt2d>& theEnd,
+                                              bool theInversed)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_Arc::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_Arc::ID());
   return ArcPtr(new SketchAPI_Arc(aFeature, theCenter, theStart, theEnd, theInversed));
 }
 
@@ -331,47 +362,56 @@ std::shared_ptr<SketchAPI_Arc> SketchAPI_Sketch::addArc(double theStartX, double
                                                         double theEndX, double theEndY,
                                                         double thePassedX, double thePassedY)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_Arc::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_Arc::ID());
   return ArcPtr(new SketchAPI_Arc(aFeature,
                                   theStartX, theStartY,
                                   theEndX, theEndY,
                                   thePassedX, thePassedY));
 }
 
-std::shared_ptr<SketchAPI_Arc> SketchAPI_Sketch::addArc(const std::shared_ptr<GeomAPI_Pnt2d>& theStart,
-                                                        const std::shared_ptr<GeomAPI_Pnt2d>& theEnd,
-                                                        const std::shared_ptr<GeomAPI_Pnt2d>& thePassed)
+std::shared_ptr<SketchAPI_Arc> SketchAPI_Sketch::addArc(
+                                                const std::shared_ptr<GeomAPI_Pnt2d>& theStart,
+                                                const std::shared_ptr<GeomAPI_Pnt2d>& theEnd,
+                                                const std::shared_ptr<GeomAPI_Pnt2d>& thePassed)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_Arc::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_Arc::ID());
   return ArcPtr(new SketchAPI_Arc(aFeature, theStart, theEnd, thePassed));
 }
 
-std::shared_ptr<SketchAPI_Arc> SketchAPI_Sketch::addArc(const ModelHighAPI_RefAttr& theTangentPoint,
-                                                        double theEndX, double theEndY,
-                                                        bool theInversed)
+std::shared_ptr<SketchAPI_Arc> SketchAPI_Sketch::addArc(
+                                                const ModelHighAPI_RefAttr& theTangentPoint,
+                                                double theEndX, double theEndY,
+                                                bool theInversed)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_Arc::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_Arc::ID());
   return ArcPtr(new SketchAPI_Arc(aFeature, theTangentPoint, theEndX, theEndY, theInversed));
 }
 
-std::shared_ptr<SketchAPI_Arc> SketchAPI_Sketch::addArc(const ModelHighAPI_RefAttr& theTangentPoint,
-                                                        const std::shared_ptr<GeomAPI_Pnt2d>& theEnd,
-                                                        bool theInversed)
+std::shared_ptr<SketchAPI_Arc> SketchAPI_Sketch::addArc(
+                                              const ModelHighAPI_RefAttr& theTangentPoint,
+                                              const std::shared_ptr<GeomAPI_Pnt2d>& theEnd,
+                                              bool theInversed)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_Arc::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_Arc::ID());
   return ArcPtr(new SketchAPI_Arc(aFeature, theTangentPoint, theEnd, theInversed));
 }
 
 std::shared_ptr<SketchAPI_Arc> SketchAPI_Sketch::addArc(const ModelHighAPI_Selection & theExternal)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_Arc::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_Arc::ID());
   return ArcPtr(new SketchAPI_Arc(aFeature, theExternal));
 }
 
 std::shared_ptr<SketchAPI_Arc> SketchAPI_Sketch::addArc(const std::string & theExternalName)
 {
   // TODO(spo): Add constraint SketchConstraintRigid like in PythonAPI. Is it necessary?
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_Arc::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_Arc::ID());
   return ArcPtr(new SketchAPI_Arc(aFeature, theExternalName));
 }
 
@@ -379,14 +419,16 @@ std::shared_ptr<SketchAPI_Arc> SketchAPI_Sketch::addArc(const std::string & theE
 std::shared_ptr<SketchAPI_Projection> SketchAPI_Sketch::addProjection(
     const ModelHighAPI_Selection & theExternalFeature)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_Projection::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_Projection::ID());
   return ProjectionPtr(new SketchAPI_Projection(aFeature, theExternalFeature));
 }
 
 std::shared_ptr<SketchAPI_Projection> SketchAPI_Sketch::addProjection(
     const std::string & theExternalName)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_Projection::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_Projection::ID());
   return ProjectionPtr(new SketchAPI_Projection(aFeature, theExternalName));
 }
 
@@ -395,7 +437,8 @@ std::shared_ptr<SketchAPI_Mirror> SketchAPI_Sketch::addMirror(
     const ModelHighAPI_RefAttr & theMirrorLine,
     const std::list<std::shared_ptr<ModelAPI_Object> > & theObjects)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_ConstraintMirror::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_ConstraintMirror::ID());
   return MirrorPtr(new SketchAPI_Mirror(aFeature, theMirrorLine, theObjects));
 }
 
@@ -407,8 +450,10 @@ std::shared_ptr<SketchAPI_Translation> SketchAPI_Sketch::addTranslation(
     const ModelHighAPI_Integer & theNumberOfObjects,
     bool theFullValue)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_MultiTranslation::ID());
-  return TranslationPtr(new SketchAPI_Translation(aFeature, theObjects, thePoint1, thePoint2, theNumberOfObjects, theFullValue));
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_MultiTranslation::ID());
+  return TranslationPtr(new SketchAPI_Translation(aFeature, theObjects, thePoint1, 
+                                                  thePoint2, theNumberOfObjects, theFullValue));
 }
 
 //--------------------------------------------------------------------------------------
@@ -419,16 +464,21 @@ std::shared_ptr<SketchAPI_Rotation> SketchAPI_Sketch::addRotation(
     const ModelHighAPI_Integer & theNumberOfObjects,
     bool theFullValue)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_MultiRotation::ID());
-  return RotationPtr(new SketchAPI_Rotation(aFeature, theObjects, theCenter, theAngle, theNumberOfObjects, theFullValue));
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_MultiRotation::ID());
+  return RotationPtr(
+    new SketchAPI_Rotation(aFeature, theObjects, theCenter, 
+                           theAngle, theNumberOfObjects, theFullValue));
 }
 
 //--------------------------------------------------------------------------------------
-std::shared_ptr<ModelHighAPI_Interface> SketchAPI_Sketch::addSplit(const ModelHighAPI_Reference& theFeature,
-                                                             const ModelHighAPI_RefAttr& thePoint1,
-                                                             const ModelHighAPI_RefAttr& thePoint2)
+std::shared_ptr<ModelHighAPI_Interface> SketchAPI_Sketch::addSplit(
+                                                    const ModelHighAPI_Reference& theFeature,
+                                                    const ModelHighAPI_RefAttr& thePoint1,
+                                                    const ModelHighAPI_RefAttr& thePoint2)
 {
-  std::shared_ptr<ModelAPI_Feature> aFeature = compositeFeature()->addFeature(SketchPlugin_ConstraintSplit::ID());
+  std::shared_ptr<ModelAPI_Feature> aFeature = 
+    compositeFeature()->addFeature(SketchPlugin_ConstraintSplit::ID());
   fillAttribute(theFeature, aFeature->reference(SketchPlugin_Constraint::VALUE()));
   fillAttribute(thePoint1, aFeature->refattr(SketchPlugin_Constraint::ENTITY_A()));
   fillAttribute(thePoint2, aFeature->refattr(SketchPlugin_Constraint::ENTITY_B()));
@@ -660,7 +710,8 @@ void SketchAPI_Sketch::dump(ModelHighAPI_Dumper& theDumper) const
 
   AttributeSelectionPtr anExternal = aBase->selection(SketchPlugin_SketchEntity::EXTERNAL_ID());
   if (anExternal->value()) {
-    theDumper << aBase << " = model.addSketch(" << aDocName << ", " << anExternal << ")" << std::endl;
+    theDumper << aBase << " = model.addSketch(" << aDocName <<
+      ", " << anExternal << ")" << std::endl;
   } else {
     // Sketch is base on a plane.
     std::shared_ptr<GeomAPI_Pnt> anOrigin = std::dynamic_pointer_cast<GeomDataAPI_Point>(
@@ -678,7 +729,8 @@ void SketchAPI_Sketch::dump(ModelHighAPI_Dumper& theDumper) const
         theDumper << aBase << " = model.addSketch(" << aDocName
                   << ", model.standardPlane(\"" << aPlaneName << "\"))" << std::endl;
       } else { // some other plane
-        theDumper << aBase << " = model.addSketch(" << aDocName << ", " << anExternal<< ")" << std::endl;
+        theDumper << aBase << " = model.addSketch(" << aDocName << 
+          ", " << anExternal<< ")" << std::endl;
       }
     } else {
       if (aPlaneName.empty()) {