git-svn-id: svn://db.shs.com.ru/libs@174 a8b55f48-bf90-11e4-a774-851b48703e85

This commit is contained in:
2017-03-28 13:21:04 +00:00
parent 731c702af9
commit b4e6995592

View File

@@ -208,32 +208,32 @@ void BlockBusItem::simplify(bool full) {
} }
} }
if (full) { if (full) {
/*QList<int> segs; QList<int> segs;
for (int p = 0; p < pol.size(); ++p) { for (int p = 0; p < pol.size(); ++p) {
if (pointSegmentsCount(p, &segs) != 2) continue; if (pointSegmentsCount(p, &segs) != 2) continue;
int s0 = segs[0], s1 = segs[1];
QPointF cp = pol[p], sp[2]; QPointF cp = pol[p], sp[2];
for (int i = 0; i < 2; ++i) { for (int i = 0; i < 2; ++i) {
if (segments[segs[i]].first == p) sp[i] = pol[segments[segs[i]].second]; if (segments[segs[i]].first == p) sp[i] = pol[segments[segs[i]].second];
else sp[i] = pol[segments[segs[i]].first]; else sp[i] = pol[segments[segs[i]].first];
} }
qDebug() << p << segs;
QLineF l0(sp[0], cp), l1(cp, sp[1]); QLineF l0(sp[0], cp), l1(cp, sp[1]);
if (l0.angle() != l1.angle()) continue; if (l0.angle() != l1.angle()) continue;
if (segments[segs[0]].first == p) { if (segments[s0].first == p) {
if (segments[segs[1]].first == p) segments[segs[0]].second = segments[segs[1]].second; if (segments[s1].first == p) segments[s0].first = segments[s1].second;
else segments[segs[0]].second = segments[segs[1]].first; else segments[s0].first = segments[s1].first;
} else { } else {
if (segments[segs[1]].first == p) segments[segs[0]].first = segments[segs[1]].second; if (segments[s1].first == p) segments[s0].second = segments[s1].second;
else segments[segs[0]].first = segments[segs[1]].first; else segments[s0].second = segments[s1].first;
} }
segments.removeAt(segs[1]); segments.removeAt(s1);
pol.remove(p); pol.remove(p);
for (int i = 0; i < segments.size(); ++i) { for (int i = 0; i < segments.size(); ++i) {
if (segments[i].first > p) segments[i].first--; if (segments[i].first >= p) segments[i].first--;
if (segments[i].second > p) segments[i].second--; if (segments[i].second >= p) segments[i].second--;
} }
p = -1; p = -1;
}*/ }
} }
if (pcnt == pol.size()) return; if (pcnt == pol.size()) return;
updateGeometry(); updateGeometry();