From 92028ddbc4653e20a85ac70bc19684bc9bae824e Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Mon, 26 Oct 2020 10:00:51 +0200 Subject: [PATCH] Fix issue in VAbstractCurve::CurveIntersectAxis. Add normalization of the axis angle. Value must positive value between 0 and 359 degree. --- ChangeLog.txt | 1 + src/libs/vgeometry/vabstractcurve.cpp | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/ChangeLog.txt b/ChangeLog.txt index 1211d39e5..a8243fcf6 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,5 +1,6 @@ # Version 0.7.37 (unreleased) - Fix Tape crash on Mac OS X. +- Fix issue in VAbstractCurve::CurveIntersectAxis. # Version 0.7.36 October 24, 2020 - [#892] Show tooltip for piece node point. diff --git a/src/libs/vgeometry/vabstractcurve.cpp b/src/libs/vgeometry/vabstractcurve.cpp index 8a818a165..b47699d2f 100644 --- a/src/libs/vgeometry/vabstractcurve.cpp +++ b/src/libs/vgeometry/vabstractcurve.cpp @@ -464,6 +464,13 @@ bool VAbstractCurve::CurveIntersectAxis(const QPointF &point, qreal angle, const { SCASSERT(intersectionPoint != nullptr) + // Normalize an angle + { + QLineF line(QPointF(10,10), QPointF(100, 10)); + line.setAngle(angle); + angle = line.angle(); + } + QRectF rec = QRectF(0, 0, INT_MAX, INT_MAX); rec.translate(-INT_MAX/2.0, -INT_MAX/2.0);