]> SALOME platform Git repositories - modules/shaper.git/blobdiff - src/GeomAlgoAPI/GeomAlgoAPI_Circ2dBuilder.cpp
Salome HOME
Issue #2083: Creation of sketch arc by center have unexpected behavior
[modules/shaper.git] / src / GeomAlgoAPI / GeomAlgoAPI_Circ2dBuilder.cpp
index dbe5cbaa27d96f27938086ca410c088e8a7c5a94..754ef43a27d85edc962b50049ad0808715ac65be 100644 (file)
@@ -125,9 +125,11 @@ private:
   Circ2dPtr circleByCenterAndPassingPoint()
   {
     const gp_Pnt2d& aCenter = myCenter->impl<gp_Pnt2d>();
-    GccAna_Circ2dTanCen aBuilder(myPassingPoints[0], aCenter);
-    if (aBuilder.NbSolutions() > 0)
-      return Circ2dPtr(new gp_Circ2d(aBuilder.ThisSolution(1)));
+    if (aCenter.SquareDistance(myPassingPoints[0]) > Precision::SquareConfusion()) {
+      GccAna_Circ2dTanCen aBuilder(myPassingPoints[0], aCenter);
+      if (aBuilder.NbSolutions() > 0)
+        return Circ2dPtr(new gp_Circ2d(aBuilder.ThisSolution(1)));
+    }
     return Circ2dPtr();
   }