Fix piece mirroring.
This commit is contained in:
parent
79e1bf0f8d
commit
669ce4061a
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<pattern labelPrefix="uk">
|
||||
<!--Pattern created with Valentina v0.7.52.902 (https://smart-pattern.com.ua/).-->
|
||||
<version>0.9.4</version>
|
||||
<!--Pattern created with Valentina v0.7.52.1210 (https://smart-pattern.com.ua/).-->
|
||||
<version>0.9.6</version>
|
||||
<unit>cm</unit>
|
||||
<description/>
|
||||
<notes/>
|
||||
|
@ -25,63 +25,63 @@
|
|||
<point id="16" idObject="3" inUse="false" mx="0.264583" my="0.396875" showLabel="true" type="modeling"/>
|
||||
<point id="17" idObject="4" inUse="false" mx="0.264583" my="0.396875" showLabel="true" type="modeling"/>
|
||||
<point id="18" idObject="2" inUse="false" mx="0.264583" my="0.396875" showLabel="true" type="modeling"/>
|
||||
<point id="20" idObject="1" inUse="true" mx="0.264583" my="0.396875" showLabel="true" type="modeling"/>
|
||||
<point id="21" idObject="3" inUse="true" mx="0.264583" my="0.396875" showLabel="true" type="modeling"/>
|
||||
<point id="22" idObject="4" inUse="true" mx="0.264583" my="0.396875" showLabel="true" type="modeling"/>
|
||||
<point id="23" idObject="2" inUse="true" mx="0.264583" my="0.396875" showLabel="true" type="modeling"/>
|
||||
<point id="25" idObject="1" inUse="true" mx="0.264583" my="0.396875" showLabel="true" type="modeling"/>
|
||||
<point id="26" idObject="3" inUse="true" mx="0.264583" my="0.396875" showLabel="true" type="modeling"/>
|
||||
<point id="27" idObject="4" inUse="true" mx="0.264583" my="0.396875" showLabel="true" type="modeling"/>
|
||||
<point id="28" idObject="2" inUse="true" mx="0.264583" my="0.396875" showLabel="true" type="modeling"/>
|
||||
<point id="20" idObject="1" inUse="false" mx="0.264583" my="0.396875" showLabel="true" type="modeling"/>
|
||||
<point id="21" idObject="3" inUse="false" mx="0.264583" my="0.396875" showLabel="true" type="modeling"/>
|
||||
<point id="22" idObject="4" inUse="false" mx="0.264583" my="0.396875" showLabel="true" type="modeling"/>
|
||||
<point id="23" idObject="2" inUse="false" mx="0.264583" my="0.396875" showLabel="true" type="modeling"/>
|
||||
<point id="25" idObject="1" inUse="false" mx="0.264583" my="0.396875" showLabel="true" type="modeling"/>
|
||||
<point id="26" idObject="3" inUse="false" mx="0.264583" my="0.396875" showLabel="true" type="modeling"/>
|
||||
<point id="27" idObject="4" inUse="false" mx="0.264583" my="0.396875" showLabel="true" type="modeling"/>
|
||||
<point id="28" idObject="2" inUse="false" mx="0.264583" my="0.396875" showLabel="true" type="modeling"/>
|
||||
</modeling>
|
||||
<details>
|
||||
<detail followGrainline="false" forbidFlipping="false" forceFlipping="false" hideMainPath="false" id="14" mx="0" my="0" name="Case 1" seamAllowance="true" sewLineOnDrawing="false" uuid="{410acde1-f2f0-4603-89e9-f2569843673b}" version="2" width="1">
|
||||
<data annotation="" foldPosition="" height="10" letter="" mx="0" my="0" onFold="false" orientation="" quantity="1" rotation="0" rotationWay="" tilt="" visible="false" width="10"/>
|
||||
<patternInfo height="10" mx="0" my="0" rotation="0" visible="false" width="10"/>
|
||||
<grainline arrows="0" length="10" mx="0" my="0" rotation="90" visible="false"/>
|
||||
<grainline arrows="0" enabled="false" length="10" mx="0" my="0" rotation="90" visible="true"/>
|
||||
<nodes>
|
||||
<node idObject="10" type="NodePoint"/>
|
||||
<node idObject="11" type="NodePoint"/>
|
||||
<node idObject="12" type="NodePoint"/>
|
||||
<node idObject="13" type="NodePoint"/>
|
||||
</nodes>
|
||||
<mirrorLine fontSize="6" p1="12" p2="13" type="none"/>
|
||||
<mirrorLine fontSize="6" p1="13" p2="12" type="none"/>
|
||||
</detail>
|
||||
<detail followGrainline="false" forbidFlipping="false" forceFlipping="false" hideMainPath="false" id="19" mx="31.0026" my="-0.303098" name="Case 2" seamAllowance="true" sewLineOnDrawing="false" uuid="{5ce7b61f-1d49-4ef3-8922-521b9aac6b49}" version="2" width="1">
|
||||
<data annotation="" foldPosition="" height="10" letter="" mx="0" my="0" onFold="false" orientation="" quantity="1" rotation="0" rotationWay="" tilt="" visible="false" width="10"/>
|
||||
<patternInfo height="10" mx="0" my="0" rotation="0" visible="false" width="10"/>
|
||||
<grainline arrows="0" length="10" mx="0" my="0" rotation="90" visible="false"/>
|
||||
<grainline arrows="0" enabled="false" length="10" mx="0" my="0" rotation="90" visible="true"/>
|
||||
<nodes>
|
||||
<node idObject="16" type="NodePoint"/>
|
||||
<node idObject="17" type="NodePoint"/>
|
||||
<node idObject="18" type="NodePoint"/>
|
||||
<node idObject="15" type="NodePoint"/>
|
||||
</nodes>
|
||||
<mirrorLine fontSize="6" p1="17" p2="18" type="none"/>
|
||||
<mirrorLine fontSize="6" p1="18" p2="17" type="none"/>
|
||||
</detail>
|
||||
<detail followGrainline="false" forbidFlipping="false" forceFlipping="false" hideMainPath="false" id="24" mx="66.2511" my="-0.29709" name="Case 3" seamAllowance="true" sewLineOnDrawing="false" uuid="{cce244ba-8361-44ef-841a-dea47de205c7}" version="2" width="1">
|
||||
<data annotation="" foldPosition="" height="10" letter="" mx="0" my="0" onFold="false" orientation="" quantity="1" rotation="0" rotationWay="" tilt="" visible="false" width="10"/>
|
||||
<patternInfo height="10" mx="0" my="0" rotation="0" visible="false" width="10"/>
|
||||
<grainline arrows="0" length="10" mx="0" my="0" rotation="90" visible="false"/>
|
||||
<grainline arrows="0" enabled="false" length="10" mx="0" my="0" rotation="90" visible="true"/>
|
||||
<nodes>
|
||||
<node idObject="22" type="NodePoint"/>
|
||||
<node idObject="23" type="NodePoint"/>
|
||||
<node idObject="20" type="NodePoint"/>
|
||||
<node idObject="21" type="NodePoint"/>
|
||||
</nodes>
|
||||
<mirrorLine fontSize="6" p1="22" p2="23" type="none"/>
|
||||
<mirrorLine fontSize="6" p1="23" p2="22" type="none"/>
|
||||
</detail>
|
||||
<detail followGrainline="false" forbidFlipping="false" forceFlipping="false" hideMainPath="false" id="29" mx="101.666" my="0" name="Case 4" seamAllowance="true" sewLineOnDrawing="false" uuid="{c73f153b-9a1a-4a09-9117-b4b8ab4808a7}" version="2" width="1">
|
||||
<data annotation="" foldPosition="" height="10" letter="" mx="0" my="0" onFold="false" orientation="" quantity="1" rotation="0" rotationWay="" tilt="" visible="false" width="10"/>
|
||||
<patternInfo height="10" mx="0" my="0" rotation="0" visible="false" width="10"/>
|
||||
<grainline arrows="0" length="10" mx="0" my="0" rotation="90" visible="false"/>
|
||||
<grainline arrows="0" enabled="false" length="10" mx="0" my="0" rotation="90" visible="true"/>
|
||||
<nodes>
|
||||
<node idObject="28" type="NodePoint"/>
|
||||
<node idObject="25" type="NodePoint"/>
|
||||
<node idObject="26" type="NodePoint"/>
|
||||
<node idObject="27" type="NodePoint"/>
|
||||
</nodes>
|
||||
<mirrorLine fontSize="6" p1="27" p2="28" type="none"/>
|
||||
<mirrorLine fontSize="6" p1="28" p2="27" type="none"/>
|
||||
</detail>
|
||||
</details>
|
||||
<groups/>
|
||||
|
|
|
@ -37,10 +37,13 @@
|
|||
#include <QtGlobal>
|
||||
#include <algorithm>
|
||||
|
||||
#include "../ifc/exception/vexception.h"
|
||||
#include "../vgeometry/vabstractcurve.h"
|
||||
#include "../vgeometry/vgeometrydef.h"
|
||||
#include "../vgeometry/vgobject.h"
|
||||
#include "../vmisc/compatibility.h"
|
||||
#include "../vmisc/testpath.h"
|
||||
#include "../vmisc/vabstractapplication.h"
|
||||
#include "vrawsapoint.h"
|
||||
#include "vsapoint.h"
|
||||
|
||||
|
@ -184,7 +187,12 @@ public:
|
|||
|
||||
template <class T> static auto MirrorPath(const QVector<T> &points, const QLineF &mirrorLine) -> QVector<T>;
|
||||
|
||||
template <class T> static auto FullPath(const QVector<T> &points, const QLineF &mirrorLine) -> QVector<T>;
|
||||
template <class T>
|
||||
static auto FullSeamPath(const QVector<T> &points, const QLineF &mirrorLine, const QString &pieceName)
|
||||
-> QVector<T>;
|
||||
template <class T>
|
||||
static auto FullSeamAllowancePath(const QVector<T> &points, const QLineF &mirrorLine, const QString &pieceName)
|
||||
-> QVector<T>;
|
||||
|
||||
template <class T>
|
||||
static auto MapVector(QVector<T> points, const QTransform &matrix, bool mirror = false) -> QVector<T>;
|
||||
|
@ -859,7 +867,8 @@ inline auto VAbstractPiece::MirrorPath<VLayoutPoint>(const QVector<VLayoutPoint>
|
|||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
template <class T>
|
||||
inline auto VAbstractPiece::FullPath(const QVector<T> &points, const QLineF &mirrorLine) -> QVector<T>
|
||||
inline auto VAbstractPiece::FullSeamPath(const QVector<T> &points, const QLineF &mirrorLine, const QString &pieceName)
|
||||
-> QVector<T>
|
||||
{
|
||||
// DumpVector(points, QStringLiteral("input.json.XXXXXX")); // Uncomment for dumping test data
|
||||
|
||||
|
@ -873,62 +882,122 @@ inline auto VAbstractPiece::FullPath(const QVector<T> &points, const QLineF &mir
|
|||
return points;
|
||||
}
|
||||
|
||||
// points = CorrectFullPathInput(points, mirrorLine);
|
||||
|
||||
bool closedPath = (points.constFirst() == points.constLast());
|
||||
bool pathReady = false;
|
||||
QVector<T> base;
|
||||
base.reserve(points.size());
|
||||
|
||||
if (VFuzzyComparePoints(points.constFirst(), mirrorLine.p2()))
|
||||
{
|
||||
if (closedPath)
|
||||
{
|
||||
if (VFuzzyComparePoints(points.at(points.size() - 2), mirrorLine.p1()))
|
||||
if (VFuzzyComparePoints(points.constFirst(), mirrorLine.p1()) &&
|
||||
VFuzzyComparePoints(points.constLast(), mirrorLine.p2()))
|
||||
{
|
||||
base = points;
|
||||
base.removeLast();
|
||||
pathReady = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (VFuzzyComparePoints(points.constLast(), mirrorLine.p1()))
|
||||
{
|
||||
base = points;
|
||||
pathReady = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!pathReady)
|
||||
{
|
||||
QVector<T> sub1;
|
||||
QVector<T> sub2;
|
||||
if (!VAbstractPiece::SubdividePath(points, mirrorLine.p1(), sub1, sub2))
|
||||
{
|
||||
const QString errorMsg = QObject::tr("Piece '%1'. Unable to generate full seam path.").arg(pieceName);
|
||||
VAbstractApplication::VApp()->IsPedantic()
|
||||
? throw VException(errorMsg)
|
||||
: qWarning() << VAbstractApplication::warningMessageSignature + errorMsg;
|
||||
return points;
|
||||
}
|
||||
|
||||
QVector<T> reversed = points;
|
||||
std::reverse(reversed.begin(), reversed.end());
|
||||
sub2 += points.constFirst();
|
||||
|
||||
QVector<T> sub3;
|
||||
QVector<T> sub4;
|
||||
if (!VAbstractPiece::SubdividePath(reversed, mirrorLine.p2(), sub3, sub4))
|
||||
if (!VAbstractPiece::SubdividePath(points, mirrorLine.p2(), sub3, sub4))
|
||||
{
|
||||
const QString errorMsg = QObject::tr("Piece '%1'. Unable to generate full seam path.").arg(pieceName);
|
||||
VAbstractApplication::VApp()->IsPedantic()
|
||||
? throw VException(errorMsg)
|
||||
: qWarning() << VAbstractApplication::warningMessageSignature + errorMsg;
|
||||
return points;
|
||||
}
|
||||
|
||||
base = sub2 + sub3;
|
||||
}
|
||||
|
||||
QVector<T> fullPath = MirrorPath(base, mirrorLine);
|
||||
std::reverse(fullPath.begin(), fullPath.end());
|
||||
fullPath += base;
|
||||
|
||||
// DumpVector(fullPath, QStringLiteral("output.json.XXXXXX")); // Uncomment for dumping test data
|
||||
|
||||
return fullPath;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
template <class T>
|
||||
inline auto VAbstractPiece::FullSeamAllowancePath(const QVector<T> &points, const QLineF &mirrorLine,
|
||||
const QString &pieceName) -> QVector<T>
|
||||
{
|
||||
// DumpVector(points, QStringLiteral("input.json.XXXXXX")); // Uncomment for dumping test data
|
||||
|
||||
if (mirrorLine.isNull())
|
||||
{
|
||||
return points;
|
||||
}
|
||||
|
||||
base = sub3;
|
||||
std::reverse(base.begin(), base.end());
|
||||
base += sub1;
|
||||
pathReady = true;
|
||||
if (points.size() <= 3)
|
||||
{
|
||||
return points;
|
||||
}
|
||||
|
||||
QVector<T> base;
|
||||
base.reserve(points.size());
|
||||
|
||||
QVector<T> sub1;
|
||||
QVector<T> sub2;
|
||||
if (!VAbstractPiece::SubdividePath(points, mirrorLine.p1(), sub1, sub2))
|
||||
{
|
||||
const QString errorMsg = QObject::tr("Piece '%1'. Unable to generate full seam allowance path.").arg(pieceName);
|
||||
VAbstractApplication::VApp()->IsPedantic()
|
||||
? throw VException(errorMsg)
|
||||
: qWarning() << VAbstractApplication::warningMessageSignature + errorMsg;
|
||||
return points;
|
||||
}
|
||||
|
||||
QVector<QPointF> subPath;
|
||||
CastTo(sub2, subPath);
|
||||
if (VAbstractCurve::IsPointOnCurve(subPath, mirrorLine.p2()))
|
||||
{
|
||||
std::reverse(sub2.begin(), sub2.end());
|
||||
|
||||
QVector<T> sub3;
|
||||
QVector<T> sub4;
|
||||
if (!VAbstractPiece::SubdividePath(sub2, mirrorLine.p2(), sub3, sub4))
|
||||
{
|
||||
const QString errorMsg =
|
||||
QObject::tr("Piece '%1'. Unable to generate full seam allowance path.").arg(pieceName);
|
||||
VAbstractApplication::VApp()->IsPedantic()
|
||||
? throw VException(errorMsg)
|
||||
: qWarning() << VAbstractApplication::warningMessageSignature + errorMsg;
|
||||
return points;
|
||||
}
|
||||
|
||||
std::reverse(sub4.begin(), sub4.end());
|
||||
base = sub4;
|
||||
}
|
||||
else
|
||||
{
|
||||
std::reverse(sub1.begin(), sub1.end());
|
||||
|
||||
QVector<T> sub3;
|
||||
QVector<T> sub4;
|
||||
if (!VAbstractPiece::SubdividePath(sub1, mirrorLine.p2(), sub3, sub4))
|
||||
{
|
||||
return points;
|
||||
}
|
||||
|
||||
std::reverse(sub4.begin(), sub4.end());
|
||||
|
||||
base = sub2 + sub4;
|
||||
}
|
||||
|
||||
QVector<T> fullPath = MirrorPath(base, mirrorLine);
|
||||
|
||||
std::reverse(fullPath.begin(), fullPath.end());
|
||||
|
||||
fullPath += base;
|
||||
|
||||
// DumpVector(fullPath, QStringLiteral("output.json.XXXXXX")); // Uncomment for dumping test data
|
||||
|
|
|
@ -790,7 +790,7 @@ auto VLayoutPiece::GetFullContourPoints() const -> QVector<VLayoutPoint>
|
|||
points.reserve(d->m_contour.size());
|
||||
if (!d->m_seamMirrorLine.isNull() && IsShowFullPiece())
|
||||
{
|
||||
points = VAbstractPiece::FullPath(d->m_contour, d->m_seamMirrorLine);
|
||||
points = VAbstractPiece::FullSeamPath(d->m_contour, d->m_seamMirrorLine, GetName());
|
||||
points = CheckLoops(CorrectEquidistantPoints(points)); // A path can contains loops
|
||||
}
|
||||
else
|
||||
|
@ -834,7 +834,7 @@ auto VLayoutPiece::GetFullSeamAllowancePoints() const -> QVector<VLayoutPoint>
|
|||
points.reserve(d->m_seamAllowance.size());
|
||||
if (!d->m_seamAllowanceMirrorLine.isNull() && IsShowFullPiece())
|
||||
{
|
||||
points = VAbstractPiece::FullPath(d->m_seamAllowance, d->m_seamAllowanceMirrorLine);
|
||||
points = VAbstractPiece::FullSeamAllowancePath(d->m_seamAllowance, d->m_seamAllowanceMirrorLine, GetName());
|
||||
points = CheckLoops(CorrectEquidistantPoints(points)); // A path can contains loops
|
||||
}
|
||||
else
|
||||
|
@ -1378,7 +1378,8 @@ auto VLayoutPiece::Diagonal() const -> qreal
|
|||
//---------------------------------------------------------------------------------------------------------------------
|
||||
auto VLayoutPiece::FoldLine() const -> VFoldLine
|
||||
{
|
||||
QLineF const foldLine = IsHideMainPath() ? GetSeamAllowanceMirrorLine() : GetSeamMirrorLine();
|
||||
QLineF foldLine = IsHideMainPath() ? GetSeamAllowanceMirrorLine() : GetSeamMirrorLine();
|
||||
Swap(foldLine);
|
||||
VFoldLine fLine(foldLine, GetFoldLineType());
|
||||
fLine.SetLabelSvgFontSize(GetFoldLineSvgFontSize());
|
||||
fLine.SetLabelFontItalic(IsFoldLineLabelFontItalic());
|
||||
|
|
|
@ -203,7 +203,7 @@ auto VPiece::FullMainPathPoints(const VContainer *data) const -> QVector<VLayout
|
|||
QLineF const mirrorLine = SeamMirrorLine(data);
|
||||
if (!mirrorLine.isNull() && IsShowFullPiece())
|
||||
{
|
||||
points = VAbstractPiece::FullPath(points, mirrorLine);
|
||||
points = VAbstractPiece::FullSeamPath(points, mirrorLine, GetName());
|
||||
}
|
||||
|
||||
points = CheckLoops(CorrectEquidistantPoints(points)); // A path can contains loops
|
||||
|
@ -240,7 +240,7 @@ auto VPiece::FullSeamAllowancePoints(const VContainer *data) const -> QVector<VL
|
|||
QLineF const mirrorLine = SeamAllowanceMirrorLine(data);
|
||||
if (!mirrorLine.isNull() && IsShowFullPiece())
|
||||
{
|
||||
points = VAbstractPiece::FullPath(points, mirrorLine);
|
||||
points = VAbstractPiece::FullSeamAllowancePath(points, mirrorLine, GetName());
|
||||
points = CheckLoops(CorrectEquidistantPoints(points)); // A path can contains loops
|
||||
}
|
||||
|
||||
|
@ -778,11 +778,11 @@ auto VPiece::SeamAllowancePointsWithRotation(const VContainer *data, vsizetype m
|
|||
{
|
||||
if (VFuzzyComparePoints(ekvPoint, mirrorLine.p1()))
|
||||
{
|
||||
ekvPoint.SetSAAfter(0);
|
||||
ekvPoint.SetSABefore(0);
|
||||
}
|
||||
else if (VFuzzyComparePoints(ekvPoint, mirrorLine.p2()))
|
||||
{
|
||||
ekvPoint.SetSABefore(0);
|
||||
ekvPoint.SetSAAfter(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1159,11 +1159,11 @@ auto VPiecePath::CurveSeamAllowanceSegment(const VContainer *data, const QVector
|
|||
{
|
||||
if (VFuzzyComparePoints(begin, mirrorLine.p1()))
|
||||
{
|
||||
begin.SetSAAfter(0);
|
||||
begin.SetSABefore(0);
|
||||
}
|
||||
else if (VFuzzyComparePoints(begin, mirrorLine.p2()))
|
||||
{
|
||||
begin.SetSABefore(0);
|
||||
begin.SetSAAfter(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1172,11 +1172,11 @@ auto VPiecePath::CurveSeamAllowanceSegment(const VContainer *data, const QVector
|
|||
{
|
||||
if (VFuzzyComparePoints(end, mirrorLine.p1()))
|
||||
{
|
||||
end.SetSAAfter(0);
|
||||
end.SetSABefore(0);
|
||||
}
|
||||
else if (VFuzzyComparePoints(end, mirrorLine.p2()))
|
||||
{
|
||||
end.SetSABefore(0);
|
||||
end.SetSAAfter(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -699,21 +699,8 @@ auto DialogSeamAllowance::GetMirrorLineStartPoint() const -> quint32
|
|||
nextIndex = 0;
|
||||
}
|
||||
|
||||
int prevIndex = index - 1;
|
||||
if (prevIndex < 0)
|
||||
{
|
||||
prevIndex = uiTabPaths->listWidgetMainPath->count() - 1;
|
||||
}
|
||||
|
||||
const int next = FindNotExcludedNeighborNodeDown(uiTabPaths->listWidgetMainPath, nextIndex);
|
||||
const int prev = FindNotExcludedNeighborNodeUp(uiTabPaths->listWidgetMainPath, prevIndex);
|
||||
|
||||
if (next >= 0 && RowNode(uiTabPaths->listWidgetMainPath, next).GetId() == endPoint)
|
||||
{
|
||||
return startPoint;
|
||||
}
|
||||
|
||||
if (prev >= 0 && RowNode(uiTabPaths->listWidgetMainPath, prev).GetId() == endPoint)
|
||||
if (const int next = FindNotExcludedNeighborNodeDown(uiTabPaths->listWidgetMainPath, nextIndex);
|
||||
next >= 0 && RowNode(uiTabPaths->listWidgetMainPath, next).GetId() == endPoint)
|
||||
{
|
||||
return endPoint;
|
||||
}
|
||||
|
@ -738,14 +725,14 @@ auto DialogSeamAllowance::GetMirrorLineEndPoint() const -> quint32
|
|||
return endPoint;
|
||||
}
|
||||
|
||||
int nextIndex = index + 1;
|
||||
if (nextIndex >= uiTabPaths->listWidgetMainPath->count())
|
||||
int prevIndex = index - 1;
|
||||
if (prevIndex < 0)
|
||||
{
|
||||
nextIndex = 0;
|
||||
prevIndex = uiTabPaths->listWidgetMainPath->count() - 1;
|
||||
}
|
||||
|
||||
if (const int next = FindNotExcludedNeighborNodeDown(uiTabPaths->listWidgetMainPath, nextIndex);
|
||||
next >= 0 && RowNode(uiTabPaths->listWidgetMainPath, next).GetId() == startPoint)
|
||||
if (const int prev = FindNotExcludedNeighborNodeUp(uiTabPaths->listWidgetMainPath, prevIndex);
|
||||
prev >= 0 && RowNode(uiTabPaths->listWidgetMainPath, prev).GetId() == startPoint)
|
||||
{
|
||||
return startPoint;
|
||||
}
|
||||
|
|
|
@ -310,8 +310,8 @@ auto RenderPassmarks(const VPiece &detail, const VContainer *data) -> QPainterPa
|
|||
//---------------------------------------------------------------------------------------------------------------------
|
||||
auto RenderFoldLine(const VPiece &detail, const VContainer *data) -> VFoldLine
|
||||
{
|
||||
QLineF const foldLine =
|
||||
detail.IsHideMainPath() ? detail.SeamAllowanceMirrorLine(data) : detail.SeamMirrorLine(data);
|
||||
QLineF foldLine = detail.IsHideMainPath() ? detail.SeamAllowanceMirrorLine(data) : detail.SeamMirrorLine(data);
|
||||
Swap(foldLine);
|
||||
VFoldLine fLine(foldLine, detail.GetFoldLineType());
|
||||
fLine.SetLabelSvgFontSize(detail.GetFoldLineSvgFontSize());
|
||||
fLine.SetLabelFontItalic(detail.IsFoldLineLabelFontItalic());
|
||||
|
@ -1845,8 +1845,8 @@ void VToolSeamAllowance::RefreshGeometry(bool updateChildren)
|
|||
QFuture<QPainterPath> const futureMirrorLine = QtConcurrent::run(
|
||||
[this, detail]()
|
||||
{
|
||||
QLineF const mirrorLine = detail.SeamAllowanceMirrorLine(getData());
|
||||
if (detail.IsShowFullPiece() && detail.IsShowMirrorLine() && !mirrorLine.isNull())
|
||||
if (QLineF const mirrorLine = detail.SeamAllowanceMirrorLine(getData());
|
||||
detail.IsShowFullPiece() && detail.IsShowMirrorLine() && !mirrorLine.isNull())
|
||||
{
|
||||
QPainterPath path;
|
||||
path.moveTo(mirrorLine.p1());
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
"vector": [
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -7.795275590551179,
|
||||
"y": 2.2045984251969912
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 823.7007874015749,
|
||||
"y": 2.204598425196849
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 823.7007874015749,
|
||||
"y": 409.41251753118934
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -7.795275590551455,
|
||||
"y": 617.2865332792207
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -7.795275590551179,
|
||||
"y": 2.2045984251969912
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,64 @@
|
|||
{
|
||||
"vector": [
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 823.7007874015749,
|
||||
"y": 408.5038110236219
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 1014.9004168596568,
|
||||
"y": 767.0031162575267
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 281.2274201018982,
|
||||
"y": 1158.295381194997
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 281.2274201018982,
|
||||
"y": 1158.295381194997
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -7.795275590551739,
|
||||
"y": 616.3778267716527
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -7.795275590551569,
|
||||
"y": 616.3778267716535
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -7.795275590551179,
|
||||
"y": 2.2045984251969912
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -7.795275590551179,
|
||||
"y": 2.2045984251969912
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 823.7007874015749,
|
||||
"y": 2.204598425196849
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 823.7007874015749,
|
||||
"y": 408.503811023622
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
"vector": [
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 823.7007874015749,
|
||||
"y": 2.204598425196849
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 823.7007874015749,
|
||||
"y": 409.41251753118934
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -7.795275590551455,
|
||||
"y": 617.2865332792207
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -7.795275590551179,
|
||||
"y": 2.2045984251969912
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 823.7007874015749,
|
||||
"y": 2.204598425196849
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,64 @@
|
|||
{
|
||||
"vector": [
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 823.7007874015749,
|
||||
"y": 408.5038110236219
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 1014.9004168596568,
|
||||
"y": 767.0031162575267
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 1014.9004168596568,
|
||||
"y": 767.0031162575267
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 281.2274201018982,
|
||||
"y": 1158.295381194997
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -7.795275590551739,
|
||||
"y": 616.3778267716527
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -7.795275590551569,
|
||||
"y": 616.3778267716535
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -7.795275590551179,
|
||||
"y": 2.2045984251969912
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 823.7007874015749,
|
||||
"y": 2.204598425196849
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 823.7007874015749,
|
||||
"y": 2.204598425196849
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 823.7007874015749,
|
||||
"y": 408.503811023622
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
"vector": [
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -7.795275590551455,
|
||||
"y": 617.2865332792207
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -7.795275590551179,
|
||||
"y": 2.2045984251969912
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 823.7007874015749,
|
||||
"y": 2.204598425196849
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 823.7007874015749,
|
||||
"y": 409.41251753118934
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -7.795275590551455,
|
||||
"y": 617.2865332792207
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
{
|
||||
"vector": [
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 823.7007874015749,
|
||||
"y": 408.5038110236219
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 1014.9004168596568,
|
||||
"y": 767.0031162575267
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 281.2274201018982,
|
||||
"y": 1158.295381194997
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -7.795275590551739,
|
||||
"y": 616.3778267716527
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -7.795275590551569,
|
||||
"y": 616.3778267716535
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -7.795275590551179,
|
||||
"y": 2.2045984251969912
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 823.7007874015749,
|
||||
"y": 2.204598425196849
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 823.7007874015749,
|
||||
"y": 408.503811023622
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
"vector": [
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -7.795275590551455,
|
||||
"y": 617.2865332792207
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -7.795275590551179,
|
||||
"y": 2.2045984251969912
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 823.7007874015749,
|
||||
"y": 2.204598425196849
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 823.7007874015749,
|
||||
"y": 409.41251753118934
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -7.795275590551455,
|
||||
"y": 617.2865332792207
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
{
|
||||
"vector": [
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 823.7007874015749,
|
||||
"y": 408.5038110236219
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 1014.9004168596568,
|
||||
"y": 767.0031162575267
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 281.2274201018982,
|
||||
"y": 1158.295381194997
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -7.795275590551739,
|
||||
"y": 616.3778267716527
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -7.795275590551569,
|
||||
"y": 616.3778267716535
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -7.795275590551179,
|
||||
"y": 2.2045984251969912
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 823.7007874015749,
|
||||
"y": 2.204598425196849
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 823.7007874015749,
|
||||
"y": 408.503811023622
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,281 @@
|
|||
{
|
||||
"vector": [
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 36.9137007874006,
|
||||
"y": 4616.695763770595
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 36.9137007874016,
|
||||
"y": 605.2736038347447
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 41.9345098304893,
|
||||
"y": 600.6562142168897
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 60.074661998136406,
|
||||
"y": 582.4877296154799
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 77.58132867281772,
|
||||
"y": 563.4953401212488
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 94.45423808036008,
|
||||
"y": 543.7608453315845
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 110.69345783012349,
|
||||
"y": 523.3678493289809
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 126.29962358008767,
|
||||
"y": 502.401412767764
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 141.2243150313326,
|
||||
"y": 481.01902420937046
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 162.6018486002313,
|
||||
"y": 448.12230410343193
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 188.83309438827675,
|
||||
"y": 403.27052112932745
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 212.55557144260646,
|
||||
"y": 358.1279033888063
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 233.85741829671863,
|
||||
"y": 313.3300935306681
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 252.79095513869876,
|
||||
"y": 269.5883850848603
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 269.41490959522463,
|
||||
"y": 227.61339019938063
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 283.7930282321881,
|
||||
"y": 188.11431602413887
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 295.9713210956858,
|
||||
"y": 151.8629977462223
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 310.6058715635909,
|
||||
"y": 104.23807090168894
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 322.8505580083743,
|
||||
"y": 58.976756281736286
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 334.8640751080003,
|
||||
"y": 10.054205359413189
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 588.9424711544196,
|
||||
"y": 72.08289713668196
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 576.5312660411352,
|
||||
"y": 134.14902340936058
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 529.6503386249901,
|
||||
"y": 340.79913994234107
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 507.04557085310904,
|
||||
"y": 445.7241324452602
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 491.9087432893767,
|
||||
"y": 520.0041560459199
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 477.24721477055976,
|
||||
"y": 596.7324533350654
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 463.64853581687305,
|
||||
"y": 674.2374220280692
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 451.5126820023436,
|
||||
"y": 751.8460863823228
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 441.40565057153174,
|
||||
"y": 827.9744367453726
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 433.8278394035618,
|
||||
"y": 901.3602999133718
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 430.214261148604,
|
||||
"y": 953.5830694704541
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 428.7935054873125,
|
||||
"y": 986.7905608539021
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 428.27246369363917,
|
||||
"y": 1018.5722030466677
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 428.7046564198419,
|
||||
"y": 1048.6689126996955
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 430.13280039213873,
|
||||
"y": 1076.8775484094963
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 432.5866982659403,
|
||||
"y": 1102.9819301312384
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 940.3811512782529,
|
||||
"y": 4563.745989933869
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 870.3386547012424,
|
||||
"y": 4571.863306074689
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 754.6269318040638,
|
||||
"y": 4583.5473932901805
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 634.1134776917493,
|
||||
"y": 4593.8396840990845
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 509.4119225548849,
|
||||
"y": 4602.472823743518
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 380.25191189642146,
|
||||
"y": 4609.264635662396
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 246.6532532036761,
|
||||
"y": 4614.003747576252
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 108.97446670748032,
|
||||
"y": 4616.472813085256
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 36.9137007874006,
|
||||
"y": 4616.695763770595
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,542 @@
|
|||
{
|
||||
"vector": [
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 37.79527559055121,
|
||||
"y": 4616.693036243291
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -33.38391552637877,
|
||||
"y": 4616.472813085256
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -171.06270202257454,
|
||||
"y": 4614.003747576252
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -304.6613607153199,
|
||||
"y": 4609.264635662396
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -433.82137137378334,
|
||||
"y": 4602.472823743518
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -558.5229265106477,
|
||||
"y": 4593.8396840990845
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -679.0363806229623,
|
||||
"y": 4583.5473932901805
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -794.7481035201408,
|
||||
"y": 4571.863306074689
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -864.7906000971514,
|
||||
"y": 4563.745989933869
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -356.99614708483875,
|
||||
"y": 1102.9819301312384
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -354.5422492110372,
|
||||
"y": 1076.8775484094963
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -353.11410523874036,
|
||||
"y": 1048.6689126996955
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -352.6819125125376,
|
||||
"y": 1018.5722030466677
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -353.2029543062109,
|
||||
"y": 986.7905608539021
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -354.62370996750246,
|
||||
"y": 953.5830694704541
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -358.2372882224603,
|
||||
"y": 901.3602999133718
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -365.8150993904302,
|
||||
"y": 827.9744367453726
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -375.92213082124204,
|
||||
"y": 751.8460863823228
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -388.0579846357715,
|
||||
"y": 674.2374220280692
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -401.6566635894582,
|
||||
"y": 596.7324533350654
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -416.3181921082751,
|
||||
"y": 520.0041560459199
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -431.4550196720075,
|
||||
"y": 445.7241324452602
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -454.0597874438886,
|
||||
"y": 340.79913994234107
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -500.9407148600336,
|
||||
"y": 134.14902340936058
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -513.3519199733181,
|
||||
"y": 72.08289713668196
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -259.27352392689875,
|
||||
"y": 10.054205359413189
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -247.26000682727278,
|
||||
"y": 58.976756281736286
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -235.01532038248934,
|
||||
"y": 104.23807090168894
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -220.38076991458428,
|
||||
"y": 151.8629977462223
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -208.20247705108653,
|
||||
"y": 188.11431602413887
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -193.82435841412308,
|
||||
"y": 227.61339019938063
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -177.20040395759722,
|
||||
"y": 269.5883850848603
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -158.2668671156171,
|
||||
"y": 313.3300935306681
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -136.96502026150492,
|
||||
"y": 358.1279033888063
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -113.2425432071752,
|
||||
"y": 403.27052112932745
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -87.01129741912976,
|
||||
"y": 448.12230410343193
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -65.63376385023105,
|
||||
"y": 481.01902420937046
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -50.70907239898612,
|
||||
"y": 502.401412767764
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -35.102906649021946,
|
||||
"y": 523.3678493289809
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -18.86368689925854,
|
||||
"y": 543.7608453315845
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -1.9907774917161731,
|
||||
"y": 563.4953401212488
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 15.51588918296514,
|
||||
"y": 582.4877296154799
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 33.65604135061225,
|
||||
"y": 600.6562142168897
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 37.795275590550226,
|
||||
"y": 604.4628631137784
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 37.79527559055132,
|
||||
"y": 604.4628631137784
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 41.9345098304893,
|
||||
"y": 600.6562142168897
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 60.074661998136406,
|
||||
"y": 582.4877296154799
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 77.58132867281772,
|
||||
"y": 563.4953401212488
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 94.45423808036008,
|
||||
"y": 543.7608453315845
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 110.69345783012349,
|
||||
"y": 523.3678493289809
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 126.29962358008767,
|
||||
"y": 502.401412767764
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 141.2243150313326,
|
||||
"y": 481.01902420937046
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 162.6018486002313,
|
||||
"y": 448.12230410343193
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 188.83309438827675,
|
||||
"y": 403.27052112932745
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 212.55557144260646,
|
||||
"y": 358.1279033888063
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 233.85741829671863,
|
||||
"y": 313.3300935306681
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 252.79095513869876,
|
||||
"y": 269.5883850848603
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 269.41490959522463,
|
||||
"y": 227.61339019938063
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 283.7930282321881,
|
||||
"y": 188.11431602413887
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 295.9713210956858,
|
||||
"y": 151.8629977462223
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 310.6058715635909,
|
||||
"y": 104.23807090168894
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 322.8505580083743,
|
||||
"y": 58.976756281736286
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 334.8640751080003,
|
||||
"y": 10.054205359413189
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 588.9424711544196,
|
||||
"y": 72.08289713668196
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 576.5312660411352,
|
||||
"y": 134.14902340936058
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 529.6503386249901,
|
||||
"y": 340.79913994234107
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 507.04557085310904,
|
||||
"y": 445.7241324452602
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 491.9087432893767,
|
||||
"y": 520.0041560459199
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 477.24721477055976,
|
||||
"y": 596.7324533350654
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 463.64853581687305,
|
||||
"y": 674.2374220280692
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 451.5126820023436,
|
||||
"y": 751.8460863823228
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 441.40565057153174,
|
||||
"y": 827.9744367453726
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 433.8278394035618,
|
||||
"y": 901.3602999133718
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 430.214261148604,
|
||||
"y": 953.5830694704541
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 428.7935054873125,
|
||||
"y": 986.7905608539021
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 428.27246369363917,
|
||||
"y": 1018.5722030466677
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 428.7046564198419,
|
||||
"y": 1048.6689126996955
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 430.13280039213873,
|
||||
"y": 1076.8775484094963
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 432.5866982659403,
|
||||
"y": 1102.9819301312384
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 940.3811512782529,
|
||||
"y": 4563.745989933869
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 870.3386547012424,
|
||||
"y": 4571.863306074689
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 754.6269318040638,
|
||||
"y": 4583.5473932901805
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 634.1134776917493,
|
||||
"y": 4593.8396840990845
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 509.4119225548849,
|
||||
"y": 4602.472823743518
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 380.25191189642146,
|
||||
"y": 4609.264635662396
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 246.6532532036761,
|
||||
"y": 4614.003747576252
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 108.97446670748032,
|
||||
"y": 4616.472813085256
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 37.79527559055033,
|
||||
"y": 4616.693036243291
|
||||
}
|
||||
]
|
||||
}
|
|
@ -3,26 +3,32 @@
|
|||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 785.9055118110238,
|
||||
"y": 417.9526299212599
|
||||
"x": 785.9055118110235,
|
||||
"y": 417.9526299212598
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 963.7656322371467,
|
||||
"x": 963.7656322371464,
|
||||
"y": 751.4403557202411
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 296.79018063918437,
|
||||
"y": 1107.160596572487
|
||||
"x": 296.79018063918403,
|
||||
"y": 1107.1605965724868
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 29.999999999999886,
|
||||
"y": 606.9290078740154
|
||||
"x": 296.79018063918403,
|
||||
"y": 1107.1605965724868
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 29.99999999999966,
|
||||
"y": 606.9290078740152
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
|
@ -36,6 +42,12 @@
|
|||
"x": 30,
|
||||
"y": 39.999874015748034
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 30,
|
||||
"y": 39.999874015748034
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
|
@ -3,26 +3,32 @@
|
|||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 785.9055118110238,
|
||||
"y": 417.9526299212599
|
||||
"x": 785.9055118110235,
|
||||
"y": 417.9526299212598
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 963.7656322371467,
|
||||
"x": 963.7656322371464,
|
||||
"y": 751.4403557202411
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 296.79018063918437,
|
||||
"y": 1107.160596572487
|
||||
"x": 963.7656322371464,
|
||||
"y": 751.4403557202411
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 29.999999999999886,
|
||||
"y": 606.9290078740154
|
||||
"x": 296.79018063918403,
|
||||
"y": 1107.1605965724868
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 29.99999999999966,
|
||||
"y": 606.9290078740152
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
|
@ -42,6 +48,12 @@
|
|||
"x": 785.9055118110236,
|
||||
"y": 39.999874015748034
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 785.9055118110236,
|
||||
"y": 39.999874015748034
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
|
@ -3,26 +3,32 @@
|
|||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 785.9055118110238,
|
||||
"y": 417.9526299212599
|
||||
"x": 785.9055118110235,
|
||||
"y": 417.9526299212598
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 963.7656322371467,
|
||||
"x": 785.9055118110235,
|
||||
"y": 417.9526299212598
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 963.7656322371464,
|
||||
"y": 751.4403557202411
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 296.79018063918437,
|
||||
"y": 1107.160596572487
|
||||
"x": 296.79018063918403,
|
||||
"y": 1107.1605965724868
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 29.999999999999886,
|
||||
"y": 606.9290078740154
|
||||
"x": 29.99999999999966,
|
||||
"y": 606.9290078740152
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
|
@ -42,6 +48,12 @@
|
|||
"x": 785.9055118110236,
|
||||
"y": 39.999874015748034
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 785.9055118110236,
|
||||
"y": 417.95262992125987
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
|
@ -3,26 +3,26 @@
|
|||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 785.9055118110238,
|
||||
"y": 417.9526299212599
|
||||
"x": 785.9055118110235,
|
||||
"y": 417.9526299212598
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 963.7656322371467,
|
||||
"x": 963.7656322371464,
|
||||
"y": 751.4403557202411
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 296.79018063918437,
|
||||
"y": 1107.160596572487
|
||||
"x": 296.79018063918403,
|
||||
"y": 1107.1605965724868
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 29.999999999999886,
|
||||
"y": 606.9290078740154
|
||||
"x": 29.99999999999966,
|
||||
"y": 606.9290078740152
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
352
src/test/ValentinaTest/share/full_seam_path_case_5/input.json
Normal file
352
src/test/ValentinaTest/share/full_seam_path_case_5/input.json
Normal file
|
@ -0,0 +1,352 @@
|
|||
{
|
||||
"vector": [
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 37.79527559055022,
|
||||
"y": 4578.897637795276
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 37.795275590551185,
|
||||
"y": 655.1181102362208
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 37.795275590551185,
|
||||
"y": 655.1181102362208
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 48.11330733562335,
|
||||
"y": 646.3220281769442
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 68.11159807829985,
|
||||
"y": 627.9305898135977
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 87.35366813525626,
|
||||
"y": 608.6584662780207
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 105.84963596342732,
|
||||
"y": 588.5928174830145
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 123.60962001974778,
|
||||
"y": 567.8208033413807
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 140.64373876115238,
|
||||
"y": 546.4295837659206
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 156.96211064457586,
|
||||
"y": 524.5063186694358
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 172.574854126953,
|
||||
"y": 502.1381679647278
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 194.77809175544016,
|
||||
"y": 467.97081692977804
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 221.89122979713324,
|
||||
"y": 421.6111208246406
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 246.36398645946633,
|
||||
"y": 375.0407607170372
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 268.2773093979174,
|
||||
"y": 328.9570159093795
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 287.71214626796444,
|
||||
"y": 284.0571657040797
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 304.7494447250854,
|
||||
"y": 241.03848940354942
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 319.47015242475845,
|
||||
"y": 200.59826631020076
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 331.9552170224613,
|
||||
"y": 163.43377572644556
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 346.9222153445892,
|
||||
"y": 114.72697043462362
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 359.44985779391016,
|
||||
"y": 68.4197359536168
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 362.56773204621277,
|
||||
"y": 55.722841229721126
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 362.56773204621277,
|
||||
"y": 55.722841229721126
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 544.7753249914322,
|
||||
"y": 100.20556309093837
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 544.7753249914322,
|
||||
"y": 100.20556309093837
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 539.5648027495536,
|
||||
"y": 126.26241481961382
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 519.8790703368991,
|
||||
"y": 213.06174513618444
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 492.7920303327728,
|
||||
"y": 332.4356498334462
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 470.09816651287895,
|
||||
"y": 437.7634685605543
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 454.87483032055127,
|
||||
"y": 512.4561664338988
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 440.1238659323592,
|
||||
"y": 589.6373967459333
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 426.36142861541464,
|
||||
"y": 668.0504681285502
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 414.1036736368294,
|
||||
"y": 746.4386892136426
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 403.8667562637154,
|
||||
"y": 823.545368633103
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 396.1668317631845,
|
||||
"y": 898.1138150188241
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 392.4747978817294,
|
||||
"y": 951.4704108870988
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 391.01147584881875,
|
||||
"y": 985.6728111470543
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 390.47273937180427,
|
||||
"y": 1018.5337642540146
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 390.923107859075,
|
||||
"y": 1049.896183786966
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 392.4271007190198,
|
||||
"y": 1079.602983324896
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 395.04923736002786,
|
||||
"y": 1107.4970764467905
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 396.8503937007874,
|
||||
"y": 1120.6299212598428
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 396.8503937007874,
|
||||
"y": 1120.6299212598428
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 459.40177523139084,
|
||||
"y": 1546.82826956488
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 486.84309077894795,
|
||||
"y": 1733.8016516949633
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 517.0285378812608,
|
||||
"y": 1939.4723720380553
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 582.887695195398,
|
||||
"y": 2388.2084891502564
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 897.3304676210354,
|
||||
"y": 4530.686950398792
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 897.3304676210354,
|
||||
"y": 4530.686950398792
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 865.9876323817209,
|
||||
"y": 4534.319312390735
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 750.831165530308,
|
||||
"y": 4545.943204489453
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 631.2007507013604,
|
||||
"y": 4556.1555925219345
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 507.11424597834866,
|
||||
"y": 4564.746151974763
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 378.5895094447428,
|
||||
"y": 4571.504558334514
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 245.64439918401308,
|
||||
"y": 4576.220487087769
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 108.29677327962963,
|
||||
"y": 4578.683613721105
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 37.79527559055022,
|
||||
"y": 4578.897637795276
|
||||
}
|
||||
]
|
||||
}
|
698
src/test/ValentinaTest/share/full_seam_path_case_5/output.json
Normal file
698
src/test/ValentinaTest/share/full_seam_path_case_5/output.json
Normal file
|
@ -0,0 +1,698 @@
|
|||
{
|
||||
"vector": [
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 37.79527559054951,
|
||||
"y": 4578.897637795276
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 37.79527559054951,
|
||||
"y": 4578.897637795276
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 37.79527559054951,
|
||||
"y": 4578.897637795276
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -32.706222098529906,
|
||||
"y": 4578.683613721105
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -170.05384800291336,
|
||||
"y": 4576.220487087769
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -302.9989582636431,
|
||||
"y": 4571.504558334514
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -431.52369479724894,
|
||||
"y": 4564.746151974763
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -555.6101995202607,
|
||||
"y": 4556.1555925219345
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -675.2406143492083,
|
||||
"y": 4545.943204489453
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -790.3970812006212,
|
||||
"y": 4534.319312390735
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -821.7399164399357,
|
||||
"y": 4530.686950398792
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -821.7399164399357,
|
||||
"y": 4530.686950398792
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -507.2971440142983,
|
||||
"y": 2388.2084891502564
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -441.4379867001611,
|
||||
"y": 1939.4723720380553
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -411.2525395978482,
|
||||
"y": 1733.8016516949633
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -383.8112240502911,
|
||||
"y": 1546.82826956488
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -321.25984251968765,
|
||||
"y": 1120.6299212598428
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -321.25984251968765,
|
||||
"y": 1120.6299212598428
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -319.45868617892813,
|
||||
"y": 1107.4970764467905
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -316.83654953792006,
|
||||
"y": 1079.602983324896
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -315.3325566779753,
|
||||
"y": 1049.896183786966
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -314.88218819070454,
|
||||
"y": 1018.5337642540146
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -315.420924667719,
|
||||
"y": 985.6728111470543
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -316.88424670062966,
|
||||
"y": 951.4704108870988
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -320.5762805820848,
|
||||
"y": 898.1138150188241
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -328.27620508261566,
|
||||
"y": 823.545368633103
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -338.5131224557297,
|
||||
"y": 746.4386892136426
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -350.7708774343149,
|
||||
"y": 668.0504681285502
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -364.53331475125947,
|
||||
"y": 589.6373967459333
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -379.28427913945154,
|
||||
"y": 512.4561664338988
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -394.5076153317792,
|
||||
"y": 437.7634685605543
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -417.2014791516731,
|
||||
"y": 332.4356498334462
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -444.28851915579935,
|
||||
"y": 213.06174513618444
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -463.97425156845384,
|
||||
"y": 126.26241481961382
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -469.18477381033244,
|
||||
"y": 100.20556309093837
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -469.18477381033244,
|
||||
"y": 100.20556309093837
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -286.97718086511304,
|
||||
"y": 55.722841229721126
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -286.97718086511304,
|
||||
"y": 55.722841229721126
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -283.8593066128104,
|
||||
"y": 68.4197359536168
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -271.33166416348945,
|
||||
"y": 114.72697043462362
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -256.36466584136156,
|
||||
"y": 163.43377572644556
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -243.87960124365873,
|
||||
"y": 200.59826631020076
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -229.1588935439857,
|
||||
"y": 241.03848940354942
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -212.12159508686472,
|
||||
"y": 284.0571657040797
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -192.68675821681768,
|
||||
"y": 328.9570159093795
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -170.7734352783666,
|
||||
"y": 375.0407607170372
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -146.3006786160335,
|
||||
"y": 421.6111208246406
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -119.18754057434043,
|
||||
"y": 467.97081692977804
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -96.98430294585327,
|
||||
"y": 502.1381679647278
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -81.37155946347613,
|
||||
"y": 524.5063186694358
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -65.05318758005265,
|
||||
"y": 546.4295837659206
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -48.01906883864805,
|
||||
"y": 567.8208033413807
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -30.25908478232759,
|
||||
"y": 588.5928174830145
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": -11.76311695415653,
|
||||
"y": 608.6584662780207
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 7.478953102799878,
|
||||
"y": 627.9305898135977
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 27.47724384547638,
|
||||
"y": 646.3220281769442
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 37.79527559054854,
|
||||
"y": 655.1181102362208
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 37.795275590551185,
|
||||
"y": 655.1181102362208
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 48.11330733562335,
|
||||
"y": 646.3220281769442
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 68.11159807829985,
|
||||
"y": 627.9305898135977
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 87.35366813525626,
|
||||
"y": 608.6584662780207
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 105.84963596342732,
|
||||
"y": 588.5928174830145
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 123.60962001974778,
|
||||
"y": 567.8208033413807
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 140.64373876115238,
|
||||
"y": 546.4295837659206
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 156.96211064457586,
|
||||
"y": 524.5063186694358
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 172.574854126953,
|
||||
"y": 502.1381679647278
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 194.77809175544016,
|
||||
"y": 467.97081692977804
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 221.89122979713324,
|
||||
"y": 421.6111208246406
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 246.36398645946633,
|
||||
"y": 375.0407607170372
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 268.2773093979174,
|
||||
"y": 328.9570159093795
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 287.71214626796444,
|
||||
"y": 284.0571657040797
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 304.7494447250854,
|
||||
"y": 241.03848940354942
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 319.47015242475845,
|
||||
"y": 200.59826631020076
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 331.9552170224613,
|
||||
"y": 163.43377572644556
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 346.9222153445892,
|
||||
"y": 114.72697043462362
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 359.44985779391016,
|
||||
"y": 68.4197359536168
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 362.56773204621277,
|
||||
"y": 55.722841229721126
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 362.56773204621277,
|
||||
"y": 55.722841229721126
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 544.7753249914322,
|
||||
"y": 100.20556309093837
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 544.7753249914322,
|
||||
"y": 100.20556309093837
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 539.5648027495536,
|
||||
"y": 126.26241481961382
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 519.8790703368991,
|
||||
"y": 213.06174513618444
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 492.7920303327728,
|
||||
"y": 332.4356498334462
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 470.09816651287895,
|
||||
"y": 437.7634685605543
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 454.87483032055127,
|
||||
"y": 512.4561664338988
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 440.1238659323592,
|
||||
"y": 589.6373967459333
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 426.36142861541464,
|
||||
"y": 668.0504681285502
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 414.1036736368294,
|
||||
"y": 746.4386892136426
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 403.8667562637154,
|
||||
"y": 823.545368633103
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 396.1668317631845,
|
||||
"y": 898.1138150188241
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 392.4747978817294,
|
||||
"y": 951.4704108870988
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 391.01147584881875,
|
||||
"y": 985.6728111470543
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 390.47273937180427,
|
||||
"y": 1018.5337642540146
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 390.923107859075,
|
||||
"y": 1049.896183786966
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 392.4271007190198,
|
||||
"y": 1079.602983324896
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 395.04923736002786,
|
||||
"y": 1107.4970764467905
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 396.8503937007874,
|
||||
"y": 1120.6299212598428
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 396.8503937007874,
|
||||
"y": 1120.6299212598428
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 459.40177523139084,
|
||||
"y": 1546.82826956488
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 486.84309077894795,
|
||||
"y": 1733.8016516949633
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 517.0285378812608,
|
||||
"y": 1939.4723720380553
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 582.887695195398,
|
||||
"y": 2388.2084891502564
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 897.3304676210354,
|
||||
"y": 4530.686950398792
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 897.3304676210354,
|
||||
"y": 4530.686950398792
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 865.9876323817209,
|
||||
"y": 4534.319312390735
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 750.831165530308,
|
||||
"y": 4545.943204489453
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 631.2007507013604,
|
||||
"y": 4556.1555925219345
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 507.11424597834866,
|
||||
"y": 4564.746151974763
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 378.5895094447428,
|
||||
"y": 4571.504558334514
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 245.64439918401308,
|
||||
"y": 4576.220487087769
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 108.29677327962963,
|
||||
"y": 4578.683613721105
|
||||
},
|
||||
{
|
||||
"curvePoint": true,
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 37.79527559055022,
|
||||
"y": 4578.897637795276
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 37.79527559055022,
|
||||
"y": 4578.897637795276
|
||||
},
|
||||
{
|
||||
"turnPoint": true,
|
||||
"type": "VLayoutPoint",
|
||||
"x": 37.79527559055022,
|
||||
"y": 4578.897637795276
|
||||
}
|
||||
]
|
||||
}
|
|
@ -172,15 +172,27 @@
|
|||
<file>incorrect_notch/passmarkShape.json</file>
|
||||
<file>incorrect_notch/rotatedSeamAllowance.json</file>
|
||||
<file>incorrect_notch/seamAllowance.json</file>
|
||||
<file>full_path_case_1/output.json</file>
|
||||
<file>full_path_case_1/input.json</file>
|
||||
<file>full_path_case_2/output.json</file>
|
||||
<file>full_path_case_2/input.json</file>
|
||||
<file>full_path_case_3/output.json</file>
|
||||
<file>full_path_case_3/input.json</file>
|
||||
<file>full_path_case_4/output.json</file>
|
||||
<file>full_path_case_4/input.json</file>
|
||||
<file>full_seam_path_case_1/output.json</file>
|
||||
<file>full_seam_path_case_1/input.json</file>
|
||||
<file>full_seam_path_case_2/output.json</file>
|
||||
<file>full_seam_path_case_2/input.json</file>
|
||||
<file>full_seam_path_case_3/output.json</file>
|
||||
<file>full_seam_path_case_3/input.json</file>
|
||||
<file>full_seam_path_case_4/output.json</file>
|
||||
<file>full_seam_path_case_4/input.json</file>
|
||||
<file>full_seam_allowance_path_case_1/output.json</file>
|
||||
<file>full_seam_allowance_path_case_1/input.json</file>
|
||||
<file>full_seam_allowance_path_case_2/output.json</file>
|
||||
<file>full_seam_allowance_path_case_2/input.json</file>
|
||||
<file>full_seam_allowance_path_case_3/output.json</file>
|
||||
<file>full_seam_allowance_path_case_3/input.json</file>
|
||||
<file>full_seam_allowance_path_case_4/output.json</file>
|
||||
<file>full_seam_allowance_path_case_4/input.json</file>
|
||||
<file>25L_Knitting_Bag/input.json</file>
|
||||
<file>25L_Knitting_Bag/output.json</file>
|
||||
<file>full_seam_path_case_5/output.json</file>
|
||||
<file>full_seam_path_case_5/input.json</file>
|
||||
<file>full_seam_allowance_path_case_5/output.json</file>
|
||||
<file>full_seam_allowance_path_case_5/input.json</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
|
|
@ -1274,7 +1274,7 @@ void TST_VAbstractPiece::IsAllowanceValid() const
|
|||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TST_VAbstractPiece::TestFullPath_data() const
|
||||
void TST_VAbstractPiece::TestFullSeamPath_data() const
|
||||
{
|
||||
QTest::addColumn<QVector<VLayoutPoint>>("base");
|
||||
QTest::addColumn<QVector<VLayoutPoint>>("fullPath");
|
||||
|
@ -1288,32 +1288,90 @@ void TST_VAbstractPiece::TestFullPath_data() const
|
|||
QTest::newRow(title) << basePoints << fullPathPoints << mirrorLine;
|
||||
};
|
||||
|
||||
QLineF const mirrorLine(QPointF(785.9055118110236, 417.95262992125987),
|
||||
QPointF(29.9999999999999, 606.9290078740157));
|
||||
QLineF mirrorLine(QPointF(29.9999999999999, 606.9290078740157), QPointF(785.9055118110236, 417.95262992125987));
|
||||
|
||||
// See file src/app/share/collection/fold_line.val
|
||||
ASSERT_TEST_CASE("Piece full path. Case 1", QStringLiteral("://full_path_case_1/input.json"),
|
||||
QStringLiteral("://full_path_case_1/output.json"), mirrorLine);
|
||||
// See file src/app/share/collection/bugs/fold_line.val
|
||||
ASSERT_TEST_CASE("Piece full path. Case 1", QStringLiteral("://full_seam_path_case_1/input.json"),
|
||||
QStringLiteral("://full_seam_path_case_1/output.json"), mirrorLine);
|
||||
|
||||
ASSERT_TEST_CASE("Piece full path. Case 2", QStringLiteral("://full_path_case_2/input.json"),
|
||||
QStringLiteral("://full_path_case_2/output.json"), mirrorLine);
|
||||
ASSERT_TEST_CASE("Piece full path. Case 2", QStringLiteral("://full_seam_path_case_2/input.json"),
|
||||
QStringLiteral("://full_seam_path_case_2/output.json"), mirrorLine);
|
||||
|
||||
ASSERT_TEST_CASE("Piece full path. Case 3", QStringLiteral("://full_path_case_3/input.json"),
|
||||
QStringLiteral("://full_path_case_3/output.json"), mirrorLine);
|
||||
ASSERT_TEST_CASE("Piece full path. Case 3", QStringLiteral("://full_seam_path_case_3/input.json"),
|
||||
QStringLiteral("://full_seam_path_case_3/output.json"), mirrorLine);
|
||||
|
||||
ASSERT_TEST_CASE("Piece full path. Case 4", QStringLiteral("://full_path_case_4/input.json"),
|
||||
QStringLiteral("://full_path_case_4/output.json"), mirrorLine);
|
||||
ASSERT_TEST_CASE("Piece full path. Case 4", QStringLiteral("://full_seam_path_case_4/input.json"),
|
||||
QStringLiteral("://full_seam_path_case_4/output.json"), mirrorLine);
|
||||
|
||||
// See file valentina_private_collection/bugs/full_piece/Basic_Darted_Bodice_Block.val (private collection)
|
||||
mirrorLine = QLineF(QPointF(37.795275590551185, 655.1181102362208), QPointF(37.79527559055022, 4578.897637795276));
|
||||
|
||||
ASSERT_TEST_CASE("Basic Darted Bodice Block", QStringLiteral("://full_seam_path_case_5/input.json"),
|
||||
QStringLiteral("://full_seam_path_case_5/output.json"), mirrorLine);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TST_VAbstractPiece::TestFullPath() const
|
||||
void TST_VAbstractPiece::TestFullSeamPath() const
|
||||
{
|
||||
QFETCH(QVector<VLayoutPoint>, base);
|
||||
QFETCH(QVector<VLayoutPoint>, fullPath);
|
||||
QFETCH(QLineF, mirrorLine);
|
||||
|
||||
QVector<QPointF> res;
|
||||
CastTo(VAbstractPiece::FullPath(base, mirrorLine), res);
|
||||
CastTo(VAbstractPiece::FullSeamPath(base, mirrorLine, QStringLiteral("Test")), res);
|
||||
|
||||
QVector<QPointF> expected;
|
||||
CastTo(fullPath, expected);
|
||||
|
||||
ComparePaths(res, expected);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TST_VAbstractPiece::TestFullSeamAllowancePath_data() const
|
||||
{
|
||||
QTest::addColumn<QVector<VLayoutPoint>>("base");
|
||||
QTest::addColumn<QVector<VLayoutPoint>>("fullPath");
|
||||
QTest::addColumn<QLineF>("mirrorLine");
|
||||
|
||||
auto ASSERT_TEST_CASE =
|
||||
[](const char *title, const QString &base, const QString &fullPath, const QLineF &mirrorLine)
|
||||
{
|
||||
QVector<VLayoutPoint> const basePoints = AbstractTest::VectorFromJson<VLayoutPoint>(base);
|
||||
QVector<VLayoutPoint> const fullPathPoints = AbstractTest::VectorFromJson<VLayoutPoint>(fullPath);
|
||||
QTest::newRow(title) << basePoints << fullPathPoints << mirrorLine;
|
||||
};
|
||||
|
||||
QLineF mirrorLine(QPointF(-7.795275590551569, 616.3778267716535), QPointF(823.7007874015749, 408.503811023622));
|
||||
|
||||
// See file src/app/share/collection/bugs/fold_line.val
|
||||
ASSERT_TEST_CASE("Piece full path. Case 1", QStringLiteral("://full_seam_allowance_path_case_1/input.json"),
|
||||
QStringLiteral("://full_seam_allowance_path_case_1/output.json"), mirrorLine);
|
||||
|
||||
ASSERT_TEST_CASE("Piece full path. Case 2", QStringLiteral("://full_seam_allowance_path_case_2/input.json"),
|
||||
QStringLiteral("://full_seam_allowance_path_case_2/output.json"), mirrorLine);
|
||||
|
||||
ASSERT_TEST_CASE("Piece full path. Case 3", QStringLiteral("://full_seam_allowance_path_case_3/input.json"),
|
||||
QStringLiteral("://full_seam_allowance_path_case_3/output.json"), mirrorLine);
|
||||
|
||||
ASSERT_TEST_CASE("Piece full path. Case 4", QStringLiteral("://full_seam_allowance_path_case_4/input.json"),
|
||||
QStringLiteral("://full_seam_allowance_path_case_4/output.json"), mirrorLine);
|
||||
|
||||
// See file valentina_private_collection/bugs/full_piece/Basic_Darted_Bodice_Block.val (private collection)
|
||||
mirrorLine = QLineF(QPointF(37.79527559055132, 604.4628631137784), QPointF(37.79527559055033, 4616.693036243291));
|
||||
|
||||
ASSERT_TEST_CASE("Basic Darted Bodice Block", QStringLiteral("://full_seam_allowance_path_case_5/input.json"),
|
||||
QStringLiteral("://full_seam_allowance_path_case_5/output.json"), mirrorLine);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TST_VAbstractPiece::TestFullSeamAllowancePath() const
|
||||
{
|
||||
QFETCH(QVector<VLayoutPoint>, base);
|
||||
QFETCH(QVector<VLayoutPoint>, fullPath);
|
||||
QFETCH(QLineF, mirrorLine);
|
||||
|
||||
QVector<QPointF> res;
|
||||
CastTo(VAbstractPiece::FullSeamAllowancePath(base, mirrorLine, QStringLiteral("Test")), res);
|
||||
|
||||
QVector<QPointF> expected;
|
||||
CastTo(fullPath, expected);
|
||||
|
|
|
@ -66,8 +66,10 @@ private slots:
|
|||
void PossibleInfiniteClearLoops() const;
|
||||
void IsAllowanceValid_data() const;
|
||||
void IsAllowanceValid() const;
|
||||
void TestFullPath_data() const;
|
||||
void TestFullPath() const;
|
||||
void TestFullSeamPath_data() const;
|
||||
void TestFullSeamPath() const;
|
||||
void TestFullSeamAllowancePath_data() const;
|
||||
void TestFullSeamAllowancePath() const;
|
||||
|
||||
private:
|
||||
auto InputPointsCase3() const -> QVector<VSAPoint>;
|
||||
|
|
Loading…
Reference in New Issue
Block a user