From b4e699559229a7f46ec1e78730c308d92e86bb5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=B5=D0=BB=D0=B8=D0=BF=D0=B5=D0=BD=D0=BA=D0=BE=20?= =?UTF-8?q?=D0=98=D0=B2=D0=B0=D0=BD?= Date: Tue, 28 Mar 2017 13:21:04 +0000 Subject: [PATCH] git-svn-id: svn://db.shs.com.ru/libs@174 a8b55f48-bf90-11e4-a774-851b48703e85 --- qad_blockview/blockbusitem.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/qad_blockview/blockbusitem.cpp b/qad_blockview/blockbusitem.cpp index f82fa8d..b7a36c0 100644 --- a/qad_blockview/blockbusitem.cpp +++ b/qad_blockview/blockbusitem.cpp @@ -208,32 +208,32 @@ void BlockBusItem::simplify(bool full) { } } if (full) { - /*QList segs; + QList segs; for (int p = 0; p < pol.size(); ++p) { if (pointSegmentsCount(p, &segs) != 2) continue; + int s0 = segs[0], s1 = segs[1]; QPointF cp = pol[p], sp[2]; for (int i = 0; i < 2; ++i) { if (segments[segs[i]].first == p) sp[i] = pol[segments[segs[i]].second]; else sp[i] = pol[segments[segs[i]].first]; } - qDebug() << p << segs; QLineF l0(sp[0], cp), l1(cp, sp[1]); if (l0.angle() != l1.angle()) continue; - if (segments[segs[0]].first == p) { - if (segments[segs[1]].first == p) segments[segs[0]].second = segments[segs[1]].second; - else segments[segs[0]].second = segments[segs[1]].first; + if (segments[s0].first == p) { + if (segments[s1].first == p) segments[s0].first = segments[s1].second; + else segments[s0].first = segments[s1].first; } else { - if (segments[segs[1]].first == p) segments[segs[0]].first = segments[segs[1]].second; - else segments[segs[0]].first = segments[segs[1]].first; + if (segments[s1].first == p) segments[s0].second = segments[s1].second; + else segments[s0].second = segments[s1].first; } - segments.removeAt(segs[1]); + segments.removeAt(s1); pol.remove(p); for (int i = 0; i < segments.size(); ++i) { - if (segments[i].first > p) segments[i].first--; - if (segments[i].second > p) segments[i].second--; + if (segments[i].first >= p) segments[i].first--; + if (segments[i].second >= p) segments[i].second--; } p = -1; - }*/ + } } if (pcnt == pol.size()) return; updateGeometry();