Main workpiece's path also can contains loops. This cause wrong seam allowances.
--HG-- branch : develop
This commit is contained in:
parent
05ad1605e0
commit
717772c339
|
@ -70,12 +70,12 @@ public:
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
static QVector<QPointF> RemoveDublicates(const QVector<QPointF> &points);
|
static QVector<QPointF> RemoveDublicates(const QVector<QPointF> &points);
|
||||||
|
static QVector<QPointF> CorrectEquidistantPoints(const QVector<QPointF> &points);
|
||||||
|
static QVector<QPointF> CheckLoops(const QVector<QPointF> &points);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QSharedDataPointer<VAbstractDetailData> d;
|
QSharedDataPointer<VAbstractDetailData> d;
|
||||||
|
|
||||||
static QVector<QPointF> CorrectEquidistantPoints(const QVector<QPointF> &points);
|
|
||||||
static QVector<QPointF> CheckLoops(const QVector<QPointF> &points);
|
|
||||||
static QVector<QPointF> EkvPoint(const QLineF &line1, const QLineF &line2, const qreal &width);
|
static QVector<QPointF> EkvPoint(const QLineF &line1, const QLineF &line2, const qreal &width);
|
||||||
static QPointF UnclosedEkvPoint(const QLineF &line, const QLineF &helpLine, const qreal &width);
|
static QPointF UnclosedEkvPoint(const QLineF &line, const QLineF &helpLine, const qreal &width);
|
||||||
static QLineF ParallelLine(const QLineF &line, qreal width );
|
static QLineF ParallelLine(const QLineF &line, qreal width );
|
||||||
|
|
|
@ -382,6 +382,8 @@ QVector<QPointF> VDetail::ContourPoints(const VContainer *data) const
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
points = CheckLoops(CorrectEquidistantPoints(points));//A path can contains loops
|
||||||
return points;
|
return points;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -426,6 +428,8 @@ QVector<QPointF> VDetail::SeamAllowancePoints(const VContainer *data) const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pointsEkv = CheckLoops(CorrectEquidistantPoints(pointsEkv));//A path can contains loops
|
||||||
|
|
||||||
if (getClosed() == true)
|
if (getClosed() == true)
|
||||||
{
|
{
|
||||||
pointsEkv = Equidistant(pointsEkv, EquidistantType::CloseEquidistant, ToPixel(getWidth(),
|
pointsEkv = Equidistant(pointsEkv, EquidistantType::CloseEquidistant, ToPixel(getWidth(),
|
||||||
|
|
Loading…
Reference in New Issue
Block a user