git-svn-id: svn://db.shs.com.ru/libs@174 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
@@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user