Fixed issue #742. Valentina produces wrong seam allowance.

(grafted from e5047109085c16f09270349bc020dbabfb64505f)

--HG--
branch : develop
This commit is contained in:
Roman Telezhynskyi 2017-08-03 13:43:25 +03:00
parent 4914d2c3e7
commit 9acaaffce5
3 changed files with 12 additions and 1 deletions

View File

@ -42,6 +42,7 @@
- [#737] Valentina produces corrupted file if unite two pieces with pins. - [#737] Valentina produces corrupted file if unite two pieces with pins.
- [#738] Bug in transformation over arc and elliptical arc. - [#738] Bug in transformation over arc and elliptical arc.
- [#729] Moved Bezier curves can't be rotated. - [#729] Moved Bezier curves can't be rotated.
- [#742] Valentina produces wrong seam allowance.
# Version 0.5.0 May 9, 2017 # Version 0.5.0 May 9, 2017
- [#581] User can now filter input lists by keyword in function wizard. - [#581] User can now filter input lists by keyword in function wizard.

View File

@ -89,6 +89,11 @@ QVector<QPointF> VAbstractCubicBezierPath::GetPoints() const
QVector<QPointF> pathPoints; QVector<QPointF> pathPoints;
for (qint32 i = 1; i <= CountSubSpl(); ++i) for (qint32 i = 1; i <= CountSubSpl(); ++i)
{ {
if (not pathPoints.isEmpty())
{
pathPoints.removeLast();
}
pathPoints += GetSpline(i).GetPoints(); pathPoints += GetSpline(i).GetPoints();
} }
return pathPoints; return pathPoints;

View File

@ -117,7 +117,12 @@ QVector<QPointF> VAbstractCurve::FromBegin(const QVector<QPointF> &points, const
if (IsPointOnLineSegment(begin, points.at(i), points.at(i+1))) if (IsPointOnLineSegment(begin, points.at(i), points.at(i+1)))
{ {
theBegin = true; theBegin = true;
segment.append(begin);
if (begin != points.at(i+1))
{
segment.append(begin);
}
if (i == points.count()-2) if (i == points.count()-2)
{ {
segment.append(points.at(i+1)); segment.append(points.at(i+1));