X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchSolver%2FSketchSolver_ConstraintTangent.cpp;h=1c42ac69af7fdceca28e1eeb1f3de71e094165e1;hb=d75b1b5c09b57fd8326d846118fa3246a9857492;hp=791de4cc2f3d470cbf1fd8ab32061bc49da1e028;hpb=5631e9780ff361205c28c8dcf6e253d222b39721;p=modules%2Fshaper.git diff --git a/src/SketchSolver/SketchSolver_ConstraintTangent.cpp b/src/SketchSolver/SketchSolver_ConstraintTangent.cpp index 791de4cc2..1c42ac69a 100644 --- a/src/SketchSolver/SketchSolver_ConstraintTangent.cpp +++ b/src/SketchSolver/SketchSolver_ConstraintTangent.cpp @@ -279,7 +279,7 @@ static void adjustAngleBetweenCurves(const GCSCurvePtr& theCurve1, const GCSPointPtr& thePoint, double* theAngle) { - double anAngle = GCS::System::calculateAngleViaPoint(*theCurve1, *theCurve2, *thePoint); + double anAngle = GCS::System().calculateAngleViaPoint(*theCurve1, *theCurve2, *thePoint); // bring angle to [-pi..pi] if (anAngle > PI) anAngle -= 2.0 * PI; if (anAngle < -PI) anAngle += 2.0 * PI; @@ -307,12 +307,13 @@ ConstraintWrapperPtr createArcLineTangency(EntityWrapperPtr theEntity1, std::shared_ptr aCirc = std::dynamic_pointer_cast(anEntCirc->entity()); + std::shared_ptr anArc = std::dynamic_pointer_cast(aCirc); + std::shared_ptr aLine = std::dynamic_pointer_cast(anEntLine->entity()); GCSConstraintPtr aNewConstr; - if (theSharedPoint) { - std::shared_ptr anArc = std::dynamic_pointer_cast(aCirc); + if (theSharedPoint && anArc) { // do not process shared point between circle and line GCSPointPtr aPoint = std::dynamic_pointer_cast(theSharedPoint)->point();