Fix broken tests.

--HG--
branch : develop
This commit is contained in:
Roman Telezhynskyi 2019-09-05 14:13:22 +03:00
parent 366e76a642
commit 20abb9979e
44 changed files with 1330 additions and 1442 deletions

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<pattern>
<!--Pattern created with Valentina v0.6.0.0b (https://valentinaproject.bitbucket.io/).-->
<version>0.7.10</version>
<!--Pattern created with Valentina v0.7.0.0a (https://valentinaproject.bitbucket.io/).-->
<version>0.8.5</version>
<unit>cm</unit>
<description/>
<notes/>
@ -24,38 +24,29 @@
<line firstPoint="2" id="13" lineColor="black" secondPoint="11" typeLine="hair"/>
</calculation>
<modeling>
<point id="14" idObject="1" inUse="false" mx="0.132292" my="0.264583" type="modeling"/>
<point id="15" idObject="2" inUse="false" mx="0.132292" my="0.264583" type="modeling"/>
<point id="16" idObject="11" inUse="false" mx="0.132292" my="0.264583" type="modeling"/>
<point id="17" idObject="1" inUse="false" mx="0.132292" my="0.264583" type="modeling"/>
<point id="19" idObject="1" inUse="false" mx="0.132292" my="0.264583" type="modeling"/>
<point id="20" idObject="5" inUse="false" mx="0.132292" my="0.264583" type="modeling"/>
<spline id="21" idObject="4" inUse="false" type="modelingSpline"/>
<point id="22" idObject="2" inUse="false" mx="0.132292" my="0.264583" type="modeling"/>
<point id="23" idObject="1" inUse="false" mx="0.132292" my="0.264583" type="modeling"/>
<point id="25" idObject="1" inUse="false" mx="0.132292" my="0.264583" type="modeling"/>
<point id="26" idObject="3" inUse="false" mx="0.132292" my="0.264583" type="modeling"/>
<point id="27" idObject="9" inUse="false" mx="0.132292" my="0.264583" type="modeling"/>
<point id="28" idObject="1" inUse="false" mx="0.132292" my="0.264583" type="modeling"/>
<point id="30" idObject="3" inUse="false" mx="0.132292" my="0.264583" type="modeling"/>
<spline id="31" idObject="4" inUse="false" type="modelingSpline"/>
<point id="32" idObject="5" inUse="false" mx="0.132292" my="0.264583" type="modeling"/>
<point id="33" idObject="9" inUse="false" mx="0.132292" my="0.264583" type="modeling"/>
</modeling>
<details>
<detail closed="1" id="24" mx="-11.7117" my="4.05406" name="Detail" seamAllowance="1" version="2" width="1">
<data annotation="" foldPosition="" fontSize="0" height="" letter="" mx="0" my="0" onFold="false" orientation="" quantity="1" rotation="" rotationWay="" tilt="" visible="false" width=""/>
<patternInfo fontSize="0" height="" mx="0" my="0" rotation="" visible="false" width=""/>
<grainline arrows="0" length="" mx="0" my="0" rotation="" visible="false"/>
<detail closed="1" forbidFlipping="false" forceFlipping="false" hideMainPath="false" id="24" mx="-11.7117" my="4.05406" name="Case 2" seamAllowance="true" version="2" width="1">
<data annotation="" foldPosition="" fontSize="0" height="1" letter="" mx="0" my="0" onFold="false" orientation="" quantity="1" rotation="0" rotationWay="" tilt="" visible="false" width="1"/>
<patternInfo fontSize="0" height="1" mx="0" my="0" rotation="0" visible="false" width="1"/>
<grainline arrows="0" length="1" mx="0" my="0" rotation="90" visible="false"/>
<nodes>
<node idObject="19" type="NodePoint"/>
<node idObject="20" type="NodePoint"/>
<node idObject="21" reverse="0" type="NodeSpline"/>
<node idObject="22" type="NodePoint"/>
<node idObject="23" type="NodePoint"/>
</nodes>
</detail>
<detail closed="1" forbidFlipping="false" forceFlipping="false" hideMainPath="false" id="35" inLayout="true" mx="7.71397" my="-3.94145" name="Detail" seamAllowance="true" united="false" version="2" width="2">
<detail closed="1" forbidFlipping="false" forceFlipping="false" hideMainPath="false" id="35" mx="7.71397" my="-3.94145" name="Case 1" seamAllowance="true" version="2" width="2">
<data annotation="" foldPosition="" fontSize="0" height="1" letter="" mx="0" my="0" onFold="false" orientation="" quantity="1" rotation="0" rotationWay="" tilt="" visible="false" width="1"/>
<patternInfo fontSize="0" height="1" mx="0" my="0" rotation="0" visible="false" width="1"/>
<grainline arrows="0" length="1" mx="0" my="0" rotation="0" visible="false"/>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<pattern>
<!--Pattern created with Valentina v0.6.2.0 (https://valentinaproject.bitbucket.io/).-->
<version>0.7.12</version>
<!--Pattern created with Valentina v0.7.0.0a (https://valentinaproject.bitbucket.io/).-->
<version>0.8.5</version>
<unit>cm</unit>
<description/>
<notes/>
@ -83,57 +83,57 @@
<spline id="378" idObject="20" inUse="false" type="modelingPath"/>
<point id="379" idObject="360" inUse="false" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="380" idObject="363" inUse="false" type="modelingSpline"/>
<point id="382" idObject="250" inUse="true" mx="1.43098" my="-2.09668" showLabel="true" type="modeling"/>
<point id="383" idObject="1" inUse="true" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="384" idObject="7" inUse="true" type="modelingPath"/>
<point id="385" idObject="5" inUse="true" mx="-0.602755" my="-1.78694" showLabel="true" type="modeling"/>
<point id="386" idObject="9" inUse="true" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="387" idObject="20" inUse="true" type="modelingPath"/>
<point id="388" idObject="360" inUse="true" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="389" idObject="363" inUse="true" type="modelingSpline"/>
<point id="391" idObject="250" inUse="true" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<point id="392" idObject="1" inUse="true" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="393" idObject="7" inUse="true" type="modelingPath"/>
<point id="394" idObject="5" inUse="true" mx="-0.602755" my="-1.78694" showLabel="true" type="modeling"/>
<point id="395" idObject="9" inUse="true" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="396" idObject="20" inUse="true" type="modelingPath"/>
<point id="397" idObject="360" inUse="true" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="398" idObject="363" inUse="true" type="modelingSpline"/>
<point id="400" idObject="250" inUse="true" mx="1.0768" my="-1.56539" showLabel="true" type="modeling"/>
<point id="401" idObject="1" inUse="true" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="402" idObject="7" inUse="true" type="modelingPath"/>
<point id="403" idObject="5" inUse="true" mx="-0.602755" my="-1.78694" showLabel="true" type="modeling"/>
<point id="404" idObject="9" inUse="true" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="405" idObject="20" inUse="true" type="modelingPath"/>
<point id="406" idObject="360" inUse="true" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="407" idObject="363" inUse="true" type="modelingSpline"/>
<point id="409" idObject="250" inUse="true" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<point id="410" idObject="1" inUse="true" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="411" idObject="7" inUse="true" type="modelingPath"/>
<point id="412" idObject="5" inUse="true" mx="-0.602755" my="-1.78694" showLabel="true" type="modeling"/>
<point id="413" idObject="9" inUse="true" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="414" idObject="20" inUse="true" type="modelingPath"/>
<point id="415" idObject="360" inUse="true" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="416" idObject="363" inUse="true" type="modelingSpline"/>
<point id="418" idObject="250" inUse="true" mx="0.663575" my="-2.98215" showLabel="true" type="modeling"/>
<point id="419" idObject="1" inUse="true" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="420" idObject="7" inUse="true" type="modelingPath"/>
<point id="421" idObject="5" inUse="true" mx="-0.602755" my="-1.78694" showLabel="true" type="modeling"/>
<point id="422" idObject="9" inUse="true" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="423" idObject="20" inUse="true" type="modelingPath"/>
<point id="424" idObject="360" inUse="true" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="425" idObject="363" inUse="true" type="modelingSpline"/>
<point id="427" idObject="250" inUse="true" mx="1.13583" my="-3.4544" showLabel="true" type="modeling"/>
<point id="428" idObject="1" inUse="true" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="429" idObject="7" inUse="true" type="modelingPath"/>
<point id="430" idObject="5" inUse="true" mx="-0.602755" my="-1.78694" showLabel="true" type="modeling"/>
<point id="431" idObject="9" inUse="true" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="432" idObject="20" inUse="true" type="modelingPath"/>
<point id="433" idObject="360" inUse="true" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="434" idObject="363" inUse="true" type="modelingSpline"/>
<point id="382" idObject="250" inUse="false" mx="1.43098" my="-2.09668" showLabel="true" type="modeling"/>
<point id="383" idObject="1" inUse="false" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="384" idObject="7" inUse="false" type="modelingPath"/>
<point id="385" idObject="5" inUse="false" mx="-0.602755" my="-1.78694" showLabel="true" type="modeling"/>
<point id="386" idObject="9" inUse="false" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="387" idObject="20" inUse="false" type="modelingPath"/>
<point id="388" idObject="360" inUse="false" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="389" idObject="363" inUse="false" type="modelingSpline"/>
<point id="391" idObject="250" inUse="false" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<point id="392" idObject="1" inUse="false" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="393" idObject="7" inUse="false" type="modelingPath"/>
<point id="394" idObject="5" inUse="false" mx="-0.602755" my="-1.78694" showLabel="true" type="modeling"/>
<point id="395" idObject="9" inUse="false" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="396" idObject="20" inUse="false" type="modelingPath"/>
<point id="397" idObject="360" inUse="false" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="398" idObject="363" inUse="false" type="modelingSpline"/>
<point id="400" idObject="250" inUse="false" mx="1.0768" my="-1.56539" showLabel="true" type="modeling"/>
<point id="401" idObject="1" inUse="false" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="402" idObject="7" inUse="false" type="modelingPath"/>
<point id="403" idObject="5" inUse="false" mx="-0.602755" my="-1.78694" showLabel="true" type="modeling"/>
<point id="404" idObject="9" inUse="false" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="405" idObject="20" inUse="false" type="modelingPath"/>
<point id="406" idObject="360" inUse="false" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="407" idObject="363" inUse="false" type="modelingSpline"/>
<point id="409" idObject="250" inUse="false" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<point id="410" idObject="1" inUse="false" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="411" idObject="7" inUse="false" type="modelingPath"/>
<point id="412" idObject="5" inUse="false" mx="-0.602755" my="-1.78694" showLabel="true" type="modeling"/>
<point id="413" idObject="9" inUse="false" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="414" idObject="20" inUse="false" type="modelingPath"/>
<point id="415" idObject="360" inUse="false" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="416" idObject="363" inUse="false" type="modelingSpline"/>
<point id="418" idObject="250" inUse="false" mx="0.663575" my="-2.98215" showLabel="true" type="modeling"/>
<point id="419" idObject="1" inUse="false" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="420" idObject="7" inUse="false" type="modelingPath"/>
<point id="421" idObject="5" inUse="false" mx="-0.602755" my="-1.78694" showLabel="true" type="modeling"/>
<point id="422" idObject="9" inUse="false" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="423" idObject="20" inUse="false" type="modelingPath"/>
<point id="424" idObject="360" inUse="false" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="425" idObject="363" inUse="false" type="modelingSpline"/>
<point id="427" idObject="250" inUse="false" mx="1.13583" my="-3.4544" showLabel="true" type="modeling"/>
<point id="428" idObject="1" inUse="false" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="429" idObject="7" inUse="false" type="modelingPath"/>
<point id="430" idObject="5" inUse="false" mx="-0.602755" my="-1.78694" showLabel="true" type="modeling"/>
<point id="431" idObject="9" inUse="false" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="432" idObject="20" inUse="false" type="modelingPath"/>
<point id="433" idObject="360" inUse="false" mx="0.132292" my="0.264583" showLabel="true" type="modeling"/>
<spline id="434" idObject="363" inUse="false" type="modelingSpline"/>
</modeling>
<details>
<detail forbidFlipping="false" forceFlipping="false" hideMainPath="false" id="381" inLayout="true" mx="0.851574" my="-55.8515" name="Test 1" seamAllowance="true" united="false" version="2" width="1">
<detail forbidFlipping="false" forceFlipping="false" hideMainPath="false" id="381" mx="0.851574" my="-55.8515" name="Test 1" seamAllowance="true" version="2" width="1">
<data annotation="" foldPosition="" fontSize="0" height="1" letter="" mx="0" my="0" onFold="false" orientation="" quantity="1" rotation="0" rotationWay="" tilt="" visible="false" width="1"/>
<patternInfo fontSize="0" height="1" mx="0" my="0" rotation="0" visible="false" width="1"/>
<grainline arrows="0" length="1" mx="0" my="0" rotation="90" visible="false"/>
@ -148,96 +148,6 @@
<node idObject="380" reverse="1" type="NodeSpline"/>
</nodes>
</detail>
<detail forbidFlipping="false" forceFlipping="false" hideMainPath="false" id="390" inLayout="true" mx="21.7454" my="-55.9966" name="Test 2" seamAllowance="true" united="false" version="2" width="1">
<data annotation="" foldPosition="" fontSize="0" height="1" letter="" mx="0" my="0" onFold="false" orientation="" quantity="1" rotation="0" rotationWay="" tilt="" visible="false" width="1"/>
<patternInfo fontSize="0" height="1" mx="0" my="0" rotation="0" visible="false" width="1"/>
<grainline arrows="0" length="1" mx="0" my="0" rotation="90" visible="false"/>
<nodes>
<node after="0" angle="1" before="1" idObject="382" passmark="true" passmarkAngle="bisector" passmarkLine="tMark" type="NodePoint"/>
<node after="1" before="0" idObject="383" type="NodePoint"/>
<node idObject="384" reverse="1" type="NodeSplinePath"/>
<node idObject="385" passmark="false" passmarkAngle="intersection2" passmarkLine="one" type="NodePoint"/>
<node idObject="386" type="NodePoint"/>
<node idObject="387" reverse="0" type="NodeSplinePath"/>
<node idObject="388" type="NodePoint"/>
<node idObject="389" reverse="1" type="NodeSpline"/>
</nodes>
</detail>
<detail forbidFlipping="false" forceFlipping="false" hideMainPath="false" id="399" inLayout="true" mx="43.2196" my="-55.4162" name="Test 3" seamAllowance="true" united="false" version="2" width="1">
<data annotation="" foldPosition="" fontSize="0" height="1" letter="" mx="0" my="0" onFold="false" orientation="" quantity="1" rotation="0" rotationWay="" tilt="" visible="false" width="1"/>
<patternInfo fontSize="0" height="1" mx="0" my="0" rotation="0" visible="false" width="1"/>
<grainline arrows="0" length="1" mx="0" my="0" rotation="90" visible="false"/>
<nodes>
<node after="0" angle="2" before="1" idObject="391" passmark="true" passmarkAngle="bisector" passmarkLine="tMark" type="NodePoint"/>
<node after="1" before="0" idObject="392" type="NodePoint"/>
<node idObject="393" reverse="1" type="NodeSplinePath"/>
<node idObject="394" passmark="false" passmarkAngle="intersection2" passmarkLine="one" type="NodePoint"/>
<node idObject="395" type="NodePoint"/>
<node idObject="396" reverse="0" type="NodeSplinePath"/>
<node idObject="397" type="NodePoint"/>
<node idObject="398" reverse="1" type="NodeSpline"/>
</nodes>
</detail>
<detail forbidFlipping="false" forceFlipping="false" hideMainPath="false" id="408" inLayout="true" mx="66.7252" my="-56.7221" name="Test 4" seamAllowance="true" united="false" version="2" width="1">
<data annotation="" foldPosition="" fontSize="0" height="1" letter="" mx="0" my="0" onFold="false" orientation="" quantity="1" rotation="0" rotationWay="" tilt="" visible="false" width="1"/>
<patternInfo fontSize="0" height="1" mx="0" my="0" rotation="0" visible="false" width="1"/>
<grainline arrows="0" length="1" mx="0" my="0" rotation="90" visible="false"/>
<nodes>
<node after="0" angle="3" before="1" idObject="400" passmark="true" passmarkAngle="bisector" passmarkLine="tMark" type="NodePoint"/>
<node after="1" before="0" idObject="401" type="NodePoint"/>
<node idObject="402" reverse="1" type="NodeSplinePath"/>
<node idObject="403" passmark="false" passmarkAngle="intersection2" passmarkLine="one" type="NodePoint"/>
<node idObject="404" type="NodePoint"/>
<node idObject="405" reverse="0" type="NodeSplinePath"/>
<node idObject="406" type="NodePoint"/>
<node idObject="407" reverse="1" type="NodeSpline"/>
</nodes>
</detail>
<detail forbidFlipping="false" forceFlipping="false" hideMainPath="false" id="417" inLayout="true" mx="87.6191" my="-57.7377" name="Test 5" seamAllowance="true" united="false" version="2" width="1">
<data annotation="" foldPosition="" fontSize="0" height="1" letter="" mx="0" my="0" onFold="false" orientation="" quantity="1" rotation="0" rotationWay="" tilt="" visible="false" width="1"/>
<patternInfo fontSize="0" height="1" mx="0" my="0" rotation="0" visible="false" width="1"/>
<grainline arrows="0" length="1" mx="0" my="0" rotation="90" visible="false"/>
<nodes>
<node after="0" angle="4" before="1" idObject="409" passmark="true" passmarkAngle="bisector" passmarkLine="tMark" type="NodePoint"/>
<node after="1" before="0" idObject="410" type="NodePoint"/>
<node idObject="411" reverse="1" type="NodeSplinePath"/>
<node idObject="412" passmark="false" passmarkAngle="intersection2" passmarkLine="one" type="NodePoint"/>
<node idObject="413" type="NodePoint"/>
<node idObject="414" reverse="0" type="NodeSplinePath"/>
<node idObject="415" type="NodePoint"/>
<node idObject="416" reverse="1" type="NodeSpline"/>
</nodes>
</detail>
<detail forbidFlipping="false" forceFlipping="false" hideMainPath="false" id="426" inLayout="true" mx="107.933" my="-58.7534" name="Test 6" seamAllowance="true" united="false" version="2" width="1">
<data annotation="" foldPosition="" fontSize="0" height="1" letter="" mx="0" my="0" onFold="false" orientation="" quantity="1" rotation="0" rotationWay="" tilt="" visible="false" width="1"/>
<patternInfo fontSize="0" height="1" mx="0" my="0" rotation="0" visible="false" width="1"/>
<grainline arrows="0" length="1" mx="0" my="0" rotation="90" visible="false"/>
<nodes>
<node after="0" angle="5" before="1" idObject="418" passmark="true" passmarkAngle="bisector" passmarkLine="tMark" type="NodePoint"/>
<node after="1" before="0" idObject="419" type="NodePoint"/>
<node idObject="420" reverse="1" type="NodeSplinePath"/>
<node idObject="421" passmark="false" passmarkAngle="intersection2" passmarkLine="one" type="NodePoint"/>
<node idObject="422" type="NodePoint"/>
<node idObject="423" reverse="0" type="NodeSplinePath"/>
<node idObject="424" type="NodePoint"/>
<node idObject="425" reverse="1" type="NodeSpline"/>
</nodes>
</detail>
<detail forbidFlipping="false" forceFlipping="false" hideMainPath="false" id="435" inLayout="true" mx="1.29896" my="-41.3974" name="Test 1.1" seamAllowance="true" united="false" version="2" width="1">
<data annotation="" foldPosition="" fontSize="0" height="1" letter="" mx="0" my="0" onFold="false" orientation="" quantity="1" rotation="0" rotationWay="" tilt="" visible="false" width="1"/>
<patternInfo fontSize="0" height="1" mx="0" my="0" rotation="0" visible="false" width="1"/>
<grainline arrows="0" length="1" mx="0" my="0" rotation="90" visible="false"/>
<nodes>
<node idObject="429" reverse="1" type="NodeSplinePath"/>
<node idObject="430" passmark="false" passmarkAngle="intersection2" passmarkLine="one" type="NodePoint"/>
<node idObject="431" type="NodePoint"/>
<node idObject="432" reverse="0" type="NodeSplinePath"/>
<node idObject="433" type="NodePoint"/>
<node idObject="434" reverse="1" type="NodeSpline"/>
<node after="0" before="1" idObject="427" passmark="true" passmarkAngle="bisector" passmarkLine="tMark" type="NodePoint"/>
<node after="1" before="0" idObject="428" type="NodePoint"/>
</nodes>
</detail>
</details>
<groups/>
</draw>

View file

@ -40,17 +40,24 @@
//---------------------------------------------------------------------------------------------------------------------
#if !defined(V_NO_ASSERT)
// Use for writing tests
QJsonObject PointToJson(const QPointF &point)
{
QJsonObject pointObject
{
{"type", "QPointF"},
{"x", point.x()},
{"y", point.y()},
};
return pointObject;
}
//---------------------------------------------------------------------------------------------------------------------
void VectorToJson(const QVector<QPointF> &points, QJsonObject &json)
{
QJsonArray pointsArray;
for (auto point: points)
{
QJsonObject pointObject;
pointObject[QLatin1String("type")] = "QPointF";
pointObject[QLatin1String("x")] = point.x();
pointObject[QLatin1String("y")] = point.y();
pointsArray.append(pointObject);
pointsArray.append(PointToJson(point));
}
json[QLatin1String("vector")] = pointsArray;
}

View file

@ -41,6 +41,7 @@ template <class T> class QVector;
class VSAPoint;
#if !defined(V_NO_ASSERT)
QJsonObject PointToJson(const QPointF &point);
void VectorToJson(const QVector<QPointF> &points, QJsonObject &json);
void VectorToJson(const QVector<VSAPoint> &points, QJsonObject &json);

View file

@ -132,7 +132,7 @@ QVector<QPointF> AngleByLength(QVector<QPointF> points, QPointF p1, QPointF p2,
QLineF edge2(p2, p3);
const qreal angle = edge1.angleTo(edge2);
if (angle > 180)
if (angle > 225)
{
QLineF loop(sp2, bigLine1.p1());
loop.setLength(accuracyPointOnLine*2.);

View file

@ -0,0 +1,107 @@
/************************************************************************
**
** @file testpassmark.cpp
** @author Roman Telezhynskyi <dismine(at)gmail.com>
** @date 4 9, 2019
**
** @brief
** @copyright
** This source code is part of the Valentina project, a pattern making
** program, whose allow create and modeling patterns of clothing.
** Copyright (C) 2019 Valentina project
** <https://bitbucket.org/dismine/valentina> All Rights Reserved.
**
** Valentina is free software: you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation, either version 3 of the License, or
** (at your option) any later version.
**
** Valentina is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with Valentina. If not, see <http://www.gnu.org/licenses/>.
**
*************************************************************************/
#include "testpassmark.h"
#include "vpassmark.h"
#include <QJsonArray>
#if !defined(V_NO_ASSERT)
namespace
{
//---------------------------------------------------------------------------------------------------------------------
QJsonArray PassmarkShapeToJson(const QVector<QLineF> &shape)
{
QJsonArray shapeArray;
for (auto line: shape)
{
QJsonObject lineObject
{
{"type", "QLineF"},
{"p1", PointToJson(line.p1())},
{"p2", PointToJson(line.p2())},
};
shapeArray.append(lineObject);
}
return shapeArray;
}
}
//---------------------------------------------------------------------------------------------------------------------
void DumpPassmarkData(const VPiecePassmarkData &data, const QString &templateName)
{
QTemporaryFile temp; // Go to tmp folder to find dump
temp.setAutoRemove(false); // Remove dump manually
if (not templateName.isEmpty())
{
temp.setFileTemplate(QDir::tempPath() + QDir::separator() + templateName);
}
if (temp.open())
{
QJsonObject dataObject
{
{"data", data.toJson()},
};
QJsonDocument vector(dataObject);
QTextStream out(&temp);
out << vector.toJson();
out.flush();
}
}
//---------------------------------------------------------------------------------------------------------------------
void DumpPassmarkShape(const QVector<QLineF> &shape, const QString &templateName)
{
QTemporaryFile temp; // Go to tmp folder to find dump
temp.setAutoRemove(false); // Remove dump manually
if (not templateName.isEmpty())
{
temp.setFileTemplate(QDir::tempPath() + QDir::separator() + templateName);
}
if (temp.open())
{
QJsonObject shapeObject
{
{"shape", PassmarkShapeToJson(shape)},
};
QJsonDocument vector(shapeObject);
QTextStream out(&temp);
out << vector.toJson();
out.flush();
}
}
#endif // !defined(V_NO_ASSERT)

View file

@ -0,0 +1,43 @@
/************************************************************************
**
** @file testpassmark.h
** @author Roman Telezhynskyi <dismine(at)gmail.com>
** @date 4 9, 2019
**
** @brief
** @copyright
** This source code is part of the Valentina project, a pattern making
** program, whose allow create and modeling patterns of clothing.
** Copyright (C) 2019 Valentina project
** <https://bitbucket.org/dismine/valentina> All Rights Reserved.
**
** Valentina is free software: you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation, either version 3 of the License, or
** (at your option) any later version.
**
** Valentina is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with Valentina. If not, see <http://www.gnu.org/licenses/>.
**
*************************************************************************/
#ifndef TESTPASSMARK_H
#define TESTPASSMARK_H
#include <QString>
struct VPiecePassmarkData;
class QLineF;
#if !defined(V_NO_ASSERT)
void DumpPassmarkData(const VPiecePassmarkData &data, const QString &templateName=QString());
void DumpPassmarkShape(const QVector<QLineF> &shape, const QString &templateName=QString());
#endif // !defined(V_NO_ASSERT)
#endif // TESTPASSMARK_H

View file

@ -31,6 +31,7 @@
#include "../ifc/exception/vexceptioninvalidnotch.h"
#include "../vgeometry/vabstractcurve.h"
#include "../vgeometry/varc.h"
#include "testpassmark.h"
const qreal VPassmark::passmarkRadiusFactor = 0.45;
@ -602,6 +603,28 @@ QPainterPath PassmarkToPath(const QVector<QLineF> &passmark)
}
}
//------------------------------VPiecePassmarkData---------------------------------------------------------------------
QJsonObject VPiecePassmarkData::toJson() const
{
QJsonObject dataObject
{
{"previousSAPoint", previousSAPoint.toJson()},
{"passmarkSAPoint", passmarkSAPoint.toJson()},
{"nextSAPoint", nextSAPoint.toJson()},
{"saWidth", saWidth},
{"nodeName", nodeName},
{"pieceName", pieceName},
{"passmarkLineType", static_cast<int>(passmarkLineType)},
{"passmarkAngleType", static_cast<int>(passmarkAngleType)},
{"isMainPathNode", isMainPathNode},
{"isShowSecondPassmark", isShowSecondPassmark},
{"passmarkIndex", passmarkIndex},
{"id", static_cast<qint64>(id)},
};
return dataObject;
}
//---------------------------------------------------------------------------------------------------------------------
VPassmark::VPassmark()
{}
@ -711,13 +734,18 @@ QLineF VPassmark::FindIntersection(const QLineF &line, const QVector<QPointF> &s
//---------------------------------------------------------------------------------------------------------------------
QVector<QLineF> VPassmark::MakeSAPassmark(const QVector<QPointF> &seamAllowance, PassmarkSide side) const
{
const QVector<QLineF> lines = SAPassmarkBaseLine(seamAllowance, side);
// DumpVector(seamAllowance, QStringLiteral("seamAllowance.json.XXXXXX")); // Uncomment for dumping test data
// DumpPassmarkData(m_data, QStringLiteral("passmarkData.json.XXXXXX")); // Uncomment for dumping test data
QVector<QLineF> lines = SAPassmarkBaseLine(seamAllowance, side);
if (lines.isEmpty())
{
return QVector<QLineF>();
return lines;
}
return CreatePassmarkLines(m_data.passmarkLineType, m_data.passmarkAngleType, lines, seamAllowance, side);
lines = CreatePassmarkLines(m_data.passmarkLineType, m_data.passmarkAngleType, lines, seamAllowance, side);
// DumpPassmarkShape(lines, QStringLiteral("passmarkShape.json.XXXXXX")); // Uncomment for dumping test data
return lines;
}
//---------------------------------------------------------------------------------------------------------------------

View file

@ -59,6 +59,8 @@ struct VPiecePassmarkData
bool isShowSecondPassmark{true};
int passmarkIndex{-1};
vidtype id{NULL_ID};
QJsonObject toJson() const;
};
Q_DECLARE_METATYPE(VPiecePassmarkData)

View file

@ -2,6 +2,7 @@
# This need for corect working file translations.pro
SOURCES += \
$$PWD/testpassmark.cpp \
$$PWD/vcontainer.cpp \
$$PWD/calculator.cpp \
$$PWD/vnodedetail.cpp \
@ -32,6 +33,7 @@ SOURCES += \
*msvc*:SOURCES += $$PWD/stable.cpp
HEADERS += \
$$PWD/testpassmark.h \
$$PWD/vcontainer.h \
$$PWD/stable.h \
$$PWD/calculator.h \

View file

@ -59,6 +59,7 @@
#include "../vpatterndb/vcontainer.h"
#include "../vpatterndb/vpiece.h"
#include "../vpatterndb/vpiecenode.h"
#include "../vpatterndb/vpassmark.h"
//---------------------------------------------------------------------------------------------------------------------
AbstractTest::AbstractTest(QObject *parent) :
@ -95,15 +96,7 @@ void AbstractTest::VectorFromJson(const QString &json, QVector<QPointF>& vector)
}
QPointF point;
qreal x = 0;
AbstractTest::ReadDoubleValue(pointObject, QStringLiteral("x"), x);
point.setX(x);
qreal y = 0;
AbstractTest::ReadDoubleValue(pointObject, QStringLiteral("y"), y);
point.setY(y);
QPointFromJson(pointObject, point);
vector.append(point);
}
}
@ -135,28 +128,7 @@ void AbstractTest::VectorFromJson(const QString &json, QVector<VSAPoint> &vector
}
VSAPoint point;
qreal x = 0;
AbstractTest::ReadDoubleValue(pointObject, QStringLiteral("x"), x);
point.setX(x);
qreal y = 0;
AbstractTest::ReadDoubleValue(pointObject, QStringLiteral("y"), y);
point.setY(y);
qreal saBefore;
AbstractTest::ReadDoubleValue(pointObject, QStringLiteral("saBefore"), saBefore, QStringLiteral("-1"));
point.SetSABefore(saBefore);
qreal saAfter;
AbstractTest::ReadDoubleValue(pointObject, QStringLiteral("saAfter"), saAfter, QStringLiteral("-1"));
point.SetSAAfter(saAfter);
PieceNodeAngle angleType;
AbstractTest::ReadDoubleValue(pointObject, QStringLiteral("angle"), angleType,
QString::number(static_cast<int>(PieceNodeAngle::ByLength)));
point.SetAngleType(angleType);
SAPointFromJson(pointObject, point);
vector.append(point);
}
}
@ -198,6 +170,105 @@ void AbstractTest::PieceFromJson(const QString &json, VPiece &piece, QSharedPoin
}
}
//---------------------------------------------------------------------------------------------------------------------
void AbstractTest::PassmarkDataFromJson(const QString &json, VPiecePassmarkData &data)
{
QByteArray saveData;
PrepareDocument(json, saveData);
QJsonDocument loadDoc(QJsonDocument::fromJson(saveData));
const QString dataKey = QStringLiteral("data");
QJsonObject dataObject = loadDoc.object();
TestRoot(dataObject, dataKey, json);
QJsonObject passmarkData = dataObject[dataKey].toObject();
VSAPoint previousSAPoint;
SAPointFromJson(passmarkData[QStringLiteral("previousSAPoint")].toObject(), previousSAPoint);
data.previousSAPoint = previousSAPoint;
VSAPoint passmarkSAPoint;
SAPointFromJson(passmarkData[QStringLiteral("passmarkSAPoint")].toObject(), passmarkSAPoint);
data.passmarkSAPoint = passmarkSAPoint;
VSAPoint nextSAPoint;
SAPointFromJson(passmarkData[QStringLiteral("nextSAPoint")].toObject(), nextSAPoint);
data.nextSAPoint = nextSAPoint;
qreal saWidth = 0;
AbstractTest::ReadDoubleValue(passmarkData, QStringLiteral("saWidth"), saWidth);
data.saWidth = saWidth;
QString nodeName;
AbstractTest::ReadStringValue(passmarkData, QStringLiteral("nodeName"), nodeName);
data.nodeName = nodeName;
QString pieceName;
AbstractTest::ReadStringValue(passmarkData, QStringLiteral("pieceName"), pieceName);
data.pieceName = pieceName;
PassmarkLineType passmarkLineType;
AbstractTest::ReadDoubleValue(passmarkData, QStringLiteral("passmarkLineType"), passmarkLineType,
QString::number(static_cast<int>(PassmarkLineType::OneLine)));
data.passmarkLineType = passmarkLineType;
PassmarkAngleType passmarkAngleType;
AbstractTest::ReadDoubleValue(passmarkData, QStringLiteral("passmarkAngleType"), passmarkAngleType,
QString::number(static_cast<int>(PassmarkAngleType::Straightforward)));
data.passmarkAngleType = passmarkAngleType;
bool isMainPathNode = true;
AbstractTest::ReadBooleanValue(passmarkData, QStringLiteral("isMainPathNode"), isMainPathNode);
data.isMainPathNode = isMainPathNode;
bool isShowSecondPassmark = true;
AbstractTest::ReadBooleanValue(passmarkData, QStringLiteral("isShowSecondPassmark"), isShowSecondPassmark);
data.isShowSecondPassmark = isShowSecondPassmark;
int passmarkIndex;
AbstractTest::ReadDoubleValue(passmarkData, QStringLiteral("passmarkIndex"), passmarkIndex, QStringLiteral("-1"));
data.passmarkIndex = passmarkIndex;
vidtype id;
AbstractTest::ReadDoubleValue(passmarkData, QStringLiteral("id"), id, QString::number(NULL_ID));
data.id = id;
}
//---------------------------------------------------------------------------------------------------------------------
void AbstractTest::PassmarkShapeFromJson(const QString &json, QVector<QLineF> &shape)
{
QByteArray saveData;
PrepareDocument(json, saveData);
QJsonDocument loadDoc(QJsonDocument::fromJson(saveData));
const QString shapeKey = QStringLiteral("shape");
const QString typeKey = QStringLiteral("type");
QJsonObject shapeObject = loadDoc.object();
TestRoot(shapeObject, shapeKey, json);
QJsonArray vectorArray = shapeObject[shapeKey].toArray();
for (int i = 0; i < vectorArray.size(); ++i)
{
QJsonObject lineObject = vectorArray[i].toObject();
QString type;
AbstractTest::ReadStringValue(lineObject, typeKey, type);
if (type != QLatin1String("QLineF"))
{
const QString error = QStringLiteral("Invalid json file '%1'. Unexpected class '%2'.")
.arg(json, lineObject[typeKey].toString());
QFAIL(qUtf8Printable(error));
}
QLineF line;
QLineFromJson(lineObject, line);
shape.append(line);
}
}
//---------------------------------------------------------------------------------------------------------------------
void AbstractTest::Comparison(const QVector<QPointF> &ekv, const QVector<QPointF> &ekvOrig) const
{
@ -499,7 +570,7 @@ void AbstractTest::ReadPointValue(const QJsonObject &itemObject, const QString &
if (itemObject.contains(attribute))
{
QJsonObject p1Object = itemObject[attribute].toObject();
PointFromJson(p1Object, value);
VPointFromJson(p1Object, value);
}
else
{
@ -580,6 +651,18 @@ void AbstractTest::ReadPieceNodeValue(const QJsonObject &itemObject, VPieceNode
node = VPieceNode(id, typeTool, reverse);
}
//---------------------------------------------------------------------------------------------------------------------
void AbstractTest::QPointFromJson(const QJsonObject &itemObject, QPointF &point)
{
qreal x = 0;
AbstractTest::ReadDoubleValue(itemObject, QStringLiteral("x"), x);
point.setX(x);
qreal y = 0;
AbstractTest::ReadDoubleValue(itemObject, QStringLiteral("y"), y);
point.setY(y);
}
//---------------------------------------------------------------------------------------------------------------------
template<typename T>
void AbstractTest::ReadDoubleValue(const QJsonObject &itemObject, const QString &attribute, T &value,
@ -625,7 +708,7 @@ QT_WARNING_POP
}
//---------------------------------------------------------------------------------------------------------------------
void AbstractTest::PointFromJson(const QJsonObject &itemObject, VPointF &value)
void AbstractTest::VPointFromJson(const QJsonObject &itemObject, VPointF &point)
{
vidtype id = NULL_ID;
AbstractTest::ReadDoubleValue(itemObject, QStringLiteral("id"), id);
@ -645,8 +728,45 @@ void AbstractTest::PointFromJson(const QJsonObject &itemObject, VPointF &value)
qreal y = 0;
AbstractTest::ReadDoubleValue(itemObject, QStringLiteral("y"), y);
value = VPointF(x, y, name, mx, my);
value.setId(id);
point = VPointF(x, y, name, mx, my);
point.setId(id);
}
//---------------------------------------------------------------------------------------------------------------------
void AbstractTest::QLineFromJson(const QJsonObject &itemObject, QLineF &line)
{
QPointF p1;
QPointFromJson(itemObject[QStringLiteral("p1")].toObject(), p1);
QPointF p2;
QPointFromJson(itemObject[QStringLiteral("p2")].toObject(), p2);
line = QLineF(p1, p2);
}
//---------------------------------------------------------------------------------------------------------------------
void AbstractTest::SAPointFromJson(const QJsonObject &itemObject, VSAPoint &point)
{
qreal x = 0;
AbstractTest::ReadDoubleValue(itemObject, QStringLiteral("x"), x);
point.setX(x);
qreal y = 0;
AbstractTest::ReadDoubleValue(itemObject, QStringLiteral("y"), y);
point.setY(y);
qreal saBefore;
AbstractTest::ReadDoubleValue(itemObject, QStringLiteral("saBefore"), saBefore, QStringLiteral("-1"));
point.SetSABefore(saBefore);
qreal saAfter;
AbstractTest::ReadDoubleValue(itemObject, QStringLiteral("saAfter"), saAfter, QStringLiteral("-1"));
point.SetSAAfter(saAfter);
PieceNodeAngle angleType;
AbstractTest::ReadDoubleValue(itemObject, QStringLiteral("angle"), angleType,
QString::number(static_cast<int>(PieceNodeAngle::ByLength)));
point.SetAngleType(angleType);
}
//---------------------------------------------------------------------------------------------------------------------
@ -736,7 +856,7 @@ void AbstractTest::DBFromJson(const QJsonObject &dbObject, QSharedPointer<VConta
case GOType::Point:
{
VPointF point;
PointFromJson(itemObject, point);
VPointFromJson(itemObject, point);
data->UpdateGObject(point.id(), new VPointF(point));
break;
}

View file

@ -60,6 +60,7 @@ class VPointF;
class VSplinePoint;
class VPieceNode;
enum class GOType : char;
struct VPiecePassmarkData;
class AbstractTest : public QObject
{
@ -72,6 +73,9 @@ public:
void PieceFromJson(const QString &json, VPiece &piece, QSharedPointer<VContainer> &data);
void PassmarkDataFromJson(const QString &json, VPiecePassmarkData& data);
void PassmarkShapeFromJson(const QString &json, QVector<QLineF> &shape);
protected:
void Comparison(const QVector<QPointF> &ekv, const QVector<QPointF> &ekvOrig) const;
void Comparison(const QPointF &result, const QPointF &expected) const;
@ -99,7 +103,10 @@ protected:
void ReadSplinePointValue(const QJsonObject &itemObject, VSplinePoint &point);
void ReadPieceNodeValue(const QJsonObject &itemObject, VPieceNode &node);
void PointFromJson(const QJsonObject &itemObject, VPointF &value);
void QPointFromJson(const QJsonObject &itemObject, QPointF &point);
void VPointFromJson(const QJsonObject &itemObject, VPointF &point);
void QLineFromJson(const QJsonObject &itemObject, QLineF &line);
void SAPointFromJson(const QJsonObject &itemObject, VSAPoint &point);
void SplineFromJson(const QJsonObject &itemObject, QSharedPointer<VContainer> &data);
void SplinePathFromJson(const QJsonObject &itemObject, QSharedPointer<VContainer> &data);

View file

@ -57,8 +57,8 @@
},
{
"type": "QPointF",
"x": 1071.8380647362535,
"y": 391.6093895955013
"x": 1071.8240987550232,
"y": 391.606013120269
},
{
"type": "QPointF",

View file

@ -168,11 +168,6 @@
"type": "VSAPoint",
"x": 681.3372913240995,
"y": 1815.7969526662778
},
{
"type": "VSAPoint",
"x": 35.0000125984252,
"y": 39.999874015748034
}
]
}

View file

@ -17,108 +17,108 @@
},
{
"type": "QPointF",
"x": 995.7390712145076,
"y": 1005.5914525468322
"x": 995.7350337557452,
"y": 1005.9081013940546
},
{
"type": "QPointF",
"x": 994.5954771294847,
"y": 1095.2809750974982
"x": 994.5802920187715,
"y": 1095.7093648323048
},
{
"type": "QPointF",
"x": 992.4764226198034,
"y": 1155.061981412451
"x": 992.4454999586466,
"y": 1155.56100109776
},
{
"type": "QPointF",
"x": 988.7898546287646,
"y": 1214.554597181484
"x": 988.7302380241327,
"y": 1215.1795539252462
},
{
"type": "QPointF",
"x": 983.1461162030054,
"y": 1273.7175168242372
"x": 983.0437075678776,
"y": 1274.4699012854344
},
{
"type": "QPointF",
"x": 975.1622593873819,
"y": 1332.3739943859748
"x": 975.0179915563199,
"y": 1333.174463895417
},
{
"type": "QPointF",
"x": 967.246993147904,
"y": 1376.2918188737676
"x": 967.060828608891,
"y": 1377.1132258520433
},
{
"type": "QPointF",
"x": 954.1969554769964,
"y": 1433.8720222061304
"x": 953.8829273949294,
"y": 1434.9539959962183
},
{
"type": "QPointF",
"x": 937.748408749537,
"y": 1490.5449679089675
"x": 937.4479321212875,
"y": 1491.4183818733873
},
{
"type": "QPointF",
"x": 927.9590662522897,
"y": 1519.0002540634812
"x": 927.7246474314369,
"y": 1519.6118846371742
},
{
"type": "QPointF",
"x": 917.2525136214659,
"y": 1546.9351054719114
"x": 916.985596647214,
"y": 1547.562765717711
},
{
"type": "QPointF",
"x": 905.4832013554212,
"y": 1574.6108628886288
"x": 905.1825518172086,
"y": 1575.2503501245787
},
{
"type": "QPointF",
"x": 892.6034200213376,
"y": 1602.0064006098492
"x": 892.2683741817784,
"y": 1602.653097272102
},
{
"type": "QPointF",
"x": 878.5666407075367,
"y": 1629.0998226411741
"x": 878.1971906789354,
"y": 1629.7488008240812
},
{
"type": "QPointF",
"x": 863.3276693496916,
"y": 1655.8686930581748
"x": 862.9245220532188,
"y": 1656.5148474702437
},
{
"type": "QPointF",
"x": 846.8427441486504,
"y": 1682.2903192093897
"x": 846.407346053312,
"y": 1682.9285213548958
},
{
"type": "QPointF",
"x": 829.0695617338297,
"y": 1708.3420710912978
"x": 828.6040840929355,
"y": 1708.967334364375
},
{
"type": "QPointF",
"x": 809.967223824731,
"y": 1734.001714595386
"x": 809.47450693293,
"y": 1734.6093579484075
},
{
"type": "QPointF",
"x": 789.4961040754649,
"y": 1759.2477332554781
"x": 788.9795634149666,
"y": 1759.8335306336749
},
{
"type": "QPointF",
"x": 767.6176433472375,
"y": 1784.0596133526062
"x": 767.0811446402299,
"y": 1784.6199173695875
},
{
"type": "QPointF",
"x": 744.1470166223174,
"y": 1808.5716695109345
"x": 743.4339531905646,
"y": 1809.2430310429286
},
{
"type": "QPointF",

View file

@ -337,158 +337,158 @@
},
{
"type": "QPointF",
"x": 705.4756783324185,
"y": 568.7473785791468
"x": 706.3947511130126,
"y": 568.7714782991122
},
{
"type": "QPointF",
"x": 735.4747135391233,
"y": 569.5340065404794
"x": 736.640679411305,
"y": 569.6370363401493
},
{
"type": "QPointF",
"x": 765.5663997881065,
"y": 572.1930384040452
"x": 766.6846232826167,
"y": 572.3596902346301
},
{
"type": "QPointF",
"x": 795.4123023513292,
"y": 576.6410528859776
"x": 796.4775820349748,
"y": 576.8631142526988
},
{
"type": "QPointF",
"x": 824.965602108301,
"y": 582.8015441033587
"x": 825.9748734993844,
"y": 583.0708672279056
},
{
"type": "QPointF",
"x": 854.1835470423481,
"y": 590.5983253180048
"x": 855.1355940441956,
"y": 590.9072066911715
},
{
"type": "QPointF",
"x": 883.0268449918112,
"y": 599.9562219974732
"x": 883.9219621065691,
"y": 600.2976601867215
},
{
"type": "QPointF",
"x": 911.4589877868528,
"y": 610.8015283739601
"x": 912.2986372044141,
"y": 611.1693728258188
},
{
"type": "QPointF",
"x": 939.445585340395,
"y": 623.0622581751827
"x": 940.2320789181749,
"y": 623.4512702408151
},
{
"type": "QPointF",
"x": 966.9537607342976,
"y": 636.6682333974711
"x": 967.6899838064253,
"y": 637.0740830891309
},
{
"type": "QPointF",
"x": 993.9516330911679,
"y": 651.551057077312
"x": 994.6408167524145,
"y": 651.9702773145275
},
{
"type": "QPointF",
"x": 1020.4078966730021,
"y": 667.6440112755474
"x": 1021.0534381150906,
"y": 668.0739275970849
},
{
"type": "QPointF",
"x": 1046.2914925169705,
"y": 684.8819135818707
"x": 1046.8968187993657,
"y": 685.3205629341362
},
{
"type": "QPointF",
"x": 1071.5713620583545,
"y": 703.2009569179793
"x": 1072.1398306898122,
"y": 703.64700505477
},
{
"type": "QPointF",
"x": 1096.216269205861,
"y": 722.5385497176682
"x": 1096.7510983823208,
"y": 722.9912133710887
},
{
"type": "QPointF",
"x": 1120.1946768785947,
"y": 742.8331673228507
"x": 1120.6988985644755,
"y": 743.2921447345486
},
{
"type": "QPointF",
"x": 1143.4746649906995,
"y": 764.0242207567912
"x": 1143.951094808868,
"y": 764.4896323333478
},
{
"type": "QPointF",
"x": 1166.0238785179056,
"y": 786.0519457597056
"x": 1166.4750973318512,
"y": 786.5242853956154
},
{
"type": "QPointF",
"x": 1187.809496086383,
"y": 808.8573128063048
"x": 1188.2378390526756,
"y": 809.3374096594064
},
{
"type": "QPointF",
"x": 1208.7982112227505,
"y": 832.3819574965946
"x": 1209.2057608601567,
"y": 832.8709475552462
},
{
"type": "QPointF",
"x": 1228.9562198237943,
"y": 856.5681299364861
"x": 1229.3448002632733,
"y": 857.0674364841201
},
{
"type": "QPointF",
"x": 1248.2492085181873,
"y": 881.3586613164374
"x": 1248.6203785442863,
"y": 881.8699832733486
},
{
"type": "QPointF",
"x": 1266.6423393728555,
"y": 906.696945663311
"x": 1266.9973821590536,
"y": 907.2222527041721
},
{
"type": "QPointF",
"x": 1284.1002268781353,
"y": 932.5269345592678
"x": 1284.4401344692822,
"y": 933.0684678050294
},
{
"type": "QPointF",
"x": 1300.5869033558602,
"y": 958.7931423679257
"x": 1300.9123539842592,
"y": 959.3534192837141
},
{
"type": "QPointF",
"x": 1316.065768928307,
"y": 985.4406590911037
"x": 1316.3770951840902,
"y": 986.0224809214067
},
{
"type": "QPointF",
"x": 1330.4995219936793,
"y": 1012.4151672497809
"x": 1330.796667754822,
"y": 1013.0216268521107
},
{
"type": "QPointF",
"x": 1343.850065889632,
"y": 1039.6629580676176
"x": 1344.1325297827989,
"y": 1040.2974452621988
},
{
"type": "QPointF",
"x": 1356.0783871611402,
"y": 1067.1309405095865
"x": 1356.3451502749065,
"y": 1067.7971410001053
},
{
"type": "QPointF",
"x": 1367.1444008135065,
"y": 1094.7666342875323
"x": 1367.393836528276,
"y": 1095.4685166974318
},
{
"type": "QPointF",
"x": 1377.0814319188282,
"y": 1122.7282569681176
"x": 1377.3658950712124,
"y": 1123.6864743043288
},
{
"type": "QPointF",

View file

@ -12,28 +12,28 @@
},
{
"type": "QPointF",
"x": -2852.5415023999894,
"y": -1017.6725348343256
"x": -2852.0350888381663,
"y": -1018.3579525133645
},
{
"type": "QPointF",
"x": -2816.3181527943707,
"y": -1068.2197023892952
"x": -2815.748622160777,
"y": -1069.0880705161446
},
{
"type": "QPointF",
"x": -2788.352030357334,
"y": -1110.8598834848328
"x": -2787.870476959194,
"y": -1111.6511542550961
},
{
"type": "QPointF",
"x": -2750.104578118342,
"y": -1173.706685336199
"x": -2709.3301962544565,
"y": -1242.350944420334
},
{
"type": "QPointF",
"x": -2667.7155430042885,
"y": -1313.9462710109624
"x": -2667.6149920549974,
"y": -1314.1248163522016
},
{
"type": "QPointF",
@ -42,28 +42,33 @@
},
{
"type": "QPointF",
"x": -2449.1583953039053,
"y": -1698.6620179751421
"x": -2449.617126109764,
"y": -1697.8356238923393
},
{
"type": "QPointF",
"x": -2408.9016203812876,
"y": -1771.1837674716062
"x": -2409.3711773734785,
"y": -1770.3047741440118
},
{
"type": "QPointF",
"x": -2336.4797060935643,
"y": -1906.2692333537757
"x": -2337.6122325791366,
"y": -1903.941278390952
},
{
"type": "QPointF",
"x": -2314.1718787151576,
"y": -1952.1238938115687
"x": -2315.13834150628,
"y": -1949.9897651461608
},
{
"type": "QPointF",
"x": -2289.299962874286,
"y": -2009.1198147783493
"x": -2301.886910512219,
"y": -1979.0936469364278
},
{
"type": "QPointF",
"x": -2290.1400263694263,
"y": -2006.9106828448225
},
{
"type": "QPointF",

View file

@ -7,8 +7,8 @@
},
{
"type": "QPointF",
"x": 173.03821656297302,
"y": 1567.2563801922306
"x": 173.0001093148492,
"y": 1567.0177982675257
},
{
"type": "QPointF",
@ -17,23 +17,23 @@
},
{
"type": "QPointF",
"x": 113.94865296170948,
"y": 1185.0253559450243
"x": 113.91684776027131,
"y": 1184.789433696898
},
{
"type": "QPointF",
"x": 85.13262246004243,
"y": 971.2759567707533
"x": 85.10240358342637,
"y": 971.0268661019536
},
{
"type": "QPointF",
"x": 59.56333814296166,
"y": 760.5113339757822
"x": 59.537449070369206,
"y": 760.2725970770973
},
{
"type": "QPointF",
"x": 37.00526380453169,
"y": 552.491340651304
"x": 36.983437936436985,
"y": 552.2646069820005
},
{
"type": "QPointF",
@ -57,148 +57,148 @@
},
{
"type": "QPointF",
"x": 45.449182757960564,
"y": -46.830007644639885
"x": 46.00132301699709,
"y": -47.51618521553852
},
{
"type": "QPointF",
"x": 76.80902542176231,
"y": -85.80275109276256
"x": 77.45861484081108,
"y": -86.52984576684123
},
{
"type": "QPointF",
"x": 108.32184223768654,
"y": -121.07549507561193
"x": 109.08278604225141,
"y": -121.83544437220145
},
{
"type": "QPointF",
"x": 140.03960977826148,
"y": -152.7518093937674
"x": 140.92478132381103,
"y": -153.5318259003598
},
{
"type": "QPointF",
"x": 172.0109643794434,
"y": -180.92508772882493
"x": 173.03023079960266,
"y": -181.70700672630292
},
{
"type": "QPointF",
"x": 204.27687396752606,
"y": -205.6775245587238
"x": 205.43453742955458,
"y": -206.43784752526722
},
{
"type": "QPointF",
"x": 236.86536116641804,
"y": -227.0807873159393
"x": 238.1573767892806,
"y": -227.79186545828628
},
{
"type": "QPointF",
"x": 269.7862380601783,
"y": -245.1992338515816
"x": 271.1979313258137,
"y": -245.83187244875293
},
{
"type": "QPointF",
"x": 303.02747320804565,
"y": -260.09601694470166
"x": 304.5327165357186,
"y": -260.62333207934057
},
{
"type": "QPointF",
"x": 336.55504181349585,
"y": -271.8413567367945
"x": 338.11769207175917,
"y": -272.24308387908326
},
{
"type": "QPointF",
"x": 370.3174391861959,
"y": -280.5210157594255
"x": 371.89515496166723,
"y": -280.7869982020927
},
{
"type": "QPointF",
"x": 404.25444394855236,
"y": -286.242355156443
"x": 405.8040382385457,
"y": -286.37402686989833
},
{
"type": "QPointF",
"x": 438.30793239230167,
"y": -289.13593911030426
"x": 439.7907378495311,
"y": -289.1453426458937
},
{
"type": "QPointF",
"x": 472.43167053063326,
"y": -289.3523422699121
"x": 473.8174506731321,
"y": -289.25918644474484
},
{
"type": "QPointF",
"x": 506.5712073399975,
"y": -287.0573918482891
"x": 507.81388046262117,
"y": -286.8905714985036
},
{
"type": "QPointF",
"x": 536.6312348117178,
"y": -283.02203918305497
"x": 537.9564634081299,
"y": -282.7464387285754
},
{
"type": "QPointF",
"x": 561.2586117828608,
"y": -277.9004199361857
"x": 562.6095195669259,
"y": -277.5128721927204
},
{
"type": "QPointF",
"x": 584.4735176539314,
"y": -271.2405394534338
"x": 585.8455745079714,
"y": -270.72906362902495
},
{
"type": "QPointF",
"x": 606.3291152578626,
"y": -263.09320228624324
"x": 607.6864925086287,
"y": -262.46075676173643
},
{
"type": "QPointF",
"x": 626.8443757152221,
"y": -253.53448553817316
"x": 628.1498610705121,
"y": -252.7950074693708
},
{
"type": "QPointF",
"x": 646.0388521585816,
"y": -242.66198182567126
"x": 647.2586146206663,
"y": -241.83965020585507
},
{
"type": "QPointF",
"x": 663.9421664899236,
"y": -230.592040397069
"x": 665.0499413588421,
"y": -229.7183529791377
},
{
"type": "QPointF",
"x": 680.6014176242785,
"y": -217.45310890781045
"x": 681.580938285693,
"y": -216.56261452112076
},
{
"type": "QPointF",
"x": 696.0845837791157,
"y": -203.37717044914066
"x": 696.9298121754468,
"y": -202.50314889762902
},
{
"type": "QPointF",
"x": 710.4796074150597,
"y": -188.49177267151234
"x": 711.1931395277443,
"y": -187.66296566226012
},
{
"type": "QPointF",
"x": 723.8903257348999,
"y": -172.9144816918925
"x": 724.4808222402369,
"y": -172.15337183633238
},
{
"type": "QPointF",
"x": 736.5088929791715,
"y": -156.65000627864362
"x": 737.0565029886579,
"y": -155.865162334438
},
{
"type": "QPointF",
"x": 753.9481523879648,
"y": -131.65576420615508
"x": 754.5423840349387,
"y": -130.68427641188504
},
{
"type": "QPointF",
"x": 775.2740560287939,
"y": -96.79081685043727
"x": 775.7227904464493,
"y": -95.96820703592786
},
{
"type": "QPointF",

View file

@ -7,83 +7,83 @@
},
{
"type": "QPointF",
"x": 153.78313541824667,
"y": 1677.3246962809667
"x": 153.6880777744667,
"y": 1676.7106973951675
},
{
"type": "QPointF",
"x": 133.87793658475465,
"y": 1548.7525013540196
"x": 133.78690195753688,
"y": 1548.086310015913
},
{
"type": "QPointF",
"x": 116.13042064136965,
"y": 1418.8761921325834
"x": 116.05795789100632,
"y": 1418.2740281731121
},
{
"type": "QPointF",
"x": 100.47483551040597,
"y": 1288.7786029156107
"x": 100.41671642765394,
"y": 1288.2276736153437
},
{
"type": "QPointF",
"x": 86.82794509892291,
"y": 1159.4153812471877
"x": 86.781074307031,
"y": 1158.904773864967
},
{
"type": "QPointF",
"x": 75.10856636006955,
"y": 1031.7452255369717
"x": 75.07066513564149,
"y": 1031.265232191206
},
{
"type": "QPointF",
"x": 65.2370069141379,
"y": 906.7286088476662
"x": 65.2064071801784,
"y": 906.2701133491836
},
{
"type": "QPointF",
"x": 57.13470030186313,
"y": 785.3265367259893
"x": 57.110218088924114,
"y": 784.880378322665
},
{
"type": "QPointF",
"x": 50.723988203508114,
"y": 668.4991453010994
"x": 50.70486405788007,
"y": 668.0553488497679
},
{
"type": "QPointF",
"x": 45.92803421919151,
"y": 557.203853977457
"x": 45.91394726826414,
"y": 556.7505506510649
},
{
"type": "QPointF",
"x": 42.670896438097856,
"y": 452.3925716567163
"x": 42.66209039303601,
"y": 451.91428541718307
},
{
"type": "QPointF",
"x": 40.87786536674168,
"y": 355.006959561548
"x": 40.87549632219577,
"y": 354.4815899181958
},
{
"type": "QPointF",
"x": 40.47636977532461,
"y": 265.9695473970137
"x": 40.48338258412245,
"y": 265.3625245657835
},
{
"type": "QPointF",
"x": 41.39833199038787,
"y": 186.1652735021885
"x": 41.42180412796132,
"y": 185.41701943469567
},
{
"type": "QPointF",
"x": 43.58687052785413,
"y": 116.39817805128028
"x": 43.64517836705224,
"y": 115.39365328200992
},
{
"type": "QPointF",
"x": 47.000830659421496,
"y": 57.582630079953006
"x": 47.11015346407565,
"y": 56.37280511624469
},
{
"type": "QPointF",

View file

@ -1,17 +1,5 @@
{
"vector": [
{
"saAfter": 56.69291338582678,
"type": "VSAPoint",
"x": 2006.3092913385829,
"y": -664.0493858267716
},
{
"saBefore": 56.69291338582678,
"type": "VSAPoint",
"x": 2006.3092913385829,
"y": 91.85612598425197
},
{
"angle": 2,
"type": "VSAPoint",
@ -124,6 +112,18 @@
"type": "VSAPoint",
"x": 2006.3092913385829,
"y": -1344.3643464566928
},
{
"saAfter": 56.69291338582678,
"type": "VSAPoint",
"x": 2006.3092913385829,
"y": -664.0493858267716
},
{
"saBefore": 56.69291338582678,
"type": "VSAPoint",
"x": 2006.3092913385829,
"y": 91.85612598425197
}
]
}

View file

@ -1,5 +1,65 @@
{
"vector": [
{
"type": "QPointF",
"x": 1085.0694887145344,
"y": 129.65140157480317
},
{
"type": "QPointF",
"x": 1085.4982327679375,
"y": -693.6818367772322
},
{
"type": "QPointF",
"x": 1087.857898937872,
"y": -749.6667399304415
},
{
"type": "QPointF",
"x": 1091.9031145734355,
"y": -804.6622063529023
},
{
"type": "QPointF",
"x": 1097.515539595737,
"y": -859.3687688728184
},
{
"type": "QPointF",
"x": 1104.5754685306931,
"y": -914.5008909056683
},
{
"type": "QPointF",
"x": 1112.978768668652,
"y": -970.8708818236878
},
{
"type": "QPointF",
"x": 1149.5459641167045,
"y": -1184.4548940046989
},
{
"type": "QPointF",
"x": 1160.5166586790917,
"y": -1239.9724556778692
},
{
"type": "QPointF",
"x": 1176.5417359019957,
"y": -1307.721609412787
},
{
"type": "QPointF",
"x": 1214.563099834782,
"y": -1450.7435245105175
},
{
"type": "QPointF",
"x": 2044.1045669291343,
"y": -1379.0333442132135
},
{
"type": "QPointF",
"x": 2044.104566929134,
@ -19,66 +79,6 @@
"type": "QPointF",
"x": 1085.0694887145344,
"y": 129.65140157480317
},
{
"type": "QPointF",
"x": 1085.4656504337784,
"y": -692.9026597154831
},
{
"type": "QPointF",
"x": 1087.8146106807237,
"y": -749.0759201835479
},
{
"type": "QPointF",
"x": 1091.8475344926537,
"y": -804.1192779617469
},
{
"type": "QPointF",
"x": 1097.4551144472157,
"y": -858.8963549321579
},
{
"type": "QPointF",
"x": 1104.5179360066466,
"y": -914.1146778774624
},
{
"type": "QPointF",
"x": 1112.9230524620698,
"y": -970.5378147459013
},
{
"type": "QPointF",
"x": 1149.463742167116,
"y": -1184.0377811997855
},
{
"type": "QPointF",
"x": 1160.3539624659516,
"y": -1239.2839819734102
},
{
"type": "QPointF",
"x": 1176.4068699561542,
"y": -1307.2142950016096
},
{
"type": "QPointF",
"x": 1214.563099834782,
"y": -1450.7435245105175
},
{
"type": "QPointF",
"x": 2044.1045669291343,
"y": -1379.0333442132135
},
{
"type": "QPointF",
"x": 2044.104566929134,
"y": -664.0493858267716
}
]
}

View file

@ -7,48 +7,48 @@
},
{
"type": "QPointF",
"x": 1085.4656504337784,
"y": -692.9026597154831
"x": 1085.4982327679375,
"y": -693.6818367772322
},
{
"type": "QPointF",
"x": 1087.8146106807237,
"y": -749.0759201835479
"x": 1087.857898937872,
"y": -749.6667399304415
},
{
"type": "QPointF",
"x": 1091.8475344926537,
"y": -804.1192779617469
"x": 1091.9031145734355,
"y": -804.6622063529023
},
{
"type": "QPointF",
"x": 1097.4551144472157,
"y": -858.8963549321579
"x": 1097.515539595737,
"y": -859.3687688728184
},
{
"type": "QPointF",
"x": 1104.5179360066466,
"y": -914.1146778774624
"x": 1104.5754685306931,
"y": -914.5008909056683
},
{
"type": "QPointF",
"x": 1112.9230524620698,
"y": -970.5378147459013
"x": 1112.978768668652,
"y": -970.8708818236878
},
{
"type": "QPointF",
"x": 1149.463742167116,
"y": -1184.0377811997855
"x": 1149.5459641167045,
"y": -1184.4548940046989
},
{
"type": "QPointF",
"x": 1160.3539624659516,
"y": -1239.2839819734102
"x": 1160.5166586790917,
"y": -1239.9724556778692
},
{
"type": "QPointF",
"x": 1176.4068699561542,
"y": -1307.2142950016096
"x": 1176.5417359019957,
"y": -1307.721609412787
},
{
"type": "QPointF",

View file

@ -97,33 +97,33 @@
},
{
"type": "QPointF",
"x": -309.27926069378105,
"y": 377.87711814041575
"x": -311.04178506989064,
"y": 378.1071805105328
},
{
"type": "QPointF",
"x": -356.896273947742,
"y": 384.09256859068546
"x": -358.1556709259087,
"y": 384.1720729374989
},
{
"type": "QPointF",
"x": -436.1304063463224,
"y": 389.0945322692452
"x": -437.0178873589189,
"y": 389.1088088614001
},
{
"type": "QPointF",
"x": -549.2893527340862,
"y": 390.91488008889513
"x": -550.0911721596755,
"y": 390.89374507300744
},
{
"type": "QPointF",
"x": -682.6991220793232,
"y": 387.3983556636985
"x": -683.5941332112803,
"y": 387.332152895494
},
{
"type": "QPointF",
"x": -756.6839944284903,
"y": 381.9257942844239
"x": -757.8761616208975,
"y": 381.7608312465323
},
{
"type": "QPointF",

View file

@ -102,33 +102,33 @@
},
{
"type": "QPointF",
"x": -309.27926069378105,
"y": 377.87711814041575
"x": -311.04178506989064,
"y": 378.1071805105328
},
{
"type": "QPointF",
"x": -356.896273947742,
"y": 384.09256859068546
"x": -358.1556709259087,
"y": 384.1720729374989
},
{
"type": "QPointF",
"x": -436.1304063463224,
"y": 389.0945322692452
"x": -437.0178873589189,
"y": 389.1088088614001
},
{
"type": "QPointF",
"x": -549.2893527340862,
"y": 390.91488008889513
"x": -550.0911721596755,
"y": 390.89374507300744
},
{
"type": "QPointF",
"x": -682.6991220793232,
"y": 387.3983556636985
"x": -683.5941332112803,
"y": 387.332152895494
},
{
"type": "QPointF",
"x": -756.6839944284903,
"y": 381.9257942844239
"x": -757.8761616208975,
"y": 381.7608312465323
},
{
"type": "QPointF",

View file

@ -102,33 +102,33 @@
},
{
"type": "QPointF",
"x": -309.27926069378105,
"y": 377.87711814041575
"x": -311.04178506989064,
"y": 378.1071805105328
},
{
"type": "QPointF",
"x": -356.896273947742,
"y": 384.09256859068546
"x": -358.1556709259087,
"y": 384.1720729374989
},
{
"type": "QPointF",
"x": -436.1304063463224,
"y": 389.0945322692452
"x": -437.0178873589189,
"y": 389.1088088614001
},
{
"type": "QPointF",
"x": -549.2893527340862,
"y": 390.91488008889513
"x": -550.0911721596755,
"y": 390.89374507300744
},
{
"type": "QPointF",
"x": -682.6991220793232,
"y": 387.3983556636985
"x": -683.5941332112803,
"y": 387.332152895494
},
{
"type": "QPointF",
"x": -756.6839944284903,
"y": 381.9257942844239
"x": -757.8761616208975,
"y": 381.7608312465323
},
{
"type": "QPointF",

View file

@ -107,33 +107,33 @@
},
{
"type": "QPointF",
"x": -309.27926069378105,
"y": 377.87711814041575
"x": -311.04178506989064,
"y": 378.1071805105328
},
{
"type": "QPointF",
"x": -356.896273947742,
"y": 384.09256859068546
"x": -358.1556709259087,
"y": 384.1720729374989
},
{
"type": "QPointF",
"x": -436.1304063463224,
"y": 389.0945322692452
"x": -437.0178873589189,
"y": 389.1088088614001
},
{
"type": "QPointF",
"x": -549.2893527340862,
"y": 390.91488008889513
"x": -550.0911721596755,
"y": 390.89374507300744
},
{
"type": "QPointF",
"x": -682.6991220793232,
"y": 387.3983556636985
"x": -683.5941332112803,
"y": 387.332152895494
},
{
"type": "QPointF",
"x": -756.6839944284903,
"y": 381.9257942844239
"x": -757.8761616208975,
"y": 381.7608312465323
},
{
"type": "QPointF",

View file

@ -107,33 +107,33 @@
},
{
"type": "QPointF",
"x": -309.27926069378105,
"y": 377.87711814041575
"x": -311.04178506989064,
"y": 378.1071805105328
},
{
"type": "QPointF",
"x": -356.896273947742,
"y": 384.09256859068546
"x": -358.1556709259087,
"y": 384.1720729374989
},
{
"type": "QPointF",
"x": -436.1304063463224,
"y": 389.0945322692452
"x": -437.0178873589189,
"y": 389.1088088614001
},
{
"type": "QPointF",
"x": -549.2893527340862,
"y": 390.91488008889513
"x": -550.0911721596755,
"y": 390.89374507300744
},
{
"type": "QPointF",
"x": -682.6991220793232,
"y": 387.3983556636985
"x": -683.5941332112803,
"y": 387.332152895494
},
{
"type": "QPointF",
"x": -756.6839944284903,
"y": 381.9257942844239
"x": -757.8761616208975,
"y": 381.7608312465323
},
{
"type": "QPointF",

View file

@ -107,33 +107,33 @@
},
{
"type": "QPointF",
"x": -309.27926069378105,
"y": 377.87711814041575
"x": -311.04178506989064,
"y": 378.1071805105328
},
{
"type": "QPointF",
"x": -356.896273947742,
"y": 384.09256859068546
"x": -358.1556709259087,
"y": 384.1720729374989
},
{
"type": "QPointF",
"x": -436.1304063463224,
"y": 389.0945322692452
"x": -437.0178873589189,
"y": 389.1088088614001
},
{
"type": "QPointF",
"x": -549.2893527340862,
"y": 390.91488008889513
"x": -550.0911721596755,
"y": 390.89374507300744
},
{
"type": "QPointF",
"x": -682.6991220793232,
"y": 387.3983556636985
"x": -683.5941332112803,
"y": 387.332152895494
},
{
"type": "QPointF",
"x": -756.6839944284903,
"y": 381.9257942844239
"x": -757.8761616208975,
"y": 381.7608312465323
},
{
"type": "QPointF",

View file

@ -97,33 +97,33 @@
},
{
"type": "QPointF",
"x": -309.27926069378105,
"y": 377.87711814041575
"x": -311.04178506989064,
"y": 378.1071805105328
},
{
"type": "QPointF",
"x": -356.896273947742,
"y": 384.09256859068546
"x": -358.1556709259087,
"y": 384.1720729374989
},
{
"type": "QPointF",
"x": -436.1304063463224,
"y": 389.0945322692452
"x": -437.0178873589189,
"y": 389.1088088614001
},
{
"type": "QPointF",
"x": -549.2893527340862,
"y": 390.91488008889513
"x": -550.0911721596755,
"y": 390.89374507300744
},
{
"type": "QPointF",
"x": -682.6991220793232,
"y": 387.3983556636985
"x": -683.5941332112803,
"y": 387.332152895494
},
{
"type": "QPointF",
"x": -756.6839944284903,
"y": 381.9257942844239
"x": -757.8761616208975,
"y": 381.7608312465323
},
{
"type": "QPointF",

View file

@ -102,33 +102,33 @@
},
{
"type": "QPointF",
"x": -309.27926069378105,
"y": 377.87711814041575
"x": -311.04178506989064,
"y": 378.1071805105328
},
{
"type": "QPointF",
"x": -356.896273947742,
"y": 384.09256859068546
"x": -358.1556709259087,
"y": 384.1720729374989
},
{
"type": "QPointF",
"x": -436.1304063463224,
"y": 389.0945322692452
"x": -437.0178873589189,
"y": 389.1088088614001
},
{
"type": "QPointF",
"x": -549.2893527340862,
"y": 390.91488008889513
"x": -550.0911721596755,
"y": 390.89374507300744
},
{
"type": "QPointF",
"x": -682.6991220793232,
"y": 387.3983556636985
"x": -683.5941332112803,
"y": 387.332152895494
},
{
"type": "QPointF",
"x": -756.6839944284903,
"y": 381.9257942844239
"x": -757.8761616208975,
"y": 381.7608312465323
},
{
"type": "QPointF",

View file

@ -107,33 +107,33 @@
},
{
"type": "QPointF",
"x": -309.27926069378105,
"y": 377.87711814041575
"x": -311.04178506989064,
"y": 378.1071805105328
},
{
"type": "QPointF",
"x": -356.896273947742,
"y": 384.09256859068546
"x": -358.1556709259087,
"y": 384.1720729374989
},
{
"type": "QPointF",
"x": -436.1304063463224,
"y": 389.0945322692452
"x": -437.0178873589189,
"y": 389.1088088614001
},
{
"type": "QPointF",
"x": -549.2893527340862,
"y": 390.91488008889513
"x": -550.0911721596755,
"y": 390.89374507300744
},
{
"type": "QPointF",
"x": -682.6991220793232,
"y": 387.3983556636985
"x": -683.5941332112803,
"y": 387.332152895494
},
{
"type": "QPointF",
"x": -756.6839944284903,
"y": 381.9257942844239
"x": -757.8761616208975,
"y": 381.7608312465323
},
{
"type": "QPointF",

View file

@ -107,33 +107,33 @@
},
{
"type": "QPointF",
"x": -309.27926069378105,
"y": 377.87711814041575
"x": -311.04178506989064,
"y": 378.1071805105328
},
{
"type": "QPointF",
"x": -356.896273947742,
"y": 384.09256859068546
"x": -358.1556709259087,
"y": 384.1720729374989
},
{
"type": "QPointF",
"x": -436.1304063463224,
"y": 389.0945322692452
"x": -437.0178873589189,
"y": 389.1088088614001
},
{
"type": "QPointF",
"x": -549.2893527340862,
"y": 390.91488008889513
"x": -550.0911721596755,
"y": 390.89374507300744
},
{
"type": "QPointF",
"x": -682.6991220793232,
"y": 387.3983556636985
"x": -683.5941332112803,
"y": 387.332152895494
},
{
"type": "QPointF",
"x": -756.6839944284903,
"y": 381.9257942844239
"x": -757.8761616208975,
"y": 381.7608312465323
},
{
"type": "QPointF",

View file

@ -97,33 +97,33 @@
},
{
"type": "QPointF",
"x": -309.27926069378105,
"y": 377.87711814041575
"x": -311.04178506989064,
"y": 378.1071805105328
},
{
"type": "QPointF",
"x": -356.896273947742,
"y": 384.09256859068546
"x": -358.1556709259087,
"y": 384.1720729374989
},
{
"type": "QPointF",
"x": -436.1304063463224,
"y": 389.0945322692452
"x": -437.0178873589189,
"y": 389.1088088614001
},
{
"type": "QPointF",
"x": -549.2893527340862,
"y": 390.91488008889513
"x": -550.0911721596755,
"y": 390.89374507300744
},
{
"type": "QPointF",
"x": -682.6991220793232,
"y": 387.3983556636985
"x": -683.5941332112803,
"y": 387.332152895494
},
{
"type": "QPointF",
"x": -756.6839944284903,
"y": 381.9257942844239
"x": -757.8761616208975,
"y": 381.7608312465323
},
{
"type": "QPointF",

View file

@ -102,33 +102,33 @@
},
{
"type": "QPointF",
"x": -309.27926069378105,
"y": 377.87711814041575
"x": -311.04178506989064,
"y": 378.1071805105328
},
{
"type": "QPointF",
"x": -356.896273947742,
"y": 384.09256859068546
"x": -358.1556709259087,
"y": 384.1720729374989
},
{
"type": "QPointF",
"x": -436.1304063463224,
"y": 389.0945322692452
"x": -437.0178873589189,
"y": 389.1088088614001
},
{
"type": "QPointF",
"x": -549.2893527340862,
"y": 390.91488008889513
"x": -550.0911721596755,
"y": 390.89374507300744
},
{
"type": "QPointF",
"x": -682.6991220793232,
"y": 387.3983556636985
"x": -683.5941332112803,
"y": 387.332152895494
},
{
"type": "QPointF",
"x": -756.6839944284903,
"y": 381.9257942844239
"x": -757.8761616208975,
"y": 381.7608312465323
},
{
"type": "QPointF",

View file

@ -0,0 +1,35 @@
{
"data": {
"id": 373,
"isMainPathNode": true,
"isShowSecondPassmark": true,
"nextSAPoint": {
"saAfter": 37.795275590551185,
"saBefore": 0,
"type": "VSAPoint",
"x": -814.7149606299213,
"y": -8.844283464566928
},
"nodeName": "А4",
"passmarkAngleType": 1,
"passmarkIndex": 0,
"passmarkLineType": 3,
"passmarkSAPoint": {
"saAfter": 0,
"saBefore": 37.795275590551185,
"type": "VSAPoint",
"x": -814.7149606299213,
"y": 331.31319685039375
},
"pieceName": "Test 1",
"previousSAPoint": {
"angle": 6,
"saAfter": 37.795275590551185,
"saBefore": 37.795275590551185,
"type": "VSAPoint",
"x": -809.5439285608359,
"y": 334.19362962533444
},
"saWidth": 37.795275590551185
}
}

View file

@ -0,0 +1,30 @@
{
"shape": [
{
"p1": {
"type": "QPointF",
"x": -814.7149606299213,
"y": 371.920060042948
},
"p2": {
"type": "QPointF",
"x": -799.7420137621286,
"y": 360.39046437199266
},
"type": "QLineF"
},
{
"p1": {
"type": "QPointF",
"x": -804.0656121387367,
"y": 354.7756092965702
},
"p2": {
"type": "QPointF",
"x": -795.4184153855206,
"y": 366.0053194474151
},
"type": "QLineF"
}
]
}

View file

@ -0,0 +1,144 @@
{
"vector": [
{
"type": "QPointF",
"x": -814.7149606299213,
"y": -46.83844987562506
},
{
"type": "QPointF",
"x": -778.5027796006967,
"y": -50.55832953918108
},
{
"type": "QPointF",
"x": -737.9608911970817,
"y": -56.79017047839188
},
{
"type": "QPointF",
"x": -709.2737849361833,
"y": -62.54507114228375
},
{
"type": "QPointF",
"x": -681.3583296765719,
"y": -69.77242131730468
},
{
"type": "QPointF",
"x": -663.080059476596,
"y": -75.96966921296226
},
{
"type": "QPointF",
"x": -646.8510624753319,
"y": -83.05604358358234
},
{
"type": "QPointF",
"x": -631.5852394687809,
"y": -90.99511806183605
},
{
"type": "QPointF",
"x": -616.3280202339708,
"y": -100.59426715699185
},
{
"type": "QPointF",
"x": -594.0963839106636,
"y": -115.97215530775165
},
{
"type": "QPointF",
"x": -184.652959517236,
"y": 75.91516236819507
},
{
"type": "QPointF",
"x": -214.89666292622343,
"y": 166.89727659461178
},
{
"type": "QPointF",
"x": -224.9007219166651,
"y": 202.78670773496933
},
{
"type": "QPointF",
"x": -232.93434714099388,
"y": 237.08085683490162
},
{
"type": "QPointF",
"x": -239.0890371517,
"y": 269.81704595738483
},
{
"type": "QPointF",
"x": -243.49817442555994,
"y": 301.1705074811104
},
{
"type": "QPointF",
"x": -248.3168574229531,
"y": 354.919297434933
},
{
"type": "QPointF",
"x": -269.9238569102081,
"y": 366.58612044863963
},
{
"type": "QPointF",
"x": -286.16902160246076,
"y": 372.6172940694789
},
{
"type": "QPointF",
"x": -311.04178506989064,
"y": 378.1071805105328
},
{
"type": "QPointF",
"x": -358.1556709259087,
"y": 384.1720729374989
},
{
"type": "QPointF",
"x": -437.0178873589189,
"y": 389.1088088614001
},
{
"type": "QPointF",
"x": -550.0911721596755,
"y": 390.89374507300744
},
{
"type": "QPointF",
"x": -683.5941332112803,
"y": 387.332152895494
},
{
"type": "QPointF",
"x": -757.8761616208975,
"y": 381.7608312465323
},
{
"type": "QPointF",
"x": -799.0261371963916,
"y": 376.0668102876168
},
{
"type": "QPointF",
"x": -814.7149606299213,
"y": 371.920060042948
},
{
"type": "QPointF",
"x": -814.7149606299213,
"y": -46.83844987562506
}
]
}

View file

@ -82,28 +82,28 @@
},
{
"type": "QPointF",
"x": 1317.0625781659908,
"y": 639.1647613066468
"x": 1315.6181593378337,
"y": 639.1925146344335
},
{
"type": "QPointF",
"x": 1263.902550577329,
"y": 640.1861878084698
"x": 1262.3878469141227,
"y": 640.1849369893473
},
{
"type": "QPointF",
"x": 1209.7951086739927,
"y": 640.14150671035
"x": 1208.196048358889,
"y": 640.1063467543435
},
{
"type": "QPointF",
"x": 1154.9274721014283,
"y": 638.9350833691831
"x": 1153.2293985758472,
"y": 638.8595206914382
},
{
"type": "QPointF",
"x": 1099.4853104352849,
"y": 636.4679592238815
"x": 1097.6726949942515,
"y": 636.3435926033591
},
{
"type": "QPointF",
@ -122,43 +122,43 @@
},
{
"type": "QPointF",
"x": 947.4464970808124,
"y": 432.39636927516375
"x": 947.5422661452765,
"y": 431.9488712553577
},
{
"type": "QPointF",
"x": 961.5744423596268,
"y": 366.3810273526096
"x": 961.7236809690984,
"y": 365.7804842072358
},
{
"type": "QPointF",
"x": 977.2199897801443,
"y": 303.4226126884536
"x": 977.4083150814847,
"y": 302.7668776939707
},
{
"type": "QPointF",
"x": 994.5959474963892,
"y": 242.92079240142272
"x": 994.8225246332483,
"y": 242.23249125528244
},
{
"type": "QPointF",
"x": 1013.9240890398678,
"y": 184.20532727749304
"x": 1014.1828137768437,
"y": 183.51201063149125
},
{
"type": "QPointF",
"x": 1035.4160234649778,
"y": 126.61239640480659
"x": 1035.69565806756,
"y": 125.94272845422647
},
{
"type": "QPointF",
"x": 1059.2744269669706,
"y": 69.47637664989287
"x": 1059.5602663375494,
"y": 68.85591667899268
},
{
"type": "QPointF",
"x": 1085.6563208910281,
"y": 12.210265605542077
"x": 1085.886977380451,
"y": 11.743825714230791
},
{
"type": "QPointF",

View file

@ -47,193 +47,193 @@
},
{
"type": "QPointF",
"x": -99.77946852184245,
"y": -123.82089884830452
"x": -98.16620370270377,
"y": -124.26621938370769
},
{
"type": "QPointF",
"x": -80.4254673057649,
"y": -129.16331633704564
"x": -79.03697368453624,
"y": -129.44187386271707
},
{
"type": "QPointF",
"x": -60.33956456484994,
"y": -133.19292027821137
"x": -58.706202595618336,
"y": -133.38187461162352
},
{
"type": "QPointF",
"x": -20.93829301543242,
"y": -137.75102873271
"x": -19.23007454099331,
"y": -137.8007523815199
},
{
"type": "QPointF",
"x": 41.56411818395465,
"y": -139.57037912070498
"x": 42.910363313495886,
"y": -139.51815744765946
},
{
"type": "QPointF",
"x": 65.59569198261529,
"y": -138.63817965558195
"x": 66.68023598861984,
"y": -138.53630805724418
},
{
"type": "QPointF",
"x": 88.1798239338667,
"y": -136.51684423147074
"x": 89.39744531212133,
"y": -136.32564901911675
},
{
"type": "QPointF",
"x": 109.76687822830704,
"y": -133.12716866923762
"x": 111.11175958744691,
"y": -132.81899300157508
},
{
"type": "QPointF",
"x": 130.3950740635637,
"y": -128.40027734830377
"x": 131.849273635868,
"y": -127.94728225453339
},
{
"type": "QPointF",
"x": 150.07592388593054,
"y": -122.26953121100647
"x": 151.60699847308524,
"y": -121.64875784315865
},
{
"type": "QPointF",
"x": 168.79110685051424,
"y": -114.68147034428995
"x": 170.35248944251788,
"y": -113.88134187328731
},
{
"type": "QPointF",
"x": 186.49605055143408,
"y": -105.60859505724969
"x": 188.03154360657538,
"y": -104.6349240216735
},
{
"type": "QPointF",
"x": 203.13204877377575,
"y": -95.05954726914332
"x": 204.5842326679355,
"y": -93.93825842596878
},
{
"type": "QPointF",
"x": 218.64492845706968,
"y": -83.08143693178066
"x": 219.96505724025516,
"y": -81.85595130961987
},
{
"type": "QPointF",
"x": 233.00419499996835,
"y": -69.75162023720404
"x": 234.15990665736646,
"y": -68.4752802431224
},
{
"type": "QPointF",
"x": 246.21556214467594,
"y": -55.16130598767145
"x": 247.19371855986597,
"y": -53.88774944821138
},
{
"type": "QPointF",
"x": 258.3230922830817,
"y": -39.397340281347255
"x": 259.1276105630506,
"y": -38.17240755237481
},
{
"type": "QPointF",
"x": 269.40232183582737,
"y": -22.52847449065218
"x": 270.04898813073834,
"y": -21.385797552698936
},
{
"type": "QPointF",
"x": 278.6366884625802,
"y": -6.211097407549325
"y": -6.211097407549303
},
{
"type": "QPointF",
"x": 278.7229193724382,
"y": 86.05847307510896
"y": 86.05847307510899
},
{
"type": "QPointF",
"x": 269.4023218358267,
"y": 102.52822252214926
"x": 268.68154201422317,
"y": 103.62565786432592
},
{
"type": "QPointF",
"x": 258.3230922830817,
"y": 119.39708831284334
"x": 257.43041876497244,
"y": 120.55934639236527
},
{
"type": "QPointF",
"x": 246.2155621446766,
"y": 135.16105401916667
"x": 245.13770399345265,
"y": 136.35141448455406
},
{
"type": "QPointF",
"x": 233.00419499996818,
"y": 149.75136826870033
"x": 231.74228008436702,
"y": 150.92281351340424
},
{
"type": "QPointF",
"x": 218.64492845706377,
"y": 163.0811849632816
"x": 217.21920939711887,
"y": 164.18203925718115
},
{
"type": "QPointF",
"x": 203.1320487737801,
"y": 175.05929530063636
"x": 201.58260259787613,
"y": 176.0418141453883
},
{
"type": "QPointF",
"x": 186.496050551439,
"y": 185.60834308874269
"x": 184.87795907298187,
"y": 186.43753195457916
},
{
"type": "QPointF",
"x": 168.79110685050364,
"y": 194.6812183757909
"x": 167.16520711975835,
"y": 195.34043854710424
},
{
"type": "QPointF",
"x": 150.07592388593088,
"y": 202.26927924250302
"x": 148.4985496757961,
"y": 202.76064424620657
},
{
"type": "QPointF",
"x": 130.39507406357035,
"y": 208.40002537979836
"x": 128.91043139767586,
"y": 208.74022694605023
},
{
"type": "QPointF",
"x": 109.7668782282991,
"y": 213.12691670073548
"x": 108.40384126969701,
"y": 213.34094558146998
},
{
"type": "QPointF",
"x": 88.17982393386717,
"y": 216.5165922629673
"x": 86.95268447058817,
"y": 216.63185790254988
},
{
"type": "QPointF",
"x": 65.31921480099871,
"y": 218.66389728558195
"x": 63.952622727947244,
"y": 218.69778165753547
},
{
"type": "QPointF",
"x": 29.786256518671927,
"y": 219.5449297449309
"x": 28.589221979191652,
"y": 219.5023490106549
},
{
"type": "QPointF",
"x": -21.065778038010638,
"y": 217.73602874881448
"x": -22.635913275590184,
"y": 217.5543887554924
},
{
"type": "QPointF",
"x": -60.33956456486369,
"y": 213.19266830970525
"x": -61.95169737013356,
"y": 212.86924462347156
},
{
"type": "QPointF",
"x": -80.42546730575734,
"y": 209.1630643685438
"x": -81.79057380311542,
"y": 208.78624467404973
},
{
"type": "QPointF",
"x": -99.77946852184263,
"y": 203.82064687980053
"x": -101.3495117381284,
"y": 203.24107975259506
},
{
"type": "QPointF",

View file

@ -7,93 +7,93 @@
},
{
"type": "QPointF",
"x": -2118.43416950323,
"y": -1210.583578833799
"x": -2117.3179885209165,
"y": -1210.8767704599727
},
{
"type": "QPointF",
"x": -2082.825126424554,
"y": -1219.9371455153298
"x": -2081.789313225811,
"y": -1220.1481379983554
},
{
"type": "QPointF",
"x": -2030.1662649211698,
"y": -1230.6636200914243
"x": -2029.2249477701505,
"y": -1230.8064422813395
},
{
"type": "QPointF",
"x": -2000.1454275015387,
"y": -1235.2185586036119
"x": -1999.5159517577238,
"y": -1235.2925715725582
},
{
"type": "QPointF",
"x": -1968.1413945353718,
"y": -1238.9815526845684
"x": -1967.527727293887,
"y": -1239.0335034446366
},
{
"type": "QPointF",
"x": -1933.6865561248674,
"y": -1241.8983696864393
"x": -1933.0956581345815,
"y": -1241.9298024790799
},
{
"type": "QPointF",
"x": -1896.3871800809684,
"y": -1243.882508356875
"x": -1895.596431436138,
"y": -1243.8914477671647
},
{
"type": "QPointF",
"x": -1824.401825969962,
"y": -1244.6963024992513
"x": -1823.3293436753797,
"y": -1244.6474803367735
},
{
"type": "QPointF",
"x": -1802.1439919282616,
"y": -1243.6830684389079
"x": -1801.270222316667,
"y": -1243.6025282481694
},
{
"type": "QPointF",
"x": -1781.292519497052,
"y": -1241.7610725895388
"x": -1780.3502628472847,
"y": -1241.626100901175
},
{
"type": "QPointF",
"x": -1761.4981418780226,
"y": -1238.9256661554102
"x": -1760.4970449804373,
"y": -1238.7266144218304
},
{
"type": "QPointF",
"x": -1742.694090792693,
"y": -1235.186788354582
"x": -1741.6493367603232,
"y": -1234.9162692221335
},
{
"type": "QPointF",
"x": -1724.8248472704702,
"y": -1230.5598885242202
"x": -1723.7569894844275,
"y": -1230.2145987625852
},
{
"type": "QPointF",
"x": -1707.307912059691,
"y": -1224.8958212087373
"x": -1705.7353799084742,
"y": -1224.2251354162227
},
{
"type": "QPointF",
"x": -1676.9132756145543,
"y": -1211.932492721858
"x": -1675.4184392909124,
"y": -1211.1296471756543
},
{
"type": "QPointF",
"x": -1661.710243746763,
"y": -1203.7672600266078
"x": -1660.6630747998215,
"y": -1203.1133988462257
},
{
"type": "QPointF",
"x": -1641.241379036374,
"y": -1190.9863271315796
"x": -1639.8825842105048,
"y": -1189.956966345783
},
{
"type": "QPointF",
"x": -1615.9192124780227,
"y": -1171.8034124116157
"x": -1614.5471441806671,
"y": -1170.5323288533264
},
{
"type": "QPointF",
@ -102,53 +102,53 @@
},
{
"type": "QPointF",
"x": -1562.5392555073986,
"y": -1118.8539207479248
"x": -1561.6105191787583,
"y": -1117.5205958875613
},
{
"type": "QPointF",
"x": -1551.2262388304146,
"y": -1102.612576551544
"x": -1550.5218235301147,
"y": -1101.4250233865039
},
{
"type": "QPointF",
"x": -1540.8782542250674,
"y": -1085.1672117722196
"x": -1540.337834300065,
"y": -1084.110067218381
},
{
"type": "QPointF",
"x": -1531.4018600286245,
"y": -1066.6299261331826
"x": -1530.9818691246735,
"y": -1065.6839029363284
},
{
"type": "QPointF",
"x": -1522.5645630695412,
"y": -1046.7240475959711
"x": -1522.1105744736874,
"y": -1045.4696493784227
},
{
"type": "QPointF",
"x": -1507.6748444193508,
"y": -1005.582845580826
"x": -1507.2761350799158,
"y": -1004.1278514767099
},
{
"type": "QPointF",
"x": -1495.6058109328244,
"y": -961.5398026208685
"x": -1495.376021554108,
"y": -960.4554511358866
},
{
"type": "QPointF",
"x": -1488.267238313915,
"y": -926.909863842091
"x": -1488.0989211021315,
"y": -925.7865995055545
},
{
"type": "QPointF",
"x": -1481.29475396107,
"y": -880.3790133864592
"x": -1481.192165254231,
"y": -879.16427654198
},
{
"type": "QPointF",
"x": -1477.354473600032,
"y": -833.7227694429281
"x": -1477.3327166185825,
"y": -832.4544223213312
},
{
"type": "QPointF",
@ -157,43 +157,43 @@
},
{
"type": "QPointF",
"x": -1479.2281213432814,
"y": -768.6515308802761
"x": -1479.4311937433415,
"y": -767.3575645372299
},
{
"type": "QPointF",
"x": -1484.0279035491735,
"y": -738.0675784251952
"x": -1484.217948117173,
"y": -737.1537757721749
},
{
"type": "QPointF",
"x": -1490.709103534858,
"y": -705.9419652780002
"x": -1490.8757295803644,
"y": -705.2665106804025
},
{
"type": "QPointF",
"x": -1498.9104711413052,
"y": -672.6959535903945
"x": -1499.0539104826737,
"y": -672.178241701873
},
{
"type": "QPointF",
"x": -1508.306583804099,
"y": -638.7828082496555
"x": -1508.4497515727314,
"y": -638.3137371209444
},
{
"type": "QPointF",
"x": -1523.7869297074349,
"y": -588.0634082402862
"x": -1523.9697357927892,
"y": -587.5233762153806
},
{
"type": "QPointF",
"x": -1545.5594310158256,
"y": -523.7447180498544
"x": -1545.712845445419,
"y": -523.3245306458938
},
{
"type": "QPointF",
"x": -1566.0336419104442,
"y": -467.66781872067713
"x": -1566.1914808088975,
"y": -467.26445662640594
},
{
"type": "QPointF",
@ -242,13 +242,13 @@
},
{
"type": "QPointF",
"x": -1959.8085085155276,
"y": -137.3291527397459
"x": -1960.2460320011792,
"y": -136.61604524408278
},
{
"type": "QPointF",
"x": -1973.85500245939,
"y": -114.43515859395507
"x": -1974.738728635228,
"y": -113.2223093555558
},
{
"type": "QPointF",
@ -257,28 +257,28 @@
},
{
"type": "QPointF",
"x": -2015.1669643320547,
"y": -64.22689118534491
"x": -2016.4030986201262,
"y": -63.16404554509921
},
{
"type": "QPointF",
"x": -2031.5869934545,
"y": -50.10871928937255
"x": -2032.8574460444615,
"y": -49.187886190486154
},
{
"type": "QPointF",
"x": -2051.4273628312376,
"y": -35.72827805087996
"x": -2052.9452867141617,
"y": -34.83085264969631
},
{
"type": "QPointF",
"x": -2074.776055519778,
"y": -21.924087907458294
"x": -2076.4011247938793,
"y": -21.161006754962017
},
{
"type": "QPointF",
"x": -2095.4019368595723,
"y": -12.238826143632455
"x": -2097.096249851238,
"y": -11.632140824931852
},
{
"type": "QPointF",

View file

@ -32,8 +32,8 @@
},
{
"type": "QPointF",
"x": 358.2408334277008,
"y": 281.22358539078493
"x": 356.42115628649094,
"y": 281.1961321434339
},
{
"type": "QPointF",
@ -57,18 +57,18 @@
},
{
"type": "QPointF",
"x": 255.81310453620574,
"y": 251.94235440791147
"x": 254.23057330138423,
"y": 250.84839259308427
},
{
"type": "QPointF",
"x": 238.61081765006833,
"y": 240.0508703303418
"x": 237.19463661860715,
"y": 238.8603971131726
},
{
"type": "QPointF",
"x": 223.16837814314113,
"y": 227.06961282699527
"x": 221.85822539428258,
"y": 225.7363373655819
},
{
"type": "QPointF",
@ -112,13 +112,13 @@
},
{
"type": "QPointF",
"x": 89.23016638120879,
"y": 180.74760051351964
"x": 87.60829210847307,
"y": 179.95148448528337
},
{
"type": "QPointF",
"x": 68.08422273452526,
"y": 170.36786581256206
"x": 66.52960687232702,
"y": 169.40312344285778
},
{
"type": "QPointF",

View file

@ -92,19 +92,14 @@
},
{
"type": "QPointF",
"x": 293.1661864923215,
"y": 180.51562637269953
"x": 292.8993165675273,
"y": 181.06409460955842
},
{
"type": "QPointF",
"x": 295.67056116540294,
"y": 175.36866212621038
},
{
"type": "QPointF",
"x": 297.03278914138764,
"y": 169.78727745627393
},
{
"type": "QPointF",
"x": 298.4272653364355,
@ -127,13 +122,13 @@
},
{
"type": "QPointF",
"x": 278.36163578883384,
"y": 146.69497061341855
"x": 276.2492306727302,
"y": 147.2196441654211
},
{
"type": "QPointF",
"x": 264.11356456471754,
"y": 150.8634687956155
"x": 261.7960142104263,
"y": 151.87880055515345
},
{
"type": "QPointF",
@ -152,18 +147,18 @@
},
{
"type": "QPointF",
"x": 226.1305060641393,
"y": 173.66370879502696
"x": 230.18574923520515,
"y": 171.70501002822886
},
{
"type": "QPointF",
"x": 209.78346359977252,
"y": 181.5593960732169
"x": 213.57342754049571,
"y": 180.18583759170994
},
{
"type": "QPointF",
"x": 198.87033214089615,
"y": 185.51453245698937
"x": 202.38658536147173,
"y": 184.69191672318945
},
{
"type": "QPointF",
@ -202,13 +197,13 @@
},
{
"type": "QPointF",
"x": 132.20863928510303,
"y": 142.1050670962771
"x": 132.2673292124439,
"y": 144.36416224883658
},
{
"type": "QPointF",
"x": 131.96761370902018,
"y": 132.827500480644
"x": 131.96903386459138,
"y": 132.88216516864307
},
{
"type": "QPointF",

View file

@ -96,5 +96,10 @@
<file>DP_6_hem_by_second_edge_right_angle/output.json</file>
<file>DP_6_hem_by_second_edge_symmetry/input.json</file>
<file>DP_6_hem_by_second_edge_symmetry/output.json</file>
<file>Issue_924_Test_1/passmarkData.json</file>
<file>Issue_924_Test_1/passmarkShape.json</file>
<file>Issue_924_Test_1/seamAllowance.json</file>
<file>DP_6/input.json</file>
<file>DP_6/output.json</file>
</qresource>
</RCC>

View file

@ -38,462 +38,6 @@
#include <QtTest>
#include "../vpatterndb/vpiece.h"
namespace
{
//---------------------------------------------------------------------------------------------------------------------
QVector<QPointF> Issue924SeamAllowanceTest1()
{
QVector<QPointF> points;
points += QPointF(-814.714960629921279, -46.738127408018386);
points += QPointF(-778.560274683193597, -50.549491761193529);
points += QPointF(-737.960891197081651, -56.790170478391879);
points += QPointF(-709.273784936183347, -62.545071142283753);
points += QPointF(-681.358329676571884, -69.772421317304676);
points += QPointF(-662.734996979773655, -76.086662659765864);
points += QPointF(-652.000013358218780, -80.530014885308333);
points += QPointF(-647.534742107878174, -82.700492263504771);
points += QPointF(-631.585239468780856, -90.995118061836052);
points += QPointF(-616.328020233970847, -100.594267156991847);
points += QPointF(-594.096383910663576, -115.972155307751649);
points += QPointF(-184.048650148745537, 76.198374399107223);
points += QPointF(-202.588712626694274, 128.531217087733864);
points += QPointF(-214.844352980142077, 166.709615345349164);
points += QPointF(-224.900721916665105, 202.786707734969326);
points += QPointF(-232.934347140993879, 237.080856834901624);
points += QPointF(-239.089037151700012, 269.817045957384835);
points += QPointF(-243.506611386394923, 301.230502874877175);
points += QPointF(-246.324245680472586, 331.565901059170528);
points += QPointF(-247.367542640672326, 354.406709505752815);
points += QPointF(-268.813396242720216, 365.986520876589054);
points += QPointF(-274.509592479190928, 368.544465142904016);
points += QPointF(-280.430827138279028, 370.738996867416517);
points += QPointF(-286.539948778692178, 372.651089393540587);
points += QPointF(-295.760523769485246, 375.070669023642552);
points += QPointF(-309.108660665237892, 377.812272271559323);
points += QPointF(-323.791841306461833, 380.189287868544909);
points += QPointF(-339.746492379944868, 382.263575885265993);
points += QPointF(-356.936262185776172, 384.077045039880318);
points += QPointF(-375.281527662442841, 385.653208859628023);
points += QPointF(-394.678657394273387, 387.006850647147644);
points += QPointF(-414.787606696514558, 388.135795504608552);
points += QPointF(-435.952026976937020, 389.076617984501581);
points += QPointF(-457.785958239726995, 389.818484035948188);
points += QPointF(-480.155299343825106, 390.367355935354340);
points += QPointF(-502.923072127811622, 390.728524359010180);
points += QPointF(-525.950383000425973, 390.906843496429246);
points += QPointF(-549.097086395700558, 390.906868034847378);
points += QPointF(-572.222272868468281, 390.732932110765603);
points += QPointF(-595.184660101380132, 390.389190982770685);
points += QPointF(-617.842942744172888, 389.879635420374768);
points += QPointF(-640.056148626075128, 389.208081776045162);
points += QPointF(-661.684051740050222, 388.378134611085102);
points += QPointF(-682.587707903001387, 387.393111203977753);
points += QPointF(-702.630213610816895, 386.255904969512756);
points += QPointF(-721.913933492959586, 384.952760768153212);
points += QPointF(-739.883081019170959, 383.510162372720174);
points += QPointF(-756.628370632600195, 381.913999891517676);
points += QPointF(-772.055707410166860, 380.156385631636169);
points += QPointF(-786.107417616341536, 378.217868080938274);
points += QPointF(-798.800506212061464, 376.051179682426266);
points += QPointF(-810.181063245406790, 373.562456117723798);
points += QPointF(-814.714960629921279, 372.254255263452592);
points += QPointF(-814.714960629921279, -46.738127408018386);
return points;
}
//---------------------------------------------------------------------------------------------------------------------
QVector<QPointF> Issue924SeamAllowanceTest2()
{
QVector<QPointF> points;
points += QPointF(-814.714960629921279, 331.313196850393751);
points += QPointF(-814.714960629921279, -46.738127408018386);
points += QPointF(-778.560274683193597, -50.549491761193529);
points += QPointF(-737.960891197081651, -56.790170478391879);
points += QPointF(-709.273784936183347, -62.545071142283753);
points += QPointF(-681.358329676571884, -69.772421317304676);
points += QPointF(-662.734996979773655, -76.086662659765864);
points += QPointF(-652.000013358218780, -80.530014885308333);
points += QPointF(-647.534742107878174, -82.700492263504771);
points += QPointF(-631.585239468780856, -90.995118061836052);
points += QPointF(-616.328020233970847, -100.594267156991847);
points += QPointF(-594.096383910663576, -115.972155307751649);
points += QPointF(-184.048650148745537, 76.198374399107223);
points += QPointF(-202.588712626694274, 128.531217087733864);
points += QPointF(-214.844352980142077, 166.709615345349164);
points += QPointF(-224.900721916665105, 202.786707734969326);
points += QPointF(-232.934347140993879, 237.080856834901624);
points += QPointF(-239.089037151700012, 269.817045957384835);
points += QPointF(-243.506611386394923, 301.230502874877175);
points += QPointF(-246.324245680472586, 331.565901059170528);
points += QPointF(-247.367542640672326, 354.406709505752815);
points += QPointF(-268.813396242720216, 365.986520876589054);
points += QPointF(-274.509592479190928, 368.544465142904016);
points += QPointF(-280.430827138279028, 370.738996867416517);
points += QPointF(-286.539948778692178, 372.651089393540587);
points += QPointF(-295.760523769485246, 375.070669023642552);
points += QPointF(-309.108660665237892, 377.812272271559323);
points += QPointF(-323.791841306461833, 380.189287868544909);
points += QPointF(-339.746492379944868, 382.263575885265993);
points += QPointF(-356.936262185776172, 384.077045039880318);
points += QPointF(-375.281527662442841, 385.653208859628023);
points += QPointF(-394.678657394273387, 387.006850647147644);
points += QPointF(-414.787606696514558, 388.135795504608552);
points += QPointF(-435.952026976937020, 389.076617984501581);
points += QPointF(-457.785958239726995, 389.818484035948188);
points += QPointF(-480.155299343825106, 390.367355935354340);
points += QPointF(-502.923072127811622, 390.728524359010180);
points += QPointF(-525.950383000425973, 390.906843496429246);
points += QPointF(-549.097086395700558, 390.906868034847378);
points += QPointF(-572.222272868468281, 390.732932110765603);
points += QPointF(-595.184660101380132, 390.389190982770685);
points += QPointF(-617.842942744172888, 389.879635420374768);
points += QPointF(-640.056148626075128, 389.208081776045162);
points += QPointF(-661.684051740050222, 388.378134611085102);
points += QPointF(-682.587707903001387, 387.393111203977753);
points += QPointF(-702.630213610816895, 386.255904969512756);
points += QPointF(-721.913933492959586, 384.952760768153212);
points += QPointF(-739.883081019170959, 383.510162372720174);
points += QPointF(-756.628370632600195, 381.913999891517676);
points += QPointF(-772.055707410166860, 380.156385631636169);
points += QPointF(-786.107417616341536, 378.217868080938274);
points += QPointF(-798.800506212061464, 376.051179682426266);
points += QPointF(-810.181063245406790, 373.562456117723798);
points += QPointF(-814.714960629921279, 372.254255263452592);
points += QPointF(-814.714960629921279, 331.313196850393751);
return points;
}
//---------------------------------------------------------------------------------------------------------------------
QVector<QPointF> Issue924SeamAllowanceTest3()
{
QVector<QPointF> points;
points += QPointF(-862.690254965683266, 340.819961100893522);
points += QPointF(-814.714960629921279, 331.313196850393751);
points += QPointF(-814.714960629921279, -46.738127408018386);
points += QPointF(-778.560274683193597, -50.549491761193529);
points += QPointF(-737.960891197081651, -56.790170478391879);
points += QPointF(-709.273784936183347, -62.545071142283753);
points += QPointF(-681.358329676571884, -69.772421317304676);
points += QPointF(-662.734996979773655, -76.086662659765864);
points += QPointF(-652.000013358218780, -80.530014885308333);
points += QPointF(-647.534742107878174, -82.700492263504771);
points += QPointF(-631.585239468780856, -90.995118061836052);
points += QPointF(-616.328020233970847, -100.594267156991847);
points += QPointF(-594.096383910663576, -115.972155307751649);
points += QPointF(-184.048650148745537, 76.198374399107223);
points += QPointF(-202.588712626694274, 128.531217087733864);
points += QPointF(-214.844352980142077, 166.709615345349164);
points += QPointF(-224.900721916665105, 202.786707734969326);
points += QPointF(-232.934347140993879, 237.080856834901624);
points += QPointF(-239.089037151700012, 269.817045957384835);
points += QPointF(-243.506611386394923, 301.230502874877175);
points += QPointF(-246.324245680472586, 331.565901059170528);
points += QPointF(-247.367542640672326, 354.406709505752815);
points += QPointF(-268.813396242720216, 365.986520876589054);
points += QPointF(-274.509592479190928, 368.544465142904016);
points += QPointF(-280.430827138279028, 370.738996867416517);
points += QPointF(-286.539948778692178, 372.651089393540587);
points += QPointF(-295.760523769485246, 375.070669023642552);
points += QPointF(-309.108660665237892, 377.812272271559323);
points += QPointF(-323.791841306461833, 380.189287868544909);
points += QPointF(-339.746492379944868, 382.263575885265993);
points += QPointF(-356.936262185776172, 384.077045039880318);
points += QPointF(-375.281527662442841, 385.653208859628023);
points += QPointF(-394.678657394273387, 387.006850647147644);
points += QPointF(-414.787606696514558, 388.135795504608552);
points += QPointF(-435.952026976937020, 389.076617984501581);
points += QPointF(-457.785958239726995, 389.818484035948188);
points += QPointF(-480.155299343825106, 390.367355935354340);
points += QPointF(-502.923072127811622, 390.728524359010180);
points += QPointF(-525.950383000425973, 390.906843496429246);
points += QPointF(-549.097086395700558, 390.906868034847378);
points += QPointF(-572.222272868468281, 390.732932110765603);
points += QPointF(-595.184660101380132, 390.389190982770685);
points += QPointF(-617.842942744172888, 389.879635420374768);
points += QPointF(-640.056148626075128, 389.208081776045162);
points += QPointF(-661.684051740050222, 388.378134611085102);
points += QPointF(-682.587707903001387, 387.393111203977753);
points += QPointF(-702.630213610816895, 386.255904969512756);
points += QPointF(-721.913933492959586, 384.952760768153212);
points += QPointF(-739.883081019170959, 383.510162372720174);
points += QPointF(-756.628370632600195, 381.913999891517676);
points += QPointF(-772.055707410166860, 380.156385631636169);
points += QPointF(-786.107417616341536, 378.217868080938274);
points += QPointF(-798.800506212061464, 376.051179682426266);
points += QPointF(-810.181063245406790, 373.562456117723798);
points += QPointF(-818.092955780502393, 371.279575916538420);
points += QPointF(-823.692975528084730, 369.271805550997954);
points += QPointF(-829.575336882823422, 366.626948794191208);
points += QPointF(-835.815139714856855, 362.892089667033019);
points += QPointF(-862.690254965683266, 340.819961100893522);
return points;
}
//---------------------------------------------------------------------------------------------------------------------
QVector<QPointF> Issue924SeamAllowanceTest4()
{
QVector<QPointF> points;
points += QPointF(-814.714960629921279, -46.738127408018386);
points += QPointF(-778.560274683193597, -50.549491761193529);
points += QPointF(-737.960891197081651, -56.790170478391879);
points += QPointF(-709.273784936183347, -62.545071142283753);
points += QPointF(-681.358329676571884, -69.772421317304676);
points += QPointF(-662.734996979773655, -76.086662659765864);
points += QPointF(-652.000013358218780, -80.530014885308333);
points += QPointF(-647.534742107878174, -82.700492263504771);
points += QPointF(-631.585239468780856, -90.995118061836052);
points += QPointF(-616.328020233970847, -100.594267156991847);
points += QPointF(-594.096383910663576, -115.972155307751649);
points += QPointF(-184.048650148745537, 76.198374399107223);
points += QPointF(-202.588712626694274, 128.531217087733864);
points += QPointF(-214.844352980142077, 166.709615345349164);
points += QPointF(-224.900721916665105, 202.786707734969326);
points += QPointF(-232.934347140993879, 237.080856834901624);
points += QPointF(-239.089037151700012, 269.817045957384835);
points += QPointF(-243.506611386394923, 301.230502874877175);
points += QPointF(-246.324245680472586, 331.565901059170528);
points += QPointF(-247.367542640672326, 354.406709505752815);
points += QPointF(-268.813396242720216, 365.986520876589054);
points += QPointF(-274.509592479190928, 368.544465142904016);
points += QPointF(-280.430827138279028, 370.738996867416517);
points += QPointF(-286.539948778692178, 372.651089393540587);
points += QPointF(-295.760523769485246, 375.070669023642552);
points += QPointF(-309.108660665237892, 377.812272271559323);
points += QPointF(-323.791841306461833, 380.189287868544909);
points += QPointF(-339.746492379944868, 382.263575885265993);
points += QPointF(-356.936262185776172, 384.077045039880318);
points += QPointF(-375.281527662442841, 385.653208859628023);
points += QPointF(-394.678657394273387, 387.006850647147644);
points += QPointF(-414.787606696514558, 388.135795504608552);
points += QPointF(-435.952026976937020, 389.076617984501581);
points += QPointF(-457.785958239726995, 389.818484035948188);
points += QPointF(-480.155299343825106, 390.367355935354340);
points += QPointF(-502.923072127811622, 390.728524359010180);
points += QPointF(-525.950383000425973, 390.906843496429246);
points += QPointF(-549.097086395700558, 390.906868034847378);
points += QPointF(-572.222272868468281, 390.732932110765603);
points += QPointF(-595.184660101380132, 390.389190982770685);
points += QPointF(-617.842942744172888, 389.879635420374768);
points += QPointF(-640.056148626075128, 389.208081776045162);
points += QPointF(-661.684051740050222, 388.378134611085102);
points += QPointF(-682.587707903001387, 387.393111203977753);
points += QPointF(-702.630213610816895, 386.255904969512756);
points += QPointF(-721.913933492959586, 384.952760768153212);
points += QPointF(-739.883081019170959, 383.510162372720174);
points += QPointF(-756.628370632600195, 381.913999891517676);
points += QPointF(-772.055707410166860, 380.156385631636169);
points += QPointF(-786.107417616341536, 378.217868080938274);
points += QPointF(-798.800506212061464, 376.051179682426266);
points += QPointF(-810.181063245406790, 373.562456117723798);
points += QPointF(-814.714960629921279, 372.254255263452592);
points += QPointF(-814.714960629921279, -46.738127408018386);
return points;
}
//---------------------------------------------------------------------------------------------------------------------
QVector<QPointF> Issue924SeamAllowanceTest5()
{
QVector<QPointF> points;
points += QPointF(-838.702607797801647, 360.520655492237381);
points += QPointF(-814.714960629921279, 331.313196850393751);
points += QPointF(-814.714960629921279, -46.738127408018386);
points += QPointF(-778.560274683193597, -50.549491761193529);
points += QPointF(-737.960891197081651, -56.790170478391879);
points += QPointF(-709.273784936183347, -62.545071142283753);
points += QPointF(-681.358329676571884, -69.772421317304676);
points += QPointF(-662.734996979773655, -76.086662659765864);
points += QPointF(-652.000013358218780, -80.530014885308333);
points += QPointF(-647.534742107878174, -82.700492263504771);
points += QPointF(-631.585239468780856, -90.995118061836052);
points += QPointF(-616.328020233970847, -100.594267156991847);
points += QPointF(-594.096383910663576, -115.972155307751649);
points += QPointF(-184.048650148745537, 76.198374399107223);
points += QPointF(-202.588712626694274, 128.531217087733864);
points += QPointF(-214.844352980142077, 166.709615345349164);
points += QPointF(-224.900721916665105, 202.786707734969326);
points += QPointF(-232.934347140993879, 237.080856834901624);
points += QPointF(-239.089037151700012, 269.817045957384835);
points += QPointF(-243.506611386394923, 301.230502874877175);
points += QPointF(-246.324245680472586, 331.565901059170528);
points += QPointF(-247.367542640672326, 354.406709505752815);
points += QPointF(-268.813396242720216, 365.986520876589054);
points += QPointF(-274.509592479190928, 368.544465142904016);
points += QPointF(-280.430827138279028, 370.738996867416517);
points += QPointF(-286.539948778692178, 372.651089393540587);
points += QPointF(-295.760523769485246, 375.070669023642552);
points += QPointF(-309.108660665237892, 377.812272271559323);
points += QPointF(-323.791841306461833, 380.189287868544909);
points += QPointF(-339.746492379944868, 382.263575885265993);
points += QPointF(-356.936262185776172, 384.077045039880318);
points += QPointF(-375.281527662442841, 385.653208859628023);
points += QPointF(-394.678657394273387, 387.006850647147644);
points += QPointF(-414.787606696514558, 388.135795504608552);
points += QPointF(-435.952026976937020, 389.076617984501581);
points += QPointF(-457.785958239726995, 389.818484035948188);
points += QPointF(-480.155299343825106, 390.367355935354340);
points += QPointF(-502.923072127811622, 390.728524359010180);
points += QPointF(-525.950383000425973, 390.906843496429246);
points += QPointF(-549.097086395700558, 390.906868034847378);
points += QPointF(-572.222272868468281, 390.732932110765603);
points += QPointF(-595.184660101380132, 390.389190982770685);
points += QPointF(-617.842942744172888, 389.879635420374768);
points += QPointF(-640.056148626075128, 389.208081776045162);
points += QPointF(-661.684051740050222, 388.378134611085102);
points += QPointF(-682.587707903001387, 387.393111203977753);
points += QPointF(-702.630213610816895, 386.255904969512756);
points += QPointF(-721.913933492959586, 384.952760768153212);
points += QPointF(-739.883081019170959, 383.510162372720174);
points += QPointF(-756.628370632600195, 381.913999891517676);
points += QPointF(-772.055707410166860, 380.156385631636169);
points += QPointF(-786.107417616341536, 378.217868080938274);
points += QPointF(-798.800506212061464, 376.051179682426266);
points += QPointF(-810.181063245406790, 373.562456117723798);
points += QPointF(-818.092955780502393, 371.279575916538420);
points += QPointF(-823.692975528084730, 369.271805550997954);
points += QPointF(-829.575336882823422, 366.626948794191208);
points += QPointF(-835.815139714856855, 362.892089667033019);
points += QPointF(-838.702607797801647, 360.520655492237381);
return points;
}
//---------------------------------------------------------------------------------------------------------------------
QVector<QPointF> Issue924SeamAllowanceTest6()
{
QVector<QPointF> points;
points += QPointF(-814.714960629921279, -46.738127408018386);
points += QPointF(-778.560274683193597, -50.549491761193529);
points += QPointF(-737.960891197081651, -56.790170478391879);
points += QPointF(-709.273784936183347, -62.545071142283753);
points += QPointF(-681.358329676571884, -69.772421317304676);
points += QPointF(-662.734996979773655, -76.086662659765864);
points += QPointF(-652.000013358218780, -80.530014885308333);
points += QPointF(-647.534742107878174, -82.700492263504771);
points += QPointF(-631.585239468780856, -90.995118061836052);
points += QPointF(-616.328020233970847, -100.594267156991847);
points += QPointF(-594.096383910663576, -115.972155307751649);
points += QPointF(-184.048650148745537, 76.198374399107223);
points += QPointF(-202.588712626694274, 128.531217087733864);
points += QPointF(-214.844352980142077, 166.709615345349164);
points += QPointF(-224.900721916665105, 202.786707734969326);
points += QPointF(-232.934347140993879, 237.080856834901624);
points += QPointF(-239.089037151700012, 269.817045957384835);
points += QPointF(-243.506611386394923, 301.230502874877175);
points += QPointF(-246.324245680472586, 331.565901059170528);
points += QPointF(-247.367542640672326, 354.406709505752815);
points += QPointF(-268.813396242720216, 365.986520876589054);
points += QPointF(-274.509592479190928, 368.544465142904016);
points += QPointF(-280.430827138279028, 370.738996867416517);
points += QPointF(-286.539948778692178, 372.651089393540587);
points += QPointF(-295.760523769485246, 375.070669023642552);
points += QPointF(-309.108660665237892, 377.812272271559323);
points += QPointF(-323.791841306461833, 380.189287868544909);
points += QPointF(-339.746492379944868, 382.263575885265993);
points += QPointF(-356.936262185776172, 384.077045039880318);
points += QPointF(-375.281527662442841, 385.653208859628023);
points += QPointF(-394.678657394273387, 387.006850647147644);
points += QPointF(-414.787606696514558, 388.135795504608552);
points += QPointF(-435.952026976937020, 389.076617984501581);
points += QPointF(-457.785958239726995, 389.818484035948188);
points += QPointF(-480.155299343825106, 390.367355935354340);
points += QPointF(-502.923072127811622, 390.728524359010180);
points += QPointF(-525.950383000425973, 390.906843496429246);
points += QPointF(-549.097086395700558, 390.906868034847378);
points += QPointF(-572.222272868468281, 390.732932110765603);
points += QPointF(-595.184660101380132, 390.389190982770685);
points += QPointF(-617.842942744172888, 389.879635420374768);
points += QPointF(-640.056148626075128, 389.208081776045162);
points += QPointF(-661.684051740050222, 388.378134611085102);
points += QPointF(-682.587707903001387, 387.393111203977753);
points += QPointF(-702.630213610816895, 386.255904969512756);
points += QPointF(-721.913933492959586, 384.952760768153212);
points += QPointF(-739.883081019170959, 383.510162372720174);
points += QPointF(-756.628370632600195, 381.913999891517676);
points += QPointF(-772.055707410166860, 380.156385631636169);
points += QPointF(-786.107417616341536, 378.217868080938274);
points += QPointF(-798.800506212061464, 376.051179682426266);
points += QPointF(-810.181063245406790, 373.562456117723798);
points += QPointF(-814.714960629921279, 372.254255263452592);
points += QPointF(-814.714960629921279, -46.738127408018386);
return points;
}
//---------------------------------------------------------------------------------------------------------------------
QVector<QPointF> Issue924SeamAllowanceTest1_1()
{
QVector<QPointF> points;
points += QPointF(-814.714960629921279, -46.738127408018386);
points += QPointF(-778.560274683193597, -50.549491761193529);
points += QPointF(-737.960891197081651, -56.790170478391879);
points += QPointF(-709.273784936183347, -62.545071142283753);
points += QPointF(-681.358329676571884, -69.772421317304676);
points += QPointF(-662.734996979773655, -76.086662659765864);
points += QPointF(-652.000013358218780, -80.530014885308333);
points += QPointF(-647.534742107878174, -82.700492263504771);
points += QPointF(-631.585239468780856, -90.995118061836052);
points += QPointF(-616.328020233970847, -100.594267156991847);
points += QPointF(-594.096383910663576, -115.972155307751649);
points += QPointF(-184.048650148745537, 76.198374399107223);
points += QPointF(-202.588712626694274, 128.531217087733864);
points += QPointF(-214.844352980142077, 166.709615345349164);
points += QPointF(-224.900721916665105, 202.786707734969326);
points += QPointF(-232.934347140993879, 237.080856834901624);
points += QPointF(-239.089037151700012, 269.817045957384835);
points += QPointF(-243.506611386394923, 301.230502874877175);
points += QPointF(-246.324245680472586, 331.565901059170528);
points += QPointF(-247.367542640672326, 354.406709505752815);
points += QPointF(-268.813396242720216, 365.986520876589054);
points += QPointF(-274.509592479190928, 368.544465142904016);
points += QPointF(-280.430827138279028, 370.738996867416517);
points += QPointF(-286.539948778692178, 372.651089393540587);
points += QPointF(-295.760523769485246, 375.070669023642552);
points += QPointF(-309.108660665237892, 377.812272271559323);
points += QPointF(-323.791841306461833, 380.189287868544909);
points += QPointF(-339.746492379944868, 382.263575885265993);
points += QPointF(-356.936262185776172, 384.077045039880318);
points += QPointF(-375.281527662442841, 385.653208859628023);
points += QPointF(-394.678657394273387, 387.006850647147644);
points += QPointF(-414.787606696514558, 388.135795504608552);
points += QPointF(-435.952026976937020, 389.076617984501581);
points += QPointF(-457.785958239726995, 389.818484035948188);
points += QPointF(-480.155299343825106, 390.367355935354340);
points += QPointF(-502.923072127811622, 390.728524359010180);
points += QPointF(-525.950383000425973, 390.906843496429246);
points += QPointF(-549.097086395700558, 390.906868034847378);
points += QPointF(-572.222272868468281, 390.732932110765603);
points += QPointF(-595.184660101380132, 390.389190982770685);
points += QPointF(-617.842942744172888, 389.879635420374768);
points += QPointF(-640.056148626075128, 389.208081776045162);
points += QPointF(-661.684051740050222, 388.378134611085102);
points += QPointF(-682.587707903001387, 387.393111203977753);
points += QPointF(-702.630213610816895, 386.255904969512756);
points += QPointF(-721.913933492959586, 384.952760768153212);
points += QPointF(-739.883081019170959, 383.510162372720174);
points += QPointF(-756.628370632600195, 381.913999891517676);
points += QPointF(-772.055707410166860, 380.156385631636169);
points += QPointF(-786.107417616341536, 378.217868080938274);
points += QPointF(-798.800506212061464, 376.051179682426266);
points += QPointF(-810.181063245406790, 373.562456117723798);
points += QPointF(-814.714960629921279, 372.254255263452592);
points += QPointF(-814.714960629921279, -46.738127408018386);
return points;
}
} // anonymous namespace
//---------------------------------------------------------------------------------------------------------------------
TST_VPiece::TST_VPiece(QObject *parent)
:AbstractTest(parent)
@ -528,109 +72,26 @@ void TST_VPiece::TestSAPassmark_data()
QTest::addColumn<QVector<QPointF>>("seamAllowance");
QTest::addColumn<QVector<QLineF>>("expectedResult");
VSAPoint nextSAPoint(-814.7149606299213, -8.844283464566928);
nextSAPoint.SetSABefore(0);
nextSAPoint.SetSAAfter(37.795275590551185);
auto ASSERT_TEST_CASE = [this](const char *title, const QString &passmarkData, const QString &seamAllowance,
const QString &shape)
{
VPiecePassmarkData inputPassmarkData;
AbstractTest::PassmarkDataFromJson(passmarkData, inputPassmarkData);
VSAPoint passmarkSAPoint(-814.7149606299213, 331.31319685039375);
passmarkSAPoint.SetSABefore(37.795275590551185);
passmarkSAPoint.SetSAAfter(0);
QVector<QPointF> inputSeamAllowance;
AbstractTest::VectorFromJson(seamAllowance, inputSeamAllowance);
VSAPoint previousSAPoint(-813.9961742743915, 331.90352529002166);
previousSAPoint.SetSABefore(37.795275590551185);
previousSAPoint.SetSAAfter(37.795275590551185);
previousSAPoint.SetAngleType(PieceNodeAngle::ByLengthCurve);
QVector<QLineF> inputOutputShape;
AbstractTest::PassmarkShapeFromJson(shape, inputOutputShape);
VPiecePassmarkData passmarkData;
passmarkData.previousSAPoint = previousSAPoint;
passmarkData.passmarkSAPoint = passmarkSAPoint;
passmarkData.nextSAPoint = nextSAPoint;
passmarkData.saWidth = 37.795275590551185;
passmarkData.nodeName = QStringLiteral("А4");
passmarkData.pieceName = QStringLiteral("Test 1");
passmarkData.passmarkLineType = PassmarkLineType::TMark;
passmarkData.passmarkAngleType = PassmarkAngleType::Bisector;
QVector<QLineF> lines = {QLineF(QPointF(-814.7149606299213, 372.2542552634526),
QPointF(-799.6132275149633, 360.8938692151714)),
QLineF(QPointF(-803.8733722830686, 355.23071929706197),
QPointF(-795.353082746858, 366.5570191332808))};
QTest::newRow(title) << inputPassmarkData << inputSeamAllowance << inputOutputShape;
};
// See file src/app/share/collection/bugs/Issue_#924.val
QTest::newRow("Test 1.") << passmarkData << Issue924SeamAllowanceTest1() << lines;
passmarkSAPoint.SetAngleType(PieceNodeAngle::ByPointsIntersection);
passmarkData.passmarkSAPoint = passmarkSAPoint;
passmarkData.pieceName = QStringLiteral("Test 2");
// See file src/app/share/collection/bugs/Issue_#924.val
QTest::newRow("Test 2.") << passmarkData << Issue924SeamAllowanceTest2() << lines;
passmarkSAPoint.SetAngleType(PieceNodeAngle::ByFirstEdgeSymmetry);
passmarkData.passmarkSAPoint = passmarkSAPoint;
passmarkData.pieceName = QStringLiteral("Test 3");
lines = {QLineF(QPointF(-862.6902549656833, 340.8199611008935),
QPointF(-844.3614525403156, 345.42166903309004)),
QLineF(QPointF(-842.6358120657416, 338.54836812357695),
QPointF(-846.0870930148895, 352.29496994260313))};
// See file src/app/share/collection/bugs/Issue_#924.val
QTest::newRow("Test 3.") << passmarkData << Issue924SeamAllowanceTest3() << lines;
passmarkSAPoint.SetAngleType(PieceNodeAngle::BySecondEdgeSymmetry);
passmarkData.passmarkSAPoint = passmarkSAPoint;
passmarkData.pieceName = QStringLiteral("Test 4");
lines = {QLineF(QPointF(-814.7149606299213, 372.2542552634526),
QPointF(-799.6132275149633, 360.8938692151714)),
QLineF(QPointF(-803.8733722830686, 355.23071929706197),
QPointF(-795.353082746858, 366.5570191332808))};
// See file src/app/share/collection/bugs/Issue_#924.val
QTest::newRow("Test 4.") << passmarkData << Issue924SeamAllowanceTest4() << lines;
passmarkSAPoint.SetAngleType(PieceNodeAngle::ByFirstEdgeRightAngle);
passmarkData.passmarkSAPoint = passmarkSAPoint;
passmarkData.pieceName = QStringLiteral("Test 5");
lines = {QLineF(QPointF(-838.7026077978016, 360.5206554922374),
QPointF(-821.3650156381559, 353.002104278923)),
QLineF(QPointF(-824.1844723431489, 346.50050721905575),
QPointF(-818.545558933163, 359.5037013387903))};
// See file src/app/share/collection/bugs/Issue_#924.val
QTest::newRow("Test 5.") << passmarkData << Issue924SeamAllowanceTest5() << lines;
passmarkSAPoint.SetAngleType(PieceNodeAngle::BySecondEdgeRightAngle);
passmarkData.passmarkSAPoint = passmarkSAPoint;
passmarkData.pieceName = QStringLiteral("Test 6");
lines = {QLineF(QPointF(-814.7149606299213, 372.2542552634526),
QPointF(-799.6132275149633, 360.8938692151714)),
QLineF(QPointF(-803.8733722830686, 355.23071929706197),
QPointF(-795.353082746858, 366.5570191332808))};
// See file src/app/share/collection/bugs/Issue_#924.val
QTest::newRow("Test 6.") << passmarkData << Issue924SeamAllowanceTest6() << lines;
passmarkSAPoint.SetAngleType(PieceNodeAngle::ByLength);
passmarkData.passmarkSAPoint = passmarkSAPoint;
passmarkData.pieceName = QStringLiteral("Test 1.1");
lines = {QLineF(QPointF(-814.7149606299213, 372.2542552634526),
QPointF(-799.6132275149633, 360.8938692151714)),
QLineF(QPointF(-803.8733722830686, 355.23071929706197),
QPointF(-795.353082746858, 366.5570191332808))};
// See file src/app/share/collection/bugs/Issue_#924.val
QTest::newRow("Test 1.1.") << passmarkData << Issue924SeamAllowanceTest1_1() << lines;
ASSERT_TEST_CASE("Test 1.",
QStringLiteral("://Issue_924_Test_1/passmarkData.json"),
QStringLiteral("://Issue_924_Test_1/seamAllowance.json"),
QStringLiteral("://Issue_924_Test_1/passmarkShape.json"));
}
//---------------------------------------------------------------------------------------------------------------------