From f98f897fd3c713e5d79b521b48f37547ddf169c8 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Sun, 10 Apr 2016 14:48:34 +0300 Subject: [PATCH] Resolved issue #193. Undeletable zombie arc objects. --HG-- branch : develop --- ChangeLog.txt | 1 + src/libs/vgeometry/varc.cpp | 12 +++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index aa8af5553..d7a26962d 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,4 +1,5 @@ # Version 0.5.0 +- [#193] Undeletable zombie arc objects. - New feature. Groups. - Tool "Curve intersect axis" store data about subpaths. - [#444] Length along Path seems not valid. diff --git a/src/libs/vgeometry/varc.cpp b/src/libs/vgeometry/varc.cpp index 5b351f9bf..6637d3ad7 100644 --- a/src/libs/vgeometry/varc.cpp +++ b/src/libs/vgeometry/varc.cpp @@ -165,14 +165,16 @@ QPointF VArc::GetP2 () const */ qreal VArc::AngleArc() const { - if ((qFuzzyIsNull(d->f1) && qFuzzyCompare(d->f2, 360)) || - (qFuzzyCompare(d->f1, 360) && qFuzzyIsNull(d->f2))) { - return 360; + const qreal angleDiff = qAbs(d->f1 - d->f2); + if (VFuzzyComparePossibleNulls(angleDiff, 0) || VFuzzyComparePossibleNulls(angleDiff, 360)) + { + return 360; + } } - QLineF l1(0, 0, 100, 100); + QLineF l1(0, 0, 100, 0); l1.setAngle(d->f1); - QLineF l2(0, 0, 100, 100); + QLineF l2(0, 0, 100, 0); l2.setAngle(d->f2); qreal ang = l1.angleTo(l2);