diff --git a/src/app/share/collection/bugs/Issue_#686.val b/src/app/share/collection/bugs/Issue_#686.val
deleted file mode 100644
index 8b7c1ac78..000000000
--- a/src/app/share/collection/bugs/Issue_#686.val
+++ /dev/null
@@ -1,333 +0,0 @@
-
-
-
- 0.4.8
- cm
- Marleen
- Rok Desert Woman
-
- Desert Woman
-
- De Naaitafel
- Linda Estelle
-
- false
- true
- Issue_#686.vit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 180
- 182
- 184
- 186
- 188
- 190
- 192
- 194
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 226
- 228
- 230
- 232
- 234
- 236
- 238
- 240
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/app/share/collection/bugs/Issue_#686.vit b/src/app/share/collection/bugs/Issue_#686.vit
deleted file mode 100644
index f76e014c4..000000000
--- a/src/app/share/collection/bugs/Issue_#686.vit
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
-
- 0.3.3
- false
-
- cm
- 998
-
-
-
- 1800-01-01
- unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/app/share/collection/bugs/Issue_#937_case5.val b/src/app/share/collection/bugs/Issue_#937_case5.val
new file mode 100644
index 000000000..240872938
--- /dev/null
+++ b/src/app/share/collection/bugs/Issue_#937_case5.val
@@ -0,0 +1,58 @@
+
+
+
+ 0.8.5
+ cm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/libs/vlayout/vabstractpiece.h b/src/libs/vlayout/vabstractpiece.h
index 17f3882db..16d37b03a 100644
--- a/src/libs/vlayout/vabstractpiece.h
+++ b/src/libs/vlayout/vabstractpiece.h
@@ -138,6 +138,7 @@ Q_DECLARE_TYPEINFO(VAbstractPiece, Q_MOVABLE_TYPE);
template
QVector VAbstractPiece::CorrectEquidistantPoints(const QVector &points, bool removeFirstAndLast)
{
+// DumpVector(points, QStringLiteral("input.json.XXXXXX")); // Uncomment for dumping test data
if (points.size()<4)//Better don't check if only three points. We can destroy equidistant.
{
qDebug()<<"Only three points.";
@@ -211,6 +212,7 @@ QVector VAbstractPiece::CorrectEquidistantPoints(const QVector &points, bo
buf2 = RemoveDublicates(buf2, false);
+// DumpVector(buf2, QStringLiteral("output.json.XXXXXX")); // Uncomment for dumping test data
return buf2;
}
diff --git a/src/test/ValentinaTest/share/Issue_298_case1/input.json b/src/test/ValentinaTest/share/Issue_298_case1/input.json
new file mode 100644
index 000000000..314f4782b
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_298_case1/input.json
@@ -0,0 +1,161 @@
+{
+ "vector": [
+ {
+ "type": "VSAPoint",
+ "x": 1168.8582803149607,
+ "y": 39.999874015748034
+ },
+ {
+ "type": "VSAPoint",
+ "x": 1168.8582803149607,
+ "y": 39.999874015748034
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1158.4080212626877,
+ "y": 52.34979612030506
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1138.6467679457483,
+ "y": 77.34433043475516
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1120.211621843451,
+ "y": 102.68135735665871
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1103.0570156997037,
+ "y": 128.3485040871826
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1087.1373822584126,
+ "y": 154.33339782749366
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1072.4071542634842,
+ "y": 180.62366577875878
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1058.8207644588258,
+ "y": 207.20693514214486
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1046.3326455883434,
+ "y": 234.07083311881877
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1034.8972303959442,
+ "y": 261.2029869099473
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1024.4689516255348,
+ "y": 288.5910237166974
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1015.0022420210217,
+ "y": 316.22257074023594
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1006.451534326312,
+ "y": 344.08525518172974
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 998.7712612853122,
+ "y": 372.16670424234576
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 991.9158556419289,
+ "y": 400.4545451232507
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 982.9908265175081,
+ "y": 443.2242931323019
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 973.6824125433218,
+ "y": 500.88985222984854
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 966.8532575499223,
+ "y": 559.1582682295549
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 962.1388234885637,
+ "y": 617.9305587407562
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 959.1745723104998,
+ "y": 677.107741372787
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 957.5959659669836,
+ "y": 736.5908337349825
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 957.0384664092692,
+ "y": 796.2808534366778
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 957.3056451064515,
+ "y": 885.992413850848
+ },
+ {
+ "type": "VSAPoint",
+ "x": 957.688768266514,
+ "y": 942.023249737111
+ },
+ {
+ "type": "VSAPoint",
+ "x": 957.688768266514,
+ "y": 942.023249737111
+ },
+ {
+ "type": "VSAPoint",
+ "x": 496.34439043247056,
+ "y": 491.011561876428
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_298_case1/output.json b/src/test/ValentinaTest/share/Issue_298_case1/output.json
new file mode 100644
index 000000000..72e1bf699
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_298_case1/output.json
@@ -0,0 +1,119 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": 1180.7645816208317,
+ "y": -59.00020617354858
+ },
+ {
+ "type": "QPointF",
+ "x": 1268.5261798074241,
+ "y": 36.985624683836306
+ },
+ {
+ "type": "QPointF",
+ "x": 1198.6315176611236,
+ "y": 123.3824303963401
+ },
+ {
+ "type": "QPointF",
+ "x": 1182.221067861894,
+ "y": 145.9367408453258
+ },
+ {
+ "type": "QPointF",
+ "x": 1166.7329413673538,
+ "y": 169.11045943642068
+ },
+ {
+ "type": "QPointF",
+ "x": 1152.3625684065119,
+ "y": 192.56656574522466
+ },
+ {
+ "type": "QPointF",
+ "x": 1139.0585460343918,
+ "y": 216.3113654260635
+ },
+ {
+ "type": "QPointF",
+ "x": 1126.7720261028358,
+ "y": 240.35129609014484
+ },
+ {
+ "type": "QPointF",
+ "x": 1115.456677001793,
+ "y": 264.6923827640837
+ },
+ {
+ "type": "QPointF",
+ "x": 1105.0685270464996,
+ "y": 289.3397503891491
+ },
+ {
+ "type": "QPointF",
+ "x": 1087.0967248081818,
+ "y": 339.01660238029643
+ },
+ {
+ "type": "QPointF",
+ "x": 1071.8380647362535,
+ "y": 391.6093895955013
+ },
+ {
+ "type": "QPointF",
+ "x": 1065.6650892202777,
+ "y": 417.08128115689766
+ },
+ {
+ "type": "QPointF",
+ "x": 1057.3401968224273,
+ "y": 456.97510616238503
+ },
+ {
+ "type": "QPointF",
+ "x": 1048.5682451589698,
+ "y": 511.3172850182788
+ },
+ {
+ "type": "QPointF",
+ "x": 1042.0910863010336,
+ "y": 566.5823635228949
+ },
+ {
+ "type": "QPointF",
+ "x": 1037.5780007657413,
+ "y": 622.8445512489122
+ },
+ {
+ "type": "QPointF",
+ "x": 1034.7149371280923,
+ "y": 680.0016643255938
+ },
+ {
+ "type": "QPointF",
+ "x": 1033.186970183775,
+ "y": 737.5766254604655
+ },
+ {
+ "type": "QPointF",
+ "x": 1033.3019942565527,
+ "y": 992.2004148353342
+ },
+ {
+ "type": "QPointF",
+ "x": 940.7514707625118,
+ "y": 1031.1761285194366
+ },
+ {
+ "type": "QPointF",
+ "x": 376.98902117953776,
+ "y": 480.04021757016505
+ },
+ {
+ "type": "QPointF",
+ "x": 1180.7645816208317,
+ "y": -59.00020617354858
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_298_case2/input.json b/src/test/ValentinaTest/share/Issue_298_case2/input.json
new file mode 100644
index 000000000..fb75579ee
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_298_case2/input.json
@@ -0,0 +1,178 @@
+{
+ "vector": [
+ {
+ "type": "VSAPoint",
+ "x": 35.0000125984252,
+ "y": 39.999874015748034
+ },
+ {
+ "type": "VSAPoint",
+ "x": 957.688768266514,
+ "y": 942.023249737111
+ },
+ {
+ "type": "VSAPoint",
+ "x": 957.688768266514,
+ "y": 942.023249737111
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 957.9428301208773,
+ "y": 1005.4262286032558
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 956.808738701602,
+ "y": 1094.3704783643723
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 954.7225808350249,
+ "y": 1153.2234318990995
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 951.1057634130252,
+ "y": 1211.5904360386712
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 945.5937483868565,
+ "y": 1269.3725083924223
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 937.8219977077727,
+ "y": 1326.4706665696876
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 930.2003883425905,
+ "y": 1368.7591370124287
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 924.2779568426622,
+ "y": 1396.7024844774487
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 917.5855387770855,
+ "y": 1424.4191758035984
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 910.0775668897668,
+ "y": 1451.896838192044
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 901.7084739246127,
+ "y": 1479.1230988439531
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 892.4326926255303,
+ "y": 1506.0855849604923
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 882.2046557364258,
+ "y": 1532.7719237428282
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 870.9787960012063,
+ "y": 1559.1697423921285
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 858.7095461637784,
+ "y": 1585.266668109559
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 845.3513389680488,
+ "y": 1611.0503280962876
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 830.8586071579242,
+ "y": 1636.5083495534805
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 815.1857834773112,
+ "y": 1661.6283596823046
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 798.2873006701168,
+ "y": 1686.397985683927
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 780.1175914802475,
+ "y": 1710.8048547595142
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 760.6310886516098,
+ "y": 1734.8365941102336
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 739.7822249281108,
+ "y": 1758.4808309372515
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 717.5254330536571,
+ "y": 1781.725192441735
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 693.8151457721555,
+ "y": 1804.5573058248515
+ },
+ {
+ "type": "VSAPoint",
+ "x": 681.3372913240995,
+ "y": 1815.7969526662778
+ },
+ {
+ "type": "VSAPoint",
+ "x": 681.3372913240995,
+ "y": 1815.7969526662778
+ },
+ {
+ "type": "VSAPoint",
+ "x": 35.0000125984252,
+ "y": 39.999874015748034
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_298_case2/output.json b/src/test/ValentinaTest/share/Issue_298_case2/output.json
new file mode 100644
index 000000000..3dc005fe2
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_298_case2/output.json
@@ -0,0 +1,134 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": -10.830702765714818,
+ "y": 24.587011512350955
+ },
+ {
+ "type": "QPointF",
+ "x": 39.855615789834275,
+ "y": -8.108689868294974
+ },
+ {
+ "type": "QPointF",
+ "x": 995.4203583783104,
+ "y": 926.0543521489114
+ },
+ {
+ "type": "QPointF",
+ "x": 995.7390712145076,
+ "y": 1005.5914525468322
+ },
+ {
+ "type": "QPointF",
+ "x": 994.5954771294847,
+ "y": 1095.2809750974982
+ },
+ {
+ "type": "QPointF",
+ "x": 992.4764226198034,
+ "y": 1155.061981412451
+ },
+ {
+ "type": "QPointF",
+ "x": 988.7898546287646,
+ "y": 1214.554597181484
+ },
+ {
+ "type": "QPointF",
+ "x": 983.1461162030054,
+ "y": 1273.7175168242372
+ },
+ {
+ "type": "QPointF",
+ "x": 975.1622593873819,
+ "y": 1332.3739943859748
+ },
+ {
+ "type": "QPointF",
+ "x": 967.246993147904,
+ "y": 1376.2918188737676
+ },
+ {
+ "type": "QPointF",
+ "x": 954.1969554769964,
+ "y": 1433.8720222061304
+ },
+ {
+ "type": "QPointF",
+ "x": 937.748408749537,
+ "y": 1490.5449679089675
+ },
+ {
+ "type": "QPointF",
+ "x": 927.9590662522897,
+ "y": 1519.0002540634812
+ },
+ {
+ "type": "QPointF",
+ "x": 917.2525136214659,
+ "y": 1546.9351054719114
+ },
+ {
+ "type": "QPointF",
+ "x": 905.4832013554212,
+ "y": 1574.6108628886288
+ },
+ {
+ "type": "QPointF",
+ "x": 892.6034200213376,
+ "y": 1602.0064006098492
+ },
+ {
+ "type": "QPointF",
+ "x": 878.5666407075367,
+ "y": 1629.0998226411741
+ },
+ {
+ "type": "QPointF",
+ "x": 863.3276693496916,
+ "y": 1655.8686930581748
+ },
+ {
+ "type": "QPointF",
+ "x": 846.8427441486504,
+ "y": 1682.2903192093897
+ },
+ {
+ "type": "QPointF",
+ "x": 829.0695617338297,
+ "y": 1708.3420710912978
+ },
+ {
+ "type": "QPointF",
+ "x": 809.967223824731,
+ "y": 1734.001714595386
+ },
+ {
+ "type": "QPointF",
+ "x": 789.4961040754649,
+ "y": 1759.2477332554781
+ },
+ {
+ "type": "QPointF",
+ "x": 767.6176433472375,
+ "y": 1784.0596133526062
+ },
+ {
+ "type": "QPointF",
+ "x": 744.1470166223174,
+ "y": 1808.5716695109345
+ },
+ {
+ "type": "QPointF",
+ "x": 665.453604718184,
+ "y": 1882.66287545586
+ },
+ {
+ "type": "QPointF",
+ "x": -10.830702765714818,
+ "y": 24.587011512350955
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_548/input.json b/src/test/ValentinaTest/share/Issue_548/input.json
new file mode 100644
index 000000000..4ec605d8c
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_548/input.json
@@ -0,0 +1,44 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": 91.92618851342023,
+ "y": -5.2995763213857
+ },
+ {
+ "type": "QPointF",
+ "x": 251.31850377736984,
+ "y": 59.482821054254934
+ },
+ {
+ "type": "QPointF",
+ "x": 243.98034017738885,
+ "y": 79.95720760961254
+ },
+ {
+ "type": "QPointF",
+ "x": 255.8206282595089,
+ "y": 61.31263585275079
+ },
+ {
+ "type": "QPointF",
+ "x": 348.4782707269195,
+ "y": 98.97181787964888
+ },
+ {
+ "type": "QPointF",
+ "x": 29.78045942584839,
+ "y": 314.5929172205191
+ },
+ {
+ "type": "QPointF",
+ "x": 17.016714467558195,
+ "y": 305.7450353602103
+ },
+ {
+ "type": "QPointF",
+ "x": 91.92618851342023,
+ "y": -5.2995763213857
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_548/output.json b/src/test/ValentinaTest/share/Issue_548/output.json
new file mode 100644
index 000000000..4ec605d8c
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_548/output.json
@@ -0,0 +1,44 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": 91.92618851342023,
+ "y": -5.2995763213857
+ },
+ {
+ "type": "QPointF",
+ "x": 251.31850377736984,
+ "y": 59.482821054254934
+ },
+ {
+ "type": "QPointF",
+ "x": 243.98034017738885,
+ "y": 79.95720760961254
+ },
+ {
+ "type": "QPointF",
+ "x": 255.8206282595089,
+ "y": 61.31263585275079
+ },
+ {
+ "type": "QPointF",
+ "x": 348.4782707269195,
+ "y": 98.97181787964888
+ },
+ {
+ "type": "QPointF",
+ "x": 29.78045942584839,
+ "y": 314.5929172205191
+ },
+ {
+ "type": "QPointF",
+ "x": 17.016714467558195,
+ "y": 305.7450353602103
+ },
+ {
+ "type": "QPointF",
+ "x": 91.92618851342023,
+ "y": -5.2995763213857
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_642/input.json b/src/test/ValentinaTest/share/Issue_642/input.json
new file mode 100644
index 000000000..a9e0f6599
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_642/input.json
@@ -0,0 +1,264 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": 2555.3185623162503,
+ "y": 1775.3963972608776
+ },
+ {
+ "type": "QPointF",
+ "x": 2533.485416834573,
+ "y": 1654.1970986177237
+ },
+ {
+ "type": "QPointF",
+ "x": 2498.6589620048717,
+ "y": 1457.4369430236284
+ },
+ {
+ "type": "QPointF",
+ "x": 2478.9502501623283,
+ "y": 1339.0537050866465
+ },
+ {
+ "type": "QPointF",
+ "x": 2468.198412467624,
+ "y": 1269.3211256852178
+ },
+ {
+ "type": "QPointF",
+ "x": 2459.2918314042313,
+ "y": 1205.5356546975836
+ },
+ {
+ "type": "QPointF",
+ "x": 2452.0429036677815,
+ "y": 1145.896263264704
+ },
+ {
+ "type": "QPointF",
+ "x": 2446.2640259539075,
+ "y": 1088.6019225275395
+ },
+ {
+ "type": "QPointF",
+ "x": 2441.7675949582394,
+ "y": 1031.8516036270512
+ },
+ {
+ "type": "QPointF",
+ "x": 2438.3660073764086,
+ "y": 973.8442777041994
+ },
+ {
+ "type": "QPointF",
+ "x": 2435.871659904048,
+ "y": 912.7789158999444
+ },
+ {
+ "type": "QPointF",
+ "x": 2433.366052691387,
+ "y": 812.4523812904079
+ },
+ {
+ "type": "QPointF",
+ "x": 2431.5695587510604,
+ "y": 650.3610960850071
+ },
+ {
+ "type": "QPointF",
+ "x": 2430.8388882820395,
+ "y": 551.3113535235193
+ },
+ {
+ "type": "QPointF",
+ "x": 2430.8388882820395,
+ "y": 551.3113535235193
+ },
+ {
+ "type": "QPointF",
+ "x": 2521.617659898581,
+ "y": 672.6447005214233
+ },
+ {
+ "type": "QPointF",
+ "x": 2521.617645446039,
+ "y": 672.644681204402
+ },
+ {
+ "type": "QPointF",
+ "x": 2528.097570000204,
+ "y": 681.0127553027713
+ },
+ {
+ "type": "QPointF",
+ "x": 2542.288881350501,
+ "y": 696.5143403897457
+ },
+ {
+ "type": "QPointF",
+ "x": 2557.840862501082,
+ "y": 710.4649380333509
+ },
+ {
+ "type": "QPointF",
+ "x": 2574.6234191296403,
+ "y": 722.7873129984191
+ },
+ {
+ "type": "QPointF",
+ "x": 2592.5064569138685,
+ "y": 733.4042300497816
+ },
+ {
+ "type": "QPointF",
+ "x": 2611.359881531459,
+ "y": 742.2384539522702
+ },
+ {
+ "type": "QPointF",
+ "x": 2631.0535986601044,
+ "y": 749.2127494707163
+ },
+ {
+ "type": "QPointF",
+ "x": 2651.457513977499,
+ "y": 754.2498813699515
+ },
+ {
+ "type": "QPointF",
+ "x": 2661.906602177309,
+ "y": 755.9323325983764
+ },
+ {
+ "type": "QPointF",
+ "x": 2669.4674223109832,
+ "y": 756.929551265488
+ },
+ {
+ "type": "QPointF",
+ "x": 2684.6734555828325,
+ "y": 758.0191371470853
+ },
+ {
+ "type": "QPointF",
+ "x": 2692.2992125984256,
+ "y": 758.1101102362205
+ },
+ {
+ "type": "QPointF",
+ "x": 2692.2992125984256,
+ "y": 758.1101102362205
+ },
+ {
+ "type": "QPointF",
+ "x": 2692.2992125984256,
+ "y": 758.1101102362204
+ },
+ {
+ "type": "QPointF",
+ "x": 2699.354023450933,
+ "y": 757.9931392559722
+ },
+ {
+ "type": "QPointF",
+ "x": 2713.2964524768695,
+ "y": 756.608786703359
+ },
+ {
+ "type": "QPointF",
+ "x": 2726.9543839401804,
+ "y": 753.8786800188634
+ },
+ {
+ "type": "QPointF",
+ "x": 2740.234633010051,
+ "y": 749.8414176232163
+ },
+ {
+ "type": "QPointF",
+ "x": 2753.0440148556654,
+ "y": 744.5355979371484
+ },
+ {
+ "type": "QPointF",
+ "x": 2765.2893446462094,
+ "y": 737.9998193813906
+ },
+ {
+ "type": "QPointF",
+ "x": 2776.8774375508683,
+ "y": 730.2726803766734
+ },
+ {
+ "type": "QPointF",
+ "x": 2787.7151087388283,
+ "y": 721.3927793437276
+ },
+ {
+ "type": "QPointF",
+ "x": 2792.786324305961,
+ "y": 716.486985723267
+ },
+ {
+ "type": "QPointF",
+ "x": 2795.1934418373985,
+ "y": 714.0407970608541
+ },
+ {
+ "type": "QPointF",
+ "x": 2797.520564686708,
+ "y": 711.5183868986292
+ },
+ {
+ "type": "QPointF",
+ "x": 2797.55905511811,
+ "y": 711.5533198039858
+ },
+ {
+ "type": "QPointF",
+ "x": 2797.55905511811,
+ "y": 711.5533198039858
+ },
+ {
+ "type": "QPointF",
+ "x": 2797.565477459869,
+ "y": 778.3077483501366
+ },
+ {
+ "type": "QPointF",
+ "x": 2798.0441679430687,
+ "y": 888.600497760094
+ },
+ {
+ "type": "QPointF",
+ "x": 2799.8047936736652,
+ "y": 981.4929110797046
+ },
+ {
+ "type": "QPointF",
+ "x": 2803.650599415853,
+ "y": 1068.6060917850425
+ },
+ {
+ "type": "QPointF",
+ "x": 2810.3848299338274,
+ "y": 1161.5611433521817
+ },
+ {
+ "type": "QPointF",
+ "x": 2820.8107299917833,
+ "y": 1271.9791692571957
+ },
+ {
+ "type": "QPointF",
+ "x": 2844.4160857065513,
+ "y": 1489.955982223637
+ },
+ {
+ "type": "QPointF",
+ "x": 2868.568787564737,
+ "y": 1703.110606497342
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_642/output.json b/src/test/ValentinaTest/share/Issue_642/output.json
new file mode 100644
index 000000000..35512b799
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_642/output.json
@@ -0,0 +1,189 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": 2555.3185623162503,
+ "y": 1775.3963972608776
+ },
+ {
+ "type": "QPointF",
+ "x": 2498.6589620048717,
+ "y": 1457.4369430236284
+ },
+ {
+ "type": "QPointF",
+ "x": 2478.9502501623283,
+ "y": 1339.0537050866465
+ },
+ {
+ "type": "QPointF",
+ "x": 2468.198412467624,
+ "y": 1269.3211256852178
+ },
+ {
+ "type": "QPointF",
+ "x": 2459.2918314042313,
+ "y": 1205.5356546975836
+ },
+ {
+ "type": "QPointF",
+ "x": 2452.0429036677815,
+ "y": 1145.896263264704
+ },
+ {
+ "type": "QPointF",
+ "x": 2446.2640259539075,
+ "y": 1088.6019225275395
+ },
+ {
+ "type": "QPointF",
+ "x": 2441.7675949582394,
+ "y": 1031.8516036270512
+ },
+ {
+ "type": "QPointF",
+ "x": 2438.3660073764086,
+ "y": 973.8442777041994
+ },
+ {
+ "type": "QPointF",
+ "x": 2435.871659904048,
+ "y": 912.7789158999444
+ },
+ {
+ "type": "QPointF",
+ "x": 2433.366052691387,
+ "y": 812.4523812904079
+ },
+ {
+ "type": "QPointF",
+ "x": 2430.8388882820395,
+ "y": 551.3113535235193
+ },
+ {
+ "type": "QPointF",
+ "x": 2528.097570000204,
+ "y": 681.0127553027713
+ },
+ {
+ "type": "QPointF",
+ "x": 2542.288881350501,
+ "y": 696.5143403897457
+ },
+ {
+ "type": "QPointF",
+ "x": 2557.840862501082,
+ "y": 710.4649380333509
+ },
+ {
+ "type": "QPointF",
+ "x": 2574.6234191296403,
+ "y": 722.7873129984191
+ },
+ {
+ "type": "QPointF",
+ "x": 2592.5064569138685,
+ "y": 733.4042300497816
+ },
+ {
+ "type": "QPointF",
+ "x": 2611.359881531459,
+ "y": 742.2384539522702
+ },
+ {
+ "type": "QPointF",
+ "x": 2631.0535986601044,
+ "y": 749.2127494707163
+ },
+ {
+ "type": "QPointF",
+ "x": 2651.457513977499,
+ "y": 754.2498813699515
+ },
+ {
+ "type": "QPointF",
+ "x": 2669.4674223109832,
+ "y": 756.929551265488
+ },
+ {
+ "type": "QPointF",
+ "x": 2699.354023450933,
+ "y": 757.9931392559722
+ },
+ {
+ "type": "QPointF",
+ "x": 2713.2964524768695,
+ "y": 756.608786703359
+ },
+ {
+ "type": "QPointF",
+ "x": 2726.9543839401804,
+ "y": 753.8786800188634
+ },
+ {
+ "type": "QPointF",
+ "x": 2740.234633010051,
+ "y": 749.8414176232163
+ },
+ {
+ "type": "QPointF",
+ "x": 2753.0440148556654,
+ "y": 744.5355979371484
+ },
+ {
+ "type": "QPointF",
+ "x": 2765.2893446462094,
+ "y": 737.9998193813906
+ },
+ {
+ "type": "QPointF",
+ "x": 2776.8774375508683,
+ "y": 730.2726803766734
+ },
+ {
+ "type": "QPointF",
+ "x": 2797.520564686708,
+ "y": 711.5183868986292
+ },
+ {
+ "type": "QPointF",
+ "x": 2798.0441679430687,
+ "y": 888.600497760094
+ },
+ {
+ "type": "QPointF",
+ "x": 2799.8047936736652,
+ "y": 981.4929110797046
+ },
+ {
+ "type": "QPointF",
+ "x": 2803.650599415853,
+ "y": 1068.6060917850425
+ },
+ {
+ "type": "QPointF",
+ "x": 2810.3848299338274,
+ "y": 1161.5611433521817
+ },
+ {
+ "type": "QPointF",
+ "x": 2820.8107299917833,
+ "y": 1271.9791692571957
+ },
+ {
+ "type": "QPointF",
+ "x": 2844.4160857065513,
+ "y": 1489.955982223637
+ },
+ {
+ "type": "QPointF",
+ "x": 2868.568787564737,
+ "y": 1703.110606497342
+ },
+ {
+ "type": "QPointF",
+ "x": 2555.3185623162503,
+ "y": 1775.3963972608776
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_646/input.json b/src/test/ValentinaTest/share/Issue_646/input.json
new file mode 100644
index 000000000..96810db6d
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_646/input.json
@@ -0,0 +1,756 @@
+{
+ "vector": [
+ {
+ "type": "VSAPoint",
+ "x": 1352.8346456692914,
+ "y": 1173.8581417322835
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 1352.8346456692914,
+ "y": 1362.8345196850394
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 1352.8346456692914,
+ "y": 1362.8345196850394
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 1350.6660166205588,
+ "y": 1367.7550606147208
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 1344.6776732217286,
+ "y": 1376.7202577023593
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 1336.7920071638646,
+ "y": 1384.6921570699324
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 1327.102329227638,
+ "y": 1391.7349409463345
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 1315.7019501937195,
+ "y": 1397.9127915604581
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 1302.6841808427803,
+ "y": 1403.289891141198
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 1288.142331955491,
+ "y": 1407.930421917447
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 1272.169714312523,
+ "y": 1411.8985661180982
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 1245.881900239392,
+ "y": 1416.7944475909562
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 1206.4717817874364,
+ "y": 1421.4666032853988
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 1163.0181823648445,
+ "y": 1424.6044927975377
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 1116.2675882169847,
+ "y": 1426.7215739585208
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 1041.771617936041,
+ "y": 1429.0735145188771
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 963.6986998754783,
+ "y": 1432.082545646023
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 911.2249892802281,
+ "y": 1435.25097171387
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 859.186715186551,
+ "y": 1439.9658785863046
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 808.3303638398154,
+ "y": 1446.7407240944754
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 771.4905538168089,
+ "y": 1453.5750227393632
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 747.6486510586797,
+ "y": 1458.9887661869527
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 724.5221275003055,
+ "y": 1465.2063143234973
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 702.2042939223572,
+ "y": 1472.2918493778907
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 691.4173228346457,
+ "y": 1476.2203464566928
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 691.4173228346457,
+ "y": 1476.2203464566928
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 691.4173228346457,
+ "y": 1476.2203464566928
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 674.314621551016,
+ "y": 1482.390491353628
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 639.4466353664043,
+ "y": 1492.6483289419746
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 603.7620983221955,
+ "y": 1500.410735703404
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 567.2371765086411,
+ "y": 1505.6816136598163
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 529.8480360159926,
+ "y": 1508.4648648331117
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 491.5708429345011,
+ "y": 1508.7643912451913
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 452.3817633544179,
+ "y": 1506.5840949179556
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 412.2569633659944,
+ "y": 1501.9278778733042
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 371.1726090594818,
+ "y": 1494.7996421331377
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 329.10486652513146,
+ "y": 1485.2032897193571
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 286.0299018531947,
+ "y": 1473.1427226538626
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 241.92388113392275,
+ "y": 1458.6218429585542
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 196.762970457567,
+ "y": 1441.644552655333
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 150.52333591437866,
+ "y": 1422.2147537660987
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 103.18114359460913,
+ "y": 1400.3363483127525
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 54.712559588509635,
+ "y": 1376.013238317194
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 1362.8345196850394
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 1362.8345196850394
+ },
+ {
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 1173.8581417322835
+ },
+ {
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 39.999874015748034
+ },
+ {
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 39.999874015748034
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 33.76305151898726,
+ "y": 60.995030973282226
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 43.0315825387278,
+ "y": 101.39020424935029
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 54.27954844568175,
+ "y": 139.90490371803747
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 67.38308402773156,
+ "y": 176.57656822314317
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 82.21832407275966,
+ "y": 211.44263660846684
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 98.66140336864854,
+ "y": 244.5405477178079
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 116.58845670328057,
+ "y": 275.9077403949657
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 135.87561886453827,
+ "y": 305.58165348373984
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 156.39902464030405,
+ "y": 333.59972582792955
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 178.03480881846033,
+ "y": 359.9993962713345
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 200.65910618688957,
+ "y": 384.8181036577539
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 224.1480515334743,
+ "y": 408.0932868309873
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 248.37777964609688,
+ "y": 429.8623846348342
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 273.2244253126397,
+ "y": 450.1628359130938
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 298.5641233209853,
+ "y": 469.03207950956573
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 324.27300845901607,
+ "y": 486.50755426804926
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 350.2272155146145,
+ "y": 502.62669903234394
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 376.30287927566303,
+ "y": 517.4269526462492
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 402.37613453004406,
+ "y": 530.9457539535643
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 428.3231160656401,
+ "y": 543.220541798089
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 454.0199586703335,
+ "y": 554.2887550236226
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 479.34279713200675,
+ "y": 564.1878324739644
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 504.1677662385423,
+ "y": 572.9552129929136
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 528.3710007778225,
+ "y": 580.6283354242702
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 563.3555698213261,
+ "y": 590.2932652501413
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 606.5452489509445,
+ "y": 599.5232277128903
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 645.018415993426,
+ "y": 605.0500570136577
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 677.7841492518301,
+ "y": 607.1732639028387
+ },
+ {
+ "type": "VSAPoint",
+ "x": 691.4173228346472,
+ "y": 606.9290078739998
+ },
+ {
+ "type": "VSAPoint",
+ "x": 691.4173228346472,
+ "y": 606.9290078739998
+ },
+ {
+ "type": "VSAPoint",
+ "x": 691.4173228346472,
+ "y": 606.9290078739998
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 705.4040324293001,
+ "y": 606.5537669203095
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 733.313887957579,
+ "y": 607.2856128814886
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 761.113422978073,
+ "y": 609.7421003245712
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 788.7648106968343,
+ "y": 613.8630604047041
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 816.2302243199158,
+ "y": 619.5883242770342
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 843.4718370533695,
+ "y": 626.8577230967081
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 870.4518221032482,
+ "y": 635.6110880188726
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 897.1323526756041,
+ "y": 645.7882501986744
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 923.4756019764898,
+ "y": 657.3290407912602
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 949.4437432119576,
+ "y": 670.1732909517772
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 974.99894958806,
+ "y": 684.2608318353717
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1000.1033943108496,
+ "y": 699.5314945971908
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1024.7192505863786,
+ "y": 715.9251103923807
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1048.8086916206998,
+ "y": 733.381510376089
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1072.333890619865,
+ "y": 751.8405257034619
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1095.257020789927,
+ "y": 771.2419875296464
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1117.5402553369386,
+ "y": 791.5257270097891
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1139.1457674669518,
+ "y": 812.6315752990367
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1160.0357303860196,
+ "y": 834.4993635525362
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1180.1723173001938,
+ "y": 857.0689229254342
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1199.517701415527,
+ "y": 880.2800845728777
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1218.0340559380716,
+ "y": 904.0726796500132
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1235.6835540738803,
+ "y": 928.3865393119877
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1252.4283690290056,
+ "y": 953.1614947139476
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1268.2306740094996,
+ "y": 978.3373770110402
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1283.0526422214152,
+ "y": 1003.8540173584116
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1296.8564468708046,
+ "y": 1029.651246911209
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1309.60426116372,
+ "y": 1055.6688968245794
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1321.258258306214,
+ "y": 1081.846798253669
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1331.780611504339,
+ "y": 1108.1247823536248
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1341.1334939641479,
+ "y": 1134.4426802795938
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1349.2790788916927,
+ "y": 1160.7403231867224
+ },
+ {
+ "type": "VSAPoint",
+ "x": 1352.8346456692914,
+ "y": 1173.8581417322835
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_646/output.json b/src/test/ValentinaTest/share/Issue_646/output.json
new file mode 100644
index 000000000..d3be406a8
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_646/output.json
@@ -0,0 +1,499 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": 1391.286148571382,
+ "y": 1170.5770051745867
+ },
+ {
+ "type": "QPointF",
+ "x": 1352.8346456692914,
+ "y": 1362.8345196850394
+ },
+ {
+ "type": "QPointF",
+ "x": 1350.6660166205588,
+ "y": 1367.7550606147208
+ },
+ {
+ "type": "QPointF",
+ "x": 1344.6776732217286,
+ "y": 1376.7202577023593
+ },
+ {
+ "type": "QPointF",
+ "x": 1336.7920071638646,
+ "y": 1384.6921570699324
+ },
+ {
+ "type": "QPointF",
+ "x": 1327.102329227638,
+ "y": 1391.7349409463345
+ },
+ {
+ "type": "QPointF",
+ "x": 1315.7019501937195,
+ "y": 1397.9127915604581
+ },
+ {
+ "type": "QPointF",
+ "x": 1302.6841808427803,
+ "y": 1403.289891141198
+ },
+ {
+ "type": "QPointF",
+ "x": 1288.142331955491,
+ "y": 1407.930421917447
+ },
+ {
+ "type": "QPointF",
+ "x": 1272.169714312523,
+ "y": 1411.8985661180982
+ },
+ {
+ "type": "QPointF",
+ "x": 1245.881900239392,
+ "y": 1416.7944475909562
+ },
+ {
+ "type": "QPointF",
+ "x": 1206.4717817874364,
+ "y": 1421.4666032853988
+ },
+ {
+ "type": "QPointF",
+ "x": 1163.0181823648445,
+ "y": 1424.6044927975377
+ },
+ {
+ "type": "QPointF",
+ "x": 963.6986998754783,
+ "y": 1432.082545646023
+ },
+ {
+ "type": "QPointF",
+ "x": 911.2249892802281,
+ "y": 1435.25097171387
+ },
+ {
+ "type": "QPointF",
+ "x": 859.186715186551,
+ "y": 1439.9658785863046
+ },
+ {
+ "type": "QPointF",
+ "x": 808.3303638398154,
+ "y": 1446.7407240944754
+ },
+ {
+ "type": "QPointF",
+ "x": 771.4905538168089,
+ "y": 1453.5750227393632
+ },
+ {
+ "type": "QPointF",
+ "x": 747.6486510586797,
+ "y": 1458.9887661869527
+ },
+ {
+ "type": "QPointF",
+ "x": 724.5221275003055,
+ "y": 1465.2063143234973
+ },
+ {
+ "type": "QPointF",
+ "x": 674.314621551016,
+ "y": 1482.390491353628
+ },
+ {
+ "type": "QPointF",
+ "x": 639.4466353664043,
+ "y": 1492.6483289419746
+ },
+ {
+ "type": "QPointF",
+ "x": 603.7620983221955,
+ "y": 1500.410735703404
+ },
+ {
+ "type": "QPointF",
+ "x": 567.2371765086411,
+ "y": 1505.6816136598163
+ },
+ {
+ "type": "QPointF",
+ "x": 529.8480360159926,
+ "y": 1508.4648648331117
+ },
+ {
+ "type": "QPointF",
+ "x": 491.5708429345011,
+ "y": 1508.7643912451913
+ },
+ {
+ "type": "QPointF",
+ "x": 452.3817633544179,
+ "y": 1506.5840949179556
+ },
+ {
+ "type": "QPointF",
+ "x": 412.2569633659944,
+ "y": 1501.9278778733042
+ },
+ {
+ "type": "QPointF",
+ "x": 371.1726090594818,
+ "y": 1494.7996421331377
+ },
+ {
+ "type": "QPointF",
+ "x": 329.10486652513146,
+ "y": 1485.2032897193571
+ },
+ {
+ "type": "QPointF",
+ "x": 286.0299018531947,
+ "y": 1473.1427226538626
+ },
+ {
+ "type": "QPointF",
+ "x": 241.92388113392275,
+ "y": 1458.6218429585542
+ },
+ {
+ "type": "QPointF",
+ "x": 196.762970457567,
+ "y": 1441.644552655333
+ },
+ {
+ "type": "QPointF",
+ "x": 150.52333591437866,
+ "y": 1422.2147537660987
+ },
+ {
+ "type": "QPointF",
+ "x": 103.18114359460913,
+ "y": 1400.3363483127525
+ },
+ {
+ "type": "QPointF",
+ "x": 54.712559588509635,
+ "y": 1376.013238317194
+ },
+ {
+ "type": "QPointF",
+ "x": 30,
+ "y": 1362.8345196850394
+ },
+ {
+ "type": "QPointF",
+ "x": -7.795275590551185,
+ "y": 1173.8581417322835
+ },
+ {
+ "type": "QPointF",
+ "x": -7.795275590551185,
+ "y": 5.415841095792075
+ },
+ {
+ "type": "QPointF",
+ "x": 61.10102183090257,
+ "y": -0.7096412239110919
+ },
+ {
+ "type": "QPointF",
+ "x": 70.80478764466314,
+ "y": 53.4304855617782
+ },
+ {
+ "type": "QPointF",
+ "x": 79.62189394925582,
+ "y": 91.85820794938732
+ },
+ {
+ "type": "QPointF",
+ "x": 90.24647240417782,
+ "y": 128.2383365484458
+ },
+ {
+ "type": "QPointF",
+ "x": 102.59852571928553,
+ "y": 162.80689648286
+ },
+ {
+ "type": "QPointF",
+ "x": 116.56115662664025,
+ "y": 195.6221419778608
+ },
+ {
+ "type": "QPointF",
+ "x": 132.02082032795917,
+ "y": 226.74055755921066
+ },
+ {
+ "type": "QPointF",
+ "x": 148.86669418977533,
+ "y": 256.2159967948307
+ },
+ {
+ "type": "QPointF",
+ "x": 166.98986206810577,
+ "y": 284.0990676177162
+ },
+ {
+ "type": "QPointF",
+ "x": 186.28241554481536,
+ "y": 310.43680926354347
+ },
+ {
+ "type": "QPointF",
+ "x": 206.63657487261227,
+ "y": 335.2726596298501
+ },
+ {
+ "type": "QPointF",
+ "x": 227.94391425163948,
+ "y": 358.6466726486652
+ },
+ {
+ "type": "QPointF",
+ "x": 250.09474647931083,
+ "y": 380.59592025988565
+ },
+ {
+ "type": "QPointF",
+ "x": 272.9776896673481,
+ "y": 401.15500478550797
+ },
+ {
+ "type": "QPointF",
+ "x": 296.4794106724578,
+ "y": 420.3566124641626
+ },
+ {
+ "type": "QPointF",
+ "x": 320.484520119942,
+ "y": 438.23205271508306
+ },
+ {
+ "type": "QPointF",
+ "x": 344.8755832173259,
+ "y": 454.8117451133494
+ },
+ {
+ "type": "QPointF",
+ "x": 369.5332075351913,
+ "y": 470.1256329571135
+ },
+ {
+ "type": "QPointF",
+ "x": 394.3361710694345,
+ "y": 484.2035162296996
+ },
+ {
+ "type": "QPointF",
+ "x": 419.16155857757695,
+ "y": 497.0753067992062
+ },
+ {
+ "type": "QPointF",
+ "x": 443.88487919288957,
+ "y": 508.7712150476781
+ },
+ {
+ "type": "QPointF",
+ "x": 468.0969164425661,
+ "y": 519.1998889134329
+ },
+ {
+ "type": "QPointF",
+ "x": 516.4785794322999,
+ "y": 537.2089370149655
+ },
+ {
+ "type": "QPointF",
+ "x": 539.1179506668893,
+ "y": 544.3862697375826
+ },
+ {
+ "type": "QPointF",
+ "x": 572.3449900777376,
+ "y": 553.5656597660253
+ },
+ {
+ "type": "QPointF",
+ "x": 613.1894237885367,
+ "y": 562.2944254702461
+ },
+ {
+ "type": "QPointF",
+ "x": 648.9334985308346,
+ "y": 567.4292093937121
+ },
+ {
+ "type": "QPointF",
+ "x": 678.5839072757889,
+ "y": 569.3505444548822
+ },
+ {
+ "type": "QPointF",
+ "x": 705.4756783324185,
+ "y": 568.7473785791468
+ },
+ {
+ "type": "QPointF",
+ "x": 735.4747135391233,
+ "y": 569.5340065404794
+ },
+ {
+ "type": "QPointF",
+ "x": 765.5663997881065,
+ "y": 572.1930384040452
+ },
+ {
+ "type": "QPointF",
+ "x": 795.4123023513292,
+ "y": 576.6410528859776
+ },
+ {
+ "type": "QPointF",
+ "x": 824.965602108301,
+ "y": 582.8015441033587
+ },
+ {
+ "type": "QPointF",
+ "x": 854.1835470423481,
+ "y": 590.5983253180048
+ },
+ {
+ "type": "QPointF",
+ "x": 883.0268449918112,
+ "y": 599.9562219974732
+ },
+ {
+ "type": "QPointF",
+ "x": 911.4589877868528,
+ "y": 610.8015283739601
+ },
+ {
+ "type": "QPointF",
+ "x": 939.445585340395,
+ "y": 623.0622581751827
+ },
+ {
+ "type": "QPointF",
+ "x": 966.9537607342976,
+ "y": 636.6682333974711
+ },
+ {
+ "type": "QPointF",
+ "x": 993.9516330911679,
+ "y": 651.551057077312
+ },
+ {
+ "type": "QPointF",
+ "x": 1020.4078966730021,
+ "y": 667.6440112755474
+ },
+ {
+ "type": "QPointF",
+ "x": 1046.2914925169705,
+ "y": 684.8819135818707
+ },
+ {
+ "type": "QPointF",
+ "x": 1071.5713620583545,
+ "y": 703.2009569179793
+ },
+ {
+ "type": "QPointF",
+ "x": 1096.216269205861,
+ "y": 722.5385497176682
+ },
+ {
+ "type": "QPointF",
+ "x": 1120.1946768785947,
+ "y": 742.8331673228507
+ },
+ {
+ "type": "QPointF",
+ "x": 1143.4746649906995,
+ "y": 764.0242207567912
+ },
+ {
+ "type": "QPointF",
+ "x": 1166.0238785179056,
+ "y": 786.0519457597056
+ },
+ {
+ "type": "QPointF",
+ "x": 1187.809496086383,
+ "y": 808.8573128063048
+ },
+ {
+ "type": "QPointF",
+ "x": 1208.7982112227505,
+ "y": 832.3819574965946
+ },
+ {
+ "type": "QPointF",
+ "x": 1228.9562198237943,
+ "y": 856.5681299364861
+ },
+ {
+ "type": "QPointF",
+ "x": 1248.2492085181873,
+ "y": 881.3586613164374
+ },
+ {
+ "type": "QPointF",
+ "x": 1266.6423393728555,
+ "y": 906.696945663311
+ },
+ {
+ "type": "QPointF",
+ "x": 1284.1002268781353,
+ "y": 932.5269345592678
+ },
+ {
+ "type": "QPointF",
+ "x": 1300.5869033558602,
+ "y": 958.7931423679257
+ },
+ {
+ "type": "QPointF",
+ "x": 1316.065768928307,
+ "y": 985.4406590911037
+ },
+ {
+ "type": "QPointF",
+ "x": 1330.4995219936793,
+ "y": 1012.4151672497809
+ },
+ {
+ "type": "QPointF",
+ "x": 1343.850065889632,
+ "y": 1039.6629580676176
+ },
+ {
+ "type": "QPointF",
+ "x": 1356.0783871611402,
+ "y": 1067.1309405095865
+ },
+ {
+ "type": "QPointF",
+ "x": 1367.1444008135065,
+ "y": 1094.7666342875323
+ },
+ {
+ "type": "QPointF",
+ "x": 1377.0814319188282,
+ "y": 1122.7282569681176
+ },
+ {
+ "type": "QPointF",
+ "x": 1391.286148571382,
+ "y": 1170.5770051745867
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_687/input.json b/src/test/ValentinaTest/share/Issue_687/input.json
new file mode 100644
index 000000000..95f510400
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_687/input.json
@@ -0,0 +1,118 @@
+{
+ "vector": [
+ {
+ "type": "VSAPoint",
+ "x": -3139.2651132139245,
+ "y": 2368.0698020087857
+ },
+ {
+ "type": "VSAPoint",
+ "x": -3120.1808616780695,
+ "y": 3642.1607394538905
+ },
+ {
+ "type": "VSAPoint",
+ "x": -3800.495822307991,
+ "y": 3642.1607394538905
+ },
+ {
+ "type": "VSAPoint",
+ "x": -3838.291097898542,
+ "y": 2357.12136937515
+ },
+ {
+ "type": "VSAPoint",
+ "x": -3838.291097898542,
+ "y": 2357.12136937515
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -3839.302217259215,
+ "y": 2343.680254846592
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -3849.814536317707,
+ "y": 2173.405020996054
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -3861.6321007472525,
+ "y": 2018.0582737015573
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -3873.4684520412357,
+ "y": 1888.9976112009836
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -3882.6643986346253,
+ "y": 1801.433678361868
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -3893.005366431439,
+ "y": 1714.861207663502
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -3904.5160053036207,
+ "y": 1631.4243567082376
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -3917.2209651231124,
+ "y": 1553.2672830984275
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -3927.586957117471,
+ "y": 1499.6864282426134
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -3934.858286992646,
+ "y": 1466.5778721990046
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -3942.442062657617,
+ "y": 1435.9953491430822
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -3950.3413653463767,
+ "y": 1408.206878775141
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -3958.5592762929177,
+ "y": 1383.4804807954743
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -3967.098876731233,
+ "y": 1362.0841749043766
+ },
+ {
+ "type": "VSAPoint",
+ "x": -3971.503869701377,
+ "y": 1352.8740677166752
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_687/output.json b/src/test/ValentinaTest/share/Issue_687/output.json
new file mode 100644
index 000000000..2889abb40
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_687/output.json
@@ -0,0 +1,99 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": -3101.671677349304,
+ "y": 2354.3116571462965
+ },
+ {
+ "type": "QPointF",
+ "x": -3081.8152215582077,
+ "y": 3679.9560150444418
+ },
+ {
+ "type": "QPointF",
+ "x": -3837.195816049601,
+ "y": 3679.9560150444418
+ },
+ {
+ "type": "QPointF",
+ "x": -3876.0515684243296,
+ "y": 2358.8604343036523
+ },
+ {
+ "type": "QPointF",
+ "x": -3887.519966140116,
+ "y": 2176.021591116069
+ },
+ {
+ "type": "QPointF",
+ "x": -3899.2962270798307,
+ "y": 2021.2177951915812
+ },
+ {
+ "type": "QPointF",
+ "x": -3911.0830267278207,
+ "y": 1892.6974316480955
+ },
+ {
+ "type": "QPointF",
+ "x": -3920.2248324959346,
+ "y": 1805.6490285089596
+ },
+ {
+ "type": "QPointF",
+ "x": -3930.493055752654,
+ "y": 1719.6855602453284
+ },
+ {
+ "type": "QPointF",
+ "x": -3941.8945455302555,
+ "y": 1637.0398953256517
+ },
+ {
+ "type": "QPointF",
+ "x": -3954.435721335518,
+ "y": 1559.890371478935
+ },
+ {
+ "type": "QPointF",
+ "x": -3964.5576295754886,
+ "y": 1507.571162997499
+ },
+ {
+ "type": "QPointF",
+ "x": -3979.0441459679337,
+ "y": 1445.460405256037
+ },
+ {
+ "type": "QPointF",
+ "x": -3986.469384347066,
+ "y": 1419.339616522746
+ },
+ {
+ "type": "QPointF",
+ "x": -3994.0745437496416,
+ "y": 1396.4568913009487
+ },
+ {
+ "type": "QPointF",
+ "x": -4001.7364684081895,
+ "y": 1377.2596367112271
+ },
+ {
+ "type": "QPointF",
+ "x": -4020.055159068346,
+ "y": 1338.958303278483
+ },
+ {
+ "type": "QPointF",
+ "x": -3963.514509032286,
+ "y": 1303.0037727988313
+ },
+ {
+ "type": "QPointF",
+ "x": -3101.671677349304,
+ "y": 2354.3116571462965
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_767_Fabric_SkinFusing_TopCollar_Notch/input.json b/src/test/ValentinaTest/share/Issue_767_Fabric_SkinFusing_TopCollar_Notch/input.json
new file mode 100644
index 000000000..3a7bb8c93
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_767_Fabric_SkinFusing_TopCollar_Notch/input.json
@@ -0,0 +1,430 @@
+{
+ "vector": [
+ {
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2956.5030529864016,
+ "y": -931.8887724955887
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2845.899935375713,
+ "y": -956.8546709870811
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2845.899935375713,
+ "y": -956.8546709870811
+ },
+ {
+ "angle": 6,
+ "saAfter": 0.4351312178885779,
+ "saBefore": 0.4351312178885779,
+ "type": "VSAPoint",
+ "x": -2836.2633663631377,
+ "y": -967.4426562447387
+ },
+ {
+ "angle": 6,
+ "saAfter": 1.3482210483864996,
+ "saBefore": 1.3482210483864996,
+ "type": "VSAPoint",
+ "x": -2816.78139980014,
+ "y": -990.3120606878055
+ },
+ {
+ "angle": 6,
+ "saAfter": 2.311237352159032,
+ "saBefore": 2.311237352159032,
+ "type": "VSAPoint",
+ "x": -2797.055202313614,
+ "y": -1015.1078930477827
+ },
+ {
+ "angle": 6,
+ "saAfter": 3.3221717824417785,
+ "saBefore": 3.3221717824417785,
+ "type": "VSAPoint",
+ "x": -2777.0918442612087,
+ "y": -1041.712716884236
+ },
+ {
+ "angle": 6,
+ "saAfter": 4.918115038019046,
+ "saBefore": 4.918115038019046,
+ "type": "VSAPoint",
+ "x": -2746.745033112914,
+ "y": -1084.5654943969344
+ },
+ {
+ "angle": 6,
+ "saAfter": 7.198283939123714,
+ "saBefore": 7.198283939123714,
+ "type": "VSAPoint",
+ "x": -2705.4801979046647,
+ "y": -1147.219853643483
+ },
+ {
+ "angle": 6,
+ "saAfter": 9.623062142635165,
+ "saBefore": 9.623062142635165,
+ "type": "VSAPoint",
+ "x": -2663.3939868706443,
+ "y": -1214.9963228681142
+ },
+ {
+ "angle": 6,
+ "saAfter": 12.168538502100372,
+ "saBefore": 12.168538502100372,
+ "type": "VSAPoint",
+ "x": -2620.542962872071,
+ "y": -1286.9554105473512
+ },
+ {
+ "angle": 6,
+ "saAfter": 16.151427553186934,
+ "saBefore": 16.151427553186934,
+ "type": "VSAPoint",
+ "x": -2555.0340595510233,
+ "y": -1400.4520777552498
+ },
+ {
+ "saAfter": 18.897637795275593,
+ "saBefore": 18.897637795275593,
+ "type": "VSAPoint",
+ "x": -2510.416921476189,
+ "y": -1479.0239389499673
+ },
+ {
+ "saAfter": 18.897637795275593,
+ "saBefore": 18.897637795275593,
+ "type": "VSAPoint",
+ "x": -2510.416921476189,
+ "y": -1479.0239389499673
+ },
+ {
+ "saAfter": 18.897637795275593,
+ "saBefore": 18.897637795275593,
+ "type": "VSAPoint",
+ "x": -2510.4169214761896,
+ "y": -1479.023938949967
+ },
+ {
+ "angle": 6,
+ "saAfter": 16.151427553186952,
+ "saBefore": 16.151427553186952,
+ "type": "VSAPoint",
+ "x": -2465.7702035479087,
+ "y": -1557.5789958198034
+ },
+ {
+ "angle": 6,
+ "saAfter": 12.168538502100393,
+ "saBefore": 12.168538502100393,
+ "type": "VSAPoint",
+ "x": -2401.8208045021684,
+ "y": -1671.9616179409782
+ },
+ {
+ "angle": 6,
+ "saAfter": 9.623062142635172,
+ "saBefore": 9.623062142635172,
+ "type": "VSAPoint",
+ "x": -2361.9500254606883,
+ "y": -1745.613783801732
+ },
+ {
+ "angle": 6,
+ "saAfter": 7.198283939123712,
+ "saBefore": 7.198283939123712,
+ "type": "VSAPoint",
+ "x": -2325.2804209515234,
+ "y": -1816.4674290495172
+ },
+ {
+ "angle": 6,
+ "saAfter": 4.918115038019051,
+ "saBefore": 4.918115038019051,
+ "type": "VSAPoint",
+ "x": -2292.59003094696,
+ "y": -1883.992933554919
+ },
+ {
+ "angle": 6,
+ "saAfter": 3.3221717824417745,
+ "saBefore": 3.3221717824417745,
+ "type": "VSAPoint",
+ "x": -2271.318537147262,
+ "y": -1932.0014019636544
+ },
+ {
+ "angle": 6,
+ "saAfter": 2.3112373521590364,
+ "saBefore": 2.3112373521590364,
+ "type": "VSAPoint",
+ "x": -2258.6871654974475,
+ "y": -1962.7715297882426
+ },
+ {
+ "angle": 6,
+ "saAfter": 1.3482210483864954,
+ "saBefore": 1.3482210483864954,
+ "type": "VSAPoint",
+ "x": -2247.4882449581937,
+ "y": -1992.4117111044395
+ },
+ {
+ "angle": 6,
+ "saAfter": 0.4351312178885749,
+ "saBefore": 0.4351312178885749,
+ "type": "VSAPoint",
+ "x": -2237.819030526035,
+ "y": -2020.8557433960689
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2233.65827147828,
+ "y": -2034.554538171414
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2233.65827147828,
+ "y": -2034.554538171414
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2268.8436352828485,
+ "y": -2142.342922919639
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2142.3122608136746,
+ "y": -2153.9156587153366
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2102.0515744670092,
+ "y": -2047.9183811673374
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -1957.5403230208335,
+ "y": -1829.7652886912047
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2074.6757464862985,
+ "y": -1711.446015866904
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2074.6757464862985,
+ "y": -1711.446015866904
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2104.9501005376533,
+ "y": -1680.2660917824794
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2157.060300463831,
+ "y": -1624.0358185292575
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2193.4274478512552,
+ "y": -1582.92646049531
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2229.902122393521,
+ "y": -1539.6063545962465
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2265.2830714858405,
+ "y": -1494.9101435167322
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2298.369042523422,
+ "y": -1449.6724699414328
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2320.8174013670823,
+ "y": -1415.919693555917
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2334.512979027829,
+ "y": -1393.6772374133016
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2340.846420588902,
+ "y": -1382.690879280585
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2340.846420588902,
+ "y": -1382.690879280585
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2340.846420588902,
+ "y": -1382.690879280585
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2347.040624083681,
+ "y": -1371.625419954687
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2359.1340239833617,
+ "y": -1348.4727660769108
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2376.632959717138,
+ "y": -1311.9082207264003
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2398.550531300069,
+ "y": -1260.3257755932725
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2418.827935677912,
+ "y": -1207.0492355851677
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2437.363294135359,
+ "y": -1153.5377980701433
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2454.054727957102,
+ "y": -1101.2506604162588
+ },
+ {
+ "angle": 6,
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2475.6739879860315,
+ "y": -1027.6984737575344
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2486.955875655241,
+ "y": -985.7289230123027
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2486.955875655241,
+ "y": -985.7289230123027
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2528.614214397672,
+ "y": -824.5310924892902
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2789.994527523379,
+ "y": -836.9651369538702
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -2901.657768809803,
+ "y": -817.2758947616983
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_767_Fabric_SkinFusing_TopCollar_Notch/output.json b/src/test/ValentinaTest/share/Issue_767_Fabric_SkinFusing_TopCollar_Notch/output.json
new file mode 100644
index 000000000..06864d719
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_767_Fabric_SkinFusing_TopCollar_Notch/output.json
@@ -0,0 +1,209 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": -2956.5030529864016,
+ "y": -931.8887724955887
+ },
+ {
+ "type": "QPointF",
+ "x": -2845.899935375713,
+ "y": -956.8546709870811
+ },
+ {
+ "type": "QPointF",
+ "x": -2817.8077101662298,
+ "y": -991.1863529889096
+ },
+ {
+ "type": "QPointF",
+ "x": -2798.863899498311,
+ "y": -1016.5467928330646
+ },
+ {
+ "type": "QPointF",
+ "x": -2779.749114650276,
+ "y": -1043.7066425176135
+ },
+ {
+ "type": "QPointF",
+ "x": -2750.7586551867034,
+ "y": -1087.4077986339892
+ },
+ {
+ "type": "QPointF",
+ "x": -2711.4917900956984,
+ "y": -1151.1791529497941
+ },
+ {
+ "type": "QPointF",
+ "x": -2671.569150893254,
+ "y": -1220.072740719757
+ },
+ {
+ "type": "QPointF",
+ "x": -2630.998136859894,
+ "y": -1293.181377633793
+ },
+ {
+ "type": "QPointF",
+ "x": -2526.849928551443,
+ "y": -1488.355444332595
+ },
+ {
+ "type": "QPointF",
+ "x": -2412.4420763178637,
+ "y": -1677.8997922643068
+ },
+ {
+ "type": "QPointF",
+ "x": -2370.4126682218107,
+ "y": -1750.1949411335283
+ },
+ {
+ "type": "QPointF",
+ "x": -2331.6732842219544,
+ "y": -1819.7759923138083
+ },
+ {
+ "type": "QPointF",
+ "x": -2297.016686864781,
+ "y": -1886.1359624656916
+ },
+ {
+ "type": "QPointF",
+ "x": -2274.355914523036,
+ "y": -1933.3471969068719
+ },
+ {
+ "type": "QPointF",
+ "x": -2260.8252611146677,
+ "y": -1963.6492343112106
+ },
+ {
+ "type": "QPointF",
+ "x": -2248.7494467600945,
+ "y": -1992.888229740165
+ },
+ {
+ "type": "QPointF",
+ "x": -2233.65827147828,
+ "y": -2034.554538171414
+ },
+ {
+ "type": "QPointF",
+ "x": -2268.8436352828485,
+ "y": -2142.342922919639
+ },
+ {
+ "type": "QPointF",
+ "x": -2142.3122608136746,
+ "y": -2153.9156587153366
+ },
+ {
+ "type": "QPointF",
+ "x": -2102.0515744670092,
+ "y": -2047.9183811673374
+ },
+ {
+ "type": "QPointF",
+ "x": -1957.5403230208335,
+ "y": -1829.7652886912047
+ },
+ {
+ "type": "QPointF",
+ "x": -2104.9501005376533,
+ "y": -1680.2660917824794
+ },
+ {
+ "type": "QPointF",
+ "x": -2157.060300463831,
+ "y": -1624.0358185292575
+ },
+ {
+ "type": "QPointF",
+ "x": -2193.4274478512552,
+ "y": -1582.92646049531
+ },
+ {
+ "type": "QPointF",
+ "x": -2229.902122393521,
+ "y": -1539.6063545962465
+ },
+ {
+ "type": "QPointF",
+ "x": -2265.2830714858405,
+ "y": -1494.9101435167322
+ },
+ {
+ "type": "QPointF",
+ "x": -2298.369042523422,
+ "y": -1449.6724699414328
+ },
+ {
+ "type": "QPointF",
+ "x": -2320.8174013670823,
+ "y": -1415.919693555917
+ },
+ {
+ "type": "QPointF",
+ "x": -2347.040624083681,
+ "y": -1371.625419954687
+ },
+ {
+ "type": "QPointF",
+ "x": -2359.1340239833617,
+ "y": -1348.4727660769108
+ },
+ {
+ "type": "QPointF",
+ "x": -2376.632959717138,
+ "y": -1311.9082207264003
+ },
+ {
+ "type": "QPointF",
+ "x": -2398.550531300069,
+ "y": -1260.3257755932725
+ },
+ {
+ "type": "QPointF",
+ "x": -2418.827935677912,
+ "y": -1207.0492355851677
+ },
+ {
+ "type": "QPointF",
+ "x": -2437.363294135359,
+ "y": -1153.5377980701433
+ },
+ {
+ "type": "QPointF",
+ "x": -2454.054727957102,
+ "y": -1101.2506604162588
+ },
+ {
+ "type": "QPointF",
+ "x": -2475.6739879860315,
+ "y": -1027.6984737575344
+ },
+ {
+ "type": "QPointF",
+ "x": -2528.614214397672,
+ "y": -824.5310924892902
+ },
+ {
+ "type": "QPointF",
+ "x": -2789.994527523379,
+ "y": -836.9651369538702
+ },
+ {
+ "type": "QPointF",
+ "x": -2901.657768809803,
+ "y": -817.2758947616983
+ },
+ {
+ "type": "QPointF",
+ "x": -2956.5030529864016,
+ "y": -931.8887724955887
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_767_Fabric_TopCollar/input.json b/src/test/ValentinaTest/share/Issue_767_Fabric_TopCollar/input.json
new file mode 100644
index 000000000..b0cad0770
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_767_Fabric_TopCollar/input.json
@@ -0,0 +1,464 @@
+{
+ "vector": [
+ {
+ "type": "VSAPoint",
+ "x": -2956.5030529864016,
+ "y": -931.8887724955887
+ },
+ {
+ "saAfter": 43.46456692913386,
+ "type": "VSAPoint",
+ "x": -2845.899935375713,
+ "y": -956.8546709870811
+ },
+ {
+ "saAfter": 43.46456692913386,
+ "type": "VSAPoint",
+ "x": -2845.899935375713,
+ "y": -956.8546709870811
+ },
+ {
+ "angle": 6,
+ "saAfter": 43.97587070284275,
+ "saBefore": 43.97587070284275,
+ "type": "VSAPoint",
+ "x": -2836.2633663631377,
+ "y": -967.4426562447387
+ },
+ {
+ "angle": 6,
+ "saAfter": 45.048802859570564,
+ "saBefore": 45.048802859570564,
+ "type": "VSAPoint",
+ "x": -2816.78139980014,
+ "y": -990.3120606878055
+ },
+ {
+ "angle": 6,
+ "saAfter": 46.180401444134006,
+ "saBefore": 46.180401444134006,
+ "type": "VSAPoint",
+ "x": -2797.055202313614,
+ "y": -1015.1078930477827
+ },
+ {
+ "angle": 6,
+ "saAfter": 47.36830653557741,
+ "saBefore": 47.36830653557741,
+ "type": "VSAPoint",
+ "x": -2777.0918442612087,
+ "y": -1041.712716884236
+ },
+ {
+ "angle": 6,
+ "saAfter": 49.24363006019489,
+ "saBefore": 49.24363006019489,
+ "type": "VSAPoint",
+ "x": -2746.745033112914,
+ "y": -1084.5654943969344
+ },
+ {
+ "angle": 6,
+ "saAfter": 51.92295738928346,
+ "saBefore": 51.92295738928346,
+ "type": "VSAPoint",
+ "x": -2705.4801979046647,
+ "y": -1147.219853643483
+ },
+ {
+ "saAfter": 52.91338582677166,
+ "saBefore": 52.91338582677166,
+ "type": "VSAPoint",
+ "x": -2690.7415873063537,
+ "y": -1170.7115880868732
+ },
+ {
+ "saAfter": 52.91338582677166,
+ "saBefore": 52.91338582677166,
+ "type": "VSAPoint",
+ "x": -2690.7415873063537,
+ "y": -1170.7115880868732
+ },
+ {
+ "saAfter": 52.91338582677166,
+ "saBefore": 52.91338582677166,
+ "type": "VSAPoint",
+ "x": -2690.7415873063537,
+ "y": -1170.7115880868732
+ },
+ {
+ "angle": 6,
+ "saAfter": 53.46410620985117,
+ "saBefore": 53.46410620985117,
+ "type": "VSAPoint",
+ "x": -2663.3939868706443,
+ "y": -1214.9963228681142
+ },
+ {
+ "angle": 6,
+ "saAfter": 54.35027638555917,
+ "saBefore": 54.35027638555917,
+ "type": "VSAPoint",
+ "x": -2620.542962872071,
+ "y": -1286.9554105473512
+ },
+ {
+ "angle": 6,
+ "saAfter": 55.736860659698095,
+ "saBefore": 55.736860659698095,
+ "type": "VSAPoint",
+ "x": -2555.0340595510233,
+ "y": -1400.4520777552498
+ },
+ {
+ "saAfter": 56.69291338582678,
+ "saBefore": 56.69291338582678,
+ "type": "VSAPoint",
+ "x": -2510.416921476189,
+ "y": -1479.0239389499673
+ },
+ {
+ "saAfter": 56.69291338582678,
+ "saBefore": 56.69291338582678,
+ "type": "VSAPoint",
+ "x": -2510.416921476189,
+ "y": -1479.0239389499673
+ },
+ {
+ "saAfter": 56.69291338582678,
+ "saBefore": 56.69291338582678,
+ "type": "VSAPoint",
+ "x": -2510.4169214761896,
+ "y": -1479.023938949967
+ },
+ {
+ "angle": 6,
+ "saAfter": 55.7368606596981,
+ "saBefore": 55.7368606596981,
+ "type": "VSAPoint",
+ "x": -2465.7702035479087,
+ "y": -1557.5789958198034
+ },
+ {
+ "angle": 6,
+ "saAfter": 54.35027638555918,
+ "saBefore": 54.35027638555918,
+ "type": "VSAPoint",
+ "x": -2401.8208045021684,
+ "y": -1671.9616179409782
+ },
+ {
+ "angle": 6,
+ "saAfter": 53.46410620985117,
+ "saBefore": 53.46410620985117,
+ "type": "VSAPoint",
+ "x": -2361.9500254606883,
+ "y": -1745.613783801732
+ },
+ {
+ "saAfter": 52.91338582677166,
+ "saBefore": 52.91338582677166,
+ "type": "VSAPoint",
+ "x": -2337.9128726422496,
+ "y": -1791.7791850089034
+ },
+ {
+ "saAfter": 52.91338582677166,
+ "saBefore": 52.91338582677166,
+ "type": "VSAPoint",
+ "x": -2337.9128726422496,
+ "y": -1791.7791850089034
+ },
+ {
+ "saAfter": 52.91338582677166,
+ "saBefore": 52.91338582677166,
+ "type": "VSAPoint",
+ "x": -2337.9128726422496,
+ "y": -1791.7791850089034
+ },
+ {
+ "angle": 6,
+ "saAfter": 51.92295738928345,
+ "saBefore": 51.92295738928345,
+ "type": "VSAPoint",
+ "x": -2325.2804209515234,
+ "y": -1816.4674290495172
+ },
+ {
+ "angle": 6,
+ "saAfter": 49.24363006019488,
+ "saBefore": 49.24363006019488,
+ "type": "VSAPoint",
+ "x": -2292.59003094696,
+ "y": -1883.992933554919
+ },
+ {
+ "angle": 6,
+ "saAfter": 47.3683065355774,
+ "saBefore": 47.3683065355774,
+ "type": "VSAPoint",
+ "x": -2271.318537147262,
+ "y": -1932.0014019636544
+ },
+ {
+ "angle": 6,
+ "saAfter": 46.180401444134006,
+ "saBefore": 46.180401444134006,
+ "type": "VSAPoint",
+ "x": -2258.6871654974475,
+ "y": -1962.7715297882426
+ },
+ {
+ "angle": 6,
+ "saAfter": 45.04880285957056,
+ "saBefore": 45.04880285957056,
+ "type": "VSAPoint",
+ "x": -2247.4882449581937,
+ "y": -1992.4117111044395
+ },
+ {
+ "angle": 6,
+ "saAfter": 43.97587070284274,
+ "saBefore": 43.97587070284274,
+ "type": "VSAPoint",
+ "x": -2237.819030526035,
+ "y": -2020.8557433960689
+ },
+ {
+ "saBefore": 43.46456692913386,
+ "type": "VSAPoint",
+ "x": -2233.65827147828,
+ "y": -2034.554538171414
+ },
+ {
+ "saBefore": 43.46456692913386,
+ "type": "VSAPoint",
+ "x": -2233.65827147828,
+ "y": -2034.554538171414
+ },
+ {
+ "type": "VSAPoint",
+ "x": -2268.8436352828485,
+ "y": -2142.342922919639
+ },
+ {
+ "type": "VSAPoint",
+ "x": -2142.3122608136746,
+ "y": -2153.9156587153366
+ },
+ {
+ "type": "VSAPoint",
+ "x": -2102.0515744670092,
+ "y": -2047.9183811673374
+ },
+ {
+ "type": "VSAPoint",
+ "x": -1984.1456542116928,
+ "y": -1869.9284911303541
+ },
+ {
+ "saAfter": 22.67716535433071,
+ "type": "VSAPoint",
+ "x": -1957.5403230208335,
+ "y": -1829.7652886912047
+ },
+ {
+ "saAfter": 22.67716535433071,
+ "saBefore": 22.67716535433071,
+ "type": "VSAPoint",
+ "x": -2074.6757464862985,
+ "y": -1711.446015866904
+ },
+ {
+ "saAfter": 22.67716535433071,
+ "saBefore": 22.67716535433071,
+ "type": "VSAPoint",
+ "x": -2074.6757464862985,
+ "y": -1711.446015866904
+ },
+ {
+ "angle": 6,
+ "saAfter": 22.67716535433071,
+ "saBefore": 22.67716535433071,
+ "type": "VSAPoint",
+ "x": -2104.9501005376533,
+ "y": -1680.2660917824794
+ },
+ {
+ "angle": 6,
+ "saAfter": 22.67716535433071,
+ "saBefore": 22.67716535433071,
+ "type": "VSAPoint",
+ "x": -2157.060300463831,
+ "y": -1624.0358185292575
+ },
+ {
+ "angle": 6,
+ "saAfter": 22.67716535433071,
+ "saBefore": 22.67716535433071,
+ "type": "VSAPoint",
+ "x": -2193.4274478512552,
+ "y": -1582.92646049531
+ },
+ {
+ "angle": 6,
+ "saAfter": 22.67716535433071,
+ "saBefore": 22.67716535433071,
+ "type": "VSAPoint",
+ "x": -2229.902122393521,
+ "y": -1539.6063545962465
+ },
+ {
+ "angle": 6,
+ "saAfter": 22.67716535433071,
+ "saBefore": 22.67716535433071,
+ "type": "VSAPoint",
+ "x": -2265.2830714858405,
+ "y": -1494.9101435167322
+ },
+ {
+ "angle": 6,
+ "saAfter": 22.67716535433071,
+ "saBefore": 22.67716535433071,
+ "type": "VSAPoint",
+ "x": -2298.369042523422,
+ "y": -1449.6724699414328
+ },
+ {
+ "angle": 6,
+ "saAfter": 22.67716535433071,
+ "saBefore": 22.67716535433071,
+ "type": "VSAPoint",
+ "x": -2320.8174013670823,
+ "y": -1415.919693555917
+ },
+ {
+ "angle": 6,
+ "saAfter": 22.67716535433071,
+ "saBefore": 22.67716535433071,
+ "type": "VSAPoint",
+ "x": -2334.512979027829,
+ "y": -1393.6772374133016
+ },
+ {
+ "saAfter": 22.67716535433071,
+ "saBefore": 22.67716535433071,
+ "type": "VSAPoint",
+ "x": -2340.846420588902,
+ "y": -1382.690879280585
+ },
+ {
+ "saAfter": 22.67716535433071,
+ "saBefore": 22.67716535433071,
+ "type": "VSAPoint",
+ "x": -2340.846420588902,
+ "y": -1382.690879280585
+ },
+ {
+ "saAfter": 22.67716535433071,
+ "saBefore": 22.67716535433071,
+ "type": "VSAPoint",
+ "x": -2340.846420588902,
+ "y": -1382.690879280585
+ },
+ {
+ "angle": 6,
+ "saAfter": 22.67716535433071,
+ "saBefore": 22.67716535433071,
+ "type": "VSAPoint",
+ "x": -2347.040624083681,
+ "y": -1371.625419954687
+ },
+ {
+ "angle": 6,
+ "saAfter": 22.67716535433071,
+ "saBefore": 22.67716535433071,
+ "type": "VSAPoint",
+ "x": -2359.1340239833617,
+ "y": -1348.4727660769108
+ },
+ {
+ "angle": 6,
+ "saAfter": 22.67716535433071,
+ "saBefore": 22.67716535433071,
+ "type": "VSAPoint",
+ "x": -2376.632959717138,
+ "y": -1311.9082207264003
+ },
+ {
+ "angle": 6,
+ "saAfter": 22.67716535433071,
+ "saBefore": 22.67716535433071,
+ "type": "VSAPoint",
+ "x": -2398.550531300069,
+ "y": -1260.3257755932725
+ },
+ {
+ "angle": 6,
+ "saAfter": 22.67716535433071,
+ "saBefore": 22.67716535433071,
+ "type": "VSAPoint",
+ "x": -2418.827935677912,
+ "y": -1207.0492355851677
+ },
+ {
+ "angle": 6,
+ "saAfter": 22.67716535433071,
+ "saBefore": 22.67716535433071,
+ "type": "VSAPoint",
+ "x": -2437.363294135359,
+ "y": -1153.5377980701433
+ },
+ {
+ "angle": 6,
+ "saAfter": 22.67716535433071,
+ "saBefore": 22.67716535433071,
+ "type": "VSAPoint",
+ "x": -2454.054727957102,
+ "y": -1101.2506604162588
+ },
+ {
+ "angle": 6,
+ "saAfter": 22.67716535433071,
+ "saBefore": 22.67716535433071,
+ "type": "VSAPoint",
+ "x": -2475.6739879860315,
+ "y": -1027.6984737575344
+ },
+ {
+ "saAfter": 22.67716535433071,
+ "saBefore": 22.67716535433071,
+ "type": "VSAPoint",
+ "x": -2486.955875655241,
+ "y": -985.7289230123027
+ },
+ {
+ "saAfter": 22.67716535433071,
+ "saBefore": 22.67716535433071,
+ "type": "VSAPoint",
+ "x": -2486.955875655241,
+ "y": -985.7289230123027
+ },
+ {
+ "saBefore": 22.67716535433071,
+ "type": "VSAPoint",
+ "x": -2528.614214397672,
+ "y": -824.5310924892902
+ },
+ {
+ "type": "VSAPoint",
+ "x": -2576.735791005247,
+ "y": -826.8202719808863
+ },
+ {
+ "type": "VSAPoint",
+ "x": -2789.994527523379,
+ "y": -836.9651369538702
+ },
+ {
+ "type": "VSAPoint",
+ "x": -2901.657768809803,
+ "y": -817.2758947616983
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_767_Fabric_TopCollar/output.json b/src/test/ValentinaTest/share/Issue_767_Fabric_TopCollar/output.json
new file mode 100644
index 000000000..24b7d40f0
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_767_Fabric_TopCollar/output.json
@@ -0,0 +1,189 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": -3011.0517548809357,
+ "y": -958.3219443601137
+ },
+ {
+ "type": "QPointF",
+ "x": -2875.7046555981224,
+ "y": -988.8731803000138
+ },
+ {
+ "type": "QPointF",
+ "x": -2852.5415023999894,
+ "y": -1017.6725348343256
+ },
+ {
+ "type": "QPointF",
+ "x": -2816.3181527943707,
+ "y": -1068.2197023892952
+ },
+ {
+ "type": "QPointF",
+ "x": -2788.352030357334,
+ "y": -1110.8598834848328
+ },
+ {
+ "type": "QPointF",
+ "x": -2750.104578118342,
+ "y": -1173.706685336199
+ },
+ {
+ "type": "QPointF",
+ "x": -2667.7155430042885,
+ "y": -1313.9462710109624
+ },
+ {
+ "type": "QPointF",
+ "x": -2559.715942701951,
+ "y": -1507.0184550978506
+ },
+ {
+ "type": "QPointF",
+ "x": -2449.1583953039053,
+ "y": -1698.6620179751421
+ },
+ {
+ "type": "QPointF",
+ "x": -2408.9016203812876,
+ "y": -1771.1837674716062
+ },
+ {
+ "type": "QPointF",
+ "x": -2336.4797060935643,
+ "y": -1906.2692333537757
+ },
+ {
+ "type": "QPointF",
+ "x": -2314.1718787151576,
+ "y": -1952.1238938115687
+ },
+ {
+ "type": "QPointF",
+ "x": -2289.299962874286,
+ "y": -2009.1198147783493
+ },
+ {
+ "type": "QPointF",
+ "x": -2276.421885057862,
+ "y": -2043.7621241620843
+ },
+ {
+ "type": "QPointF",
+ "x": -2319.47887143433,
+ "y": -2175.6647823077765
+ },
+ {
+ "type": "QPointF",
+ "x": -2117.171448919359,
+ "y": -2194.1681010308707
+ },
+ {
+ "type": "QPointF",
+ "x": -2068.215402821386,
+ "y": -2065.2779087172644
+ },
+ {
+ "type": "QPointF",
+ "x": -1917.6250651642001,
+ "y": -1837.947873663355
+ },
+ {
+ "type": "QPointF",
+ "x": -2088.5558807761977,
+ "y": -1664.5942461671584
+ },
+ {
+ "type": "QPointF",
+ "x": -2140.24913731467,
+ "y": -1608.8138817735266
+ },
+ {
+ "type": "QPointF",
+ "x": -2176.2589011101195,
+ "y": -1568.1085095095227
+ },
+ {
+ "type": "QPointF",
+ "x": -2212.3342540353106,
+ "y": -1525.2626684245129
+ },
+ {
+ "type": "QPointF",
+ "x": -2247.23420252068,
+ "y": -1481.1740980445607
+ },
+ {
+ "type": "QPointF",
+ "x": -2279.766629665298,
+ "y": -1436.6932720742795
+ },
+ {
+ "type": "QPointF",
+ "x": -2301.606136488925,
+ "y": -1403.8559499643816
+ },
+ {
+ "type": "QPointF",
+ "x": -2327.21952402004,
+ "y": -1360.591763582004
+ },
+ {
+ "type": "QPointF",
+ "x": -2338.8499834241184,
+ "y": -1338.3254031493793
+ },
+ {
+ "type": "QPointF",
+ "x": -2355.9594167526366,
+ "y": -1302.574734629886
+ },
+ {
+ "type": "QPointF",
+ "x": -2377.510297030497,
+ "y": -1251.8552881210833
+ },
+ {
+ "type": "QPointF",
+ "x": -2397.512032042083,
+ "y": -1199.3030375608162
+ },
+ {
+ "type": "QPointF",
+ "x": -2415.844466980596,
+ "y": -1146.3774386865002
+ },
+ {
+ "type": "QPointF",
+ "x": -2432.3718724137843,
+ "y": -1094.6041319606884
+ },
+ {
+ "type": "QPointF",
+ "x": -2453.8181527282886,
+ "y": -1021.6404500068692
+ },
+ {
+ "type": "QPointF",
+ "x": -2515.2056416156993,
+ "y": -786.0552210561591
+ },
+ {
+ "type": "QPointF",
+ "x": -2787.5813162890063,
+ "y": -799.0123225664364
+ },
+ {
+ "type": "QPointF",
+ "x": -2923.3611870244044,
+ "y": -775.0706679186585
+ },
+ {
+ "type": "QPointF",
+ "x": -3011.0517548809357,
+ "y": -958.3219443601137
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_880_Detail/input.json b/src/test/ValentinaTest/share/Issue_880_Detail/input.json
new file mode 100644
index 000000000..8cc7019ec
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_880_Detail/input.json
@@ -0,0 +1,507 @@
+{
+ "vector": [
+ {
+ "type": "VSAPoint",
+ "x": 239.15935115817035,
+ "y": 1727.8772840128854
+ },
+ {
+ "type": "VSAPoint",
+ "x": 239.15935115817035,
+ "y": 1727.8772840128854
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 229.26906627866828,
+ "y": 1672.003934630032
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 210.32230605803002,
+ "y": 1561.0565494697453
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 192.34933775540307,
+ "y": 1451.038491596672
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 175.3204063396455,
+ "y": 1341.9165954116006
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 151.37328308463964,
+ "y": 1179.739848589476
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 122.62258120063842,
+ "y": 966.4750391568086
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 97.11243630356083,
+ "y": 756.1978956903439
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 74.60480814427176,
+ "y": 548.64309339639
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 54.861656473636025,
+ "y": 343.5453074812554
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 37.64494104251851,
+ "y": 140.6392131512489
+ },
+ {
+ "angle": 4,
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 39.999874015748034
+ },
+ {
+ "angle": 4,
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 39.999874015748034
+ },
+ {
+ "angle": 4,
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 39.999874015748034
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 45.17616605845943,
+ "y": 17.610441101076585
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 75.44740737398081,
+ "y": -23.822072592206776
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 105.6438731200462,
+ "y": -61.349018284438976
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 135.79060039912326,
+ "y": -95.09267882253144
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 165.91262631367965,
+ "y": -125.1753370533956
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 196.03498796618314,
+ "y": -151.71927582394284
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 226.1827224591014,
+ "y": -174.84677798108459
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 256.3808668949021,
+ "y": -194.68012637173229
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 286.65445837605307,
+ "y": -211.3416038427973
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 317.0285340050218,
+ "y": -224.9534932411911
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 347.52813088427615,
+ "y": -235.63807741382516
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 378.17828611628374,
+ "y": -243.51763920761078
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 409.00403680351224,
+ "y": -248.71446146945948
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 440.0304200484296,
+ "y": -251.35082704628257
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 471.2824729535032,
+ "y": -251.54901878499163
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 502.78523262120086,
+ "y": -249.43131953249798
+ },
+ {
+ "type": "VSAPoint",
+ "x": 518.6504625195685,
+ "y": -247.45337139417512
+ },
+ {
+ "type": "VSAPoint",
+ "x": 518.6504625195685,
+ "y": -247.45337139417512
+ },
+ {
+ "type": "VSAPoint",
+ "x": 518.6504625195685,
+ "y": -247.45337139417512
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 530.2610383503521,
+ "y": -245.74288092468555
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 552.1872278041676,
+ "y": -241.18301269150965
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 572.6437092641386,
+ "y": -235.3144676119963
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 591.7240901252175,
+ "y": -228.20167669358835
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 609.5219777823567,
+ "y": -219.9090709437288
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 626.130979630509,
+ "y": -210.50108136986046
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 641.6447030646272,
+ "y": -200.04213897942634
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 656.1567554796634,
+ "y": -188.59667477986926
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 669.7607442705705,
+ "y": -176.2291197786322
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 682.5502768323008,
+ "y": -163.00390498315804
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 694.6189605598073,
+ "y": -148.98546140088973
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 706.060402848042,
+ "y": -134.2382200392702
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 722.300407627205,
+ "y": -110.96277002193168
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 742.5431323074765,
+ "y": -77.86867271190005
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 771.5587695889417,
+ "y": -25.219950033288583
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 801.3225470991345,
+ "y": 29.88442488061677
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 822.7622961453703,
+ "y": 66.90756576711863
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 846.3734491821488,
+ "y": 103.62434739887975
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 866.0660930267316,
+ "y": 130.61304884599105
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 880.202278000172,
+ "y": 148.25843766499418
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 895.3025472485346,
+ "y": 165.537297136819
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 911.4605081667719,
+ "y": 182.38519625402265
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 928.7697681498366,
+ "y": 198.73770400916214
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 947.3239345926813,
+ "y": 214.5303893947946
+ },
+ {
+ "angle": 5,
+ "type": "VSAPoint",
+ "x": 957.1548316121191,
+ "y": 222.1693111391918
+ },
+ {
+ "angle": 5,
+ "type": "VSAPoint",
+ "x": 957.1548316121191,
+ "y": 222.1693111391918
+ },
+ {
+ "angle": 5,
+ "type": "VSAPoint",
+ "x": 957.1548316121191,
+ "y": 222.1693111391918
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 952.3136401198107,
+ "y": 240.982134772638
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 940.9881447982464,
+ "y": 288.3639167749205
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 928.1711209417526,
+ "y": 346.5350481212475
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 914.3961310718933,
+ "y": 414.47551510225964
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 900.1967377102318,
+ "y": 491.1653040085978
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 886.1065033783323,
+ "y": 575.5844011309023
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 872.6589905977585,
+ "y": 666.712792759814
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 860.3877618900742,
+ "y": 763.5304651859733
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 849.8263797768434,
+ "y": 865.017404700021
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 841.5084067796297,
+ "y": 970.1535975925977
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 837.1624212037573,
+ "y": 1050.8452199630021
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 835.1862064061293,
+ "y": 1105.1939935906626
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 834.0709728058853,
+ "y": 1159.8813228514407
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 833.8834157182207,
+ "y": 1214.7797060316668
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 834.6902304583309,
+ "y": 1269.7616414176705
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 836.5581123414115,
+ "y": 1324.699627295782
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 839.5537566826579,
+ "y": 1379.4661619523315
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 843.7438587972656,
+ "y": 1433.933743673649
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 849.1951140004301,
+ "y": 1487.9748707460644
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 855.9742176073469,
+ "y": 1541.462041455908
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 864.1478649332113,
+ "y": 1594.2677540895102
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 873.782751293219,
+ "y": 1646.2645069332007
+ },
+ {
+ "type": "VSAPoint",
+ "x": 879.2340548139807,
+ "y": 1671.8780036332896
+ },
+ {
+ "type": "VSAPoint",
+ "x": 879.2340548139807,
+ "y": 1671.8780036332896
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_880_Detail/output.json b/src/test/ValentinaTest/share/Issue_880_Detail/output.json
new file mode 100644
index 000000000..3eedf2c9b
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_880_Detail/output.json
@@ -0,0 +1,359 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": 207.83560975957232,
+ "y": 1768.5574036876958
+ },
+ {
+ "type": "QPointF",
+ "x": 173.03821656297302,
+ "y": 1567.2563801922306
+ },
+ {
+ "type": "QPointF",
+ "x": 137.99820959646468,
+ "y": 1347.877844209381
+ },
+ {
+ "type": "QPointF",
+ "x": 113.94865296170948,
+ "y": 1185.0253559450243
+ },
+ {
+ "type": "QPointF",
+ "x": 85.13262246004243,
+ "y": 971.2759567707533
+ },
+ {
+ "type": "QPointF",
+ "x": 59.56333814296166,
+ "y": 760.5113339757822
+ },
+ {
+ "type": "QPointF",
+ "x": 37.00526380453169,
+ "y": 552.491340651304
+ },
+ {
+ "type": "QPointF",
+ "x": 17.240286265801252,
+ "y": 347.16682106686596
+ },
+ {
+ "type": "QPointF",
+ "x": -0.015008757567599673,
+ "y": 143.8346846376981
+ },
+ {
+ "type": "QPointF",
+ "x": -12.288070724611142,
+ "y": -17.710595485938104
+ },
+ {
+ "type": "QPointF",
+ "x": 26.31665967166907,
+ "y": -20.64315536140112
+ },
+ {
+ "type": "QPointF",
+ "x": 45.449182757960564,
+ "y": -46.830007644639885
+ },
+ {
+ "type": "QPointF",
+ "x": 76.80902542176231,
+ "y": -85.80275109276256
+ },
+ {
+ "type": "QPointF",
+ "x": 108.32184223768654,
+ "y": -121.07549507561193
+ },
+ {
+ "type": "QPointF",
+ "x": 140.03960977826148,
+ "y": -152.7518093937674
+ },
+ {
+ "type": "QPointF",
+ "x": 172.0109643794434,
+ "y": -180.92508772882493
+ },
+ {
+ "type": "QPointF",
+ "x": 204.27687396752606,
+ "y": -205.6775245587238
+ },
+ {
+ "type": "QPointF",
+ "x": 236.86536116641804,
+ "y": -227.0807873159393
+ },
+ {
+ "type": "QPointF",
+ "x": 269.7862380601783,
+ "y": -245.1992338515816
+ },
+ {
+ "type": "QPointF",
+ "x": 303.02747320804565,
+ "y": -260.09601694470166
+ },
+ {
+ "type": "QPointF",
+ "x": 336.55504181349585,
+ "y": -271.8413567367945
+ },
+ {
+ "type": "QPointF",
+ "x": 370.3174391861959,
+ "y": -280.5210157594255
+ },
+ {
+ "type": "QPointF",
+ "x": 404.25444394855236,
+ "y": -286.242355156443
+ },
+ {
+ "type": "QPointF",
+ "x": 438.30793239230167,
+ "y": -289.13593911030426
+ },
+ {
+ "type": "QPointF",
+ "x": 472.43167053063326,
+ "y": -289.3523422699121
+ },
+ {
+ "type": "QPointF",
+ "x": 506.5712073399975,
+ "y": -287.0573918482891
+ },
+ {
+ "type": "QPointF",
+ "x": 536.6312348117178,
+ "y": -283.02203918305497
+ },
+ {
+ "type": "QPointF",
+ "x": 561.2586117828608,
+ "y": -277.9004199361857
+ },
+ {
+ "type": "QPointF",
+ "x": 584.4735176539314,
+ "y": -271.2405394534338
+ },
+ {
+ "type": "QPointF",
+ "x": 606.3291152578626,
+ "y": -263.09320228624324
+ },
+ {
+ "type": "QPointF",
+ "x": 626.8443757152221,
+ "y": -253.53448553817316
+ },
+ {
+ "type": "QPointF",
+ "x": 646.0388521585816,
+ "y": -242.66198182567126
+ },
+ {
+ "type": "QPointF",
+ "x": 663.9421664899236,
+ "y": -230.592040397069
+ },
+ {
+ "type": "QPointF",
+ "x": 680.6014176242785,
+ "y": -217.45310890781045
+ },
+ {
+ "type": "QPointF",
+ "x": 696.0845837791157,
+ "y": -203.37717044914066
+ },
+ {
+ "type": "QPointF",
+ "x": 710.4796074150597,
+ "y": -188.49177267151234
+ },
+ {
+ "type": "QPointF",
+ "x": 723.8903257348999,
+ "y": -172.9144816918925
+ },
+ {
+ "type": "QPointF",
+ "x": 736.5088929791715,
+ "y": -156.65000627864362
+ },
+ {
+ "type": "QPointF",
+ "x": 753.9481523879648,
+ "y": -131.65576420615508
+ },
+ {
+ "type": "QPointF",
+ "x": 775.2740560287939,
+ "y": -96.79081685043727
+ },
+ {
+ "type": "QPointF",
+ "x": 834.2712381712456,
+ "y": 11.361486938427959
+ },
+ {
+ "type": "QPointF",
+ "x": 855.028099173095,
+ "y": 47.20538546427957
+ },
+ {
+ "type": "QPointF",
+ "x": 877.5611048277024,
+ "y": 82.24558222378279
+ },
+ {
+ "type": "QPointF",
+ "x": 896.0956388425119,
+ "y": 107.64709808599238
+ },
+ {
+ "type": "QPointF",
+ "x": 923.186035221142,
+ "y": 140.00772229515948
+ },
+ {
+ "type": "QPointF",
+ "x": 938.0932990305748,
+ "y": 155.55152005811772
+ },
+ {
+ "type": "QPointF",
+ "x": 953.8057597120866,
+ "y": 170.39549001397563
+ },
+ {
+ "type": "QPointF",
+ "x": 967.1160551645218,
+ "y": 181.3830156977037
+ },
+ {
+ "type": "QPointF",
+ "x": 1003.8321664784692,
+ "y": 190.35017951619332
+ },
+ {
+ "type": "QPointF",
+ "x": 977.8059143038217,
+ "y": 296.9148404582527
+ },
+ {
+ "type": "QPointF",
+ "x": 965.149517480306,
+ "y": 354.35695262370325
+ },
+ {
+ "type": "QPointF",
+ "x": 951.5014069310696,
+ "y": 421.6716303754821
+ },
+ {
+ "type": "QPointF",
+ "x": 937.4212488890727,
+ "y": 497.7174388481253
+ },
+ {
+ "type": "QPointF",
+ "x": 923.444794947317,
+ "y": 581.4548412888578
+ },
+ {
+ "type": "QPointF",
+ "x": 910.1057337999374,
+ "y": 671.8482997696264
+ },
+ {
+ "type": "QPointF",
+ "x": 897.9362480985484,
+ "y": 767.8632391288859
+ },
+ {
+ "type": "QPointF",
+ "x": 887.4670427019098,
+ "y": 868.4644297171681
+ },
+ {
+ "type": "QPointF",
+ "x": 879.2234261603584,
+ "y": 972.6607837009217
+ },
+ {
+ "type": "QPointF",
+ "x": 874.9288769545884,
+ "y": 1052.3973904413954
+ },
+ {
+ "type": "QPointF",
+ "x": 871.8644182994999,
+ "y": 1160.4815588343088
+ },
+ {
+ "type": "QPointF",
+ "x": 871.6796386709575,
+ "y": 1214.5669734562434
+ },
+ {
+ "type": "QPointF",
+ "x": 872.4760820545193,
+ "y": 1268.8421328907752
+ },
+ {
+ "type": "QPointF",
+ "x": 874.3182959750076,
+ "y": 1323.025174797752
+ },
+ {
+ "type": "QPointF",
+ "x": 877.269773413631,
+ "y": 1376.984247710642
+ },
+ {
+ "type": "QPointF",
+ "x": 881.3933583565541,
+ "y": 1430.5871656635104
+ },
+ {
+ "type": "QPointF",
+ "x": 886.7511179913885,
+ "y": 1483.701422556393
+ },
+ {
+ "type": "QPointF",
+ "x": 893.4041934667935,
+ "y": 1536.1942305045375
+ },
+ {
+ "type": "QPointF",
+ "x": 901.4126286647522,
+ "y": 1587.9325929330282
+ },
+ {
+ "type": "QPointF",
+ "x": 910.8542351538612,
+ "y": 1638.8862690551816
+ },
+ {
+ "type": "QPointF",
+ "x": 925.0965474653889,
+ "y": 1705.8052028484663
+ },
+ {
+ "type": "QPointF",
+ "x": 207.83560975957232,
+ "y": 1768.5574036876958
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_880_Detail_1/input.json b/src/test/ValentinaTest/share/Issue_880_Detail_1/input.json
new file mode 100644
index 000000000..c76d936b0
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_880_Detail_1/input.json
@@ -0,0 +1,462 @@
+{
+ "vector": [
+ {
+ "type": "VSAPoint",
+ "x": 239.15935115817035,
+ "y": 1727.8772840128854
+ },
+ {
+ "type": "VSAPoint",
+ "x": 239.15935115817035,
+ "y": 1727.8772840128854
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 228.38870291910868,
+ "y": 1665.145749022502
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 208.68143263818018,
+ "y": 1537.8520195183164
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 191.107067165158,
+ "y": 1409.242825317507
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 175.590132468123,
+ "y": 1280.2974183439387
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 162.05515451515572,
+ "y": 1151.9950505214774
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 150.42665927433694,
+ "y": 1025.314973773988
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 140.62917271374727,
+ "y": 901.2364400253355
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 132.58722080146742,
+ "y": 780.7387011993851
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 126.22532950557809,
+ "y": 664.801009220002
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 121.46802479415996,
+ "y": 554.4026160110516
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 118.23983263529368,
+ "y": 450.5227734963987
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 116.46527899705998,
+ "y": 354.1407335999088
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 116.06888984753957,
+ "y": 266.235748245447
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 116.97519115481305,
+ "y": 187.78706935687848
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 119.10870888696115,
+ "y": 119.77394885806838
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 122.39396901206462,
+ "y": 63.17563867288196
+ },
+ {
+ "angle": 4,
+ "type": "VSAPoint",
+ "x": 124.48818897637796,
+ "y": 39.999874015748034
+ },
+ {
+ "angle": 4,
+ "type": "VSAPoint",
+ "x": 124.48818897637796,
+ "y": 39.999874015748034
+ },
+ {
+ "angle": 4,
+ "type": "VSAPoint",
+ "x": 124.48818897637796,
+ "y": 39.999874015748034
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 131.17745572117823,
+ "y": 59.19926080571054
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 145.42358161389507,
+ "y": 95.6473363798392
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 160.66298139295492,
+ "y": 129.7789066433697
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 176.84250283902833,
+ "y": 161.62100748114375
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 193.90899373278594,
+ "y": 191.2006747780029
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 211.80930185489825,
+ "y": 218.54494441878893
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 230.49027498603584,
+ "y": 243.68085228834343
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 249.8987609068692,
+ "y": 266.6354342715081
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 269.98160739806895,
+ "y": 287.4357262531245
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 290.68566224030565,
+ "y": 306.1087641180344
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 311.95777321424987,
+ "y": 322.6815837510794
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 333.7447881005721,
+ "y": 337.1812210371011
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 355.99355467994303,
+ "y": 349.6347118609412
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 378.650920733033,
+ "y": 360.06909210744146
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 401.66373404051285,
+ "y": 368.5113976614434
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 424.9788423830528,
+ "y": 374.98866440778875
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 448.5430935413237,
+ "y": 379.52792823131904
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 472.3033352959959,
+ "y": 382.1562250168761
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 496.2064154277402,
+ "y": 382.9005906493014
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 520.1991817172269,
+ "y": 381.7880610134368
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 544.2284819451269,
+ "y": 378.8456719941238
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 568.2411638921103,
+ "y": 374.10045947620404
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 592.1840753388481,
+ "y": 367.57945934451936
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 616.0040640660104,
+ "y": 359.3097074839112
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 639.647977854268,
+ "y": 349.31823977922147
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 663.0626644842916,
+ "y": 337.6320921152916
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 686.1949717367515,
+ "y": 324.27830037696316
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 708.9917473923185,
+ "y": 309.2839004490781
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 731.399839231663,
+ "y": 292.67592821647787
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 753.3660950354556,
+ "y": 274.48141956400417
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 774.8373625843669,
+ "y": 254.72741037649877
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 795.7604896590673,
+ "y": 233.4409365388032
+ },
+ {
+ "angle": 5,
+ "type": "VSAPoint",
+ "x": 805.9737292499144,
+ "y": 222.1693111391918
+ },
+ {
+ "angle": 5,
+ "type": "VSAPoint",
+ "x": 805.9737292499144,
+ "y": 222.1693111391918
+ },
+ {
+ "angle": 5,
+ "type": "VSAPoint",
+ "x": 805.9737292499144,
+ "y": 222.1693111391918
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 801.1024217701829,
+ "y": 252.56710912274912
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 783.4393334619424,
+ "y": 355.5003208404381
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 766.2212290655575,
+ "y": 462.42427627224754
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 754.024845322645,
+ "y": 544.4163414513537
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 741.7977429994414,
+ "y": 634.4390974603281
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 730.0853694039338,
+ "y": 731.420313160728
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 719.4331718441081,
+ "y": 834.2877574141107
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 710.3865976279511,
+ "y": 941.9691990820332
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 703.4910940634496,
+ "y": 1053.3924070260528
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 700.1562772589527,
+ "y": 1138.828625614281
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 698.833185316681,
+ "y": 1196.3413376010737
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 698.3546751480656,
+ "y": 1254.1863611415165
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 698.7889276666046,
+ "y": 1312.2296673433043
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 700.2041237857968,
+ "y": 1370.3372273141313
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 702.6684444191402,
+ "y": 1428.3750121616927
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 706.2500704801332,
+ "y": 1486.2089929936824
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 711.0171828822739,
+ "y": 1543.7051409177961
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 717.037962539061,
+ "y": 1600.7294270417278
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 724.3805903639925,
+ "y": 1657.1478224731723
+ },
+ {
+ "type": "VSAPoint",
+ "x": 728.6282421890804,
+ "y": 1685.0543048990771
+ },
+ {
+ "type": "VSAPoint",
+ "x": 728.6282421890804,
+ "y": 1685.0543048990771
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_880_Detail_1/output.json b/src/test/ValentinaTest/share/Issue_880_Detail_1/output.json
new file mode 100644
index 000000000..6ab1330c7
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_880_Detail_1/output.json
@@ -0,0 +1,354 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": 176.43300321313995,
+ "y": 1809.2444231688892
+ },
+ {
+ "type": "QPointF",
+ "x": 153.78313541824667,
+ "y": 1677.3246962809667
+ },
+ {
+ "type": "QPointF",
+ "x": 133.87793658475465,
+ "y": 1548.7525013540196
+ },
+ {
+ "type": "QPointF",
+ "x": 116.13042064136965,
+ "y": 1418.8761921325834
+ },
+ {
+ "type": "QPointF",
+ "x": 100.47483551040597,
+ "y": 1288.7786029156107
+ },
+ {
+ "type": "QPointF",
+ "x": 86.82794509892291,
+ "y": 1159.4153812471877
+ },
+ {
+ "type": "QPointF",
+ "x": 75.10856636006955,
+ "y": 1031.7452255369717
+ },
+ {
+ "type": "QPointF",
+ "x": 65.2370069141379,
+ "y": 906.7286088476662
+ },
+ {
+ "type": "QPointF",
+ "x": 57.13470030186313,
+ "y": 785.3265367259893
+ },
+ {
+ "type": "QPointF",
+ "x": 50.723988203508114,
+ "y": 668.4991453010994
+ },
+ {
+ "type": "QPointF",
+ "x": 45.92803421919151,
+ "y": 557.203853977457
+ },
+ {
+ "type": "QPointF",
+ "x": 42.670896438097856,
+ "y": 452.3925716567163
+ },
+ {
+ "type": "QPointF",
+ "x": 40.87786536674168,
+ "y": 355.006959561548
+ },
+ {
+ "type": "QPointF",
+ "x": 40.47636977532461,
+ "y": 265.9695473970137
+ },
+ {
+ "type": "QPointF",
+ "x": 41.39833199038787,
+ "y": 186.1652735021885
+ },
+ {
+ "type": "QPointF",
+ "x": 43.58687052785413,
+ "y": 116.39817805128028
+ },
+ {
+ "type": "QPointF",
+ "x": 47.000830659421496,
+ "y": 57.582630079953006
+ },
+ {
+ "type": "QPointF",
+ "x": 65.68957312272546,
+ "y": -149.23704714976648
+ },
+ {
+ "type": "QPointF",
+ "x": 140.97338867071443,
+ "y": -142.43421359312867
+ },
+ {
+ "type": "QPointF",
+ "x": 202.09509240490257,
+ "y": 32.99596074790383
+ },
+ {
+ "type": "QPointF",
+ "x": 215.1760179357478,
+ "y": 66.46292333957582
+ },
+ {
+ "type": "QPointF",
+ "x": 228.91247186136482,
+ "y": 97.22835696106226
+ },
+ {
+ "type": "QPointF",
+ "x": 243.32162407629943,
+ "y": 125.58628332767515
+ },
+ {
+ "type": "QPointF",
+ "x": 258.3193167174947,
+ "y": 151.58030642877873
+ },
+ {
+ "type": "QPointF",
+ "x": 273.82133547133117,
+ "y": 175.26098152608563
+ },
+ {
+ "type": "QPointF",
+ "x": 289.7450120582673,
+ "y": 196.68684969815953
+ },
+ {
+ "type": "QPointF",
+ "x": 306.0113435768183,
+ "y": 215.92517884608725
+ },
+ {
+ "type": "QPointF",
+ "x": 322.54758976689817,
+ "y": 233.05217073860985
+ },
+ {
+ "type": "QPointF",
+ "x": 339.2901947112362,
+ "y": 248.1523672201739
+ },
+ {
+ "type": "QPointF",
+ "x": 356.187735703955,
+ "y": 261.31701737912283
+ },
+ {
+ "type": "QPointF",
+ "x": 373.20345965213,
+ "y": 272.6412775724043
+ },
+ {
+ "type": "QPointF",
+ "x": 390.3168780918559,
+ "y": 282.22031642578816
+ },
+ {
+ "type": "QPointF",
+ "x": 407.5239155726528,
+ "y": 290.1446608341238
+ },
+ {
+ "type": "QPointF",
+ "x": 424.8352834117022,
+ "y": 296.495377493676
+ },
+ {
+ "type": "QPointF",
+ "x": 442.27307072936014,
+ "y": 301.3398413607568
+ },
+ {
+ "type": "QPointF",
+ "x": 459.86592925304035,
+ "y": 304.7288150104031
+ },
+ {
+ "type": "QPointF",
+ "x": 477.6435530680066,
+ "y": 306.6953299983464
+ },
+ {
+ "type": "QPointF",
+ "x": 495.63130278250605,
+ "y": 307.2554863722674
+ },
+ {
+ "type": "QPointF",
+ "x": 513.8457455201286,
+ "y": 306.4108940021393
+ },
+ {
+ "type": "QPointF",
+ "x": 532.2916184779821,
+ "y": 304.1521959323631
+ },
+ {
+ "type": "QPointF",
+ "x": 550.9603800691451,
+ "y": 300.4630103015354
+ },
+ {
+ "type": "QPointF",
+ "x": 569.8302035956763,
+ "y": 295.3236970657534
+ },
+ {
+ "type": "QPointF",
+ "x": 588.8670691430791,
+ "y": 288.71453548788656
+ },
+ {
+ "type": "QPointF",
+ "x": 608.0265381189225,
+ "y": 280.6181087615205
+ },
+ {
+ "type": "QPointF",
+ "x": 627.2558255674835,
+ "y": 271.02087194401406
+ },
+ {
+ "type": "QPointF",
+ "x": 646.49587350226,
+ "y": 259.9139991901456
+ },
+ {
+ "type": "QPointF",
+ "x": 665.6832327130836,
+ "y": 247.2936645466005
+ },
+ {
+ "type": "QPointF",
+ "x": 684.7516535483287,
+ "y": 233.16092151690435
+ },
+ {
+ "type": "QPointF",
+ "x": 703.6333557352625,
+ "y": 217.52132882153552
+ },
+ {
+ "type": "QPointF",
+ "x": 721.8783579489377,
+ "y": 200.7355503138632
+ },
+ {
+ "type": "QPointF",
+ "x": 828.4262939265832,
+ "y": 89.32247792963832
+ },
+ {
+ "type": "QPointF",
+ "x": 902.9598267188272,
+ "y": 101.9194584158704
+ },
+ {
+ "type": "QPointF",
+ "x": 858.0217933629452,
+ "y": 367.8078105023323
+ },
+ {
+ "type": "QPointF",
+ "x": 840.9224284397759,
+ "y": 473.9943970664766
+ },
+ {
+ "type": "QPointF",
+ "x": 828.8632024485165,
+ "y": 555.064398169016
+ },
+ {
+ "type": "QPointF",
+ "x": 816.7758887510091,
+ "y": 644.0579522451663
+ },
+ {
+ "type": "QPointF",
+ "x": 805.2076743624673,
+ "y": 739.845495712356
+ },
+ {
+ "type": "QPointF",
+ "x": 794.6970759283694,
+ "y": 841.3455282095892
+ },
+ {
+ "type": "QPointF",
+ "x": 785.7814316001975,
+ "y": 947.4685104254818
+ },
+ {
+ "type": "QPointF",
+ "x": 778.9905248854037,
+ "y": 1057.2015565957809
+ },
+ {
+ "type": "QPointF",
+ "x": 775.7238022712683,
+ "y": 1140.8932385352612
+ },
+ {
+ "type": "QPointF",
+ "x": 773.9496422370827,
+ "y": 1254.4938403383917
+ },
+ {
+ "type": "QPointF",
+ "x": 774.3725935699175,
+ "y": 1311.0266010527719
+ },
+ {
+ "type": "QPointF",
+ "x": 775.7556236491987,
+ "y": 1367.8134323501624
+ },
+ {
+ "type": "QPointF",
+ "x": 778.1598154813046,
+ "y": 1424.435109901397
+ },
+ {
+ "type": "QPointF",
+ "x": 781.6473200844314,
+ "y": 1480.7492730591212
+ },
+ {
+ "type": "QPointF",
+ "x": 786.2790701026621,
+ "y": 1536.6128151220523
+ },
+ {
+ "type": "QPointF",
+ "x": 792.0860566464876,
+ "y": 1591.6122140486748
+ },
+ {
+ "type": "QPointF",
+ "x": 814.3283743934884,
+ "y": 1753.4358096749502
+ },
+ {
+ "type": "QPointF",
+ "x": 176.43300321313995,
+ "y": 1809.2444231688892
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_883_ledge/input.json b/src/test/ValentinaTest/share/Issue_883_ledge/input.json
new file mode 100644
index 000000000..1a5b92a25
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_883_ledge/input.json
@@ -0,0 +1,129 @@
+{
+ "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",
+ "x": 1122.8447244094489,
+ "y": 91.85612598425197
+ },
+ {
+ "type": "VSAPoint",
+ "x": 1122.8447244094489,
+ "y": -664.0493858267716
+ },
+ {
+ "type": "VSAPoint",
+ "x": 1122.8447244094489,
+ "y": -664.0493858267716
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1123.2605071010314,
+ "y": -692.1027566151841
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1125.5521344988651,
+ "y": -746.904953834852
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1129.5018897097445,
+ "y": -800.813185020781
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1135.005387617497,
+ "y": -854.573547056137
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1141.9582431059482,
+ "y": -908.9321368240863
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1150.2560710589246,
+ "y": -964.635051207795
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1164.860792708483,
+ "y": -1051.9409225168733
+ },
+ {
+ "type": "VSAPoint",
+ "x": 1176.2406858386873,
+ "y": -1114.83483747791
+ },
+ {
+ "type": "VSAPoint",
+ "x": 1176.2406858386873,
+ "y": -1114.83483747791
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1179.7035125223924,
+ "y": -1136.9452686438185
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1186.627664934387,
+ "y": -1177.145289266175
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1197.298845134993,
+ "y": -1231.2802973446833
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1213.068331853193,
+ "y": -1298.0112723855073
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1231.8133334949034,
+ "y": -1369.0339174169235
+ },
+ {
+ "type": "VSAPoint",
+ "x": 1242.934050298766,
+ "y": -1410.35475
+ },
+ {
+ "type": "VSAPoint",
+ "x": 1242.934050298766,
+ "y": -1410.35475
+ },
+ {
+ "type": "VSAPoint",
+ "x": 2006.3092913385829,
+ "y": -1344.3643464566928
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_883_ledge/output.json b/src/test/ValentinaTest/share/Issue_883_ledge/output.json
new file mode 100644
index 000000000..5a4c2bcf9
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_883_ledge/output.json
@@ -0,0 +1,84 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": 2044.104566929134,
+ "y": -664.0493858267716
+ },
+ {
+ "type": "QPointF",
+ "x": 2063.0022047244097,
+ "y": -664.0493858267716
+ },
+ {
+ "type": "QPointF",
+ "x": 2063.0022047244097,
+ "y": 129.651401574803
+ },
+ {
+ "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
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_883_prong/input.json b/src/test/ValentinaTest/share/Issue_883_prong/input.json
new file mode 100644
index 000000000..7e4fcfb63
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_883_prong/input.json
@@ -0,0 +1,128 @@
+{
+ "vector": [
+ {
+ "angle": 2,
+ "type": "VSAPoint",
+ "x": 1122.8447244094489,
+ "y": 91.85612598425197
+ },
+ {
+ "type": "VSAPoint",
+ "x": 1122.8447244094489,
+ "y": -664.0493858267716
+ },
+ {
+ "type": "VSAPoint",
+ "x": 1122.8447244094489,
+ "y": -664.0493858267716
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1123.2605071010314,
+ "y": -692.1027566151841
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1125.5521344988651,
+ "y": -746.904953834852
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1129.5018897097445,
+ "y": -800.813185020781
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1135.005387617497,
+ "y": -854.573547056137
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1141.9582431059482,
+ "y": -908.9321368240863
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1150.2560710589246,
+ "y": -964.635051207795
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1164.860792708483,
+ "y": -1051.9409225168733
+ },
+ {
+ "type": "VSAPoint",
+ "x": 1176.2406858386873,
+ "y": -1114.83483747791
+ },
+ {
+ "type": "VSAPoint",
+ "x": 1176.2406858386873,
+ "y": -1114.83483747791
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1179.7035125223924,
+ "y": -1136.9452686438185
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1186.627664934387,
+ "y": -1177.145289266175
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1197.298845134993,
+ "y": -1231.2802973446833
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1213.068331853193,
+ "y": -1298.0112723855073
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1231.8133334949034,
+ "y": -1369.0339174169235
+ },
+ {
+ "type": "VSAPoint",
+ "x": 1242.934050298766,
+ "y": -1410.35475
+ },
+ {
+ "type": "VSAPoint",
+ "x": 1242.934050298766,
+ "y": -1410.35475
+ },
+ {
+ "type": "VSAPoint",
+ "x": 2006.3092913385829,
+ "y": -1344.3643464566928
+ },
+ {
+ "saAfter": 56.69291338582678,
+ "type": "VSAPoint",
+ "x": 2006.3092913385829,
+ "y": -664.0493858267716
+ },
+ {
+ "type": "VSAPoint",
+ "x": 2006.3092913385829,
+ "y": 91.85612598425197
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_883_prong/output.json b/src/test/ValentinaTest/share/Issue_883_prong/output.json
new file mode 100644
index 000000000..3f810f5da
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_883_prong/output.json
@@ -0,0 +1,84 @@
+{
+ "vector": [
+ {
+ "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
+ },
+ {
+ "type": "QPointF",
+ "x": 2063.0022047244097,
+ "y": -664.0493858267716
+ },
+ {
+ "type": "QPointF",
+ "x": 2043.1596850393703,
+ "y": 129.651401574803
+ },
+ {
+ "type": "QPointF",
+ "x": 1085.0694887145344,
+ "y": 129.65140157480317
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_923_test1/input.json b/src/test/ValentinaTest/share/Issue_923_test1/input.json
new file mode 100644
index 000000000..eab667677
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_923_test1/input.json
@@ -0,0 +1,477 @@
+{
+ "vector": [
+ {
+ "saAfter": 0,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": 331.31319685039375
+ },
+ {
+ "saAfter": 37.795275590551185,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": -8.844283464566928
+ },
+ {
+ "saAfter": 37.795275590551185,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": -8.844283464566928
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -810.9147913912859,
+ "y": -9.118915311803084
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -773.697565712941,
+ "y": -13.057776517652679
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -731.3693960390717,
+ "y": -19.56419323976961
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -700.8138618525178,
+ "y": -25.693917945236084
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -670.5392892845426,
+ "y": -33.532046871057645
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -649.4254060248002,
+ "y": -40.69070943425645
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -636.4972481739836,
+ "y": -46.04184558720286
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -630.5509356263242,
+ "y": -48.932226964906654
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -612.7709374645625,
+ "y": -58.17881193899319
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -595.5042094427563,
+ "y": -69.04225265620269
+ },
+ {
+ "type": "VSAPoint",
+ "x": -590.4629921259842,
+ "y": -72.52932283464567
+ },
+ {
+ "type": "VSAPoint",
+ "x": -590.4629921259842,
+ "y": -72.52932283464567
+ },
+ {
+ "type": "VSAPoint",
+ "x": -231.11800695198497,
+ "y": 95.87915857519384
+ },
+ {
+ "type": "VSAPoint",
+ "x": -231.11800695198497,
+ "y": 95.87915857519384
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -238.40281543387266,
+ "y": 116.44191216638788
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -251.05490182747536,
+ "y": 155.85530707633535
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -261.5198582532174,
+ "y": 193.3982017541216
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -269.9242477292619,
+ "y": 229.27507897171068
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -276.39463327377155,
+ "y": 263.69042150106657
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -281.0575779049093,
+ "y": 296.8487121141533
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -284.03964464083833,
+ "y": 328.95443358293466
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -285.5557999020539,
+ "y": 332.07367819388446
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -288.834524798698,
+ "y": 333.54602837322557
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -292.6510175119016,
+ "y": 334.960499310105
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -296.9869360245949,
+ "y": 336.3175974119747
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -304.3654176607361,
+ "y": 338.2537916174847
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -315.933705278224,
+ "y": 340.62982770058966
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -329.2495397864151,
+ "y": 342.78548777779133
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -344.1661850487516,
+ "y": 344.72482310870555
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -360.5369049286754,
+ "y": 346.45188495294803
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -378.2149632896285,
+ "y": 347.9707245701345
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -397.0536239950529,
+ "y": 349.2853932198809
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -416.9061509083906,
+ "y": 350.399942161803
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -437.6258078930837,
+ "y": 351.3184226555164
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -459.065858812574,
+ "y": 352.04488596063703
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -481.0795675303036,
+ "y": 352.5833833367806
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -503.5201979097145,
+ "y": 352.93796604356305
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -526.2410138142486,
+ "y": 353.1126853406
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -549.0952791073482,
+ "y": 353.1115924875072
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -571.936257652455,
+ "y": 352.93873874390056
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -594.617213313011,
+ "y": 352.5981753693958
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -616.9914099524583,
+ "y": 352.09395362360874
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -638.9121114342388,
+ "y": 351.430124766155
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -660.2325816217947,
+ "y": 350.61074005665057
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -680.8060843785678,
+ "y": 349.6398507547111
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -700.4858835680001,
+ "y": 348.52150811995256
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -719.1252430535337,
+ "y": 347.2597634119904
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -736.5774266986106,
+ "y": 345.8586678904407
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -752.6956983666726,
+ "y": 344.3222728149191
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -767.333321921162,
+ "y": 342.65462944504145
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -780.3435612255205,
+ "y": 340.8597890404234
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -791.5796801431904,
+ "y": 338.9418028606809
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -800.8949425376136,
+ "y": 336.90472216542963
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -806.4645048840825,
+ "y": 335.2976928037018
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -809.5439285608359,
+ "y": 334.19362962533444
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -812.0605990299634,
+ "y": 333.06207165162374
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -813.9961742743959,
+ "y": 331.90352529002166
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": 331.31319685039375
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_923_test1/output.json b/src/test/ValentinaTest/share/Issue_923_test1/output.json
new file mode 100644
index 000000000..15c701400
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_923_test1/output.json
@@ -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": -309.27926069378105,
+ "y": 377.87711814041575
+ },
+ {
+ "type": "QPointF",
+ "x": -356.896273947742,
+ "y": 384.09256859068546
+ },
+ {
+ "type": "QPointF",
+ "x": -436.1304063463224,
+ "y": 389.0945322692452
+ },
+ {
+ "type": "QPointF",
+ "x": -549.2893527340862,
+ "y": 390.91488008889513
+ },
+ {
+ "type": "QPointF",
+ "x": -682.6991220793232,
+ "y": 387.3983556636985
+ },
+ {
+ "type": "QPointF",
+ "x": -756.6839944284903,
+ "y": 381.9257942844239
+ },
+ {
+ "type": "QPointF",
+ "x": -799.0261371963916,
+ "y": 376.0668102876168
+ },
+ {
+ "type": "QPointF",
+ "x": -814.7149606299213,
+ "y": 371.920060042948
+ },
+ {
+ "type": "QPointF",
+ "x": -814.7149606299213,
+ "y": -46.83844987562506
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_923_test1_1/input.json b/src/test/ValentinaTest/share/Issue_923_test1_1/input.json
new file mode 100644
index 000000000..4c41972f2
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_923_test1_1/input.json
@@ -0,0 +1,477 @@
+{
+ "vector": [
+ {
+ "saAfter": 151.18110236220474,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": 331.31319685039375
+ },
+ {
+ "saAfter": 37.795275590551185,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": -8.844283464566928
+ },
+ {
+ "saAfter": 37.795275590551185,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": -8.844283464566928
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -810.9147913912859,
+ "y": -9.118915311803084
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -773.697565712941,
+ "y": -13.057776517652679
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -731.3693960390717,
+ "y": -19.56419323976961
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -700.8138618525178,
+ "y": -25.693917945236084
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -670.5392892845426,
+ "y": -33.532046871057645
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -649.4254060248002,
+ "y": -40.69070943425645
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -636.4972481739836,
+ "y": -46.04184558720286
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -630.5509356263242,
+ "y": -48.932226964906654
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -612.7709374645625,
+ "y": -58.17881193899319
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -595.5042094427563,
+ "y": -69.04225265620269
+ },
+ {
+ "type": "VSAPoint",
+ "x": -590.4629921259842,
+ "y": -72.52932283464567
+ },
+ {
+ "type": "VSAPoint",
+ "x": -590.4629921259842,
+ "y": -72.52932283464567
+ },
+ {
+ "type": "VSAPoint",
+ "x": -231.11800695198497,
+ "y": 95.87915857519384
+ },
+ {
+ "type": "VSAPoint",
+ "x": -231.11800695198497,
+ "y": 95.87915857519384
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -238.40281543387266,
+ "y": 116.44191216638788
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -251.05490182747536,
+ "y": 155.85530707633535
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -261.5198582532174,
+ "y": 193.3982017541216
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -269.9242477292619,
+ "y": 229.27507897171068
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -276.39463327377155,
+ "y": 263.69042150106657
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -281.0575779049093,
+ "y": 296.8487121141533
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -284.03964464083833,
+ "y": 328.95443358293466
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -285.5557999020539,
+ "y": 332.07367819388446
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -288.834524798698,
+ "y": 333.54602837322557
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -292.6510175119016,
+ "y": 334.960499310105
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -296.9869360245949,
+ "y": 336.3175974119747
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -304.3654176607361,
+ "y": 338.2537916174847
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -315.933705278224,
+ "y": 340.62982770058966
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -329.2495397864151,
+ "y": 342.78548777779133
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -344.1661850487516,
+ "y": 344.72482310870555
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -360.5369049286754,
+ "y": 346.45188495294803
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -378.2149632896285,
+ "y": 347.9707245701345
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -397.0536239950529,
+ "y": 349.2853932198809
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -416.9061509083906,
+ "y": 350.399942161803
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -437.6258078930837,
+ "y": 351.3184226555164
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -459.065858812574,
+ "y": 352.04488596063703
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -481.0795675303036,
+ "y": 352.5833833367806
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -503.5201979097145,
+ "y": 352.93796604356305
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -526.2410138142486,
+ "y": 353.1126853406
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -549.0952791073482,
+ "y": 353.1115924875072
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -571.936257652455,
+ "y": 352.93873874390056
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -594.617213313011,
+ "y": 352.5981753693958
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -616.9914099524583,
+ "y": 352.09395362360874
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -638.9121114342388,
+ "y": 351.430124766155
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -660.2325816217947,
+ "y": 350.61074005665057
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -680.8060843785678,
+ "y": 349.6398507547111
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -700.4858835680001,
+ "y": 348.52150811995256
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -719.1252430535337,
+ "y": 347.2597634119904
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -736.5774266986106,
+ "y": 345.8586678904407
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -752.6956983666726,
+ "y": 344.3222728149191
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -767.333321921162,
+ "y": 342.65462944504145
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -780.3435612255205,
+ "y": 340.8597890404234
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -791.5796801431904,
+ "y": 338.9418028606809
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -800.8949425376136,
+ "y": 336.90472216542963
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -806.4645048840825,
+ "y": 335.2976928037018
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -809.5439285608359,
+ "y": 334.19362962533444
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -812.0605990299634,
+ "y": 333.06207165162374
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -813.9961742743959,
+ "y": 331.90352529002166
+ },
+ {
+ "saAfter": 151.18110236220474,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": 331.31319685039375
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_923_test1_1/output.json b/src/test/ValentinaTest/share/Issue_923_test1_1/output.json
new file mode 100644
index 000000000..10973b151
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_923_test1_1/output.json
@@ -0,0 +1,149 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": -951.3079151335542,
+ "y": 298.48986416860714
+ },
+ {
+ "type": "QPointF",
+ "x": -797.0208328242412,
+ "y": -48.656071027347224
+ },
+ {
+ "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": -309.27926069378105,
+ "y": 377.87711814041575
+ },
+ {
+ "type": "QPointF",
+ "x": -356.896273947742,
+ "y": 384.09256859068546
+ },
+ {
+ "type": "QPointF",
+ "x": -436.1304063463224,
+ "y": 389.0945322692452
+ },
+ {
+ "type": "QPointF",
+ "x": -549.2893527340862,
+ "y": 390.91488008889513
+ },
+ {
+ "type": "QPointF",
+ "x": -682.6991220793232,
+ "y": 387.3983556636985
+ },
+ {
+ "type": "QPointF",
+ "x": -756.6839944284903,
+ "y": 381.9257942844239
+ },
+ {
+ "type": "QPointF",
+ "x": -799.0261371963916,
+ "y": 376.0668102876168
+ },
+ {
+ "type": "QPointF",
+ "x": -823.790235138909,
+ "y": 369.5213526478381
+ },
+ {
+ "type": "QPointF",
+ "x": -951.3079151335542,
+ "y": 298.48986416860714
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_923_test2/input.json b/src/test/ValentinaTest/share/Issue_923_test2/input.json
new file mode 100644
index 000000000..d3eebaff9
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_923_test2/input.json
@@ -0,0 +1,479 @@
+{
+ "vector": [
+ {
+ "angle": 1,
+ "saAfter": 0,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": 331.31319685039375
+ },
+ {
+ "saAfter": 37.795275590551185,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": -8.844283464566928
+ },
+ {
+ "saAfter": 37.795275590551185,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": -8.844283464566928
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -810.9147913912859,
+ "y": -9.118915311803084
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -773.697565712941,
+ "y": -13.057776517652679
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -731.3693960390717,
+ "y": -19.56419323976961
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -700.8138618525178,
+ "y": -25.693917945236084
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -670.5392892845426,
+ "y": -33.532046871057645
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -649.4254060248002,
+ "y": -40.69070943425645
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -636.4972481739836,
+ "y": -46.04184558720286
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -630.5509356263242,
+ "y": -48.932226964906654
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -612.7709374645625,
+ "y": -58.17881193899319
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -595.5042094427563,
+ "y": -69.04225265620269
+ },
+ {
+ "type": "VSAPoint",
+ "x": -590.4629921259842,
+ "y": -72.52932283464567
+ },
+ {
+ "type": "VSAPoint",
+ "x": -590.4629921259842,
+ "y": -72.52932283464567
+ },
+ {
+ "type": "VSAPoint",
+ "x": -231.11800695198497,
+ "y": 95.87915857519384
+ },
+ {
+ "type": "VSAPoint",
+ "x": -231.11800695198497,
+ "y": 95.87915857519384
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -238.40281543387266,
+ "y": 116.44191216638788
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -251.05490182747536,
+ "y": 155.85530707633535
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -261.5198582532174,
+ "y": 193.3982017541216
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -269.9242477292619,
+ "y": 229.27507897171068
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -276.39463327377155,
+ "y": 263.69042150106657
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -281.0575779049093,
+ "y": 296.8487121141533
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -284.03964464083833,
+ "y": 328.95443358293466
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -285.5557999020539,
+ "y": 332.07367819388446
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -288.834524798698,
+ "y": 333.54602837322557
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -292.6510175119016,
+ "y": 334.960499310105
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -296.9869360245949,
+ "y": 336.3175974119747
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -304.3654176607361,
+ "y": 338.2537916174847
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -315.933705278224,
+ "y": 340.62982770058966
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -329.2495397864151,
+ "y": 342.78548777779133
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -344.1661850487516,
+ "y": 344.72482310870555
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -360.5369049286754,
+ "y": 346.45188495294803
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -378.2149632896285,
+ "y": 347.9707245701345
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -397.0536239950529,
+ "y": 349.2853932198809
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -416.9061509083906,
+ "y": 350.399942161803
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -437.6258078930837,
+ "y": 351.3184226555164
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -459.065858812574,
+ "y": 352.04488596063703
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -481.0795675303036,
+ "y": 352.5833833367806
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -503.5201979097145,
+ "y": 352.93796604356305
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -526.2410138142486,
+ "y": 353.1126853406
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -549.0952791073482,
+ "y": 353.1115924875072
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -571.936257652455,
+ "y": 352.93873874390056
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -594.617213313011,
+ "y": 352.5981753693958
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -616.9914099524583,
+ "y": 352.09395362360874
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -638.9121114342388,
+ "y": 351.430124766155
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -660.2325816217947,
+ "y": 350.61074005665057
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -680.8060843785678,
+ "y": 349.6398507547111
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -700.4858835680001,
+ "y": 348.52150811995256
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -719.1252430535337,
+ "y": 347.2597634119904
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -736.5774266986106,
+ "y": 345.8586678904407
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -752.6956983666726,
+ "y": 344.3222728149191
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -767.333321921162,
+ "y": 342.65462944504145
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -780.3435612255205,
+ "y": 340.8597890404234
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -791.5796801431904,
+ "y": 338.9418028606809
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -800.8949425376136,
+ "y": 336.90472216542963
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -806.4645048840825,
+ "y": 335.2976928037018
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -809.5439285608359,
+ "y": 334.19362962533444
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -812.0605990299634,
+ "y": 333.06207165162374
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -813.9961742743959,
+ "y": 331.90352529002166
+ },
+ {
+ "angle": 1,
+ "saAfter": 0,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": 331.31319685039375
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_923_test2/output.json b/src/test/ValentinaTest/share/Issue_923_test2/output.json
new file mode 100644
index 000000000..c88bd5867
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_923_test2/output.json
@@ -0,0 +1,144 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": -814.7149606299213,
+ "y": 371.920060042948
+ },
+ {
+ "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": -309.27926069378105,
+ "y": 377.87711814041575
+ },
+ {
+ "type": "QPointF",
+ "x": -356.896273947742,
+ "y": 384.09256859068546
+ },
+ {
+ "type": "QPointF",
+ "x": -436.1304063463224,
+ "y": 389.0945322692452
+ },
+ {
+ "type": "QPointF",
+ "x": -549.2893527340862,
+ "y": 390.91488008889513
+ },
+ {
+ "type": "QPointF",
+ "x": -682.6991220793232,
+ "y": 387.3983556636985
+ },
+ {
+ "type": "QPointF",
+ "x": -756.6839944284903,
+ "y": 381.9257942844239
+ },
+ {
+ "type": "QPointF",
+ "x": -799.0261371963916,
+ "y": 376.0668102876168
+ },
+ {
+ "type": "QPointF",
+ "x": -814.7149606299213,
+ "y": 371.920060042948
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_923_test2_2/input.json b/src/test/ValentinaTest/share/Issue_923_test2_2/input.json
new file mode 100644
index 000000000..3dedc917b
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_923_test2_2/input.json
@@ -0,0 +1,479 @@
+{
+ "vector": [
+ {
+ "angle": 1,
+ "saAfter": 151.18110236220474,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": 331.31319685039375
+ },
+ {
+ "saAfter": 37.795275590551185,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": -8.844283464566928
+ },
+ {
+ "saAfter": 37.795275590551185,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": -8.844283464566928
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -810.9147913912859,
+ "y": -9.118915311803084
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -773.697565712941,
+ "y": -13.057776517652679
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -731.3693960390717,
+ "y": -19.56419323976961
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -700.8138618525178,
+ "y": -25.693917945236084
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -670.5392892845426,
+ "y": -33.532046871057645
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -649.4254060248002,
+ "y": -40.69070943425645
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -636.4972481739836,
+ "y": -46.04184558720286
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -630.5509356263242,
+ "y": -48.932226964906654
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -612.7709374645625,
+ "y": -58.17881193899319
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -595.5042094427563,
+ "y": -69.04225265620269
+ },
+ {
+ "type": "VSAPoint",
+ "x": -590.4629921259842,
+ "y": -72.52932283464567
+ },
+ {
+ "type": "VSAPoint",
+ "x": -590.4629921259842,
+ "y": -72.52932283464567
+ },
+ {
+ "type": "VSAPoint",
+ "x": -231.11800695198497,
+ "y": 95.87915857519384
+ },
+ {
+ "type": "VSAPoint",
+ "x": -231.11800695198497,
+ "y": 95.87915857519384
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -238.40281543387266,
+ "y": 116.44191216638788
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -251.05490182747536,
+ "y": 155.85530707633535
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -261.5198582532174,
+ "y": 193.3982017541216
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -269.9242477292619,
+ "y": 229.27507897171068
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -276.39463327377155,
+ "y": 263.69042150106657
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -281.0575779049093,
+ "y": 296.8487121141533
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -284.03964464083833,
+ "y": 328.95443358293466
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -285.5557999020539,
+ "y": 332.07367819388446
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -288.834524798698,
+ "y": 333.54602837322557
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -292.6510175119016,
+ "y": 334.960499310105
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -296.9869360245949,
+ "y": 336.3175974119747
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -304.3654176607361,
+ "y": 338.2537916174847
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -315.933705278224,
+ "y": 340.62982770058966
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -329.2495397864151,
+ "y": 342.78548777779133
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -344.1661850487516,
+ "y": 344.72482310870555
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -360.5369049286754,
+ "y": 346.45188495294803
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -378.2149632896285,
+ "y": 347.9707245701345
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -397.0536239950529,
+ "y": 349.2853932198809
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -416.9061509083906,
+ "y": 350.399942161803
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -437.6258078930837,
+ "y": 351.3184226555164
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -459.065858812574,
+ "y": 352.04488596063703
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -481.0795675303036,
+ "y": 352.5833833367806
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -503.5201979097145,
+ "y": 352.93796604356305
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -526.2410138142486,
+ "y": 353.1126853406
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -549.0952791073482,
+ "y": 353.1115924875072
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -571.936257652455,
+ "y": 352.93873874390056
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -594.617213313011,
+ "y": 352.5981753693958
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -616.9914099524583,
+ "y": 352.09395362360874
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -638.9121114342388,
+ "y": 351.430124766155
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -660.2325816217947,
+ "y": 350.61074005665057
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -680.8060843785678,
+ "y": 349.6398507547111
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -700.4858835680001,
+ "y": 348.52150811995256
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -719.1252430535337,
+ "y": 347.2597634119904
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -736.5774266986106,
+ "y": 345.8586678904407
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -752.6956983666726,
+ "y": 344.3222728149191
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -767.333321921162,
+ "y": 342.65462944504145
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -780.3435612255205,
+ "y": 340.8597890404234
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -791.5796801431904,
+ "y": 338.9418028606809
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -800.8949425376136,
+ "y": 336.90472216542963
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -806.4645048840825,
+ "y": 335.2976928037018
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -809.5439285608359,
+ "y": 334.19362962533444
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -812.0605990299634,
+ "y": 333.06207165162374
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -813.9961742743959,
+ "y": 331.90352529002166
+ },
+ {
+ "angle": 1,
+ "saAfter": 151.18110236220474,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": 331.31319685039375
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_923_test2_2/output.json b/src/test/ValentinaTest/share/Issue_923_test2_2/output.json
new file mode 100644
index 000000000..810db78e2
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_923_test2_2/output.json
@@ -0,0 +1,149 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": -814.7149606299213,
+ "y": 371.920060042948
+ },
+ {
+ "type": "QPointF",
+ "x": -935.8954185470703,
+ "y": 263.81174684901856
+ },
+ {
+ "type": "QPointF",
+ "x": -797.0208328242412,
+ "y": -48.656071027347224
+ },
+ {
+ "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": -309.27926069378105,
+ "y": 377.87711814041575
+ },
+ {
+ "type": "QPointF",
+ "x": -356.896273947742,
+ "y": 384.09256859068546
+ },
+ {
+ "type": "QPointF",
+ "x": -436.1304063463224,
+ "y": 389.0945322692452
+ },
+ {
+ "type": "QPointF",
+ "x": -549.2893527340862,
+ "y": 390.91488008889513
+ },
+ {
+ "type": "QPointF",
+ "x": -682.6991220793232,
+ "y": 387.3983556636985
+ },
+ {
+ "type": "QPointF",
+ "x": -756.6839944284903,
+ "y": 381.9257942844239
+ },
+ {
+ "type": "QPointF",
+ "x": -799.0261371963916,
+ "y": 376.0668102876168
+ },
+ {
+ "type": "QPointF",
+ "x": -814.7149606299213,
+ "y": 371.920060042948
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_923_test3/input.json b/src/test/ValentinaTest/share/Issue_923_test3/input.json
new file mode 100644
index 000000000..3ea970877
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_923_test3/input.json
@@ -0,0 +1,479 @@
+{
+ "vector": [
+ {
+ "angle": 2,
+ "saAfter": 0,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": 331.31319685039375
+ },
+ {
+ "saAfter": 37.795275590551185,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": -8.844283464566928
+ },
+ {
+ "saAfter": 37.795275590551185,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": -8.844283464566928
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -810.9147913912859,
+ "y": -9.118915311803084
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -773.697565712941,
+ "y": -13.057776517652679
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -731.3693960390717,
+ "y": -19.56419323976961
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -700.8138618525178,
+ "y": -25.693917945236084
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -670.5392892845426,
+ "y": -33.532046871057645
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -649.4254060248002,
+ "y": -40.69070943425645
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -636.4972481739836,
+ "y": -46.04184558720286
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -630.5509356263242,
+ "y": -48.932226964906654
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -612.7709374645625,
+ "y": -58.17881193899319
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -595.5042094427563,
+ "y": -69.04225265620269
+ },
+ {
+ "type": "VSAPoint",
+ "x": -590.4629921259842,
+ "y": -72.52932283464567
+ },
+ {
+ "type": "VSAPoint",
+ "x": -590.4629921259842,
+ "y": -72.52932283464567
+ },
+ {
+ "type": "VSAPoint",
+ "x": -231.11800695198497,
+ "y": 95.87915857519384
+ },
+ {
+ "type": "VSAPoint",
+ "x": -231.11800695198497,
+ "y": 95.87915857519384
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -238.40281543387266,
+ "y": 116.44191216638788
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -251.05490182747536,
+ "y": 155.85530707633535
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -261.5198582532174,
+ "y": 193.3982017541216
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -269.9242477292619,
+ "y": 229.27507897171068
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -276.39463327377155,
+ "y": 263.69042150106657
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -281.0575779049093,
+ "y": 296.8487121141533
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -284.03964464083833,
+ "y": 328.95443358293466
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -285.5557999020539,
+ "y": 332.07367819388446
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -288.834524798698,
+ "y": 333.54602837322557
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -292.6510175119016,
+ "y": 334.960499310105
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -296.9869360245949,
+ "y": 336.3175974119747
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -304.3654176607361,
+ "y": 338.2537916174847
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -315.933705278224,
+ "y": 340.62982770058966
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -329.2495397864151,
+ "y": 342.78548777779133
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -344.1661850487516,
+ "y": 344.72482310870555
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -360.5369049286754,
+ "y": 346.45188495294803
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -378.2149632896285,
+ "y": 347.9707245701345
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -397.0536239950529,
+ "y": 349.2853932198809
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -416.9061509083906,
+ "y": 350.399942161803
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -437.6258078930837,
+ "y": 351.3184226555164
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -459.065858812574,
+ "y": 352.04488596063703
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -481.0795675303036,
+ "y": 352.5833833367806
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -503.5201979097145,
+ "y": 352.93796604356305
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -526.2410138142486,
+ "y": 353.1126853406
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -549.0952791073482,
+ "y": 353.1115924875072
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -571.936257652455,
+ "y": 352.93873874390056
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -594.617213313011,
+ "y": 352.5981753693958
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -616.9914099524583,
+ "y": 352.09395362360874
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -638.9121114342388,
+ "y": 351.430124766155
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -660.2325816217947,
+ "y": 350.61074005665057
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -680.8060843785678,
+ "y": 349.6398507547111
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -700.4858835680001,
+ "y": 348.52150811995256
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -719.1252430535337,
+ "y": 347.2597634119904
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -736.5774266986106,
+ "y": 345.8586678904407
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -752.6956983666726,
+ "y": 344.3222728149191
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -767.333321921162,
+ "y": 342.65462944504145
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -780.3435612255205,
+ "y": 340.8597890404234
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -791.5796801431904,
+ "y": 338.9418028606809
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -800.8949425376136,
+ "y": 336.90472216542963
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -806.4645048840825,
+ "y": 335.2976928037018
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -809.5439285608359,
+ "y": 334.19362962533444
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -812.0605990299634,
+ "y": 333.06207165162374
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -813.9961742743959,
+ "y": 331.90352529002166
+ },
+ {
+ "angle": 2,
+ "saAfter": 0,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": 331.31319685039375
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_923_test3/output.json b/src/test/ValentinaTest/share/Issue_923_test3/output.json
new file mode 100644
index 000000000..decf3591b
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_923_test3/output.json
@@ -0,0 +1,154 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": -851.4994821489531,
+ "y": 354.0864022955045
+ },
+ {
+ "type": "QPointF",
+ "x": -814.7149606299213,
+ "y": 331.3131968503937
+ },
+ {
+ "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": -309.27926069378105,
+ "y": 377.87711814041575
+ },
+ {
+ "type": "QPointF",
+ "x": -356.896273947742,
+ "y": 384.09256859068546
+ },
+ {
+ "type": "QPointF",
+ "x": -436.1304063463224,
+ "y": 389.0945322692452
+ },
+ {
+ "type": "QPointF",
+ "x": -549.2893527340862,
+ "y": 390.91488008889513
+ },
+ {
+ "type": "QPointF",
+ "x": -682.6991220793232,
+ "y": 387.3983556636985
+ },
+ {
+ "type": "QPointF",
+ "x": -756.6839944284903,
+ "y": 381.9257942844239
+ },
+ {
+ "type": "QPointF",
+ "x": -799.0261371963916,
+ "y": 376.0668102876168
+ },
+ {
+ "type": "QPointF",
+ "x": -823.790235138909,
+ "y": 369.5213526478381
+ },
+ {
+ "type": "QPointF",
+ "x": -851.4994821489531,
+ "y": 354.0864022955045
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_923_test3_3/input.json b/src/test/ValentinaTest/share/Issue_923_test3_3/input.json
new file mode 100644
index 000000000..644993afc
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_923_test3_3/input.json
@@ -0,0 +1,479 @@
+{
+ "vector": [
+ {
+ "angle": 2,
+ "saAfter": 151.18110236220474,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": 331.31319685039375
+ },
+ {
+ "saAfter": 37.795275590551185,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": -8.844283464566928
+ },
+ {
+ "saAfter": 37.795275590551185,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": -8.844283464566928
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -810.9147913912859,
+ "y": -9.118915311803084
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -773.697565712941,
+ "y": -13.057776517652679
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -731.3693960390717,
+ "y": -19.56419323976961
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -700.8138618525178,
+ "y": -25.693917945236084
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -670.5392892845426,
+ "y": -33.532046871057645
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -649.4254060248002,
+ "y": -40.69070943425645
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -636.4972481739836,
+ "y": -46.04184558720286
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -630.5509356263242,
+ "y": -48.932226964906654
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -612.7709374645625,
+ "y": -58.17881193899319
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -595.5042094427563,
+ "y": -69.04225265620269
+ },
+ {
+ "type": "VSAPoint",
+ "x": -590.4629921259842,
+ "y": -72.52932283464567
+ },
+ {
+ "type": "VSAPoint",
+ "x": -590.4629921259842,
+ "y": -72.52932283464567
+ },
+ {
+ "type": "VSAPoint",
+ "x": -231.11800695198497,
+ "y": 95.87915857519384
+ },
+ {
+ "type": "VSAPoint",
+ "x": -231.11800695198497,
+ "y": 95.87915857519384
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -238.40281543387266,
+ "y": 116.44191216638788
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -251.05490182747536,
+ "y": 155.85530707633535
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -261.5198582532174,
+ "y": 193.3982017541216
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -269.9242477292619,
+ "y": 229.27507897171068
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -276.39463327377155,
+ "y": 263.69042150106657
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -281.0575779049093,
+ "y": 296.8487121141533
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -284.03964464083833,
+ "y": 328.95443358293466
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -285.5557999020539,
+ "y": 332.07367819388446
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -288.834524798698,
+ "y": 333.54602837322557
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -292.6510175119016,
+ "y": 334.960499310105
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -296.9869360245949,
+ "y": 336.3175974119747
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -304.3654176607361,
+ "y": 338.2537916174847
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -315.933705278224,
+ "y": 340.62982770058966
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -329.2495397864151,
+ "y": 342.78548777779133
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -344.1661850487516,
+ "y": 344.72482310870555
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -360.5369049286754,
+ "y": 346.45188495294803
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -378.2149632896285,
+ "y": 347.9707245701345
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -397.0536239950529,
+ "y": 349.2853932198809
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -416.9061509083906,
+ "y": 350.399942161803
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -437.6258078930837,
+ "y": 351.3184226555164
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -459.065858812574,
+ "y": 352.04488596063703
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -481.0795675303036,
+ "y": 352.5833833367806
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -503.5201979097145,
+ "y": 352.93796604356305
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -526.2410138142486,
+ "y": 353.1126853406
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -549.0952791073482,
+ "y": 353.1115924875072
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -571.936257652455,
+ "y": 352.93873874390056
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -594.617213313011,
+ "y": 352.5981753693958
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -616.9914099524583,
+ "y": 352.09395362360874
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -638.9121114342388,
+ "y": 351.430124766155
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -660.2325816217947,
+ "y": 350.61074005665057
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -680.8060843785678,
+ "y": 349.6398507547111
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -700.4858835680001,
+ "y": 348.52150811995256
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -719.1252430535337,
+ "y": 347.2597634119904
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -736.5774266986106,
+ "y": 345.8586678904407
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -752.6956983666726,
+ "y": 344.3222728149191
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -767.333321921162,
+ "y": 342.65462944504145
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -780.3435612255205,
+ "y": 340.8597890404234
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -791.5796801431904,
+ "y": 338.9418028606809
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -800.8949425376136,
+ "y": 336.90472216542963
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -806.4645048840825,
+ "y": 335.2976928037018
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -809.5439285608359,
+ "y": 334.19362962533444
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -812.0605990299634,
+ "y": 333.06207165162374
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -813.9961742743959,
+ "y": 331.90352529002166
+ },
+ {
+ "angle": 2,
+ "saAfter": 151.18110236220474,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": 331.31319685039375
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_923_test3_3/output.json b/src/test/ValentinaTest/share/Issue_923_test3_3/output.json
new file mode 100644
index 000000000..612ed6847
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_923_test3_3/output.json
@@ -0,0 +1,154 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": -957.2674434796184,
+ "y": 295.17021336353537
+ },
+ {
+ "type": "QPointF",
+ "x": -925.9193320940109,
+ "y": 241.36555232963477
+ },
+ {
+ "type": "QPointF",
+ "x": -797.0208328242412,
+ "y": -48.656071027347224
+ },
+ {
+ "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": -309.27926069378105,
+ "y": 377.87711814041575
+ },
+ {
+ "type": "QPointF",
+ "x": -356.896273947742,
+ "y": 384.09256859068546
+ },
+ {
+ "type": "QPointF",
+ "x": -436.1304063463224,
+ "y": 389.0945322692452
+ },
+ {
+ "type": "QPointF",
+ "x": -549.2893527340862,
+ "y": 390.91488008889513
+ },
+ {
+ "type": "QPointF",
+ "x": -682.6991220793232,
+ "y": 387.3983556636985
+ },
+ {
+ "type": "QPointF",
+ "x": -756.6839944284903,
+ "y": 381.9257942844239
+ },
+ {
+ "type": "QPointF",
+ "x": -799.0261371963916,
+ "y": 376.0668102876168
+ },
+ {
+ "type": "QPointF",
+ "x": -823.790235138909,
+ "y": 369.5213526478381
+ },
+ {
+ "type": "QPointF",
+ "x": -957.2674434796184,
+ "y": 295.17021336353537
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_923_test4/input.json b/src/test/ValentinaTest/share/Issue_923_test4/input.json
new file mode 100644
index 000000000..eab667677
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_923_test4/input.json
@@ -0,0 +1,477 @@
+{
+ "vector": [
+ {
+ "saAfter": 0,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": 331.31319685039375
+ },
+ {
+ "saAfter": 37.795275590551185,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": -8.844283464566928
+ },
+ {
+ "saAfter": 37.795275590551185,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": -8.844283464566928
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -810.9147913912859,
+ "y": -9.118915311803084
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -773.697565712941,
+ "y": -13.057776517652679
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -731.3693960390717,
+ "y": -19.56419323976961
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -700.8138618525178,
+ "y": -25.693917945236084
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -670.5392892845426,
+ "y": -33.532046871057645
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -649.4254060248002,
+ "y": -40.69070943425645
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -636.4972481739836,
+ "y": -46.04184558720286
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -630.5509356263242,
+ "y": -48.932226964906654
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -612.7709374645625,
+ "y": -58.17881193899319
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -595.5042094427563,
+ "y": -69.04225265620269
+ },
+ {
+ "type": "VSAPoint",
+ "x": -590.4629921259842,
+ "y": -72.52932283464567
+ },
+ {
+ "type": "VSAPoint",
+ "x": -590.4629921259842,
+ "y": -72.52932283464567
+ },
+ {
+ "type": "VSAPoint",
+ "x": -231.11800695198497,
+ "y": 95.87915857519384
+ },
+ {
+ "type": "VSAPoint",
+ "x": -231.11800695198497,
+ "y": 95.87915857519384
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -238.40281543387266,
+ "y": 116.44191216638788
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -251.05490182747536,
+ "y": 155.85530707633535
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -261.5198582532174,
+ "y": 193.3982017541216
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -269.9242477292619,
+ "y": 229.27507897171068
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -276.39463327377155,
+ "y": 263.69042150106657
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -281.0575779049093,
+ "y": 296.8487121141533
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -284.03964464083833,
+ "y": 328.95443358293466
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -285.5557999020539,
+ "y": 332.07367819388446
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -288.834524798698,
+ "y": 333.54602837322557
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -292.6510175119016,
+ "y": 334.960499310105
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -296.9869360245949,
+ "y": 336.3175974119747
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -304.3654176607361,
+ "y": 338.2537916174847
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -315.933705278224,
+ "y": 340.62982770058966
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -329.2495397864151,
+ "y": 342.78548777779133
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -344.1661850487516,
+ "y": 344.72482310870555
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -360.5369049286754,
+ "y": 346.45188495294803
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -378.2149632896285,
+ "y": 347.9707245701345
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -397.0536239950529,
+ "y": 349.2853932198809
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -416.9061509083906,
+ "y": 350.399942161803
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -437.6258078930837,
+ "y": 351.3184226555164
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -459.065858812574,
+ "y": 352.04488596063703
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -481.0795675303036,
+ "y": 352.5833833367806
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -503.5201979097145,
+ "y": 352.93796604356305
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -526.2410138142486,
+ "y": 353.1126853406
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -549.0952791073482,
+ "y": 353.1115924875072
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -571.936257652455,
+ "y": 352.93873874390056
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -594.617213313011,
+ "y": 352.5981753693958
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -616.9914099524583,
+ "y": 352.09395362360874
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -638.9121114342388,
+ "y": 351.430124766155
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -660.2325816217947,
+ "y": 350.61074005665057
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -680.8060843785678,
+ "y": 349.6398507547111
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -700.4858835680001,
+ "y": 348.52150811995256
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -719.1252430535337,
+ "y": 347.2597634119904
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -736.5774266986106,
+ "y": 345.8586678904407
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -752.6956983666726,
+ "y": 344.3222728149191
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -767.333321921162,
+ "y": 342.65462944504145
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -780.3435612255205,
+ "y": 340.8597890404234
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -791.5796801431904,
+ "y": 338.9418028606809
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -800.8949425376136,
+ "y": 336.90472216542963
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -806.4645048840825,
+ "y": 335.2976928037018
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -809.5439285608359,
+ "y": 334.19362962533444
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -812.0605990299634,
+ "y": 333.06207165162374
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -813.9961742743959,
+ "y": 331.90352529002166
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": 331.31319685039375
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_923_test4/output.json b/src/test/ValentinaTest/share/Issue_923_test4/output.json
new file mode 100644
index 000000000..15c701400
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_923_test4/output.json
@@ -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": -309.27926069378105,
+ "y": 377.87711814041575
+ },
+ {
+ "type": "QPointF",
+ "x": -356.896273947742,
+ "y": 384.09256859068546
+ },
+ {
+ "type": "QPointF",
+ "x": -436.1304063463224,
+ "y": 389.0945322692452
+ },
+ {
+ "type": "QPointF",
+ "x": -549.2893527340862,
+ "y": 390.91488008889513
+ },
+ {
+ "type": "QPointF",
+ "x": -682.6991220793232,
+ "y": 387.3983556636985
+ },
+ {
+ "type": "QPointF",
+ "x": -756.6839944284903,
+ "y": 381.9257942844239
+ },
+ {
+ "type": "QPointF",
+ "x": -799.0261371963916,
+ "y": 376.0668102876168
+ },
+ {
+ "type": "QPointF",
+ "x": -814.7149606299213,
+ "y": 371.920060042948
+ },
+ {
+ "type": "QPointF",
+ "x": -814.7149606299213,
+ "y": -46.83844987562506
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_923_test4_4/input.json b/src/test/ValentinaTest/share/Issue_923_test4_4/input.json
new file mode 100644
index 000000000..28ab6e9bb
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_923_test4_4/input.json
@@ -0,0 +1,479 @@
+{
+ "vector": [
+ {
+ "angle": 3,
+ "saAfter": 151.18110236220474,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": 331.31319685039375
+ },
+ {
+ "saAfter": 37.795275590551185,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": -8.844283464566928
+ },
+ {
+ "saAfter": 37.795275590551185,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": -8.844283464566928
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -810.9147913912859,
+ "y": -9.118915311803084
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -773.697565712941,
+ "y": -13.057776517652679
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -731.3693960390717,
+ "y": -19.56419323976961
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -700.8138618525178,
+ "y": -25.693917945236084
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -670.5392892845426,
+ "y": -33.532046871057645
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -649.4254060248002,
+ "y": -40.69070943425645
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -636.4972481739836,
+ "y": -46.04184558720286
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -630.5509356263242,
+ "y": -48.932226964906654
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -612.7709374645625,
+ "y": -58.17881193899319
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -595.5042094427563,
+ "y": -69.04225265620269
+ },
+ {
+ "type": "VSAPoint",
+ "x": -590.4629921259842,
+ "y": -72.52932283464567
+ },
+ {
+ "type": "VSAPoint",
+ "x": -590.4629921259842,
+ "y": -72.52932283464567
+ },
+ {
+ "type": "VSAPoint",
+ "x": -231.11800695198497,
+ "y": 95.87915857519384
+ },
+ {
+ "type": "VSAPoint",
+ "x": -231.11800695198497,
+ "y": 95.87915857519384
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -238.40281543387266,
+ "y": 116.44191216638788
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -251.05490182747536,
+ "y": 155.85530707633535
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -261.5198582532174,
+ "y": 193.3982017541216
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -269.9242477292619,
+ "y": 229.27507897171068
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -276.39463327377155,
+ "y": 263.69042150106657
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -281.0575779049093,
+ "y": 296.8487121141533
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -284.03964464083833,
+ "y": 328.95443358293466
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -285.5557999020539,
+ "y": 332.07367819388446
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -288.834524798698,
+ "y": 333.54602837322557
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -292.6510175119016,
+ "y": 334.960499310105
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -296.9869360245949,
+ "y": 336.3175974119747
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -304.3654176607361,
+ "y": 338.2537916174847
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -315.933705278224,
+ "y": 340.62982770058966
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -329.2495397864151,
+ "y": 342.78548777779133
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -344.1661850487516,
+ "y": 344.72482310870555
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -360.5369049286754,
+ "y": 346.45188495294803
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -378.2149632896285,
+ "y": 347.9707245701345
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -397.0536239950529,
+ "y": 349.2853932198809
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -416.9061509083906,
+ "y": 350.399942161803
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -437.6258078930837,
+ "y": 351.3184226555164
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -459.065858812574,
+ "y": 352.04488596063703
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -481.0795675303036,
+ "y": 352.5833833367806
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -503.5201979097145,
+ "y": 352.93796604356305
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -526.2410138142486,
+ "y": 353.1126853406
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -549.0952791073482,
+ "y": 353.1115924875072
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -571.936257652455,
+ "y": 352.93873874390056
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -594.617213313011,
+ "y": 352.5981753693958
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -616.9914099524583,
+ "y": 352.09395362360874
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -638.9121114342388,
+ "y": 351.430124766155
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -660.2325816217947,
+ "y": 350.61074005665057
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -680.8060843785678,
+ "y": 349.6398507547111
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -700.4858835680001,
+ "y": 348.52150811995256
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -719.1252430535337,
+ "y": 347.2597634119904
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -736.5774266986106,
+ "y": 345.8586678904407
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -752.6956983666726,
+ "y": 344.3222728149191
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -767.333321921162,
+ "y": 342.65462944504145
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -780.3435612255205,
+ "y": 340.8597890404234
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -791.5796801431904,
+ "y": 338.9418028606809
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -800.8949425376136,
+ "y": 336.90472216542963
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -806.4645048840825,
+ "y": 335.2976928037018
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -809.5439285608359,
+ "y": 334.19362962533444
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -812.0605990299634,
+ "y": 333.06207165162374
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -813.9961742743959,
+ "y": 331.90352529002166
+ },
+ {
+ "angle": 3,
+ "saAfter": 151.18110236220474,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": 331.31319685039375
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_923_test4_4/output.json b/src/test/ValentinaTest/share/Issue_923_test4_4/output.json
new file mode 100644
index 000000000..06a13f0ee
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_923_test4_4/output.json
@@ -0,0 +1,149 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": -1041.1935269969158,
+ "y": 500.73249086117085
+ },
+ {
+ "type": "QPointF",
+ "x": -797.0208328242412,
+ "y": -48.656071027347224
+ },
+ {
+ "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": -309.27926069378105,
+ "y": 377.87711814041575
+ },
+ {
+ "type": "QPointF",
+ "x": -356.896273947742,
+ "y": 384.09256859068546
+ },
+ {
+ "type": "QPointF",
+ "x": -436.1304063463224,
+ "y": 389.0945322692452
+ },
+ {
+ "type": "QPointF",
+ "x": -549.2893527340862,
+ "y": 390.91488008889513
+ },
+ {
+ "type": "QPointF",
+ "x": -682.6991220793232,
+ "y": 387.3983556636985
+ },
+ {
+ "type": "QPointF",
+ "x": -756.6839944284903,
+ "y": 381.9257942844239
+ },
+ {
+ "type": "QPointF",
+ "x": -799.0261371963916,
+ "y": 376.0668102876168
+ },
+ {
+ "type": "QPointF",
+ "x": -811.4806124822811,
+ "y": 372.7749382962087
+ },
+ {
+ "type": "QPointF",
+ "x": -1041.1935269969158,
+ "y": 500.73249086117085
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_923_test5/input.json b/src/test/ValentinaTest/share/Issue_923_test5/input.json
new file mode 100644
index 000000000..70c4f82ae
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_923_test5/input.json
@@ -0,0 +1,479 @@
+{
+ "vector": [
+ {
+ "angle": 4,
+ "saAfter": 0,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": 331.31319685039375
+ },
+ {
+ "saAfter": 37.795275590551185,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": -8.844283464566928
+ },
+ {
+ "saAfter": 37.795275590551185,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": -8.844283464566928
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -810.9147913912859,
+ "y": -9.118915311803084
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -773.697565712941,
+ "y": -13.057776517652679
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -731.3693960390717,
+ "y": -19.56419323976961
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -700.8138618525178,
+ "y": -25.693917945236084
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -670.5392892845426,
+ "y": -33.532046871057645
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -649.4254060248002,
+ "y": -40.69070943425645
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -636.4972481739836,
+ "y": -46.04184558720286
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -630.5509356263242,
+ "y": -48.932226964906654
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -612.7709374645625,
+ "y": -58.17881193899319
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -595.5042094427563,
+ "y": -69.04225265620269
+ },
+ {
+ "type": "VSAPoint",
+ "x": -590.4629921259842,
+ "y": -72.52932283464567
+ },
+ {
+ "type": "VSAPoint",
+ "x": -590.4629921259842,
+ "y": -72.52932283464567
+ },
+ {
+ "type": "VSAPoint",
+ "x": -231.11800695198497,
+ "y": 95.87915857519384
+ },
+ {
+ "type": "VSAPoint",
+ "x": -231.11800695198497,
+ "y": 95.87915857519384
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -238.40281543387266,
+ "y": 116.44191216638788
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -251.05490182747536,
+ "y": 155.85530707633535
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -261.5198582532174,
+ "y": 193.3982017541216
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -269.9242477292619,
+ "y": 229.27507897171068
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -276.39463327377155,
+ "y": 263.69042150106657
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -281.0575779049093,
+ "y": 296.8487121141533
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -284.03964464083833,
+ "y": 328.95443358293466
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -285.5557999020539,
+ "y": 332.07367819388446
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -288.834524798698,
+ "y": 333.54602837322557
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -292.6510175119016,
+ "y": 334.960499310105
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -296.9869360245949,
+ "y": 336.3175974119747
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -304.3654176607361,
+ "y": 338.2537916174847
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -315.933705278224,
+ "y": 340.62982770058966
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -329.2495397864151,
+ "y": 342.78548777779133
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -344.1661850487516,
+ "y": 344.72482310870555
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -360.5369049286754,
+ "y": 346.45188495294803
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -378.2149632896285,
+ "y": 347.9707245701345
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -397.0536239950529,
+ "y": 349.2853932198809
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -416.9061509083906,
+ "y": 350.399942161803
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -437.6258078930837,
+ "y": 351.3184226555164
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -459.065858812574,
+ "y": 352.04488596063703
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -481.0795675303036,
+ "y": 352.5833833367806
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -503.5201979097145,
+ "y": 352.93796604356305
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -526.2410138142486,
+ "y": 353.1126853406
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -549.0952791073482,
+ "y": 353.1115924875072
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -571.936257652455,
+ "y": 352.93873874390056
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -594.617213313011,
+ "y": 352.5981753693958
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -616.9914099524583,
+ "y": 352.09395362360874
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -638.9121114342388,
+ "y": 351.430124766155
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -660.2325816217947,
+ "y": 350.61074005665057
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -680.8060843785678,
+ "y": 349.6398507547111
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -700.4858835680001,
+ "y": 348.52150811995256
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -719.1252430535337,
+ "y": 347.2597634119904
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -736.5774266986106,
+ "y": 345.8586678904407
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -752.6956983666726,
+ "y": 344.3222728149191
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -767.333321921162,
+ "y": 342.65462944504145
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -780.3435612255205,
+ "y": 340.8597890404234
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -791.5796801431904,
+ "y": 338.9418028606809
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -800.8949425376136,
+ "y": 336.90472216542963
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -806.4645048840825,
+ "y": 335.2976928037018
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -809.5439285608359,
+ "y": 334.19362962533444
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -812.0605990299634,
+ "y": 333.06207165162374
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -813.9961742743959,
+ "y": 331.90352529002166
+ },
+ {
+ "angle": 4,
+ "saAfter": 0,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": 331.31319685039375
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_923_test5/output.json b/src/test/ValentinaTest/share/Issue_923_test5/output.json
new file mode 100644
index 000000000..541b71769
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_923_test5/output.json
@@ -0,0 +1,154 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": -833.1072213894375,
+ "y": 364.3314887674463
+ },
+ {
+ "type": "QPointF",
+ "x": -814.7149606299213,
+ "y": 331.31319685039375
+ },
+ {
+ "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": -309.27926069378105,
+ "y": 377.87711814041575
+ },
+ {
+ "type": "QPointF",
+ "x": -356.896273947742,
+ "y": 384.09256859068546
+ },
+ {
+ "type": "QPointF",
+ "x": -436.1304063463224,
+ "y": 389.0945322692452
+ },
+ {
+ "type": "QPointF",
+ "x": -549.2893527340862,
+ "y": 390.91488008889513
+ },
+ {
+ "type": "QPointF",
+ "x": -682.6991220793232,
+ "y": 387.3983556636985
+ },
+ {
+ "type": "QPointF",
+ "x": -756.6839944284903,
+ "y": 381.9257942844239
+ },
+ {
+ "type": "QPointF",
+ "x": -799.0261371963916,
+ "y": 376.0668102876168
+ },
+ {
+ "type": "QPointF",
+ "x": -823.790235138909,
+ "y": 369.5213526478381
+ },
+ {
+ "type": "QPointF",
+ "x": -833.1072213894375,
+ "y": 364.3314887674463
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_923_test5_5/input.json b/src/test/ValentinaTest/share/Issue_923_test5_5/input.json
new file mode 100644
index 000000000..f592c08f7
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_923_test5_5/input.json
@@ -0,0 +1,479 @@
+{
+ "vector": [
+ {
+ "angle": 4,
+ "saAfter": 151.18110236220474,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": 331.31319685039375
+ },
+ {
+ "saAfter": 37.795275590551185,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": -8.844283464566928
+ },
+ {
+ "saAfter": 37.795275590551185,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": -8.844283464566928
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -810.9147913912859,
+ "y": -9.118915311803084
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -773.697565712941,
+ "y": -13.057776517652679
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -731.3693960390717,
+ "y": -19.56419323976961
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -700.8138618525178,
+ "y": -25.693917945236084
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -670.5392892845426,
+ "y": -33.532046871057645
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -649.4254060248002,
+ "y": -40.69070943425645
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -636.4972481739836,
+ "y": -46.04184558720286
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -630.5509356263242,
+ "y": -48.932226964906654
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -612.7709374645625,
+ "y": -58.17881193899319
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -595.5042094427563,
+ "y": -69.04225265620269
+ },
+ {
+ "type": "VSAPoint",
+ "x": -590.4629921259842,
+ "y": -72.52932283464567
+ },
+ {
+ "type": "VSAPoint",
+ "x": -590.4629921259842,
+ "y": -72.52932283464567
+ },
+ {
+ "type": "VSAPoint",
+ "x": -231.11800695198497,
+ "y": 95.87915857519384
+ },
+ {
+ "type": "VSAPoint",
+ "x": -231.11800695198497,
+ "y": 95.87915857519384
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -238.40281543387266,
+ "y": 116.44191216638788
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -251.05490182747536,
+ "y": 155.85530707633535
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -261.5198582532174,
+ "y": 193.3982017541216
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -269.9242477292619,
+ "y": 229.27507897171068
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -276.39463327377155,
+ "y": 263.69042150106657
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -281.0575779049093,
+ "y": 296.8487121141533
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -284.03964464083833,
+ "y": 328.95443358293466
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -285.5557999020539,
+ "y": 332.07367819388446
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -288.834524798698,
+ "y": 333.54602837322557
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -292.6510175119016,
+ "y": 334.960499310105
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -296.9869360245949,
+ "y": 336.3175974119747
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -304.3654176607361,
+ "y": 338.2537916174847
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -315.933705278224,
+ "y": 340.62982770058966
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -329.2495397864151,
+ "y": 342.78548777779133
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -344.1661850487516,
+ "y": 344.72482310870555
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -360.5369049286754,
+ "y": 346.45188495294803
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -378.2149632896285,
+ "y": 347.9707245701345
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -397.0536239950529,
+ "y": 349.2853932198809
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -416.9061509083906,
+ "y": 350.399942161803
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -437.6258078930837,
+ "y": 351.3184226555164
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -459.065858812574,
+ "y": 352.04488596063703
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -481.0795675303036,
+ "y": 352.5833833367806
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -503.5201979097145,
+ "y": 352.93796604356305
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -526.2410138142486,
+ "y": 353.1126853406
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -549.0952791073482,
+ "y": 353.1115924875072
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -571.936257652455,
+ "y": 352.93873874390056
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -594.617213313011,
+ "y": 352.5981753693958
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -616.9914099524583,
+ "y": 352.09395362360874
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -638.9121114342388,
+ "y": 351.430124766155
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -660.2325816217947,
+ "y": 350.61074005665057
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -680.8060843785678,
+ "y": 349.6398507547111
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -700.4858835680001,
+ "y": 348.52150811995256
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -719.1252430535337,
+ "y": 347.2597634119904
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -736.5774266986106,
+ "y": 345.8586678904407
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -752.6956983666726,
+ "y": 344.3222728149191
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -767.333321921162,
+ "y": 342.65462944504145
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -780.3435612255205,
+ "y": 340.8597890404234
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -791.5796801431904,
+ "y": 338.9418028606809
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -800.8949425376136,
+ "y": 336.90472216542963
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -806.4645048840825,
+ "y": 335.2976928037018
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -809.5439285608359,
+ "y": 334.19362962533444
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -812.0605990299634,
+ "y": 333.06207165162374
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -813.9961742743959,
+ "y": 331.90352529002166
+ },
+ {
+ "angle": 4,
+ "saAfter": 151.18110236220474,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": 331.31319685039375
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_923_test5_5/output.json b/src/test/ValentinaTest/share/Issue_923_test5_5/output.json
new file mode 100644
index 000000000..c2727e055
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_923_test5_5/output.json
@@ -0,0 +1,154 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": -954.2876793065866,
+ "y": 296.8300387660711
+ },
+ {
+ "type": "QPointF",
+ "x": -935.8954185470725,
+ "y": 263.8117468490225
+ },
+ {
+ "type": "QPointF",
+ "x": -797.0208328242412,
+ "y": -48.656071027347224
+ },
+ {
+ "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": -309.27926069378105,
+ "y": 377.87711814041575
+ },
+ {
+ "type": "QPointF",
+ "x": -356.896273947742,
+ "y": 384.09256859068546
+ },
+ {
+ "type": "QPointF",
+ "x": -436.1304063463224,
+ "y": 389.0945322692452
+ },
+ {
+ "type": "QPointF",
+ "x": -549.2893527340862,
+ "y": 390.91488008889513
+ },
+ {
+ "type": "QPointF",
+ "x": -682.6991220793232,
+ "y": 387.3983556636985
+ },
+ {
+ "type": "QPointF",
+ "x": -756.6839944284903,
+ "y": 381.9257942844239
+ },
+ {
+ "type": "QPointF",
+ "x": -799.0261371963916,
+ "y": 376.0668102876168
+ },
+ {
+ "type": "QPointF",
+ "x": -823.790235138909,
+ "y": 369.5213526478381
+ },
+ {
+ "type": "QPointF",
+ "x": -954.2876793065866,
+ "y": 296.8300387660711
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_923_test6/input.json b/src/test/ValentinaTest/share/Issue_923_test6/input.json
new file mode 100644
index 000000000..91f787aba
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_923_test6/input.json
@@ -0,0 +1,479 @@
+{
+ "vector": [
+ {
+ "angle": 5,
+ "saAfter": 0,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": 331.31319685039375
+ },
+ {
+ "saAfter": 37.795275590551185,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": -8.844283464566928
+ },
+ {
+ "saAfter": 37.795275590551185,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": -8.844283464566928
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -810.9147913912859,
+ "y": -9.118915311803084
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -773.697565712941,
+ "y": -13.057776517652679
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -731.3693960390717,
+ "y": -19.56419323976961
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -700.8138618525178,
+ "y": -25.693917945236084
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -670.5392892845426,
+ "y": -33.532046871057645
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -649.4254060248002,
+ "y": -40.69070943425645
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -636.4972481739836,
+ "y": -46.04184558720286
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -630.5509356263242,
+ "y": -48.932226964906654
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -612.7709374645625,
+ "y": -58.17881193899319
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -595.5042094427563,
+ "y": -69.04225265620269
+ },
+ {
+ "type": "VSAPoint",
+ "x": -590.4629921259842,
+ "y": -72.52932283464567
+ },
+ {
+ "type": "VSAPoint",
+ "x": -590.4629921259842,
+ "y": -72.52932283464567
+ },
+ {
+ "type": "VSAPoint",
+ "x": -231.11800695198497,
+ "y": 95.87915857519384
+ },
+ {
+ "type": "VSAPoint",
+ "x": -231.11800695198497,
+ "y": 95.87915857519384
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -238.40281543387266,
+ "y": 116.44191216638788
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -251.05490182747536,
+ "y": 155.85530707633535
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -261.5198582532174,
+ "y": 193.3982017541216
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -269.9242477292619,
+ "y": 229.27507897171068
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -276.39463327377155,
+ "y": 263.69042150106657
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -281.0575779049093,
+ "y": 296.8487121141533
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -284.03964464083833,
+ "y": 328.95443358293466
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -285.5557999020539,
+ "y": 332.07367819388446
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -288.834524798698,
+ "y": 333.54602837322557
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -292.6510175119016,
+ "y": 334.960499310105
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -296.9869360245949,
+ "y": 336.3175974119747
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -304.3654176607361,
+ "y": 338.2537916174847
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -315.933705278224,
+ "y": 340.62982770058966
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -329.2495397864151,
+ "y": 342.78548777779133
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -344.1661850487516,
+ "y": 344.72482310870555
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -360.5369049286754,
+ "y": 346.45188495294803
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -378.2149632896285,
+ "y": 347.9707245701345
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -397.0536239950529,
+ "y": 349.2853932198809
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -416.9061509083906,
+ "y": 350.399942161803
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -437.6258078930837,
+ "y": 351.3184226555164
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -459.065858812574,
+ "y": 352.04488596063703
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -481.0795675303036,
+ "y": 352.5833833367806
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -503.5201979097145,
+ "y": 352.93796604356305
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -526.2410138142486,
+ "y": 353.1126853406
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -549.0952791073482,
+ "y": 353.1115924875072
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -571.936257652455,
+ "y": 352.93873874390056
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -594.617213313011,
+ "y": 352.5981753693958
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -616.9914099524583,
+ "y": 352.09395362360874
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -638.9121114342388,
+ "y": 351.430124766155
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -660.2325816217947,
+ "y": 350.61074005665057
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -680.8060843785678,
+ "y": 349.6398507547111
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -700.4858835680001,
+ "y": 348.52150811995256
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -719.1252430535337,
+ "y": 347.2597634119904
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -736.5774266986106,
+ "y": 345.8586678904407
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -752.6956983666726,
+ "y": 344.3222728149191
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -767.333321921162,
+ "y": 342.65462944504145
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -780.3435612255205,
+ "y": 340.8597890404234
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -791.5796801431904,
+ "y": 338.9418028606809
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -800.8949425376136,
+ "y": 336.90472216542963
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -806.4645048840825,
+ "y": 335.2976928037018
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -809.5439285608359,
+ "y": 334.19362962533444
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -812.0605990299634,
+ "y": 333.06207165162374
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -813.9961742743959,
+ "y": 331.90352529002166
+ },
+ {
+ "angle": 5,
+ "saAfter": 0,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": 331.31319685039375
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_923_test6/output.json b/src/test/ValentinaTest/share/Issue_923_test6/output.json
new file mode 100644
index 000000000..a7fc7831b
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_923_test6/output.json
@@ -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": -309.27926069378105,
+ "y": 377.87711814041575
+ },
+ {
+ "type": "QPointF",
+ "x": -356.896273947742,
+ "y": 384.09256859068546
+ },
+ {
+ "type": "QPointF",
+ "x": -436.1304063463224,
+ "y": 389.0945322692452
+ },
+ {
+ "type": "QPointF",
+ "x": -549.2893527340862,
+ "y": 390.91488008889513
+ },
+ {
+ "type": "QPointF",
+ "x": -682.6991220793232,
+ "y": 387.3983556636985
+ },
+ {
+ "type": "QPointF",
+ "x": -756.6839944284903,
+ "y": 381.9257942844239
+ },
+ {
+ "type": "QPointF",
+ "x": -799.0261371963916,
+ "y": 376.0668102876168
+ },
+ {
+ "type": "QPointF",
+ "x": -814.7149606299213,
+ "y": 370.66459402528255
+ },
+ {
+ "type": "QPointF",
+ "x": -814.7149606299213,
+ "y": -46.83844987562506
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_923_test6_6/input.json b/src/test/ValentinaTest/share/Issue_923_test6_6/input.json
new file mode 100644
index 000000000..a6670382c
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_923_test6_6/input.json
@@ -0,0 +1,479 @@
+{
+ "vector": [
+ {
+ "angle": 5,
+ "saAfter": 151.18110236220474,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": 331.31319685039375
+ },
+ {
+ "saAfter": 37.795275590551185,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": -8.844283464566928
+ },
+ {
+ "saAfter": 37.795275590551185,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": -8.844283464566928
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -810.9147913912859,
+ "y": -9.118915311803084
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -773.697565712941,
+ "y": -13.057776517652679
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -731.3693960390717,
+ "y": -19.56419323976961
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -700.8138618525178,
+ "y": -25.693917945236084
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -670.5392892845426,
+ "y": -33.532046871057645
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -649.4254060248002,
+ "y": -40.69070943425645
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -636.4972481739836,
+ "y": -46.04184558720286
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -630.5509356263242,
+ "y": -48.932226964906654
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -612.7709374645625,
+ "y": -58.17881193899319
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -595.5042094427563,
+ "y": -69.04225265620269
+ },
+ {
+ "type": "VSAPoint",
+ "x": -590.4629921259842,
+ "y": -72.52932283464567
+ },
+ {
+ "type": "VSAPoint",
+ "x": -590.4629921259842,
+ "y": -72.52932283464567
+ },
+ {
+ "type": "VSAPoint",
+ "x": -231.11800695198497,
+ "y": 95.87915857519384
+ },
+ {
+ "type": "VSAPoint",
+ "x": -231.11800695198497,
+ "y": 95.87915857519384
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -238.40281543387266,
+ "y": 116.44191216638788
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -251.05490182747536,
+ "y": 155.85530707633535
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -261.5198582532174,
+ "y": 193.3982017541216
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -269.9242477292619,
+ "y": 229.27507897171068
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -276.39463327377155,
+ "y": 263.69042150106657
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -281.0575779049093,
+ "y": 296.8487121141533
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": -284.03964464083833,
+ "y": 328.95443358293466
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "type": "VSAPoint",
+ "x": -284.1473856336994,
+ "y": 331.31319685039375
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -285.5557999020539,
+ "y": 332.07367819388446
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -288.834524798698,
+ "y": 333.54602837322557
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -292.6510175119016,
+ "y": 334.960499310105
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -296.9869360245949,
+ "y": 336.3175974119747
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -304.3654176607361,
+ "y": 338.2537916174847
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -315.933705278224,
+ "y": 340.62982770058966
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -329.2495397864151,
+ "y": 342.78548777779133
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -344.1661850487516,
+ "y": 344.72482310870555
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -360.5369049286754,
+ "y": 346.45188495294803
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -378.2149632896285,
+ "y": 347.9707245701345
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -397.0536239950529,
+ "y": 349.2853932198809
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -416.9061509083906,
+ "y": 350.399942161803
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -437.6258078930837,
+ "y": 351.3184226555164
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -459.065858812574,
+ "y": 352.04488596063703
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -481.0795675303036,
+ "y": 352.5833833367806
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -503.5201979097145,
+ "y": 352.93796604356305
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -526.2410138142486,
+ "y": 353.1126853406
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -549.0952791073482,
+ "y": 353.1115924875072
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -571.936257652455,
+ "y": 352.93873874390056
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -594.617213313011,
+ "y": 352.5981753693958
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -616.9914099524583,
+ "y": 352.09395362360874
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -638.9121114342388,
+ "y": 351.430124766155
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -660.2325816217947,
+ "y": 350.61074005665057
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -680.8060843785678,
+ "y": 349.6398507547111
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -700.4858835680001,
+ "y": 348.52150811995256
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -719.1252430535337,
+ "y": 347.2597634119904
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -736.5774266986106,
+ "y": 345.8586678904407
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -752.6956983666726,
+ "y": 344.3222728149191
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -767.333321921162,
+ "y": 342.65462944504145
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -780.3435612255205,
+ "y": 340.8597890404234
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -791.5796801431904,
+ "y": 338.9418028606809
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -800.8949425376136,
+ "y": 336.90472216542963
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -806.4645048840825,
+ "y": 335.2976928037018
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -809.5439285608359,
+ "y": 334.19362962533444
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -812.0605990299634,
+ "y": 333.06207165162374
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.795275590551185,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -813.9961742743959,
+ "y": 331.90352529002166
+ },
+ {
+ "angle": 5,
+ "saAfter": 151.18110236220474,
+ "saBefore": 37.795275590551185,
+ "type": "VSAPoint",
+ "x": -814.7149606299213,
+ "y": 331.31319685039375
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_923_test6_6/output.json b/src/test/ValentinaTest/share/Issue_923_test6_6/output.json
new file mode 100644
index 000000000..127522ef0
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_923_test6_6/output.json
@@ -0,0 +1,154 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": -830.7958788578183,
+ "y": 27.337782548201133
+ },
+ {
+ "type": "QPointF",
+ "x": -797.0208328242412,
+ "y": -48.656071027347224
+ },
+ {
+ "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.8043741043648,
+ "y": -91.36247976793157
+ },
+ {
+ "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": -309.27926069378105,
+ "y": 377.87711814041575
+ },
+ {
+ "type": "QPointF",
+ "x": -356.896273947742,
+ "y": 384.09256859068546
+ },
+ {
+ "type": "QPointF",
+ "x": -436.1304063463224,
+ "y": 389.0945322692452
+ },
+ {
+ "type": "QPointF",
+ "x": -549.2893527340862,
+ "y": 390.91488008889513
+ },
+ {
+ "type": "QPointF",
+ "x": -682.6991220793232,
+ "y": 387.3983556636985
+ },
+ {
+ "type": "QPointF",
+ "x": -756.6839944284903,
+ "y": 381.9257942844239
+ },
+ {
+ "type": "QPointF",
+ "x": -799.0261371963916,
+ "y": 376.0668102876168
+ },
+ {
+ "type": "QPointF",
+ "x": -814.7149606299213,
+ "y": 370.66459402528255
+ },
+ {
+ "type": "QPointF",
+ "x": -965.896062992126,
+ "y": 370.66459402528255
+ },
+ {
+ "type": "QPointF",
+ "x": -830.7958788578183,
+ "y": 27.337782548201133
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_927/input.json b/src/test/ValentinaTest/share/Issue_927/input.json
new file mode 100644
index 000000000..7979abd94
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_927/input.json
@@ -0,0 +1,148 @@
+{
+ "vector": [
+ {
+ "saAfter": 0,
+ "type": "VSAPoint",
+ "x": 11565.008125001965,
+ "y": -71.44488549419933
+ },
+ {
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 11774.053467225081,
+ "y": -3376.8303371353477
+ },
+ {
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 11774.053467225081,
+ "y": -3376.8303371353477
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 11821.637653562488,
+ "y": -3457.444047544761
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 11916.506852253828,
+ "y": -3619.698047174161
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 12011.687139013728,
+ "y": -3784.3170132645946
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 12107.923065894336,
+ "y": -3952.559914581168
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 12205.959184947797,
+ "y": -4125.685719888987
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 12306.540048226263,
+ "y": -4304.953397953153
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 12463.260680635496,
+ "y": -4586.963758807588
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 12688.625497168217,
+ "y": -4997.457976655285
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 12937.571227539614,
+ "y": -5455.181123300274
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 13363.424703096609,
+ "y": -6243.3010001396
+ },
+ {
+ "saAfter": 0,
+ "type": "VSAPoint",
+ "x": 13704.042216387523,
+ "y": -6875.648082494775
+ },
+ {
+ "saAfter": 0,
+ "type": "VSAPoint",
+ "x": 13704.042216387523,
+ "y": -6875.648082494775
+ },
+ {
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 13493.259591532773,
+ "y": -71.4448854942045
+ },
+ {
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 13493.259591532773,
+ "y": -71.4448854942045
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 13227.96813484252,
+ "y": -78.38238188976378
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 12939.963705708662,
+ "y": -83.80364173228347
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 12664.66535433071,
+ "y": -86.51427165354332
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 12393.602362204725,
+ "y": -86.51427165354332
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 12118.304010826774,
+ "y": -83.80364173228347
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 11830.299581692912,
+ "y": -78.38238188976378
+ },
+ {
+ "saAfter": 0,
+ "type": "VSAPoint",
+ "x": 11565.008125001965,
+ "y": -71.44488549419933
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_927/output.json b/src/test/ValentinaTest/share/Issue_927/output.json
new file mode 100644
index 000000000..44cf338a0
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_927/output.json
@@ -0,0 +1,94 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": 11561.41547872419,
+ "y": -14.638641388671703
+ },
+ {
+ "type": "QPointF",
+ "x": 11781.996737524496,
+ "y": -3502.427826210768
+ },
+ {
+ "type": "QPointF",
+ "x": 11867.482085518499,
+ "y": -3648.1711562480655
+ },
+ {
+ "type": "QPointF",
+ "x": 12058.65486092523,
+ "y": -3980.6096984646283
+ },
+ {
+ "type": "QPointF",
+ "x": 12257.151603777356,
+ "y": -4332.789848572617
+ },
+ {
+ "type": "QPointF",
+ "x": 12413.705754675855,
+ "y": -4614.5027446514505
+ },
+ {
+ "type": "QPointF",
+ "x": 12638.929472529417,
+ "y": -5024.741516808089
+ },
+ {
+ "type": "QPointF",
+ "x": 12887.767807606706,
+ "y": -5482.268127401037
+ },
+ {
+ "type": "QPointF",
+ "x": 13313.54741503039,
+ "y": -6270.251743419321
+ },
+ {
+ "type": "QPointF",
+ "x": 13707.971545534987,
+ "y": -7002.489438444618
+ },
+ {
+ "type": "QPointF",
+ "x": 13491.504163312642,
+ "y": -14.778496052733317
+ },
+ {
+ "type": "QPointF",
+ "x": 13226.486095144688,
+ "y": -21.70884320982175
+ },
+ {
+ "type": "QPointF",
+ "x": 12939.151113441983,
+ "y": -27.11598122480561
+ },
+ {
+ "type": "QPointF",
+ "x": 12664.386257521342,
+ "y": -29.82135826771654
+ },
+ {
+ "type": "QPointF",
+ "x": 12393.881459014092,
+ "y": -29.82135826771654
+ },
+ {
+ "type": "QPointF",
+ "x": 12119.116603093453,
+ "y": -27.11598122480561
+ },
+ {
+ "type": "QPointF",
+ "x": 11831.366553404687,
+ "y": -21.69950970125244
+ },
+ {
+ "type": "QPointF",
+ "x": 11561.41547872419,
+ "y": -14.638641388671703
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_937_case_1/input.json b/src/test/ValentinaTest/share/Issue_937_case_1/input.json
new file mode 100644
index 000000000..e8dd5bd2e
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_937_case_1/input.json
@@ -0,0 +1,28 @@
+{
+ "vector": [
+ {
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 39.999874015748034
+ },
+ {
+ "type": "VSAPoint",
+ "x": 784.0010525252271,
+ "y": 93.62408102280786
+ },
+ {
+ "angle": 3,
+ "saAfter": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 603.9410480415637,
+ "y": 630.4896883748834
+ },
+ {
+ "angle": 2,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 149.32816803669618,
+ "y": 622.1972251598997
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_937_case_1/output.json b/src/test/ValentinaTest/share/Issue_937_case_1/output.json
new file mode 100644
index 000000000..68342b2f0
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_937_case_1/output.json
@@ -0,0 +1,39 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": -17.03272198888483,
+ "y": -1.2358105436065898
+ },
+ {
+ "type": "QPointF",
+ "x": 835.3488631031122,
+ "y": 59.38517455302869
+ },
+ {
+ "type": "QPointF",
+ "x": 643.5630320462237,
+ "y": 631.2124216262154
+ },
+ {
+ "type": "QPointF",
+ "x": 688.4535285040663,
+ "y": 783.237507335321
+ },
+ {
+ "type": "QPointF",
+ "x": 73.98022196937558,
+ "y": 772.0290759090628
+ },
+ {
+ "type": "QPointF",
+ "x": 107.07002512164966,
+ "y": 604.2565206153395
+ },
+ {
+ "type": "QPointF",
+ "x": -17.03272198888483,
+ "y": -1.2358105436065898
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_937_case_2/input.json b/src/test/ValentinaTest/share/Issue_937_case_2/input.json
new file mode 100644
index 000000000..094b4073c
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_937_case_2/input.json
@@ -0,0 +1,28 @@
+{
+ "vector": [
+ {
+ "type": "VSAPoint",
+ "x": 1133.8582677165355,
+ "y": 0
+ },
+ {
+ "type": "VSAPoint",
+ "x": 1626.414077999262,
+ "y": 28.823250050281736
+ },
+ {
+ "angle": 3,
+ "saAfter": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 1708.662782184242,
+ "y": 444.9337221740734
+ },
+ {
+ "angle": 2,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 978.0597544121271,
+ "y": 473.97124819382105
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_937_case_2/output.json b/src/test/ValentinaTest/share/Issue_937_case_2/output.json
new file mode 100644
index 000000000..f1044cdc7
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_937_case_2/output.json
@@ -0,0 +1,39 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": 1107.034334293209,
+ "y": -39.42960775450803
+ },
+ {
+ "type": "QPointF",
+ "x": 1657.8204504880619,
+ "y": -7.198852132733364
+ },
+ {
+ "type": "QPointF",
+ "x": 1746.8890068688863,
+ "y": 443.4144361162224
+ },
+ {
+ "type": "QPointF",
+ "x": 1729.2237407241441,
+ "y": 595.4169956746214
+ },
+ {
+ "type": "QPointF",
+ "x": 1000.1482364590511,
+ "y": 624.3938108816637
+ },
+ {
+ "type": "QPointF",
+ "x": 937.7483177986969,
+ "y": 475.573410168328
+ },
+ {
+ "type": "QPointF",
+ "x": 1107.034334293209,
+ "y": -39.42960775450803
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_937_case_3/input.json b/src/test/ValentinaTest/share/Issue_937_case_3/input.json
new file mode 100644
index 000000000..9ce5060ba
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_937_case_3/input.json
@@ -0,0 +1,274 @@
+{
+ "vector": [
+ {
+ "type": "VSAPoint",
+ "x": 1133.8582677165355,
+ "y": 0
+ },
+ {
+ "type": "VSAPoint",
+ "x": 1626.414077999262,
+ "y": 28.823250050281736
+ },
+ {
+ "type": "VSAPoint",
+ "x": 1626.414077999262,
+ "y": 28.823250050281736
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1627.9255252072378,
+ "y": 60.028107039649264
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1632.4744448574302,
+ "y": 117.65105470623558
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1638.88024775007,
+ "y": 170.78018933992
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1647.1714371755552,
+ "y": 220.8047404314543
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1657.3765164242832,
+ "y": 269.11393747159025
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1669.5239887866524,
+ "y": 317.09700995107954
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1683.6423575530607,
+ "y": 366.14318736067406
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1699.7601260139054,
+ "y": 417.64169919112544
+ },
+ {
+ "angle": 3,
+ "saAfter": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 1708.662782184242,
+ "y": 444.9337221740734
+ },
+ {
+ "angle": 3,
+ "saAfter": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 1708.662782184242,
+ "y": 444.9337221740734
+ },
+ {
+ "angle": 3,
+ "saAfter": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 1708.662782184242,
+ "y": 444.9337221740734
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 1677.251229240105,
+ "y": 451.24668476453894
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 1605.0865940419503,
+ "y": 463.1552421226901
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 1544.2723397655477,
+ "y": 471.0948395139253
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 1501.2741964768895,
+ "y": 475.8162645997894
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 1456.403111491505,
+ "y": 479.9565290523484
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 1409.8752515759606,
+ "y": 483.4305281538183
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 1361.9067834968237,
+ "y": 486.1531571864151
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 1312.7138740206606,
+ "y": 488.0393114323548
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 1262.5126899140382,
+ "y": 489.0038861738534
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 1211.519397943524,
+ "y": 488.9617766931269
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 1159.9501648756845,
+ "y": 487.82787827239144
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 1108.021157477086,
+ "y": 485.51708619386284
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 1055.9485425142966,
+ "y": 481.9442957397572
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 1003.9484867538821,
+ "y": 477.0244021922905
+ },
+ {
+ "angle": 2,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 978.0597544121271,
+ "y": 473.97124819382105
+ },
+ {
+ "angle": 2,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 978.0597544121271,
+ "y": 473.97124819382105
+ },
+ {
+ "angle": 2,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 978.0597544121271,
+ "y": 473.97124819382105
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 984.5006640491679,
+ "y": 439.85833908469124
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 998.4033413357299,
+ "y": 374.89560199881123
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1013.7351131649657,
+ "y": 313.19983499129773
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1030.7227183454283,
+ "y": 254.05022997271902
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1049.5928956856715,
+ "y": 196.72597885364308
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1070.5723839942475,
+ "y": 140.50627354463808
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1093.8879220797096,
+ "y": 84.67030595627216
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1119.7662487506109,
+ "y": 28.49726799911337
+ },
+ {
+ "type": "VSAPoint",
+ "x": 1133.8582677165355,
+ "y": 0
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_937_case_3/output.json b/src/test/ValentinaTest/share/Issue_937_case_3/output.json
new file mode 100644
index 000000000..5fecaa625
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_937_case_3/output.json
@@ -0,0 +1,169 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": 1111.0755148937303,
+ "y": -39.193127021735194
+ },
+ {
+ "type": "QPointF",
+ "x": 1662.5222127997554,
+ "y": -6.923715654880951
+ },
+ {
+ "type": "QPointF",
+ "x": 1665.6487651469429,
+ "y": 57.626086911110946
+ },
+ {
+ "type": "QPointF",
+ "x": 1670.091199415828,
+ "y": 113.90014252723779
+ },
+ {
+ "type": "QPointF",
+ "x": 1676.3036304116947,
+ "y": 165.42546859699556
+ },
+ {
+ "type": "QPointF",
+ "x": 1684.3222601218313,
+ "y": 213.8055418330331
+ },
+ {
+ "type": "QPointF",
+ "x": 1694.200361802328,
+ "y": 260.5668798721365
+ },
+ {
+ "type": "QPointF",
+ "x": 1706.0134234510303,
+ "y": 307.2290147085407
+ },
+ {
+ "type": "QPointF",
+ "x": 1719.820558116723,
+ "y": 355.193987683531
+ },
+ {
+ "type": "QPointF",
+ "x": 1745.9389616407552,
+ "y": 437.44211146501425
+ },
+ {
+ "type": "QPointF",
+ "x": 1759.4844520306792,
+ "y": 588.9238736159205
+ },
+ {
+ "type": "QPointF",
+ "x": 1704.4609671789606,
+ "y": 599.9822635682957
+ },
+ {
+ "type": "QPointF",
+ "x": 1627.1859990410221,
+ "y": 612.7341244748617
+ },
+ {
+ "type": "QPointF",
+ "x": 1561.6466409346056,
+ "y": 621.2906072080035
+ },
+ {
+ "type": "QPointF",
+ "x": 1468.9381076247491,
+ "y": 630.6403449477306
+ },
+ {
+ "type": "QPointF",
+ "x": 1369.7506463738152,
+ "y": 637.1445957051652
+ },
+ {
+ "type": "QPointF",
+ "x": 1317.0625781659908,
+ "y": 639.1647613066468
+ },
+ {
+ "type": "QPointF",
+ "x": 1263.902550577329,
+ "y": 640.1861878084698
+ },
+ {
+ "type": "QPointF",
+ "x": 1209.7951086739927,
+ "y": 640.14150671035
+ },
+ {
+ "type": "QPointF",
+ "x": 1154.9274721014283,
+ "y": 638.9350833691831
+ },
+ {
+ "type": "QPointF",
+ "x": 1099.4853104352849,
+ "y": 636.4679592238815
+ },
+ {
+ "type": "QPointF",
+ "x": 1043.0731328958423,
+ "y": 632.5974240192974
+ },
+ {
+ "type": "QPointF",
+ "x": 937.685549366005,
+ "y": 621.8094757829928
+ },
+ {
+ "type": "QPointF",
+ "x": 940.3259847934982,
+ "y": 470.10864939639083
+ },
+ {
+ "type": "QPointF",
+ "x": 947.4464970808124,
+ "y": 432.39636927516375
+ },
+ {
+ "type": "QPointF",
+ "x": 961.5744423596268,
+ "y": 366.3810273526096
+ },
+ {
+ "type": "QPointF",
+ "x": 977.2199897801443,
+ "y": 303.4226126884536
+ },
+ {
+ "type": "QPointF",
+ "x": 994.5959474963892,
+ "y": 242.92079240142272
+ },
+ {
+ "type": "QPointF",
+ "x": 1013.9240890398678,
+ "y": 184.20532727749304
+ },
+ {
+ "type": "QPointF",
+ "x": 1035.4160234649778,
+ "y": 126.61239640480659
+ },
+ {
+ "type": "QPointF",
+ "x": 1059.2744269669706,
+ "y": 69.47637664989287
+ },
+ {
+ "type": "QPointF",
+ "x": 1085.6563208910281,
+ "y": 12.210265605542077
+ },
+ {
+ "type": "QPointF",
+ "x": 1111.0755148937303,
+ "y": -39.193127021735194
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_937_case_4/input.json b/src/test/ValentinaTest/share/Issue_937_case_4/input.json
new file mode 100644
index 000000000..a88f4dc69
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_937_case_4/input.json
@@ -0,0 +1,314 @@
+{
+ "vector": [
+ {
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 39.999874015748034
+ },
+ {
+ "type": "VSAPoint",
+ "x": 784.0010525252271,
+ "y": 93.62408102280786
+ },
+ {
+ "type": "VSAPoint",
+ "x": 784.0010525252271,
+ "y": 93.62408102280786
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 774.5498875082109,
+ "y": 111.57670653330857
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 756.7901969467719,
+ "y": 147.23597866383778
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 740.3283723961752,
+ "y": 182.59915283979632
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 725.0829679050098,
+ "y": 217.66520318784643
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 710.9725375218643,
+ "y": 252.43310383465035
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 697.9156352953275,
+ "y": 286.90182890687015
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 680.0212450706923,
+ "y": 338.0794357471696
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 659.2512581403386,
+ "y": 405.2095219640517
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 641.2293567110198,
+ "y": 471.12444016251777
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 625.3039731714472,
+ "y": 535.8159833558652
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 610.8235399103313,
+ "y": 599.275944557392
+ },
+ {
+ "angle": 3,
+ "saAfter": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 603.9410480415637,
+ "y": 630.4896883748834
+ },
+ {
+ "angle": 3,
+ "saAfter": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 603.9410480415637,
+ "y": 630.4896883748834
+ },
+ {
+ "angle": 3,
+ "saAfter": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 603.9410480415637,
+ "y": 630.4896883748834
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 593.3737545985201,
+ "y": 627.4210808482023
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 570.8562257916676,
+ "y": 621.7245828285656
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 546.8147814914912,
+ "y": 616.5919384817134
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 521.4001048219852,
+ "y": 612.062029176884
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 494.76287890714366,
+ "y": 608.1737362833156
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 467.05378687096083,
+ "y": 604.9659411702463
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 438.42351183743085,
+ "y": 602.4775252069143
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 409.0227369305478,
+ "y": 600.7473697625575
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 379.0021452743059,
+ "y": 599.8143562064142
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 348.51241999269934,
+ "y": 599.7173659077225
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 317.70424420972216,
+ "y": 600.4952802357207
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 286.7283010493686,
+ "y": 602.1869805596467
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 255.73527363563284,
+ "y": 604.8313482487388
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 224.875845092509,
+ "y": 608.467264672235
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 194.30069854399125,
+ "y": 613.1336111993736
+ },
+ {
+ "angle": 6,
+ "saAfter": 151.18110236220474,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 164.16051711407368,
+ "y": 618.8692691993924
+ },
+ {
+ "angle": 2,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 149.32816803669618,
+ "y": 622.1972251598997
+ },
+ {
+ "angle": 2,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 149.32816803669618,
+ "y": 622.1972251598997
+ },
+ {
+ "angle": 2,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 149.32816803669618,
+ "y": 622.1972251598997
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 148.78090820459332,
+ "y": 607.2877738478505
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 146.89558475790082,
+ "y": 576.2158799882442
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 142.45482499019002,
+ "y": 527.2100271173142
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 133.3116921212957,
+ "y": 457.60898041345985
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 120.86874514451401,
+ "y": 384.4086013259981
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 105.35145862714006,
+ "y": 308.7066287398517
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 86.98530713646896,
+ "y": 231.60080153994332
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 65.99576523979579,
+ "y": 154.1888586111959
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 42.60830750441565,
+ "y": 77.56853883853225
+ },
+ {
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 39.999874015748034
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_937_case_4/output.json b/src/test/ValentinaTest/share/Issue_937_case_4/output.json
new file mode 100644
index 000000000..1616891d6
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_937_case_4/output.json
@@ -0,0 +1,159 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": -23.869134810321157,
+ "y": -1.7220130695774571
+ },
+ {
+ "type": "QPointF",
+ "x": 843.4707511583396,
+ "y": 59.96279948458952
+ },
+ {
+ "type": "QPointF",
+ "x": 790.7836871806526,
+ "y": 163.7689246846593
+ },
+ {
+ "type": "QPointF",
+ "x": 774.7969117408857,
+ "y": 198.11160174641444
+ },
+ {
+ "type": "QPointF",
+ "x": 760.0168249675041,
+ "y": 232.1073718976287
+ },
+ {
+ "type": "QPointF",
+ "x": 733.3585937703431,
+ "y": 300.0465399509274
+ },
+ {
+ "type": "QPointF",
+ "x": 715.9249832454834,
+ "y": 349.906325841808
+ },
+ {
+ "type": "QPointF",
+ "x": 695.5431086293801,
+ "y": 415.7820052453959
+ },
+ {
+ "type": "QPointF",
+ "x": 677.8136985497705,
+ "y": 480.62713935557065
+ },
+ {
+ "type": "QPointF",
+ "x": 662.0914094860341,
+ "y": 544.4936791809758
+ },
+ {
+ "type": "QPointF",
+ "x": 640.5010145996141,
+ "y": 640.1754579773515
+ },
+ {
+ "type": "QPointF",
+ "x": 596.3679144469272,
+ "y": 784.879964027429
+ },
+ {
+ "type": "QPointF",
+ "x": 536.9664993831243,
+ "y": 769.1428484188815
+ },
+ {
+ "type": "QPointF",
+ "x": 497.0944552224816,
+ "y": 761.3527961796327
+ },
+ {
+ "type": "QPointF",
+ "x": 451.77375620431826,
+ "y": 755.4351980629564
+ },
+ {
+ "type": "QPointF",
+ "x": 402.2504033496118,
+ "y": 751.835094315389
+ },
+ {
+ "type": "QPointF",
+ "x": 350.24638401626345,
+ "y": 750.9498842703767
+ },
+ {
+ "type": "QPointF",
+ "x": 296.1783312094845,
+ "y": 753.1110748432342
+ },
+ {
+ "type": "QPointF",
+ "x": 245.13129173514196,
+ "y": 758.307563170734
+ },
+ {
+ "type": "QPointF",
+ "x": 220.65400600449894,
+ "y": 762.0432606295088
+ },
+ {
+ "type": "QPointF",
+ "x": 163.54253721968223,
+ "y": 773.553315766394
+ },
+ {
+ "type": "QPointF",
+ "x": 111.8793196130872,
+ "y": 629.7445413004222
+ },
+ {
+ "type": "QPointF",
+ "x": 109.19054764555685,
+ "y": 578.920648443562
+ },
+ {
+ "type": "QPointF",
+ "x": 104.88242539124222,
+ "y": 531.3785123253195
+ },
+ {
+ "type": "QPointF",
+ "x": 95.9313142323485,
+ "y": 463.23920878954004
+ },
+ {
+ "type": "QPointF",
+ "x": 83.71501733499812,
+ "y": 391.3721851978088
+ },
+ {
+ "type": "QPointF",
+ "x": 68.44616023931685,
+ "y": 316.8821897991374
+ },
+ {
+ "type": "QPointF",
+ "x": 50.354130013853364,
+ "y": 240.92719416661726
+ },
+ {
+ "type": "QPointF",
+ "x": 29.67329725890226,
+ "y": 164.65380750451993
+ },
+ {
+ "type": "QPointF",
+ "x": 6.611479789332002,
+ "y": 89.10032712840491
+ },
+ {
+ "type": "QPointF",
+ "x": -23.869134810321157,
+ "y": -1.7220130695774571
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_937_case_5/input.json b/src/test/ValentinaTest/share/Issue_937_case_5/input.json
new file mode 100644
index 000000000..30b8c4bf0
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_937_case_5/input.json
@@ -0,0 +1,28 @@
+{
+ "vector": [
+ {
+ "angle": 3,
+ "saAfter": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 1612.950263796683,
+ "y": 452.7707704561841
+ },
+ {
+ "angle": 2,
+ "saBefore": 151.18110236220474,
+ "type": "VSAPoint",
+ "x": 893.4986570083584,
+ "y": 583.2059942146714
+ },
+ {
+ "type": "VSAPoint",
+ "x": 1133.8582677165355,
+ "y": 0
+ },
+ {
+ "type": "VSAPoint",
+ "x": 1626.414077999262,
+ "y": 28.823250050281736
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_937_case_5/output.json b/src/test/ValentinaTest/share/Issue_937_case_5/output.json
new file mode 100644
index 000000000..a7344df3e
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_937_case_5/output.json
@@ -0,0 +1,39 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": 1709.829760723735,
+ "y": 588.8523009359353
+ },
+ {
+ "type": "QPointF",
+ "x": 971.6928676263267,
+ "y": 722.6751319743571
+ },
+ {
+ "type": "QPointF",
+ "x": 849.3182123721044,
+ "y": 591.2158257690189
+ },
+ {
+ "type": "QPointF",
+ "x": 1109.1775877848659,
+ "y": -39.30418941607513
+ },
+ {
+ "type": "QPointF",
+ "x": 1665.3583974497924,
+ "y": -6.757748555010856
+ },
+ {
+ "type": "QPointF",
+ "x": 1650.9835789958827,
+ "y": 445.87540191231386
+ },
+ {
+ "type": "QPointF",
+ "x": 1709.829760723735,
+ "y": 588.8523009359353
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/loop_by_intersection/input.json b/src/test/ValentinaTest/share/loop_by_intersection/input.json
index e1ce0ab4a..d2f13251a 100644
--- a/src/test/ValentinaTest/share/loop_by_intersection/input.json
+++ b/src/test/ValentinaTest/share/loop_by_intersection/input.json
@@ -15,110 +15,56 @@
{
"angle": 6,
"type": "VSAPoint",
- "x": -195.21242706720307,
- "y": 34.14652047360368
+ "x": -193.59856296122325,
+ "y": 28.4038252925623
},
{
"angle": 6,
"type": "VSAPoint",
- "x": -191.8243672555103,
- "y": 22.98380075353889
+ "x": -186.1882795186932,
+ "y": 7.350459537922664
},
{
"angle": 6,
"type": "VSAPoint",
- "x": -188.11922553424526,
- "y": 12.457117876219073
+ "x": -177.552643916603,
+ "y": -11.270412141228773
},
{
"angle": 6,
"type": "VSAPoint",
- "x": -184.10416448319614,
- "y": 2.5478629590622783
+ "x": -167.74895679325766,
+ "y": -27.60766080554757
},
{
"angle": 6,
"type": "VSAPoint",
- "x": -179.78634668215102,
- "y": -6.76257288051344
+ "x": -156.8345187869624,
+ "y": -41.81015751568928
},
{
"angle": 6,
"type": "VSAPoint",
- "x": -175.17293471089806,
- "y": -15.492798525090029
+ "x": -144.8666305360222,
+ "y": -54.02677333230949
},
{
"angle": 6,
"type": "VSAPoint",
- "x": -170.2710911492254,
- "y": -23.661422857249427
+ "x": -131.9025926787422,
+ "y": -64.40637931606373
},
{
"angle": 6,
"type": "VSAPoint",
- "x": -165.08797857692116,
- "y": -31.287054759573582
+ "x": -117.99970585342749,
+ "y": -73.09784652760757
},
{
"angle": 6,
"type": "VSAPoint",
- "x": -159.63075957377356,
- "y": -38.388303114644444
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -153.90659671957062,
- "y": -44.983776805043945
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -147.92265259410053,
- "y": -51.09208471335405
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -141.6860897771514,
- "y": -56.73183572215669
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -135.2040708485114,
- "y": -61.92163871403382
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -128.48375838796866,
- "y": -66.68010257156736
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -121.5323149753113,
- "y": -71.02583617733929
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -114.35690319032747,
- "y": -74.97744841393151
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -106.96468561280531,
- "y": -78.55354816392602
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -99.36282482253294,
- "y": -81.77274430990471
+ "x": -103.21527069838316,
+ "y": -80.25004602759657
},
{
"angle": 6,
@@ -153,14 +99,8 @@
{
"angle": 6,
"type": "VSAPoint",
- "x": 0.795019411119881,
- "y": -99.17540048159017
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": 20.145875001729017,
- "y": -99.72111569905093
+ "x": 10.35749882081409,
+ "y": -99.55394177948008
},
{
"type": "VSAPoint",
@@ -400,14 +340,8 @@
{
"angle": 6,
"type": "VSAPoint",
- "x": 20.145875001729017,
- "y": 179.720863730547
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": 0.7950194111198827,
- "y": 179.1751485130862
+ "x": 10.35749882081409,
+ "y": 179.55368981097615
},
{
"angle": 6,
@@ -442,110 +376,56 @@
{
"angle": 6,
"type": "VSAPoint",
- "x": -99.36282482253289,
- "y": 161.77249234140078
+ "x": -103.21527069838311,
+ "y": 160.2497940590926
},
{
"angle": 6,
"type": "VSAPoint",
- "x": -106.96468561280525,
- "y": 158.55329619542204
+ "x": -117.99970585342743,
+ "y": 153.09759455910364
},
{
"angle": 6,
"type": "VSAPoint",
- "x": -114.35690319032742,
- "y": 154.97719644542758
+ "x": -131.90259267874214,
+ "y": 144.4061273475598
},
{
"angle": 6,
"type": "VSAPoint",
- "x": -121.53231497531124,
- "y": 151.02558420883537
+ "x": -144.86663053602214,
+ "y": 134.02652136380556
},
{
"angle": 6,
"type": "VSAPoint",
- "x": -128.4837583879686,
- "y": 146.67985060306344
+ "x": -156.83451878696235,
+ "y": 121.80990554718537
},
{
"angle": 6,
"type": "VSAPoint",
- "x": -135.20407084851135,
- "y": 141.9213867455299
+ "x": -167.74895679325766,
+ "y": 107.60740883704364
},
{
"angle": 6,
"type": "VSAPoint",
- "x": -141.68608977715135,
- "y": 136.73158375365276
+ "x": -177.55264391660296,
+ "y": 91.27016017272484
},
{
"angle": 6,
"type": "VSAPoint",
- "x": -147.92265259410047,
- "y": 131.09183274485014
+ "x": -186.18827951869318,
+ "y": 72.6492884935734
},
{
"angle": 6,
"type": "VSAPoint",
- "x": -153.90659671957056,
- "y": 124.98352483654003
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -159.6307595737735,
- "y": 118.3880511461405
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -165.08797857692116,
- "y": 111.28680279106965
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -170.2710911492254,
- "y": 103.66117088874549
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -175.17293471089806,
- "y": 95.49254655658609
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -179.78634668215096,
- "y": 86.7623209120095
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -184.1041644831961,
- "y": 77.45188507243378
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -188.11922553424526,
- "y": 67.54263015527698
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -191.82436725551025,
- "y": 57.01594727795717
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -195.21242706720307,
- "y": 45.85322755789239
+ "x": -193.59856296122325,
+ "y": 51.595922738933766
},
{
"angle": 1,
diff --git a/src/test/ValentinaTest/share/loop_by_intersection/output.json b/src/test/ValentinaTest/share/loop_by_intersection/output.json
index d46f5f229..c3589a884 100644
--- a/src/test/ValentinaTest/share/loop_by_intersection/output.json
+++ b/src/test/ValentinaTest/share/loop_by_intersection/output.json
@@ -2,88 +2,53 @@
"vector": [
{
"type": "QPointF",
- "x": -214.40410048706303,
- "y": 106.19227605396173
+ "x": -214.69613672918854,
+ "y": 105.50483675932705
},
{
"type": "QPointF",
- "x": -216.9781242298884,
- "y": -20.89313392788361
+ "x": -217.06541703221671,
+ "y": -20.396250591591283
},
{
"type": "QPointF",
- "x": -215.35485836098246,
- "y": -24.393354043554936
+ "x": -212.66678998411962,
+ "y": -29.880934012836608
},
{
"type": "QPointF",
- "x": -209.7562767157775,
- "y": -34.987873101637184
+ "x": -200.60450650590886,
+ "y": -49.981996211544285
},
{
"type": "QPointF",
- "x": -203.7225994084282,
- "y": -45.04262957134261
+ "x": -186.84987888505472,
+ "y": -67.88031158259045
},
{
"type": "QPointF",
- "x": -197.2592017411557,
- "y": -54.551875369384206
+ "x": -171.53936971229336,
+ "y": -83.50901771675537
},
{
"type": "QPointF",
- "x": -190.3770084402063,
- "y": -63.507382529616926
+ "x": -154.90045704910958,
+ "y": -96.83089777783246
},
{
"type": "QPointF",
- "x": -183.09315132337335,
- "y": -71.8999613577031
+ "x": -137.21532063997367,
+ "y": -107.88685940386054
},
{
"type": "QPointF",
- "x": -175.43105114113442,
- "y": -79.72130229205844
+ "x": -118.76434262045356,
+ "y": -116.81280580503191
},
{
"type": "QPointF",
- "x": -167.41981696287192,
- "y": -86.96589636811274
- },
- {
- "type": "QPointF",
- "x": -159.09298767966857,
- "y": -93.6327395233958
- },
- {
- "type": "QPointF",
- "x": -150.48678127764902,
- "y": -99.72655173152252
- },
- {
- "type": "QPointF",
- "x": -141.6381213983865,
- "y": -105.25834078893499
- },
- {
- "type": "QPointF",
- "x": -132.58274256986527,
- "y": -110.24528047379701
- },
- {
- "type": "QPointF",
- "x": -123.3536295350981,
- "y": -114.71000685261185
- },
- {
- "type": "QPointF",
- "x": -113.84186855865212,
- "y": -118.73799751458611
- },
- {
- "type": "QPointF",
- "x": -99.63478481972699,
- "y": -123.86083688137002
+ "x": -99.77946852184245,
+ "y": -123.82089884830452
},
{
"type": "QPointF",
@@ -92,38 +57,18 @@
},
{
"type": "QPointF",
- "x": -60.80620147593467,
- "y": -133.0993042749749
+ "x": -60.33956456484994,
+ "y": -133.19292027821137
},
{
"type": "QPointF",
- "x": -40.98267373188483,
- "y": -135.87523761240038
+ "x": -20.93829301543242,
+ "y": -137.75102873271
},
{
"type": "QPointF",
- "x": -20.991626730994923,
- "y": -137.71694540420148
- },
- {
- "type": "QPointF",
- "x": -0.8595795941342494,
- "y": -138.82955600512358
- },
- {
- "type": "QPointF",
- "x": 19.34176886539808,
- "y": -139.3992560484097
- },
- {
- "type": "QPointF",
- "x": 29.510605466044545,
- "y": -139.52466732639465
- },
- {
- "type": "QPointF",
- "x": 42.106126779057064,
- "y": -139.5493542753628
+ "x": 41.56411818395465,
+ "y": -139.57037912070498
},
{
"type": "QPointF",
@@ -192,13 +137,13 @@
},
{
"type": "QPointF",
- "x": 277.7495810952065,
- "y": -7.778640262594529
+ "x": 278.6366884625802,
+ "y": -6.211097407549325
},
{
"type": "QPointF",
- "x": 278.4228013054904,
- "y": 86.5887898651801
+ "x": 278.7229193724382,
+ "y": 86.05847307510896
},
{
"type": "QPointF",
@@ -262,43 +207,23 @@
},
{
"type": "QPointF",
- "x": 65.59569198261497,
- "y": 218.6379276870786
+ "x": 65.31921480099871,
+ "y": 218.66389728558195
},
{
"type": "QPointF",
- "x": 42.10612677907077,
- "y": 219.54910230685883
+ "x": 29.786256518671927,
+ "y": 219.5449297449309
},
{
"type": "QPointF",
- "x": 29.929173473140324,
- "y": 219.52736986819608
+ "x": -21.065778038010638,
+ "y": 217.73602874881448
},
{
"type": "QPointF",
- "x": 19.341768865397754,
- "y": 219.39900407990578
- },
- {
- "type": "QPointF",
- "x": -0.8595795941341109,
- "y": 218.82930403661962
- },
- {
- "type": "QPointF",
- "x": -20.991626730995304,
- "y": 217.71669343569752
- },
- {
- "type": "QPointF",
- "x": -40.982673731885455,
- "y": 215.87498564389634
- },
- {
- "type": "QPointF",
- "x": -60.80620147594401,
- "y": 213.09905230646967
+ "x": -60.33956456486369,
+ "y": 213.19266830970525
},
{
"type": "QPointF",
@@ -307,78 +232,43 @@
},
{
"type": "QPointF",
- "x": -99.63478481972697,
- "y": 203.8605849128661
+ "x": -99.77946852184263,
+ "y": 203.82064687980053
},
{
"type": "QPointF",
- "x": -113.84186855865221,
- "y": 198.73774554608212
+ "x": -118.76434262045824,
+ "y": 196.81255383652623
},
{
"type": "QPointF",
- "x": -123.35362953510266,
- "y": 194.7097548841059
+ "x": -137.21532063996568,
+ "y": 187.88660743536101
},
{
"type": "QPointF",
- "x": -132.58274256986095,
- "y": 190.24502850529544
+ "x": -154.9004570491096,
+ "y": 176.83064580932788
},
{
"type": "QPointF",
- "x": -141.6381213983788,
- "y": 185.25808882043526
+ "x": -171.53936971229743,
+ "y": 163.50876574824758
},
{
"type": "QPointF",
- "x": -150.48678127765623,
- "y": 179.72629976301346
+ "x": -186.8498788850557,
+ "y": 147.88005961408547
},
{
"type": "QPointF",
- "x": -159.0929876796657,
- "y": 173.63248755489357
+ "x": -200.60450650590764,
+ "y": 129.98174424304221
},
{
"type": "QPointF",
- "x": -167.41981696287993,
- "y": 166.96564439960179
- },
- {
- "type": "QPointF",
- "x": -175.43105114113746,
- "y": 159.72105032355205
- },
- {
- "type": "QPointF",
- "x": -183.09315132337164,
- "y": 151.8997093892008
- },
- {
- "type": "QPointF",
- "x": -190.37700844020992,
- "y": 143.50713056110848
- },
- {
- "type": "QPointF",
- "x": -197.25920174115296,
- "y": 134.55162340088413
- },
- {
- "type": "QPointF",
- "x": -203.72259940842815,
- "y": 125.04237760283861
- },
- {
- "type": "QPointF",
- "x": -209.7562767157772,
- "y": 114.98762113313367
- },
- {
- "type": "QPointF",
- "x": -214.40410048706303,
- "y": 106.19227605396173
+ "x": -214.69613672918854,
+ "y": 105.50483675932705
}
]
}
diff --git a/src/test/ValentinaTest/share/loop_start_point_on_line/input.json b/src/test/ValentinaTest/share/loop_start_point_on_line/input.json
index fa1707697..b19832d65 100644
--- a/src/test/ValentinaTest/share/loop_start_point_on_line/input.json
+++ b/src/test/ValentinaTest/share/loop_start_point_on_line/input.json
@@ -13,26 +13,14 @@
{
"angle": 6,
"type": "VSAPoint",
- "x": -2155.764170289362,
- "y": -1158.5569069616006
+ "x": -2146.8796738452484,
+ "y": -1161.7519111187387
},
{
"angle": 6,
"type": "VSAPoint",
- "x": -2137.420646303098,
- "y": -1164.9288789951136
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -2117.83875503898,
- "y": -1171.2137090814535
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -2096.8398863334523,
- "y": -1177.3092584493268
+ "x": -2107.715891317013,
+ "y": -1174.3215712914184
},
{
"angle": 6,
@@ -155,26 +143,14 @@
{
"angle": 6,
"type": "VSAPoint",
- "x": -1668.612580820281,
- "y": -1163.6703942639488
+ "x": -1662.7051401316232,
+ "y": -1159.8303369592577
},
{
"angle": 6,
"type": "VSAPoint",
- "x": -1657.0057134234585,
- "y": -1155.7083001156739
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -1645.7694575991418,
- "y": -1147.1962268397606
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -1634.8129805703702,
- "y": -1138.1621343365027
+ "x": -1640.2326284829896,
+ "y": -1142.8061904074311
},
{
"angle": 6,
@@ -191,14 +167,8 @@
{
"angle": 6,
"type": "VSAPoint",
- "x": -1605.3933926835293,
- "y": -1110.8130533845726
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -1600.1927421469466,
- "y": -1105.1528178031322
+ "x": -1602.7602159860949,
+ "y": -1108.0917614638863
},
{
"angle": 6,
@@ -257,38 +227,20 @@
{
"angle": 6,
"type": "VSAPoint",
- "x": -1527.6553677783513,
- "y": -931.0660011841455
+ "x": -1525.476884454628,
+ "y": -920.1856431064241
},
{
"angle": 6,
"type": "VSAPoint",
- "x": -1523.644171065398,
- "y": -909.1685616697857
+ "x": -1518.853372386001,
+ "y": -875.9836579946764
},
{
"angle": 6,
"type": "VSAPoint",
- "x": -1520.3324150310846,
- "y": -887.067569113912
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -1517.7359012947154,
- "y": -864.9028108691632
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -1515.8704314755946,
- "y": -842.8140742881786
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -1514.7518071930267,
- "y": -820.9411467235971
+ "x": -1515.1224327477594,
+ "y": -831.8061848327072
},
{
"angle": 6,
@@ -299,26 +251,14 @@
{
"angle": 6,
"type": "VSAPoint",
- "x": -1514.47545264147,
- "y": -804.5411543367543
+ "x": -1514.555874294344,
+ "y": -798.7780377400966
},
{
"angle": 6,
"type": "VSAPoint",
- "x": -1514.958714144379,
- "y": -792.583458481846
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -1516.0655043069232,
- "y": -779.8031165762536
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -1517.7532076597286,
- "y": -766.2806871649794
+ "x": -1516.769454619432,
+ "y": -773.2173539289116
},
{
"angle": 6,
@@ -347,14 +287,8 @@
{
"angle": 6,
"type": "VSAPoint",
- "x": -1554.5952084796083,
- "y": -616.1948080825346
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -1565.1254634136735,
- "y": -583.4577520753035
+ "x": -1559.7695006541749,
+ "y": -599.6419443170731
},
{
"angle": 6,
@@ -402,38 +336,20 @@
{
"angle": 6,
"type": "VSAPoint",
- "x": -1857.3589378054878,
- "y": -307.61277259576184
+ "x": -1862.1173247182855,
+ "y": -305.5597287233503
},
{
"angle": 6,
"type": "VSAPoint",
- "x": -1866.601898580191,
- "y": -303.40531427376413
+ "x": -1879.5350971045639,
+ "y": -296.74677456948064
},
{
"angle": 6,
"type": "VSAPoint",
- "x": -1875.3107847733302,
- "y": -298.9988371968293
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -1883.5126994253462,
- "y": -294.40078616378116
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -1891.234745576679,
- "y": -289.61860597344355
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -1898.5040262677694,
- "y": -284.6597414246403
+ "x": -1894.97918940723,
+ "y": -287.1824141888054
},
{
"angle": 6,
@@ -483,14 +399,8 @@
{
"angle": 6,
"type": "VSAPoint",
- "x": -1958.338623584661,
- "y": -217.35199101491796
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -1966.0380363606898,
- "y": -204.19542198314397
+ "x": -1962.2752043869723,
+ "y": -210.84988607337476
},
{
"angle": 6,
@@ -501,14 +411,8 @@
{
"angle": 6,
"type": "VSAPoint",
- "x": -1988.5690590103134,
- "y": -163.31431383770587
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -1996.6130757457777,
- "y": -149.41533874115686
+ "x": -1992.461117468819,
+ "y": -156.38144747318444
},
{
"angle": 6,
@@ -531,14 +435,8 @@
{
"angle": 6,
"type": "VSAPoint",
- "x": -2022.5189933146203,
- "y": -111.4138062394305
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -2030.2027095725332,
- "y": -102.63840614760902
+ "x": -2025.5708476604545,
+ "y": -107.6392404367361
},
{
"angle": 6,
@@ -549,26 +447,14 @@
{
"angle": 6,
"type": "VSAPoint",
- "x": -2051.3427430195334,
- "y": -82.84850626504331
+ "x": -2055.0381782994405,
+ "y": -79.79014057801157
},
{
"angle": 6,
"type": "VSAPoint",
- "x": -2059.127114322611,
- "y": -76.68272596095187
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -2067.698186882554,
- "y": -70.47035143512053
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -2077.0553602400455,
- "y": -64.31438996418137
+ "x": -2072.180323419328,
+ "y": -67.3653915263489
},
{
"type": "VSAPoint",
@@ -588,14 +474,8 @@
{
"angle": 6,
"type": "VSAPoint",
- "x": -2087.1980339357647,
- "y": -58.317848824766465
- },
- {
- "angle": 6,
- "type": "VSAPoint",
- "x": -2098.125607510393,
- "y": -52.583735293507885
+ "x": -2092.4656708107664,
+ "y": -55.372309247519084
},
{
"angle": 6,
diff --git a/src/test/ValentinaTest/share/loop_start_point_on_line/output.json b/src/test/ValentinaTest/share/loop_start_point_on_line/output.json
index b73ff0785..8cc1949fd 100644
--- a/src/test/ValentinaTest/share/loop_start_point_on_line/output.json
+++ b/src/test/ValentinaTest/share/loop_start_point_on_line/output.json
@@ -2,43 +2,23 @@
"vector": [
{
"type": "QPointF",
- "x": -2161.0346085418714,
- "y": -1195.9991599598525
+ "x": -2164.8411549774905,
+ "y": -1195.3118331606747
},
{
"type": "QPointF",
- "x": -2164.1566907368974,
- "y": -1195.6522424385178
+ "x": -2118.43416950323,
+ "y": -1210.583578833799
},
{
"type": "QPointF",
- "x": -2149.3983855481083,
- "y": -1200.7788205156326
+ "x": -2082.825126424554,
+ "y": -1219.9371455153298
},
{
"type": "QPointF",
- "x": -2128.884130752928,
- "y": -1207.3628937288183
- },
- {
- "type": "QPointF",
- "x": -2106.9842836946777,
- "y": -1213.7199789968117
- },
- {
- "type": "QPointF",
- "x": -2083.1046940705755,
- "y": -1220.0960791906502
- },
- {
- "type": "QPointF",
- "x": -2057.2789687314194,
- "y": -1225.590305144146
- },
- {
- "type": "QPointF",
- "x": -2029.860664090768,
- "y": -1230.7099876518057
+ "x": -2030.1662649211698,
+ "y": -1230.6636200914243
},
{
"type": "QPointF",
@@ -57,23 +37,13 @@
},
{
"type": "QPointF",
- "x": -1896.6140713491457,
- "y": -1243.8704388858293
+ "x": -1896.3871800809684,
+ "y": -1243.882508356875
},
{
"type": "QPointF",
- "x": -1856.8403004661077,
- "y": -1244.7982875713851
- },
- {
- "type": "QPointF",
- "x": -1835.7594159399425,
- "y": -1244.7926915817568
- },
- {
- "type": "QPointF",
- "x": -1824.0013662790323,
- "y": -1244.6780725404024
+ "x": -1824.401825969962,
+ "y": -1244.6963024992513
},
{
"type": "QPointF",
@@ -102,68 +72,38 @@
},
{
"type": "QPointF",
- "x": -1707.845034473584,
- "y": -1225.0694987083878
+ "x": -1707.307912059691,
+ "y": -1224.8958212087373
},
{
"type": "QPointF",
- "x": -1691.716210701753,
- "y": -1218.7521812595326
+ "x": -1676.9132756145543,
+ "y": -1211.932492721858
},
{
"type": "QPointF",
- "x": -1676.4018476854003,
- "y": -1211.657815401919
+ "x": -1661.710243746763,
+ "y": -1203.7672600266078
},
{
"type": "QPointF",
- "x": -1661.8615026841314,
- "y": -1203.8484980606781
+ "x": -1641.241379036374,
+ "y": -1190.9863271315796
},
{
"type": "QPointF",
- "x": -1648.0456174208173,
- "y": -1195.3950671207172
+ "x": -1615.9192124780227,
+ "y": -1171.8034124116157
},
{
"type": "QPointF",
- "x": -1634.892212574602,
- "y": -1186.3720771807602
+ "x": -1575.2805284650933,
+ "y": -1134.155750718019
},
{
"type": "QPointF",
- "x": -1622.3260535436134,
- "y": -1176.8525300877625
- },
- {
- "type": "QPointF",
- "x": -1610.1833455970948,
- "y": -1166.8403385283018
- },
- {
- "type": "QPointF",
- "x": -1592.9584217027416,
- "y": -1151.435840311931
- },
- {
- "type": "QPointF",
- "x": -1581.5744152825998,
- "y": -1140.4349783009484
- },
- {
- "type": "QPointF",
- "x": -1578.124426029234,
- "y": -1136.9965802198542
- },
- {
- "type": "QPointF",
- "x": -1571.6387513866748,
- "y": -1129.9377620733112
- },
- {
- "type": "QPointF",
- "x": -1562.4554688960056,
- "y": -1118.7336338930977
+ "x": -1562.5392555073986,
+ "y": -1118.8539207479248
},
{
"type": "QPointF",
@@ -182,88 +122,48 @@
},
{
"type": "QPointF",
- "x": -1522.7342462170318,
- "y": -1047.1062563346156
+ "x": -1522.5645630695412,
+ "y": -1046.7240475959711
},
{
"type": "QPointF",
- "x": -1514.8351404275109,
- "y": -1026.7018880768694
+ "x": -1507.6748444193508,
+ "y": -1005.582845580826
},
{
"type": "QPointF",
- "x": -1507.6803505252287,
- "y": -1005.5252570664044
+ "x": -1495.6058109328244,
+ "y": -961.5398026208685
},
{
"type": "QPointF",
- "x": -1501.257066349074,
- "y": -983.6881780695345
+ "x": -1488.267238313915,
+ "y": -926.909863842091
},
{
"type": "QPointF",
- "x": -1495.5605820891042,
- "y": -961.3055990797892
+ "x": -1481.29475396107,
+ "y": -880.3790133864592
},
{
"type": "QPointF",
- "x": -1490.5920611845627,
- "y": -938.4950052163326
+ "x": -1477.354473600032,
+ "y": -833.7227694429281
},
{
"type": "QPointF",
- "x": -1486.3570426482477,
- "y": -915.3757046989386
+ "x": -1476.732569683218,
+ "y": -797.4681977951416
},
{
"type": "QPointF",
- "x": -1482.864477832908,
- "y": -892.0680853619579
+ "x": -1479.2281213432814,
+ "y": -768.6515308802761
},
{
"type": "QPointF",
- "x": -1480.1261626992496,
- "y": -868.6928603110201
- },
- {
- "type": "QPointF",
- "x": -1478.1564911014611,
- "y": -845.3702867541348
- },
- {
- "type": "QPointF",
- "x": -1476.9781941933036,
- "y": -822.3305554311763
- },
- {
- "type": "QPointF",
- "x": -1476.7169136623927,
- "y": -810.6861136197888
- },
- {
- "type": "QPointF",
- "x": -1476.6755256696472,
- "y": -803.8928243310418
- },
- {
- "type": "QPointF",
- "x": -1477.229370644782,
- "y": -790.1886295554116
- },
- {
- "type": "QPointF",
- "x": -1478.472769763984,
- "y": -775.8308349107754
- },
- {
- "type": "QPointF",
- "x": -1480.3338121713048,
- "y": -760.9195564905748
- },
- {
- "type": "QPointF",
- "x": -1484.0462764175998,
- "y": -737.9792350640129
+ "x": -1484.0279035491735,
+ "y": -738.0675784251952
},
{
"type": "QPointF",
@@ -277,83 +177,48 @@
},
{
"type": "QPointF",
- "x": -1508.2895635948378,
- "y": -638.8442388487899
+ "x": -1508.306583804099,
+ "y": -638.7828082496555
},
{
"type": "QPointF",
- "x": -1518.5092972405926,
- "y": -604.9515838709588
+ "x": -1523.7869297074349,
+ "y": -588.0634082402862
},
{
"type": "QPointF",
- "x": -1529.2471186020468,
- "y": -571.5692335378822
+ "x": -1545.5594310158256,
+ "y": -523.7447180498544
},
{
"type": "QPointF",
- "x": -1545.574527357226,
- "y": -523.7033706191128
+ "x": -1566.0336419104442,
+ "y": -467.66781872067713
},
{
"type": "QPointF",
- "x": -1566.0163361562213,
- "y": -467.7152175211662
+ "x": -1598.2533385788079,
+ "y": -385.32940624894394
},
{
"type": "QPointF",
- "x": -1589.2106986810545,
- "y": -407.97177586110865
+ "x": -1845.6827116738714,
+ "y": -271.5173550563447
},
{
"type": "QPointF",
- "x": -1598.5992737413426,
- "y": -385.1913193854439
+ "x": -1861.019382062914,
+ "y": -263.7573860996875
},
{
"type": "QPointF",
- "x": -1733.7166179100243,
- "y": -322.8294682306777
+ "x": -1873.655653404066,
+ "y": -255.93187906397046
},
{
"type": "QPointF",
- "x": -1837.3256007654502,
- "y": -275.0099376820172
- },
- {
- "type": "QPointF",
- "x": -1842.2711084448083,
- "y": -272.9539553608112
- },
- {
- "type": "QPointF",
- "x": -1850.2338336382852,
- "y": -269.32926894293
- },
- {
- "type": "QPointF",
- "x": -1857.5298951833795,
- "y": -265.6376455553501
- },
- {
- "type": "QPointF",
- "x": -1864.3128735249707,
- "y": -261.83506019645114
- },
- {
- "type": "QPointF",
- "x": -1870.625573585483,
- "y": -257.9256728934868
- },
- {
- "type": "QPointF",
- "x": -1876.39559292068,
- "y": -253.9895552027381
- },
- {
- "type": "QPointF",
- "x": -1884.5697906207222,
- "y": -247.76903153817497
+ "x": -1884.674542722777,
+ "y": -247.67513397009958
},
{
"type": "QPointF",
@@ -362,148 +227,78 @@
},
{
"type": "QPointF",
- "x": -1903.184757419558,
- "y": -229.6579756354422
+ "x": -1902.7704049697038,
+ "y": -230.0967218547728
},
{
"type": "QPointF",
- "x": -1911.244278598234,
- "y": -219.72673844199196
+ "x": -1919.0538027848563,
+ "y": -208.67100778280155
},
{
"type": "QPointF",
- "x": -1912.1925515705766,
- "y": -218.3917729227639
+ "x": -1929.7033590451583,
+ "y": -191.65185886528937
},
{
"type": "QPointF",
- "x": -1918.8108640543708,
- "y": -209.074604534515
+ "x": -1959.8085085155276,
+ "y": -137.3291527397459
},
{
"type": "QPointF",
- "x": -1926.071995274437,
- "y": -197.65841064712265
+ "x": -1973.85500245939,
+ "y": -114.43515859395507
},
{
"type": "QPointF",
- "x": -1933.179408309376,
- "y": -185.51343635471534
+ "x": -1996.6377575288432,
+ "y": -83.16750138280298
},
{
"type": "QPointF",
- "x": -1944.1088924027742,
- "y": -165.7184407054733
+ "x": -2015.1669643320547,
+ "y": -64.22689118534491
},
{
"type": "QPointF",
- "x": -1955.6519742904752,
- "y": -144.73700825283143
+ "x": -2031.5869934545,
+ "y": -50.10871928937255
},
{
"type": "QPointF",
- "x": -1964.204278050369,
- "y": -129.95978178923852
+ "x": -2051.4273628312376,
+ "y": -35.72827805087996
},
{
"type": "QPointF",
- "x": -1973.6284747311531,
- "y": -114.81573955374239
+ "x": -2074.776055519778,
+ "y": -21.924087907458294
},
{
"type": "QPointF",
- "x": -1984.0711071980156,
- "y": -99.55016142977004
+ "x": -2095.4019368595723,
+ "y": -12.238826143632455
},
{
"type": "QPointF",
- "x": -1989.9849809191649,
- "y": -91.6629032819942
+ "x": -2124.7822019212035,
+ "y": -1.718588407096325
},
{
"type": "QPointF",
- "x": -1993.3918146001206,
- "y": -87.30586156615976
+ "x": -2191.859551577299,
+ "y": 14.447711020589084
},
{
"type": "QPointF",
- "x": -2002.6067113083348,
- "y": -76.78173460661628
+ "x": -2269.021795666304,
+ "y": -1184.1391471617617
},
{
"type": "QPointF",
- "x": -2015.2528883108866,
- "y": -64.16521134607568
- },
- {
- "type": "QPointF",
- "x": -2027.1810895590745,
- "y": -53.77132268037704
- },
- {
- "type": "QPointF",
- "x": -2036.2928308525898,
- "y": -46.55417015563577
- },
- {
- "type": "QPointF",
- "x": -2046.2104407666518,
- "y": -39.365815751171596
- },
- {
- "type": "QPointF",
- "x": -2057.046353672701,
- "y": -32.23701095044731
- },
- {
- "type": "QPointF",
- "x": -2067.188190443381,
- "y": -26.246497206077045
- },
- {
- "type": "QPointF",
- "x": -2068.7077291869423,
- "y": -25.337682911616948
- },
- {
- "type": "QPointF",
- "x": -2081.4582071140726,
- "y": -18.647022124694804
- },
- {
- "type": "QPointF",
- "x": -2095.0518660172556,
- "y": -12.415739876590727
- },
- {
- "type": "QPointF",
- "x": -2109.565617761303,
- "y": -6.724058368119403
- },
- {
- "type": "QPointF",
- "x": -2124.99134854044,
- "y": -1.6953392797686782
- },
- {
- "type": "QPointF",
- "x": -2141.1199442290053,
- "y": 2.4962907724991394
- },
- {
- "type": "QPointF",
- "x": -2191.9582652746717,
- "y": 12.914358254731537
- },
- {
- "type": "QPointF",
- "x": -2269.012895513146,
- "y": -1184.0008981160383
- },
- {
- "type": "QPointF",
- "x": -2161.0346085418714,
- "y": -1195.9991599598525
+ "x": -2164.8411549774905,
+ "y": -1195.3118331606747
}
]
}
diff --git a/src/test/ValentinaTest/share/seamtest1_by_angle/input.json b/src/test/ValentinaTest/share/seamtest1_by_angle/input.json
new file mode 100644
index 000000000..a2a85e7e2
--- /dev/null
+++ b/src/test/ValentinaTest/share/seamtest1_by_angle/input.json
@@ -0,0 +1,446 @@
+{
+ "vector": [
+ {
+ "saAfter": 0,
+ "saBefore": 75.59055118110237,
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 894.8030236220472
+ },
+ {
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 39.999874015748034
+ },
+ {
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 39.999874015748034
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 47.53637144700478,
+ "y": 39.80977598775412
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 85.4092492068762,
+ "y": 37.36146293134895
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 125.57923134501877,
+ "y": 32.13056337758208
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 156.5108311435474,
+ "y": 26.074993549693005
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 177.21129897469388,
+ "y": 21.059222548891512
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 197.8216319874312,
+ "y": 15.159776113211533
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 218.19418331220902,
+ "y": 8.334870062533497
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 238.18130607947683,
+ "y": 0.5427202167378373
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 257.6353534196842,
+ "y": -8.258457604295018
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 276.4086784632808,
+ "y": -18.110447580684635
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 294.3536343407161,
+ "y": -29.055033892550586
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 311.32257418243984,
+ "y": -41.13400072001244
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 327.16785111890135,
+ "y": -54.389132243189756
+ },
+ {
+ "saAfter": 0.3779527559055119,
+ "type": "VSAPoint",
+ "x": 334.5669291338582,
+ "y": -61.522435695538036
+ },
+ {
+ "saAfter": 0.3779527559055119,
+ "type": "VSAPoint",
+ "x": 334.5669291338582,
+ "y": -61.522435695538036
+ },
+ {
+ "saBefore": 0.3779527559055119,
+ "type": "VSAPoint",
+ "x": 519.4465667350105,
+ "y": -36.01405338211433
+ },
+ {
+ "type": "VSAPoint",
+ "x": 460.3937007874016,
+ "y": 342.36207874015753
+ },
+ {
+ "saAfter": 0,
+ "type": "VSAPoint",
+ "x": 620.5290071875436,
+ "y": -5.506318761785565
+ },
+ {
+ "saAfter": 188.9763779527559,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 944.294593326342,
+ "y": 136.63905516701556
+ },
+ {
+ "saAfter": 188.9763779527559,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 944.294593326342,
+ "y": 136.63905516701556
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 930.9115139455133,
+ "y": 164.2021651072791
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 907.1077633892038,
+ "y": 216.20756088951924
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 886.6420235246574,
+ "y": 264.5706340127217
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 869.2733175133691,
+ "y": 309.4054580978941
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 854.760668516834,
+ "y": 350.82610676604384
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 842.8630996965472,
+ "y": 388.9466536381784
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 833.3396342140039,
+ "y": 423.88117233530534
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 825.9492952306991,
+ "y": 455.74373647843197
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 820.451105908128,
+ "y": 484.6484196885659
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 816.6040894077855,
+ "y": 510.7092955867147
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 814.1672688911669,
+ "y": 534.0404377938855
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 812.8996675197673,
+ "y": 554.7559199310863
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 812.5925673946043,
+ "y": 581.4656260538284
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 814.1809574610598,
+ "y": 608.5715133604979
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 815.1968503937007,
+ "y": 618.5825511811024
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 816.3634787672067,
+ "y": 628.380932746632
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 820.4053369940075,
+ "y": 649.1688436779486
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 826.5040284899703,
+ "y": 671.0654086429722
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 834.6667882477791,
+ "y": 693.7142683899226
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 844.9008512601183,
+ "y": 716.7590636670197
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 857.2134525196718,
+ "y": 739.8434352224829
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 871.6118270191237,
+ "y": 762.6110238045324
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 888.1032097511581,
+ "y": 784.7054701613878
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 906.6948357084594,
+ "y": 805.7704150412691
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 927.3939398837115,
+ "y": 825.4494991923958
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 950.2077572695983,
+ "y": 843.3863633629879
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 968.776733605274,
+ "y": 855.4073744953336
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 981.7764600118351,
+ "y": 862.7350547966848
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 995.3089344044396,
+ "y": 869.4267280237759
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1009.3750611571733,
+ "y": 875.4378492701345
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1023.9757446441214,
+ "y": 880.7238736292878
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1039.1118892393697,
+ "y": 885.2402561947638
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1054.784399317004,
+ "y": 888.9424520600894
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1070.994179251109,
+ "y": 891.7859163187926
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1087.7421334157707,
+ "y": 893.7261040644007
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1105.0291661850742,
+ "y": 894.7184703904409
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1113.8976377952758,
+ "y": 894.8030236220472
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1113.8976377952758,
+ "y": 894.8030236220472
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/seamtest1_by_angle/output.json b/src/test/ValentinaTest/share/seamtest1_by_angle/output.json
new file mode 100644
index 000000000..c05cd8205
--- /dev/null
+++ b/src/test/ValentinaTest/share/seamtest1_by_angle/output.json
@@ -0,0 +1,214 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": 30,
+ "y": 970.3935748031496
+ },
+ {
+ "type": "QPointF",
+ "x": 30,
+ "y": 2.2023778242823937
+ },
+ {
+ "type": "QPointF",
+ "x": 46.111397855976776,
+ "y": 2.027726815668483
+ },
+ {
+ "type": "QPointF",
+ "x": 81.74605442368645,
+ "y": -0.2758951981748612
+ },
+ {
+ "type": "QPointF",
+ "x": 119.50208828052781,
+ "y": -5.192452541281906
+ },
+ {
+ "type": "QPointF",
+ "x": 148.04367032633104,
+ "y": -10.78012159825089
+ },
+ {
+ "type": "QPointF",
+ "x": 186.97979694595927,
+ "y": -21.06789814835227
+ },
+ {
+ "type": "QPointF",
+ "x": 205.31950565747624,
+ "y": -27.21179180985321
+ },
+ {
+ "type": "QPointF",
+ "x": 223.51736443487215,
+ "y": -34.306381867523655
+ },
+ {
+ "type": "QPointF",
+ "x": 241.0503469884652,
+ "y": -42.23845350735769
+ },
+ {
+ "type": "QPointF",
+ "x": 257.76798751706616,
+ "y": -51.01164773556077
+ },
+ {
+ "type": "QPointF",
+ "x": 273.5285590176657,
+ "y": -60.62398316233916
+ },
+ {
+ "type": "QPointF",
+ "x": 284.94491218126115,
+ "y": -68.7504632158891
+ },
+ {
+ "type": "QPointF",
+ "x": 556.951317720607,
+ "y": -31.220946854728947
+ },
+ {
+ "type": "QPointF",
+ "x": 539.6101141051189,
+ "y": 79.89131577778124
+ },
+ {
+ "type": "QPointF",
+ "x": 585.9167315845332,
+ "y": -20.7024207218235
+ },
+ {
+ "type": "QPointF",
+ "x": 1117.4559101159903,
+ "y": 212.6634418802967
+ },
+ {
+ "type": "QPointF",
+ "x": 1101.8482040478996,
+ "y": 244.8082798528157
+ },
+ {
+ "type": "QPointF",
+ "x": 1080.077560308019,
+ "y": 292.3718325563429
+ },
+ {
+ "type": "QPointF",
+ "x": 1061.8089025447719,
+ "y": 335.54292908714797
+ },
+ {
+ "type": "QPointF",
+ "x": 1046.6013689355652,
+ "y": 374.7989965048928
+ },
+ {
+ "type": "QPointF",
+ "x": 1034.1843603449322,
+ "y": 410.2384638595293
+ },
+ {
+ "type": "QPointF",
+ "x": 1024.2819001340656,
+ "y": 441.96655926454446
+ },
+ {
+ "type": "QPointF",
+ "x": 1016.6128103198596,
+ "y": 470.0987514791764
+ },
+ {
+ "type": "QPointF",
+ "x": 1010.891548127259,
+ "y": 494.7652903217379
+ },
+ {
+ "type": "QPointF",
+ "x": 1004.1409514475167,
+ "y": 534.3338730421456
+ },
+ {
+ "type": "QPointF",
+ "x": 1001.8096437359794,
+ "y": 561.6175009318105
+ },
+ {
+ "type": "QPointF",
+ "x": 1001.6561432953282,
+ "y": 574.9680381786756
+ },
+ {
+ "type": "QPointF",
+ "x": 1004.4715714217981,
+ "y": 605.7139974891637
+ },
+ {
+ "type": "QPointF",
+ "x": 1010.1411052399322,
+ "y": 623.2360341722922
+ },
+ {
+ "type": "QPointF",
+ "x": 1020.6660121283516,
+ "y": 644.7426504865729
+ },
+ {
+ "type": "QPointF",
+ "x": 1027.4243046890665,
+ "y": 655.4292751847524
+ },
+ {
+ "type": "QPointF",
+ "x": 1034.913026324476,
+ "y": 665.4623428264111
+ },
+ {
+ "type": "QPointF",
+ "x": 1042.9029269068749,
+ "y": 674.5151720813944
+ },
+ {
+ "type": "QPointF",
+ "x": 1051.171411576988,
+ "y": 682.3761985416603
+ },
+ {
+ "type": "QPointF",
+ "x": 1064.4550829934562,
+ "y": 692.2276518062896
+ },
+ {
+ "type": "QPointF",
+ "x": 1074.3372851140064,
+ "y": 697.4493100553057
+ },
+ {
+ "type": "QPointF",
+ "x": 1087.891993301369,
+ "y": 702.5858632116882
+ },
+ {
+ "type": "QPointF",
+ "x": 1102.5229793527785,
+ "y": 705.1981929082115
+ },
+ {
+ "type": "QPointF",
+ "x": 1290.6502488400083,
+ "y": 712.9440934612204
+ },
+ {
+ "type": "QPointF",
+ "x": 1302.4161318705776,
+ "y": 881.6558256043734
+ },
+ {
+ "type": "QPointF",
+ "x": 30,
+ "y": 970.3935748031496
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/seamtest1_by_first_edge_symmetry/input.json b/src/test/ValentinaTest/share/seamtest1_by_first_edge_symmetry/input.json
new file mode 100644
index 000000000..b98e823fc
--- /dev/null
+++ b/src/test/ValentinaTest/share/seamtest1_by_first_edge_symmetry/input.json
@@ -0,0 +1,448 @@
+{
+ "vector": [
+ {
+ "saAfter": 0,
+ "saBefore": 75.59055118110237,
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 894.8030236220472
+ },
+ {
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 39.999874015748034
+ },
+ {
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 39.999874015748034
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 47.53637144700478,
+ "y": 39.80977598775412
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 85.4092492068762,
+ "y": 37.36146293134895
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 125.57923134501877,
+ "y": 32.13056337758208
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 156.5108311435474,
+ "y": 26.074993549693005
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 177.21129897469388,
+ "y": 21.059222548891512
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 197.8216319874312,
+ "y": 15.159776113211533
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 218.19418331220902,
+ "y": 8.334870062533497
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 238.18130607947683,
+ "y": 0.5427202167378373
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 257.6353534196842,
+ "y": -8.258457604295018
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 276.4086784632808,
+ "y": -18.110447580684635
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 294.3536343407161,
+ "y": -29.055033892550586
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 311.32257418243984,
+ "y": -41.13400072001244
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 327.16785111890135,
+ "y": -54.389132243189756
+ },
+ {
+ "angle": 2,
+ "saAfter": 0.3779527559055119,
+ "type": "VSAPoint",
+ "x": 334.5669291338582,
+ "y": -61.522435695538036
+ },
+ {
+ "angle": 2,
+ "saAfter": 0.3779527559055119,
+ "type": "VSAPoint",
+ "x": 334.5669291338582,
+ "y": -61.522435695538036
+ },
+ {
+ "saBefore": 0.3779527559055119,
+ "type": "VSAPoint",
+ "x": 519.4465667350105,
+ "y": -36.01405338211433
+ },
+ {
+ "type": "VSAPoint",
+ "x": 460.3937007874016,
+ "y": 342.36207874015753
+ },
+ {
+ "saAfter": 0,
+ "type": "VSAPoint",
+ "x": 620.5290071875436,
+ "y": -5.506318761785565
+ },
+ {
+ "saAfter": 188.9763779527559,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 944.294593326342,
+ "y": 136.63905516701556
+ },
+ {
+ "saAfter": 188.9763779527559,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 944.294593326342,
+ "y": 136.63905516701556
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 930.9115139455133,
+ "y": 164.2021651072791
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 907.1077633892038,
+ "y": 216.20756088951924
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 886.6420235246574,
+ "y": 264.5706340127217
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 869.2733175133691,
+ "y": 309.4054580978941
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 854.760668516834,
+ "y": 350.82610676604384
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 842.8630996965472,
+ "y": 388.9466536381784
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 833.3396342140039,
+ "y": 423.88117233530534
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 825.9492952306991,
+ "y": 455.74373647843197
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 820.451105908128,
+ "y": 484.6484196885659
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 816.6040894077855,
+ "y": 510.7092955867147
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 814.1672688911669,
+ "y": 534.0404377938855
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 812.8996675197673,
+ "y": 554.7559199310863
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 812.5925673946043,
+ "y": 581.4656260538284
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 814.1809574610598,
+ "y": 608.5715133604979
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 815.1968503937007,
+ "y": 618.5825511811024
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 816.3634787672067,
+ "y": 628.380932746632
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 820.4053369940075,
+ "y": 649.1688436779486
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 826.5040284899703,
+ "y": 671.0654086429722
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 834.6667882477791,
+ "y": 693.7142683899226
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 844.9008512601183,
+ "y": 716.7590636670197
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 857.2134525196718,
+ "y": 739.8434352224829
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 871.6118270191237,
+ "y": 762.6110238045324
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 888.1032097511581,
+ "y": 784.7054701613878
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 906.6948357084594,
+ "y": 805.7704150412691
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 927.3939398837115,
+ "y": 825.4494991923958
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 950.2077572695983,
+ "y": 843.3863633629879
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 968.776733605274,
+ "y": 855.4073744953336
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 981.7764600118351,
+ "y": 862.7350547966848
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 995.3089344044396,
+ "y": 869.4267280237759
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1009.3750611571733,
+ "y": 875.4378492701345
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1023.9757446441214,
+ "y": 880.7238736292878
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1039.1118892393697,
+ "y": 885.2402561947638
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1054.784399317004,
+ "y": 888.9424520600894
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1070.994179251109,
+ "y": 891.7859163187926
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1087.7421334157707,
+ "y": 893.7261040644007
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1105.0291661850742,
+ "y": 894.7184703904409
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1113.8976377952758,
+ "y": 894.8030236220472
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1113.8976377952758,
+ "y": 894.8030236220472
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/seamtest1_by_first_edge_symmetry/output.json b/src/test/ValentinaTest/share/seamtest1_by_first_edge_symmetry/output.json
new file mode 100644
index 000000000..b6f5c8619
--- /dev/null
+++ b/src/test/ValentinaTest/share/seamtest1_by_first_edge_symmetry/output.json
@@ -0,0 +1,229 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": 30,
+ "y": 970.3935748031496
+ },
+ {
+ "type": "QPointF",
+ "x": 30,
+ "y": 2.2023778242823937
+ },
+ {
+ "type": "QPointF",
+ "x": 46.111397855976776,
+ "y": 2.027726815668483
+ },
+ {
+ "type": "QPointF",
+ "x": 81.74605442368645,
+ "y": -0.2758951981748612
+ },
+ {
+ "type": "QPointF",
+ "x": 119.50208828052781,
+ "y": -5.192452541281906
+ },
+ {
+ "type": "QPointF",
+ "x": 148.04367032633104,
+ "y": -10.78012159825089
+ },
+ {
+ "type": "QPointF",
+ "x": 186.97979694595927,
+ "y": -21.06789814835227
+ },
+ {
+ "type": "QPointF",
+ "x": 205.31950565747624,
+ "y": -27.21179180985321
+ },
+ {
+ "type": "QPointF",
+ "x": 223.51736443487215,
+ "y": -34.306381867523655
+ },
+ {
+ "type": "QPointF",
+ "x": 241.0503469884652,
+ "y": -42.23845350735769
+ },
+ {
+ "type": "QPointF",
+ "x": 257.76798751706616,
+ "y": -51.01164773556077
+ },
+ {
+ "type": "QPointF",
+ "x": 273.5285590176657,
+ "y": -60.62398316233916
+ },
+ {
+ "type": "QPointF",
+ "x": 288.203122586733,
+ "y": -71.06974867341756
+ },
+ {
+ "type": "QPointF",
+ "x": 301.89505943185964,
+ "y": -82.52353546533966
+ },
+ {
+ "type": "QPointF",
+ "x": 330.08665818979597,
+ "y": -109.70249321395286
+ },
+ {
+ "type": "QPointF",
+ "x": 334.9131314168676,
+ "y": -61.85620240749991
+ },
+ {
+ "type": "QPointF",
+ "x": 556.951317720607,
+ "y": -31.220946854728947
+ },
+ {
+ "type": "QPointF",
+ "x": 539.6101141051189,
+ "y": 79.89131577778124
+ },
+ {
+ "type": "QPointF",
+ "x": 585.9167315845332,
+ "y": -20.7024207218235
+ },
+ {
+ "type": "QPointF",
+ "x": 1117.4559101159903,
+ "y": 212.6634418802967
+ },
+ {
+ "type": "QPointF",
+ "x": 1101.8482040478996,
+ "y": 244.8082798528157
+ },
+ {
+ "type": "QPointF",
+ "x": 1080.077560308019,
+ "y": 292.3718325563429
+ },
+ {
+ "type": "QPointF",
+ "x": 1061.8089025447719,
+ "y": 335.54292908714797
+ },
+ {
+ "type": "QPointF",
+ "x": 1046.6013689355652,
+ "y": 374.7989965048928
+ },
+ {
+ "type": "QPointF",
+ "x": 1034.1843603449322,
+ "y": 410.2384638595293
+ },
+ {
+ "type": "QPointF",
+ "x": 1024.2819001340656,
+ "y": 441.96655926454446
+ },
+ {
+ "type": "QPointF",
+ "x": 1016.6128103198596,
+ "y": 470.0987514791764
+ },
+ {
+ "type": "QPointF",
+ "x": 1010.891548127259,
+ "y": 494.7652903217379
+ },
+ {
+ "type": "QPointF",
+ "x": 1004.1409514475167,
+ "y": 534.3338730421456
+ },
+ {
+ "type": "QPointF",
+ "x": 1001.8096437359794,
+ "y": 561.6175009318105
+ },
+ {
+ "type": "QPointF",
+ "x": 1001.6561432953282,
+ "y": 574.9680381786756
+ },
+ {
+ "type": "QPointF",
+ "x": 1004.4715714217981,
+ "y": 605.7139974891637
+ },
+ {
+ "type": "QPointF",
+ "x": 1010.1411052399322,
+ "y": 623.2360341722922
+ },
+ {
+ "type": "QPointF",
+ "x": 1020.6660121283516,
+ "y": 644.7426504865729
+ },
+ {
+ "type": "QPointF",
+ "x": 1027.4243046890665,
+ "y": 655.4292751847524
+ },
+ {
+ "type": "QPointF",
+ "x": 1034.913026324476,
+ "y": 665.4623428264111
+ },
+ {
+ "type": "QPointF",
+ "x": 1042.9029269068749,
+ "y": 674.5151720813944
+ },
+ {
+ "type": "QPointF",
+ "x": 1051.171411576988,
+ "y": 682.3761985416603
+ },
+ {
+ "type": "QPointF",
+ "x": 1064.4550829934562,
+ "y": 692.2276518062896
+ },
+ {
+ "type": "QPointF",
+ "x": 1074.3372851140064,
+ "y": 697.4493100553057
+ },
+ {
+ "type": "QPointF",
+ "x": 1087.891993301369,
+ "y": 702.5858632116882
+ },
+ {
+ "type": "QPointF",
+ "x": 1102.5229793527785,
+ "y": 705.1981929082115
+ },
+ {
+ "type": "QPointF",
+ "x": 1290.6502488400083,
+ "y": 712.9440934612204
+ },
+ {
+ "type": "QPointF",
+ "x": 1302.4161318705776,
+ "y": 881.6558256043734
+ },
+ {
+ "type": "QPointF",
+ "x": 30,
+ "y": 970.3935748031496
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/seamtest1_by_first_right_angle/input.json b/src/test/ValentinaTest/share/seamtest1_by_first_right_angle/input.json
new file mode 100644
index 000000000..af6b42e28
--- /dev/null
+++ b/src/test/ValentinaTest/share/seamtest1_by_first_right_angle/input.json
@@ -0,0 +1,448 @@
+{
+ "vector": [
+ {
+ "saAfter": 0,
+ "saBefore": 75.59055118110237,
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 894.8030236220472
+ },
+ {
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 39.999874015748034
+ },
+ {
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 39.999874015748034
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 47.53637144700478,
+ "y": 39.80977598775412
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 85.4092492068762,
+ "y": 37.36146293134895
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 125.57923134501877,
+ "y": 32.13056337758208
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 156.5108311435474,
+ "y": 26.074993549693005
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 177.21129897469388,
+ "y": 21.059222548891512
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 197.8216319874312,
+ "y": 15.159776113211533
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 218.19418331220902,
+ "y": 8.334870062533497
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 238.18130607947683,
+ "y": 0.5427202167378373
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 257.6353534196842,
+ "y": -8.258457604295018
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 276.4086784632808,
+ "y": -18.110447580684635
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 294.3536343407161,
+ "y": -29.055033892550586
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 311.32257418243984,
+ "y": -41.13400072001244
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 327.16785111890135,
+ "y": -54.389132243189756
+ },
+ {
+ "angle": 4,
+ "saAfter": 0.3779527559055119,
+ "type": "VSAPoint",
+ "x": 334.5669291338582,
+ "y": -61.522435695538036
+ },
+ {
+ "angle": 4,
+ "saAfter": 0.3779527559055119,
+ "type": "VSAPoint",
+ "x": 334.5669291338582,
+ "y": -61.522435695538036
+ },
+ {
+ "saBefore": 0.3779527559055119,
+ "type": "VSAPoint",
+ "x": 519.4465667350105,
+ "y": -36.01405338211433
+ },
+ {
+ "type": "VSAPoint",
+ "x": 460.3937007874016,
+ "y": 342.36207874015753
+ },
+ {
+ "saAfter": 0,
+ "type": "VSAPoint",
+ "x": 620.5290071875436,
+ "y": -5.506318761785565
+ },
+ {
+ "saAfter": 188.9763779527559,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 944.294593326342,
+ "y": 136.63905516701556
+ },
+ {
+ "saAfter": 188.9763779527559,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 944.294593326342,
+ "y": 136.63905516701556
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 930.9115139455133,
+ "y": 164.2021651072791
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 907.1077633892038,
+ "y": 216.20756088951924
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 886.6420235246574,
+ "y": 264.5706340127217
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 869.2733175133691,
+ "y": 309.4054580978941
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 854.760668516834,
+ "y": 350.82610676604384
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 842.8630996965472,
+ "y": 388.9466536381784
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 833.3396342140039,
+ "y": 423.88117233530534
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 825.9492952306991,
+ "y": 455.74373647843197
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 820.451105908128,
+ "y": 484.6484196885659
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 816.6040894077855,
+ "y": 510.7092955867147
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 814.1672688911669,
+ "y": 534.0404377938855
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 812.8996675197673,
+ "y": 554.7559199310863
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 812.5925673946043,
+ "y": 581.4656260538284
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 814.1809574610598,
+ "y": 608.5715133604979
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 815.1968503937007,
+ "y": 618.5825511811024
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 816.3634787672067,
+ "y": 628.380932746632
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 820.4053369940075,
+ "y": 649.1688436779486
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 826.5040284899703,
+ "y": 671.0654086429722
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 834.6667882477791,
+ "y": 693.7142683899226
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 844.9008512601183,
+ "y": 716.7590636670197
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 857.2134525196718,
+ "y": 739.8434352224829
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 871.6118270191237,
+ "y": 762.6110238045324
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 888.1032097511581,
+ "y": 784.7054701613878
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 906.6948357084594,
+ "y": 805.7704150412691
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 927.3939398837115,
+ "y": 825.4494991923958
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 950.2077572695983,
+ "y": 843.3863633629879
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 968.776733605274,
+ "y": 855.4073744953336
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 981.7764600118351,
+ "y": 862.7350547966848
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 995.3089344044396,
+ "y": 869.4267280237759
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1009.3750611571733,
+ "y": 875.4378492701345
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1023.9757446441214,
+ "y": 880.7238736292878
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1039.1118892393697,
+ "y": 885.2402561947638
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1054.784399317004,
+ "y": 888.9424520600894
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1070.994179251109,
+ "y": 891.7859163187926
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1087.7421334157707,
+ "y": 893.7261040644007
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1105.0291661850742,
+ "y": 894.7184703904409
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1113.8976377952758,
+ "y": 894.8030236220472
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1113.8976377952758,
+ "y": 894.8030236220472
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/seamtest1_by_first_right_angle/output.json b/src/test/ValentinaTest/share/seamtest1_by_first_right_angle/output.json
new file mode 100644
index 000000000..5324eacc3
--- /dev/null
+++ b/src/test/ValentinaTest/share/seamtest1_by_first_right_angle/output.json
@@ -0,0 +1,224 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": 30,
+ "y": 970.3935748031496
+ },
+ {
+ "type": "QPointF",
+ "x": 30,
+ "y": 2.2023778242823937
+ },
+ {
+ "type": "QPointF",
+ "x": 46.111397855976776,
+ "y": 2.027726815668483
+ },
+ {
+ "type": "QPointF",
+ "x": 81.74605442368645,
+ "y": -0.2758951981748612
+ },
+ {
+ "type": "QPointF",
+ "x": 119.50208828052781,
+ "y": -5.192452541281906
+ },
+ {
+ "type": "QPointF",
+ "x": 148.04367032633104,
+ "y": -10.78012159825089
+ },
+ {
+ "type": "QPointF",
+ "x": 186.97979694595927,
+ "y": -21.06789814835227
+ },
+ {
+ "type": "QPointF",
+ "x": 205.31950565747624,
+ "y": -27.21179180985321
+ },
+ {
+ "type": "QPointF",
+ "x": 223.51736443487215,
+ "y": -34.306381867523655
+ },
+ {
+ "type": "QPointF",
+ "x": 241.0503469884652,
+ "y": -42.23845350735769
+ },
+ {
+ "type": "QPointF",
+ "x": 257.76798751706616,
+ "y": -51.01164773556077
+ },
+ {
+ "type": "QPointF",
+ "x": 273.5285590176657,
+ "y": -60.62398316233916
+ },
+ {
+ "type": "QPointF",
+ "x": 288.203122586733,
+ "y": -71.06974867341756
+ },
+ {
+ "type": "QPointF",
+ "x": 308.6809861986896,
+ "y": -89.06571203590164
+ },
+ {
+ "type": "QPointF",
+ "x": 334.91313141686754,
+ "y": -61.856202407499914
+ },
+ {
+ "type": "QPointF",
+ "x": 556.951317720607,
+ "y": -31.220946854728947
+ },
+ {
+ "type": "QPointF",
+ "x": 539.6101141051189,
+ "y": 79.89131577778124
+ },
+ {
+ "type": "QPointF",
+ "x": 585.9167315845332,
+ "y": -20.7024207218235
+ },
+ {
+ "type": "QPointF",
+ "x": 1117.4559101159903,
+ "y": 212.6634418802967
+ },
+ {
+ "type": "QPointF",
+ "x": 1101.8482040478996,
+ "y": 244.8082798528157
+ },
+ {
+ "type": "QPointF",
+ "x": 1080.077560308019,
+ "y": 292.3718325563429
+ },
+ {
+ "type": "QPointF",
+ "x": 1061.8089025447719,
+ "y": 335.54292908714797
+ },
+ {
+ "type": "QPointF",
+ "x": 1046.6013689355652,
+ "y": 374.7989965048928
+ },
+ {
+ "type": "QPointF",
+ "x": 1034.1843603449322,
+ "y": 410.2384638595293
+ },
+ {
+ "type": "QPointF",
+ "x": 1024.2819001340656,
+ "y": 441.96655926454446
+ },
+ {
+ "type": "QPointF",
+ "x": 1016.6128103198596,
+ "y": 470.0987514791764
+ },
+ {
+ "type": "QPointF",
+ "x": 1010.891548127259,
+ "y": 494.7652903217379
+ },
+ {
+ "type": "QPointF",
+ "x": 1004.1409514475167,
+ "y": 534.3338730421456
+ },
+ {
+ "type": "QPointF",
+ "x": 1001.8096437359794,
+ "y": 561.6175009318105
+ },
+ {
+ "type": "QPointF",
+ "x": 1001.6561432953282,
+ "y": 574.9680381786756
+ },
+ {
+ "type": "QPointF",
+ "x": 1004.4715714217981,
+ "y": 605.7139974891637
+ },
+ {
+ "type": "QPointF",
+ "x": 1010.1411052399322,
+ "y": 623.2360341722922
+ },
+ {
+ "type": "QPointF",
+ "x": 1020.6660121283516,
+ "y": 644.7426504865729
+ },
+ {
+ "type": "QPointF",
+ "x": 1027.4243046890665,
+ "y": 655.4292751847524
+ },
+ {
+ "type": "QPointF",
+ "x": 1034.913026324476,
+ "y": 665.4623428264111
+ },
+ {
+ "type": "QPointF",
+ "x": 1042.9029269068749,
+ "y": 674.5151720813944
+ },
+ {
+ "type": "QPointF",
+ "x": 1051.171411576988,
+ "y": 682.3761985416603
+ },
+ {
+ "type": "QPointF",
+ "x": 1064.4550829934562,
+ "y": 692.2276518062896
+ },
+ {
+ "type": "QPointF",
+ "x": 1074.3372851140064,
+ "y": 697.4493100553057
+ },
+ {
+ "type": "QPointF",
+ "x": 1087.891993301369,
+ "y": 702.5858632116882
+ },
+ {
+ "type": "QPointF",
+ "x": 1102.5229793527785,
+ "y": 705.1981929082115
+ },
+ {
+ "type": "QPointF",
+ "x": 1290.6502488400083,
+ "y": 712.9440934612204
+ },
+ {
+ "type": "QPointF",
+ "x": 1302.4161318705776,
+ "y": 881.6558256043734
+ },
+ {
+ "type": "QPointF",
+ "x": 30,
+ "y": 970.3935748031496
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/seamtest1_by_intersection/input.json b/src/test/ValentinaTest/share/seamtest1_by_intersection/input.json
new file mode 100644
index 000000000..3134097d1
--- /dev/null
+++ b/src/test/ValentinaTest/share/seamtest1_by_intersection/input.json
@@ -0,0 +1,448 @@
+{
+ "vector": [
+ {
+ "saAfter": 0,
+ "saBefore": 75.59055118110237,
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 894.8030236220472
+ },
+ {
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 39.999874015748034
+ },
+ {
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 39.999874015748034
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 47.53637144700478,
+ "y": 39.80977598775412
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 85.4092492068762,
+ "y": 37.36146293134895
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 125.57923134501877,
+ "y": 32.13056337758208
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 156.5108311435474,
+ "y": 26.074993549693005
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 177.21129897469388,
+ "y": 21.059222548891512
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 197.8216319874312,
+ "y": 15.159776113211533
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 218.19418331220902,
+ "y": 8.334870062533497
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 238.18130607947683,
+ "y": 0.5427202167378373
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 257.6353534196842,
+ "y": -8.258457604295018
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 276.4086784632808,
+ "y": -18.110447580684635
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 294.3536343407161,
+ "y": -29.055033892550586
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 311.32257418243984,
+ "y": -41.13400072001244
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 327.16785111890135,
+ "y": -54.389132243189756
+ },
+ {
+ "angle": 1,
+ "saAfter": 0.3779527559055119,
+ "type": "VSAPoint",
+ "x": 334.5669291338582,
+ "y": -61.522435695538036
+ },
+ {
+ "angle": 1,
+ "saAfter": 0.3779527559055119,
+ "type": "VSAPoint",
+ "x": 334.5669291338582,
+ "y": -61.522435695538036
+ },
+ {
+ "saBefore": 0.3779527559055119,
+ "type": "VSAPoint",
+ "x": 519.4465667350105,
+ "y": -36.01405338211433
+ },
+ {
+ "type": "VSAPoint",
+ "x": 460.3937007874016,
+ "y": 342.36207874015753
+ },
+ {
+ "saAfter": 0,
+ "type": "VSAPoint",
+ "x": 620.5290071875436,
+ "y": -5.506318761785565
+ },
+ {
+ "saAfter": 188.9763779527559,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 944.294593326342,
+ "y": 136.63905516701556
+ },
+ {
+ "saAfter": 188.9763779527559,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 944.294593326342,
+ "y": 136.63905516701556
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 930.9115139455133,
+ "y": 164.2021651072791
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 907.1077633892038,
+ "y": 216.20756088951924
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 886.6420235246574,
+ "y": 264.5706340127217
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 869.2733175133691,
+ "y": 309.4054580978941
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 854.760668516834,
+ "y": 350.82610676604384
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 842.8630996965472,
+ "y": 388.9466536381784
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 833.3396342140039,
+ "y": 423.88117233530534
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 825.9492952306991,
+ "y": 455.74373647843197
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 820.451105908128,
+ "y": 484.6484196885659
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 816.6040894077855,
+ "y": 510.7092955867147
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 814.1672688911669,
+ "y": 534.0404377938855
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 812.8996675197673,
+ "y": 554.7559199310863
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 812.5925673946043,
+ "y": 581.4656260538284
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 814.1809574610598,
+ "y": 608.5715133604979
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 815.1968503937007,
+ "y": 618.5825511811024
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 816.3634787672067,
+ "y": 628.380932746632
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 820.4053369940075,
+ "y": 649.1688436779486
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 826.5040284899703,
+ "y": 671.0654086429722
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 834.6667882477791,
+ "y": 693.7142683899226
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 844.9008512601183,
+ "y": 716.7590636670197
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 857.2134525196718,
+ "y": 739.8434352224829
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 871.6118270191237,
+ "y": 762.6110238045324
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 888.1032097511581,
+ "y": 784.7054701613878
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 906.6948357084594,
+ "y": 805.7704150412691
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 927.3939398837115,
+ "y": 825.4494991923958
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 950.2077572695983,
+ "y": 843.3863633629879
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 968.776733605274,
+ "y": 855.4073744953336
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 981.7764600118351,
+ "y": 862.7350547966848
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 995.3089344044396,
+ "y": 869.4267280237759
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1009.3750611571733,
+ "y": 875.4378492701345
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1023.9757446441214,
+ "y": 880.7238736292878
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1039.1118892393697,
+ "y": 885.2402561947638
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1054.784399317004,
+ "y": 888.9424520600894
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1070.994179251109,
+ "y": 891.7859163187926
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1087.7421334157707,
+ "y": 893.7261040644007
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1105.0291661850742,
+ "y": 894.7184703904409
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1113.8976377952758,
+ "y": 894.8030236220472
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1113.8976377952758,
+ "y": 894.8030236220472
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/seamtest1_by_intersection/output.json b/src/test/ValentinaTest/share/seamtest1_by_intersection/output.json
new file mode 100644
index 000000000..cc77ac219
--- /dev/null
+++ b/src/test/ValentinaTest/share/seamtest1_by_intersection/output.json
@@ -0,0 +1,214 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": 30,
+ "y": 970.3935748031496
+ },
+ {
+ "type": "QPointF",
+ "x": 30,
+ "y": 2.2023778242823937
+ },
+ {
+ "type": "QPointF",
+ "x": 46.111397855976776,
+ "y": 2.027726815668483
+ },
+ {
+ "type": "QPointF",
+ "x": 81.74605442368645,
+ "y": -0.2758951981748612
+ },
+ {
+ "type": "QPointF",
+ "x": 119.50208828052781,
+ "y": -5.192452541281906
+ },
+ {
+ "type": "QPointF",
+ "x": 148.04367032633104,
+ "y": -10.78012159825089
+ },
+ {
+ "type": "QPointF",
+ "x": 186.97979694595927,
+ "y": -21.06789814835227
+ },
+ {
+ "type": "QPointF",
+ "x": 205.31950565747624,
+ "y": -27.21179180985321
+ },
+ {
+ "type": "QPointF",
+ "x": 223.51736443487215,
+ "y": -34.306381867523655
+ },
+ {
+ "type": "QPointF",
+ "x": 241.0503469884652,
+ "y": -42.23845350735769
+ },
+ {
+ "type": "QPointF",
+ "x": 257.76798751706616,
+ "y": -51.01164773556077
+ },
+ {
+ "type": "QPointF",
+ "x": 273.5285590176657,
+ "y": -60.62398316233916
+ },
+ {
+ "type": "QPointF",
+ "x": 284.4959443876259,
+ "y": -68.4308753608727
+ },
+ {
+ "type": "QPointF",
+ "x": 556.951317720607,
+ "y": -31.220946854728947
+ },
+ {
+ "type": "QPointF",
+ "x": 539.6101141051189,
+ "y": 79.89131577778124
+ },
+ {
+ "type": "QPointF",
+ "x": 585.9167315845332,
+ "y": -20.7024207218235
+ },
+ {
+ "type": "QPointF",
+ "x": 1117.4559101159903,
+ "y": 212.6634418802967
+ },
+ {
+ "type": "QPointF",
+ "x": 1101.8482040478996,
+ "y": 244.8082798528157
+ },
+ {
+ "type": "QPointF",
+ "x": 1080.077560308019,
+ "y": 292.3718325563429
+ },
+ {
+ "type": "QPointF",
+ "x": 1061.8089025447719,
+ "y": 335.54292908714797
+ },
+ {
+ "type": "QPointF",
+ "x": 1046.6013689355652,
+ "y": 374.7989965048928
+ },
+ {
+ "type": "QPointF",
+ "x": 1034.1843603449322,
+ "y": 410.2384638595293
+ },
+ {
+ "type": "QPointF",
+ "x": 1024.2819001340656,
+ "y": 441.96655926454446
+ },
+ {
+ "type": "QPointF",
+ "x": 1016.6128103198596,
+ "y": 470.0987514791764
+ },
+ {
+ "type": "QPointF",
+ "x": 1010.891548127259,
+ "y": 494.7652903217379
+ },
+ {
+ "type": "QPointF",
+ "x": 1004.1409514475167,
+ "y": 534.3338730421456
+ },
+ {
+ "type": "QPointF",
+ "x": 1001.8096437359794,
+ "y": 561.6175009318105
+ },
+ {
+ "type": "QPointF",
+ "x": 1001.6561432953282,
+ "y": 574.9680381786756
+ },
+ {
+ "type": "QPointF",
+ "x": 1004.4715714217981,
+ "y": 605.7139974891637
+ },
+ {
+ "type": "QPointF",
+ "x": 1010.1411052399322,
+ "y": 623.2360341722922
+ },
+ {
+ "type": "QPointF",
+ "x": 1020.6660121283516,
+ "y": 644.7426504865729
+ },
+ {
+ "type": "QPointF",
+ "x": 1027.4243046890665,
+ "y": 655.4292751847524
+ },
+ {
+ "type": "QPointF",
+ "x": 1034.913026324476,
+ "y": 665.4623428264111
+ },
+ {
+ "type": "QPointF",
+ "x": 1042.9029269068749,
+ "y": 674.5151720813944
+ },
+ {
+ "type": "QPointF",
+ "x": 1051.171411576988,
+ "y": 682.3761985416603
+ },
+ {
+ "type": "QPointF",
+ "x": 1064.4550829934562,
+ "y": 692.2276518062896
+ },
+ {
+ "type": "QPointF",
+ "x": 1074.3372851140064,
+ "y": 697.4493100553057
+ },
+ {
+ "type": "QPointF",
+ "x": 1087.891993301369,
+ "y": 702.5858632116882
+ },
+ {
+ "type": "QPointF",
+ "x": 1102.5229793527785,
+ "y": 705.1981929082115
+ },
+ {
+ "type": "QPointF",
+ "x": 1290.6502488400083,
+ "y": 712.9440934612204
+ },
+ {
+ "type": "QPointF",
+ "x": 1302.4161318705776,
+ "y": 881.6558256043734
+ },
+ {
+ "type": "QPointF",
+ "x": 30,
+ "y": 970.3935748031496
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/seamtest1_by_second_edge_symmetry/input.json b/src/test/ValentinaTest/share/seamtest1_by_second_edge_symmetry/input.json
new file mode 100644
index 000000000..250160298
--- /dev/null
+++ b/src/test/ValentinaTest/share/seamtest1_by_second_edge_symmetry/input.json
@@ -0,0 +1,448 @@
+{
+ "vector": [
+ {
+ "saAfter": 0,
+ "saBefore": 75.59055118110237,
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 894.8030236220472
+ },
+ {
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 39.999874015748034
+ },
+ {
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 39.999874015748034
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 47.53637144700478,
+ "y": 39.80977598775412
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 85.4092492068762,
+ "y": 37.36146293134895
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 125.57923134501877,
+ "y": 32.13056337758208
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 156.5108311435474,
+ "y": 26.074993549693005
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 177.21129897469388,
+ "y": 21.059222548891512
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 197.8216319874312,
+ "y": 15.159776113211533
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 218.19418331220902,
+ "y": 8.334870062533497
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 238.18130607947683,
+ "y": 0.5427202167378373
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 257.6353534196842,
+ "y": -8.258457604295018
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 276.4086784632808,
+ "y": -18.110447580684635
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 294.3536343407161,
+ "y": -29.055033892550586
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 311.32257418243984,
+ "y": -41.13400072001244
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 327.16785111890135,
+ "y": -54.389132243189756
+ },
+ {
+ "angle": 3,
+ "saAfter": 0.3779527559055119,
+ "type": "VSAPoint",
+ "x": 334.5669291338582,
+ "y": -61.522435695538036
+ },
+ {
+ "angle": 3,
+ "saAfter": 0.3779527559055119,
+ "type": "VSAPoint",
+ "x": 334.5669291338582,
+ "y": -61.522435695538036
+ },
+ {
+ "saBefore": 0.3779527559055119,
+ "type": "VSAPoint",
+ "x": 519.4465667350105,
+ "y": -36.01405338211433
+ },
+ {
+ "type": "VSAPoint",
+ "x": 460.3937007874016,
+ "y": 342.36207874015753
+ },
+ {
+ "saAfter": 0,
+ "type": "VSAPoint",
+ "x": 620.5290071875436,
+ "y": -5.506318761785565
+ },
+ {
+ "saAfter": 188.9763779527559,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 944.294593326342,
+ "y": 136.63905516701556
+ },
+ {
+ "saAfter": 188.9763779527559,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 944.294593326342,
+ "y": 136.63905516701556
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 930.9115139455133,
+ "y": 164.2021651072791
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 907.1077633892038,
+ "y": 216.20756088951924
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 886.6420235246574,
+ "y": 264.5706340127217
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 869.2733175133691,
+ "y": 309.4054580978941
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 854.760668516834,
+ "y": 350.82610676604384
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 842.8630996965472,
+ "y": 388.9466536381784
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 833.3396342140039,
+ "y": 423.88117233530534
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 825.9492952306991,
+ "y": 455.74373647843197
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 820.451105908128,
+ "y": 484.6484196885659
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 816.6040894077855,
+ "y": 510.7092955867147
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 814.1672688911669,
+ "y": 534.0404377938855
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 812.8996675197673,
+ "y": 554.7559199310863
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 812.5925673946043,
+ "y": 581.4656260538284
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 814.1809574610598,
+ "y": 608.5715133604979
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 815.1968503937007,
+ "y": 618.5825511811024
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 816.3634787672067,
+ "y": 628.380932746632
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 820.4053369940075,
+ "y": 649.1688436779486
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 826.5040284899703,
+ "y": 671.0654086429722
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 834.6667882477791,
+ "y": 693.7142683899226
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 844.9008512601183,
+ "y": 716.7590636670197
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 857.2134525196718,
+ "y": 739.8434352224829
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 871.6118270191237,
+ "y": 762.6110238045324
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 888.1032097511581,
+ "y": 784.7054701613878
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 906.6948357084594,
+ "y": 805.7704150412691
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 927.3939398837115,
+ "y": 825.4494991923958
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 950.2077572695983,
+ "y": 843.3863633629879
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 968.776733605274,
+ "y": 855.4073744953336
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 981.7764600118351,
+ "y": 862.7350547966848
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 995.3089344044396,
+ "y": 869.4267280237759
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1009.3750611571733,
+ "y": 875.4378492701345
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1023.9757446441214,
+ "y": 880.7238736292878
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1039.1118892393697,
+ "y": 885.2402561947638
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1054.784399317004,
+ "y": 888.9424520600894
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1070.994179251109,
+ "y": 891.7859163187926
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1087.7421334157707,
+ "y": 893.7261040644007
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1105.0291661850742,
+ "y": 894.7184703904409
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1113.8976377952758,
+ "y": 894.8030236220472
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1113.8976377952758,
+ "y": 894.8030236220472
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/seamtest1_by_second_edge_symmetry/output.json b/src/test/ValentinaTest/share/seamtest1_by_second_edge_symmetry/output.json
new file mode 100644
index 000000000..fcb7f78da
--- /dev/null
+++ b/src/test/ValentinaTest/share/seamtest1_by_second_edge_symmetry/output.json
@@ -0,0 +1,219 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": 30,
+ "y": 970.3935748031496
+ },
+ {
+ "type": "QPointF",
+ "x": 30,
+ "y": 2.202377824282337
+ },
+ {
+ "type": "QPointF",
+ "x": 46.111397855976776,
+ "y": 2.027726815668483
+ },
+ {
+ "type": "QPointF",
+ "x": 81.74605442368645,
+ "y": -0.2758951981748612
+ },
+ {
+ "type": "QPointF",
+ "x": 119.50208828052781,
+ "y": -5.192452541281906
+ },
+ {
+ "type": "QPointF",
+ "x": 148.04367032633104,
+ "y": -10.78012159825089
+ },
+ {
+ "type": "QPointF",
+ "x": 186.97979694595927,
+ "y": -21.06789814835227
+ },
+ {
+ "type": "QPointF",
+ "x": 205.31950565747624,
+ "y": -27.21179180985321
+ },
+ {
+ "type": "QPointF",
+ "x": 223.51736443487215,
+ "y": -34.306381867523655
+ },
+ {
+ "type": "QPointF",
+ "x": 241.0503469884652,
+ "y": -42.23845350735769
+ },
+ {
+ "type": "QPointF",
+ "x": 257.76798751706616,
+ "y": -51.01164773556077
+ },
+ {
+ "type": "QPointF",
+ "x": 273.5285590176657,
+ "y": -60.62398316233916
+ },
+ {
+ "type": "QPointF",
+ "x": 286.0749094907468,
+ "y": -69.55482696186911
+ },
+ {
+ "type": "QPointF",
+ "x": 286.6862253773818,
+ "y": -68.51020916027548
+ },
+ {
+ "type": "QPointF",
+ "x": 556.951317720607,
+ "y": -31.220946854728947
+ },
+ {
+ "type": "QPointF",
+ "x": 539.6101141051189,
+ "y": 79.89131577778124
+ },
+ {
+ "type": "QPointF",
+ "x": 585.9167315845333,
+ "y": -20.702420721823497
+ },
+ {
+ "type": "QPointF",
+ "x": 1117.4559101159903,
+ "y": 212.6634418802967
+ },
+ {
+ "type": "QPointF",
+ "x": 1101.8482040478996,
+ "y": 244.8082798528157
+ },
+ {
+ "type": "QPointF",
+ "x": 1080.077560308019,
+ "y": 292.3718325563429
+ },
+ {
+ "type": "QPointF",
+ "x": 1061.8089025447719,
+ "y": 335.54292908714797
+ },
+ {
+ "type": "QPointF",
+ "x": 1046.6013689355652,
+ "y": 374.7989965048928
+ },
+ {
+ "type": "QPointF",
+ "x": 1034.1843603449322,
+ "y": 410.2384638595293
+ },
+ {
+ "type": "QPointF",
+ "x": 1024.2819001340656,
+ "y": 441.96655926454446
+ },
+ {
+ "type": "QPointF",
+ "x": 1016.6128103198596,
+ "y": 470.0987514791764
+ },
+ {
+ "type": "QPointF",
+ "x": 1010.891548127259,
+ "y": 494.7652903217379
+ },
+ {
+ "type": "QPointF",
+ "x": 1004.1409514475167,
+ "y": 534.3338730421456
+ },
+ {
+ "type": "QPointF",
+ "x": 1001.8096437359794,
+ "y": 561.6175009318105
+ },
+ {
+ "type": "QPointF",
+ "x": 1001.6561432953282,
+ "y": 574.9680381786756
+ },
+ {
+ "type": "QPointF",
+ "x": 1004.4715714217981,
+ "y": 605.7139974891637
+ },
+ {
+ "type": "QPointF",
+ "x": 1010.1411052399322,
+ "y": 623.2360341722922
+ },
+ {
+ "type": "QPointF",
+ "x": 1020.6660121283516,
+ "y": 644.7426504865729
+ },
+ {
+ "type": "QPointF",
+ "x": 1027.4243046890665,
+ "y": 655.4292751847524
+ },
+ {
+ "type": "QPointF",
+ "x": 1034.913026324476,
+ "y": 665.4623428264111
+ },
+ {
+ "type": "QPointF",
+ "x": 1042.9029269068749,
+ "y": 674.5151720813944
+ },
+ {
+ "type": "QPointF",
+ "x": 1051.171411576988,
+ "y": 682.3761985416603
+ },
+ {
+ "type": "QPointF",
+ "x": 1064.4550829934562,
+ "y": 692.2276518062896
+ },
+ {
+ "type": "QPointF",
+ "x": 1074.3372851140064,
+ "y": 697.4493100553057
+ },
+ {
+ "type": "QPointF",
+ "x": 1087.891993301369,
+ "y": 702.5858632116882
+ },
+ {
+ "type": "QPointF",
+ "x": 1102.5229793527785,
+ "y": 705.1981929082115
+ },
+ {
+ "type": "QPointF",
+ "x": 1290.6502488400083,
+ "y": 712.9440934612204
+ },
+ {
+ "type": "QPointF",
+ "x": 1302.4161318705776,
+ "y": 881.6558256043734
+ },
+ {
+ "type": "QPointF",
+ "x": 30,
+ "y": 970.3935748031496
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/seamtest1_by_second_right_angle/input.json b/src/test/ValentinaTest/share/seamtest1_by_second_right_angle/input.json
new file mode 100644
index 000000000..85b140cb9
--- /dev/null
+++ b/src/test/ValentinaTest/share/seamtest1_by_second_right_angle/input.json
@@ -0,0 +1,448 @@
+{
+ "vector": [
+ {
+ "saAfter": 0,
+ "saBefore": 75.59055118110237,
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 894.8030236220472
+ },
+ {
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 39.999874015748034
+ },
+ {
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 39.999874015748034
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 47.53637144700478,
+ "y": 39.80977598775412
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 85.4092492068762,
+ "y": 37.36146293134895
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 125.57923134501877,
+ "y": 32.13056337758208
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 156.5108311435474,
+ "y": 26.074993549693005
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 177.21129897469388,
+ "y": 21.059222548891512
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 197.8216319874312,
+ "y": 15.159776113211533
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 218.19418331220902,
+ "y": 8.334870062533497
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 238.18130607947683,
+ "y": 0.5427202167378373
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 257.6353534196842,
+ "y": -8.258457604295018
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 276.4086784632808,
+ "y": -18.110447580684635
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 294.3536343407161,
+ "y": -29.055033892550586
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 311.32257418243984,
+ "y": -41.13400072001244
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 327.16785111890135,
+ "y": -54.389132243189756
+ },
+ {
+ "angle": 5,
+ "saAfter": 0.3779527559055119,
+ "type": "VSAPoint",
+ "x": 334.5669291338582,
+ "y": -61.522435695538036
+ },
+ {
+ "angle": 5,
+ "saAfter": 0.3779527559055119,
+ "type": "VSAPoint",
+ "x": 334.5669291338582,
+ "y": -61.522435695538036
+ },
+ {
+ "saBefore": 0.3779527559055119,
+ "type": "VSAPoint",
+ "x": 519.4465667350105,
+ "y": -36.01405338211433
+ },
+ {
+ "type": "VSAPoint",
+ "x": 460.3937007874016,
+ "y": 342.36207874015753
+ },
+ {
+ "saAfter": 0,
+ "type": "VSAPoint",
+ "x": 620.5290071875436,
+ "y": -5.506318761785565
+ },
+ {
+ "saAfter": 188.9763779527559,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 944.294593326342,
+ "y": 136.63905516701556
+ },
+ {
+ "saAfter": 188.9763779527559,
+ "saBefore": 0,
+ "type": "VSAPoint",
+ "x": 944.294593326342,
+ "y": 136.63905516701556
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 930.9115139455133,
+ "y": 164.2021651072791
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 907.1077633892038,
+ "y": 216.20756088951924
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 886.6420235246574,
+ "y": 264.5706340127217
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 869.2733175133691,
+ "y": 309.4054580978941
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 854.760668516834,
+ "y": 350.82610676604384
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 842.8630996965472,
+ "y": 388.9466536381784
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 833.3396342140039,
+ "y": 423.88117233530534
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 825.9492952306991,
+ "y": 455.74373647843197
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 820.451105908128,
+ "y": 484.6484196885659
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 816.6040894077855,
+ "y": 510.7092955867147
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 814.1672688911669,
+ "y": 534.0404377938855
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 812.8996675197673,
+ "y": 554.7559199310863
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 812.5925673946043,
+ "y": 581.4656260538284
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 814.1809574610598,
+ "y": 608.5715133604979
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 815.1968503937007,
+ "y": 618.5825511811024
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 816.3634787672067,
+ "y": 628.380932746632
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 820.4053369940075,
+ "y": 649.1688436779486
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 826.5040284899703,
+ "y": 671.0654086429722
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 834.6667882477791,
+ "y": 693.7142683899226
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 844.9008512601183,
+ "y": 716.7590636670197
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 857.2134525196718,
+ "y": 739.8434352224829
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 871.6118270191237,
+ "y": 762.6110238045324
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 888.1032097511581,
+ "y": 784.7054701613878
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 906.6948357084594,
+ "y": 805.7704150412691
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 927.3939398837115,
+ "y": 825.4494991923958
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 950.2077572695983,
+ "y": 843.3863633629879
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 968.776733605274,
+ "y": 855.4073744953336
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 981.7764600118351,
+ "y": 862.7350547966848
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 995.3089344044396,
+ "y": 869.4267280237759
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1009.3750611571733,
+ "y": 875.4378492701345
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1023.9757446441214,
+ "y": 880.7238736292878
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1039.1118892393697,
+ "y": 885.2402561947638
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1054.784399317004,
+ "y": 888.9424520600894
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1070.994179251109,
+ "y": 891.7859163187926
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1087.7421334157707,
+ "y": 893.7261040644007
+ },
+ {
+ "angle": 6,
+ "saAfter": 188.9763779527559,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1105.0291661850742,
+ "y": 894.7184703904409
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1113.8976377952758,
+ "y": 894.8030236220472
+ },
+ {
+ "saAfter": 0,
+ "saBefore": 188.9763779527559,
+ "type": "VSAPoint",
+ "x": 1113.8976377952758,
+ "y": 894.8030236220472
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/seamtest1_by_second_right_angle/output.json b/src/test/ValentinaTest/share/seamtest1_by_second_right_angle/output.json
new file mode 100644
index 000000000..cc77ac219
--- /dev/null
+++ b/src/test/ValentinaTest/share/seamtest1_by_second_right_angle/output.json
@@ -0,0 +1,214 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": 30,
+ "y": 970.3935748031496
+ },
+ {
+ "type": "QPointF",
+ "x": 30,
+ "y": 2.2023778242823937
+ },
+ {
+ "type": "QPointF",
+ "x": 46.111397855976776,
+ "y": 2.027726815668483
+ },
+ {
+ "type": "QPointF",
+ "x": 81.74605442368645,
+ "y": -0.2758951981748612
+ },
+ {
+ "type": "QPointF",
+ "x": 119.50208828052781,
+ "y": -5.192452541281906
+ },
+ {
+ "type": "QPointF",
+ "x": 148.04367032633104,
+ "y": -10.78012159825089
+ },
+ {
+ "type": "QPointF",
+ "x": 186.97979694595927,
+ "y": -21.06789814835227
+ },
+ {
+ "type": "QPointF",
+ "x": 205.31950565747624,
+ "y": -27.21179180985321
+ },
+ {
+ "type": "QPointF",
+ "x": 223.51736443487215,
+ "y": -34.306381867523655
+ },
+ {
+ "type": "QPointF",
+ "x": 241.0503469884652,
+ "y": -42.23845350735769
+ },
+ {
+ "type": "QPointF",
+ "x": 257.76798751706616,
+ "y": -51.01164773556077
+ },
+ {
+ "type": "QPointF",
+ "x": 273.5285590176657,
+ "y": -60.62398316233916
+ },
+ {
+ "type": "QPointF",
+ "x": 284.4959443876259,
+ "y": -68.4308753608727
+ },
+ {
+ "type": "QPointF",
+ "x": 556.951317720607,
+ "y": -31.220946854728947
+ },
+ {
+ "type": "QPointF",
+ "x": 539.6101141051189,
+ "y": 79.89131577778124
+ },
+ {
+ "type": "QPointF",
+ "x": 585.9167315845332,
+ "y": -20.7024207218235
+ },
+ {
+ "type": "QPointF",
+ "x": 1117.4559101159903,
+ "y": 212.6634418802967
+ },
+ {
+ "type": "QPointF",
+ "x": 1101.8482040478996,
+ "y": 244.8082798528157
+ },
+ {
+ "type": "QPointF",
+ "x": 1080.077560308019,
+ "y": 292.3718325563429
+ },
+ {
+ "type": "QPointF",
+ "x": 1061.8089025447719,
+ "y": 335.54292908714797
+ },
+ {
+ "type": "QPointF",
+ "x": 1046.6013689355652,
+ "y": 374.7989965048928
+ },
+ {
+ "type": "QPointF",
+ "x": 1034.1843603449322,
+ "y": 410.2384638595293
+ },
+ {
+ "type": "QPointF",
+ "x": 1024.2819001340656,
+ "y": 441.96655926454446
+ },
+ {
+ "type": "QPointF",
+ "x": 1016.6128103198596,
+ "y": 470.0987514791764
+ },
+ {
+ "type": "QPointF",
+ "x": 1010.891548127259,
+ "y": 494.7652903217379
+ },
+ {
+ "type": "QPointF",
+ "x": 1004.1409514475167,
+ "y": 534.3338730421456
+ },
+ {
+ "type": "QPointF",
+ "x": 1001.8096437359794,
+ "y": 561.6175009318105
+ },
+ {
+ "type": "QPointF",
+ "x": 1001.6561432953282,
+ "y": 574.9680381786756
+ },
+ {
+ "type": "QPointF",
+ "x": 1004.4715714217981,
+ "y": 605.7139974891637
+ },
+ {
+ "type": "QPointF",
+ "x": 1010.1411052399322,
+ "y": 623.2360341722922
+ },
+ {
+ "type": "QPointF",
+ "x": 1020.6660121283516,
+ "y": 644.7426504865729
+ },
+ {
+ "type": "QPointF",
+ "x": 1027.4243046890665,
+ "y": 655.4292751847524
+ },
+ {
+ "type": "QPointF",
+ "x": 1034.913026324476,
+ "y": 665.4623428264111
+ },
+ {
+ "type": "QPointF",
+ "x": 1042.9029269068749,
+ "y": 674.5151720813944
+ },
+ {
+ "type": "QPointF",
+ "x": 1051.171411576988,
+ "y": 682.3761985416603
+ },
+ {
+ "type": "QPointF",
+ "x": 1064.4550829934562,
+ "y": 692.2276518062896
+ },
+ {
+ "type": "QPointF",
+ "x": 1074.3372851140064,
+ "y": 697.4493100553057
+ },
+ {
+ "type": "QPointF",
+ "x": 1087.891993301369,
+ "y": 702.5858632116882
+ },
+ {
+ "type": "QPointF",
+ "x": 1102.5229793527785,
+ "y": 705.1981929082115
+ },
+ {
+ "type": "QPointF",
+ "x": 1290.6502488400083,
+ "y": 712.9440934612204
+ },
+ {
+ "type": "QPointF",
+ "x": 1302.4161318705776,
+ "y": 881.6558256043734
+ },
+ {
+ "type": "QPointF",
+ "x": 30,
+ "y": 970.3935748031496
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/seamtest2/input.json b/src/test/ValentinaTest/share/seamtest2/input.json
new file mode 100644
index 000000000..e7ef45eff
--- /dev/null
+++ b/src/test/ValentinaTest/share/seamtest2/input.json
@@ -0,0 +1,402 @@
+{
+ "vector": [
+ {
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 39.999874015748034
+ },
+ {
+ "type": "VSAPoint",
+ "x": 407.9527559055118,
+ "y": 39.999874015748034
+ },
+ {
+ "type": "VSAPoint",
+ "x": 407.9527559055118,
+ "y": 228.97625196850396
+ },
+ {
+ "type": "VSAPoint",
+ "x": 407.9527559055118,
+ "y": 228.97625196850396
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.80317793023137,
+ "saBefore": 37.80317793023137,
+ "type": "VSAPoint",
+ "x": 403.3769166670402,
+ "y": 231.4465511704684
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.8185282558241,
+ "saBefore": 37.8185282558241,
+ "type": "VSAPoint",
+ "x": 394.1607984354165,
+ "y": 235.58132461572228
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.83343362828719,
+ "saBefore": 37.83343362828719,
+ "type": "VSAPoint",
+ "x": 384.8923171505302,
+ "y": 238.7905285112787
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.84799299430957,
+ "saBefore": 37.84799299430957,
+ "type": "VSAPoint",
+ "x": 375.59921131499664,
+ "y": 241.12018552459608
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.86229254590959,
+ "saBefore": 37.86229254590959,
+ "type": "VSAPoint",
+ "x": 366.3092194314313,
+ "y": 242.61631832313287
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.87640445213285,
+ "saBefore": 37.87640445213285,
+ "type": "VSAPoint",
+ "x": 357.0500800024495,
+ "y": 243.3249495743475
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.897352390596396,
+ "saBefore": 37.897352390596396,
+ "type": "VSAPoint",
+ "x": 343.267372346902,
+ "y": 243.09606124484026
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.92502540251962,
+ "saBefore": 37.92502540251962,
+ "type": "VSAPoint",
+ "x": 325.2670702478247,
+ "y": 240.34058647283786
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.952537472540754,
+ "saBefore": 37.952537472540754,
+ "type": "VSAPoint",
+ "x": 307.8894710141585,
+ "y": 235.26351352579883
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.97983930259204,
+ "saBefore": 37.97983930259204,
+ "type": "VSAPoint",
+ "x": 291.35648266682676,
+ "y": 228.23302374339065
+ },
+ {
+ "angle": 6,
+ "saAfter": 38.00674385290581,
+ "saBefore": 38.00674385290581,
+ "type": "VSAPoint",
+ "x": 275.89001322675244,
+ "y": 219.61729846528084
+ },
+ {
+ "angle": 6,
+ "saAfter": 38.032964089440014,
+ "saBefore": 38.032964089440014,
+ "type": "VSAPoint",
+ "x": 261.71197071485875,
+ "y": 209.784519031137
+ },
+ {
+ "angle": 6,
+ "saAfter": 38.058145046329095,
+ "saBefore": 38.058145046329095,
+ "type": "VSAPoint",
+ "x": 249.04426315206877,
+ "y": 199.10286678062653
+ },
+ {
+ "angle": 6,
+ "saAfter": 38.081891784254736,
+ "saBefore": 38.081891784254736,
+ "type": "VSAPoint",
+ "x": 238.10879855930557,
+ "y": 187.94052305341705
+ },
+ {
+ "angle": 6,
+ "saAfter": 38.10379739397839,
+ "saBefore": 38.10379739397839,
+ "type": "VSAPoint",
+ "x": 229.12748495749224,
+ "y": 176.66566918917607
+ },
+ {
+ "angle": 6,
+ "saAfter": 38.12347885155327,
+ "saBefore": 38.12347885155327,
+ "type": "VSAPoint",
+ "x": 222.32223036755198,
+ "y": 165.64648652757114
+ },
+ {
+ "angle": 6,
+ "saAfter": 38.140637376066095,
+ "saBefore": 38.140637376066095,
+ "type": "VSAPoint",
+ "x": 217.91494281040778,
+ "y": 155.2511564082697
+ },
+ {
+ "angle": 6,
+ "saAfter": 38.15518307122048,
+ "saBefore": 38.15518307122048,
+ "type": "VSAPoint",
+ "x": 216.12753030698286,
+ "y": 145.84786017093933
+ },
+ {
+ "angle": 6,
+ "saAfter": 38.16454227070837,
+ "saBefore": 38.16454227070837,
+ "type": "VSAPoint",
+ "x": 216.7337621675769,
+ "y": 139.71903029095353
+ },
+ {
+ "angle": 6,
+ "saAfter": 38.17036601862179,
+ "saBefore": 38.17036601862179,
+ "type": "VSAPoint",
+ "x": 218.01300097576924,
+ "y": 136.10657758970495
+ },
+ {
+ "saAfter": 38.173228346456696,
+ "saBefore": 38.173228346456696,
+ "type": "VSAPoint",
+ "x": 218.97637795275605,
+ "y": 134.48806299212646
+ },
+ {
+ "saAfter": 38.173228346456696,
+ "saBefore": 38.173228346456696,
+ "type": "VSAPoint",
+ "x": 218.97637795275605,
+ "y": 134.48806299212646
+ },
+ {
+ "saAfter": 38.173228346456696,
+ "saBefore": 38.173228346456696,
+ "type": "VSAPoint",
+ "x": 218.97637795275605,
+ "y": 134.48806299212646
+ },
+ {
+ "angle": 6,
+ "saAfter": 38.16799523335242,
+ "saBefore": 38.16799523335242,
+ "type": "VSAPoint",
+ "x": 217.1202289172026,
+ "y": 137.73030103616844
+ },
+ {
+ "angle": 6,
+ "saAfter": 38.15787884818713,
+ "saBefore": 38.15787884818713,
+ "type": "VSAPoint",
+ "x": 212.6973363405255,
+ "y": 143.4397404435662
+ },
+ {
+ "angle": 6,
+ "saAfter": 38.14794488580081,
+ "saBefore": 38.14794488580081,
+ "type": "VSAPoint",
+ "x": 207.48487786706698,
+ "y": 148.24866810991395
+ },
+ {
+ "angle": 6,
+ "saAfter": 38.13796906496172,
+ "saBefore": 38.13796906496172,
+ "type": "VSAPoint",
+ "x": 201.55301739671896,
+ "y": 152.18989767496004
+ },
+ {
+ "angle": 6,
+ "saAfter": 38.12777534088115,
+ "saBefore": 38.12777534088115,
+ "type": "VSAPoint",
+ "x": 194.9719188293733,
+ "y": 155.29624277845284
+ },
+ {
+ "angle": 6,
+ "saAfter": 38.1172392196169,
+ "saBefore": 38.1172392196169,
+ "type": "VSAPoint",
+ "x": 187.81174606492203,
+ "y": 157.6005170601407
+ },
+ {
+ "angle": 6,
+ "saAfter": 38.10628374748414,
+ "saBefore": 38.10628374748414,
+ "type": "VSAPoint",
+ "x": 180.14266300325704,
+ "y": 159.13553415977202
+ },
+ {
+ "angle": 6,
+ "saAfter": 38.09487182200063,
+ "saBefore": 38.09487182200063,
+ "type": "VSAPoint",
+ "x": 172.0348335442702,
+ "y": 159.93410771709506
+ },
+ {
+ "angle": 6,
+ "saAfter": 38.07694509829885,
+ "saBefore": 38.07694509829885,
+ "type": "VSAPoint",
+ "x": 159.23684047277425,
+ "y": 159.9047174285684
+ },
+ {
+ "angle": 6,
+ "saAfter": 38.051494892780326,
+ "saBefore": 38.051494892780326,
+ "type": "VSAPoint",
+ "x": 141.23066996957303,
+ "y": 157.47696696634546
+ },
+ {
+ "angle": 6,
+ "saAfter": 38.02473158624051,
+ "saBefore": 38.02473158624051,
+ "type": "VSAPoint",
+ "x": 122.73246407513939,
+ "y": 152.69408785036
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.99717939647611,
+ "saBefore": 37.99717939647611,
+ "type": "VSAPoint",
+ "x": 104.30353398860882,
+ "y": 145.81858919859886
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.969426027228295,
+ "saBefore": 37.969426027228295,
+ "type": "VSAPoint",
+ "x": 86.50519090911675,
+ "y": 137.11298012904894
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.94207342582994,
+ "saBefore": 37.94207342582994,
+ "type": "VSAPoint",
+ "x": 69.89874603579864,
+ "y": 126.83976975969698
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.91569349681988,
+ "saBefore": 37.91569349681988,
+ "type": "VSAPoint",
+ "x": 55.045510567789904,
+ "y": 115.26146720852991
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.890773443464376,
+ "saBefore": 37.890773443464376,
+ "type": "VSAPoint",
+ "x": 42.506795704226036,
+ "y": 102.64058159353453
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.87329933285639,
+ "saBefore": 37.87329933285639,
+ "type": "VSAPoint",
+ "x": 35.06235294654161,
+ "y": 92.63041313458488
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.86218751893835,
+ "saBefore": 37.86218751893835,
+ "type": "VSAPoint",
+ "x": 31.055115217282797,
+ "y": 85.78413532732864
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.851508643228605,
+ "saBefore": 37.851508643228605,
+ "type": "VSAPoint",
+ "x": 27.94224518864889,
+ "y": 78.82487313298289
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.84119924740421,
+ "saBefore": 37.84119924740421,
+ "type": "VSAPoint",
+ "x": 25.793906760531815,
+ "y": 71.78544019129603
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.83115066985303,
+ "saBefore": 37.83115066985303,
+ "type": "VSAPoint",
+ "x": 24.68026383282351,
+ "y": 64.69865014201642
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.8212035316683,
+ "saBefore": 37.8212035316683,
+ "type": "VSAPoint",
+ "x": 24.671480305415898,
+ "y": 57.597316624892386
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.81114840454936,
+ "saBefore": 37.81114840454936,
+ "type": "VSAPoint",
+ "x": 25.837720078200917,
+ "y": 50.514253279672296
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.80073535459479,
+ "saBefore": 37.80073535459479,
+ "type": "VSAPoint",
+ "x": 28.2491470510705,
+ "y": 43.48227374610451
+ },
+ {
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 39.999874015748034
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/seamtest2/output.json b/src/test/ValentinaTest/share/seamtest2/output.json
new file mode 100644
index 000000000..ee5e822ed
--- /dev/null
+++ b/src/test/ValentinaTest/share/seamtest2/output.json
@@ -0,0 +1,179 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": 6.735602489575015,
+ "y": 2.204598425196849
+ },
+ {
+ "type": "QPointF",
+ "x": 445.74803149606305,
+ "y": 2.204598425196849
+ },
+ {
+ "type": "QPointF",
+ "x": 445.748031496063,
+ "y": 251.4844627007215
+ },
+ {
+ "type": "QPointF",
+ "x": 419.44187974583633,
+ "y": 265.7376947238744
+ },
+ {
+ "type": "QPointF",
+ "x": 395.8299454977239,
+ "y": 275.1603867724189
+ },
+ {
+ "type": "QPointF",
+ "x": 371.64950431386717,
+ "y": 280.1768789835686
+ },
+ {
+ "type": "QPointF",
+ "x": 358.2408334277008,
+ "y": 281.22358539078493
+ },
+ {
+ "type": "QPointF",
+ "x": 340.1284056058474,
+ "y": 280.95032539874563
+ },
+ {
+ "type": "QPointF",
+ "x": 317.1003672226287,
+ "y": 277.46101449907337
+ },
+ {
+ "type": "QPointF",
+ "x": 295.1519528906243,
+ "y": 271.0847085461394
+ },
+ {
+ "type": "QPointF",
+ "x": 274.68871290802866,
+ "y": 262.4196148903778
+ },
+ {
+ "type": "QPointF",
+ "x": 255.81310453620574,
+ "y": 251.94235440791147
+ },
+ {
+ "type": "QPointF",
+ "x": 238.61081765006833,
+ "y": 240.0508703303418
+ },
+ {
+ "type": "QPointF",
+ "x": 223.16837814314113,
+ "y": 227.06961282699527
+ },
+ {
+ "type": "QPointF",
+ "x": 209.5774971397173,
+ "y": 213.23886816257252
+ },
+ {
+ "type": "QPointF",
+ "x": 197.93811921404816,
+ "y": 198.6726417606856
+ },
+ {
+ "type": "QPointF",
+ "x": 195.38921878026318,
+ "y": 194.55941404575003
+ },
+ {
+ "type": "QPointF",
+ "x": 186.77302564306618,
+ "y": 196.7772505132497
+ },
+ {
+ "type": "QPointF",
+ "x": 173.80935665477787,
+ "y": 198.03576335366748
+ },
+ {
+ "type": "QPointF",
+ "x": 156.58462346404755,
+ "y": 197.97207956246808
+ },
+ {
+ "type": "QPointF",
+ "x": 133.84749301666088,
+ "y": 194.8740254865072
+ },
+ {
+ "type": "QPointF",
+ "x": 111.24564892141993,
+ "y": 188.99632536164253
+ },
+ {
+ "type": "QPointF",
+ "x": 89.23016638120879,
+ "y": 180.74760051351964
+ },
+ {
+ "type": "QPointF",
+ "x": 68.08422273452526,
+ "y": 170.36786581256206
+ },
+ {
+ "type": "QPointF",
+ "x": 48.14786227034436,
+ "y": 157.9960303610079
+ },
+ {
+ "type": "QPointF",
+ "x": 29.800888286137585,
+ "y": 143.65294976668383
+ },
+ {
+ "type": "QPointF",
+ "x": 13.683525778751441,
+ "y": 127.38445078151254
+ },
+ {
+ "type": "QPointF",
+ "x": 2.794416533979394,
+ "y": 112.69950019996048
+ },
+ {
+ "type": "QPointF",
+ "x": -7.2840117800327615,
+ "y": 93.09044673038777
+ },
+ {
+ "type": "QPointF",
+ "x": -11.18749819246625,
+ "y": 80.23547351371789
+ },
+ {
+ "type": "QPointF",
+ "x": -13.151329445248951,
+ "y": 67.6232425750484
+ },
+ {
+ "type": "QPointF",
+ "x": -13.149174973239838,
+ "y": 54.47473007846592
+ },
+ {
+ "type": "QPointF",
+ "x": -10.943375405772395,
+ "y": 41.194056317965945
+ },
+ {
+ "type": "QPointF",
+ "x": -6.654890290296288,
+ "y": 28.745230957359055
+ },
+ {
+ "type": "QPointF",
+ "x": 6.735602489575015,
+ "y": 2.204598425196849
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/seamtest3/input.json b/src/test/ValentinaTest/share/seamtest3/input.json
new file mode 100644
index 000000000..0b5fda104
--- /dev/null
+++ b/src/test/ValentinaTest/share/seamtest3/input.json
@@ -0,0 +1,595 @@
+{
+ "vector": [
+ {
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 39.999874015748034
+ },
+ {
+ "type": "VSAPoint",
+ "x": 407.9527559055118,
+ "y": 39.999874015748034
+ },
+ {
+ "type": "VSAPoint",
+ "x": 407.9527559055118,
+ "y": 228.97625196850396
+ },
+ {
+ "type": "VSAPoint",
+ "x": 407.9527559055118,
+ "y": 228.97625196850396
+ },
+ {
+ "angle": 6,
+ "saAfter": 36.977845511186636,
+ "saBefore": 36.977845511186636,
+ "type": "VSAPoint",
+ "x": 404.6723012992244,
+ "y": 235.65623431697782
+ },
+ {
+ "angle": 6,
+ "saAfter": 35.52982410231174,
+ "saBefore": 35.52982410231174,
+ "type": "VSAPoint",
+ "x": 397.22283300301126,
+ "y": 246.53269098046195
+ },
+ {
+ "angle": 6,
+ "saAfter": 34.258630321759945,
+ "saBefore": 34.258630321759945,
+ "type": "VSAPoint",
+ "x": 388.92062499630856,
+ "y": 254.5956376373514
+ },
+ {
+ "angle": 6,
+ "saAfter": 33.111548444754845,
+ "saBefore": 33.111548444754845,
+ "type": "VSAPoint",
+ "x": 380.0029341567567,
+ "y": 260.0302961027146
+ },
+ {
+ "angle": 6,
+ "saAfter": 32.03891394371319,
+ "saBefore": 32.03891394371319,
+ "type": "VSAPoint",
+ "x": 370.70701736199624,
+ "y": 263.02188819161995
+ },
+ {
+ "angle": 6,
+ "saAfter": 30.99923856743404,
+ "saBefore": 30.99923856743404,
+ "type": "VSAPoint",
+ "x": 361.27013148966773,
+ "y": 263.75563571913585
+ },
+ {
+ "angle": 6,
+ "saAfter": 29.962781670363757,
+ "saBefore": 29.962781670363757,
+ "type": "VSAPoint",
+ "x": 351.9295334174118,
+ "y": 262.41676050033084
+ },
+ {
+ "angle": 6,
+ "saAfter": 28.91189499226486,
+ "saBefore": 28.91189499226486,
+ "type": "VSAPoint",
+ "x": 342.92248002286897,
+ "y": 259.19048435027327
+ },
+ {
+ "angle": 6,
+ "saAfter": 27.838718909311048,
+ "saBefore": 27.838718909311048,
+ "type": "VSAPoint",
+ "x": 334.48622818367966,
+ "y": 254.26202908403155
+ },
+ {
+ "angle": 6,
+ "saAfter": 26.741788760884347,
+ "saBefore": 26.741788760884347,
+ "type": "VSAPoint",
+ "x": 326.8580347774845,
+ "y": 247.81661651667417
+ },
+ {
+ "angle": 6,
+ "saAfter": 25.622615764841164,
+ "saBefore": 25.622615764841164,
+ "type": "VSAPoint",
+ "x": 320.27515668192393,
+ "y": 240.0394684632695
+ },
+ {
+ "angle": 6,
+ "saAfter": 24.482580077336745,
+ "saBefore": 24.482580077336745,
+ "type": "VSAPoint",
+ "x": 314.97485077463864,
+ "y": 231.11580673888602
+ },
+ {
+ "angle": 6,
+ "saAfter": 23.320121181910643,
+ "saBefore": 23.320121181910643,
+ "type": "VSAPoint",
+ "x": 311.19437393326905,
+ "y": 221.2308531585922
+ },
+ {
+ "angle": 6,
+ "saAfter": 22.12821102042642,
+ "saBefore": 22.12821102042642,
+ "type": "VSAPoint",
+ "x": 309.1709830354557,
+ "y": 210.56982953745637
+ },
+ {
+ "angle": 6,
+ "saAfter": 20.89230212706225,
+ "saBefore": 20.89230212706225,
+ "type": "VSAPoint",
+ "x": 309.14193495883904,
+ "y": 199.31795769054702
+ },
+ {
+ "angle": 6,
+ "saAfter": 19.58918900085386,
+ "saBefore": 19.58918900085386,
+ "type": "VSAPoint",
+ "x": 311.34448658105987,
+ "y": 187.66045943293258
+ },
+ {
+ "saAfter": 18.897637795275593,
+ "saBefore": 18.897637795275593,
+ "type": "VSAPoint",
+ "x": 313.4645669291343,
+ "y": 181.73215748031558
+ },
+ {
+ "saAfter": 18.897637795275593,
+ "saBefore": 18.897637795275593,
+ "type": "VSAPoint",
+ "x": 313.4645669291343,
+ "y": 181.73215748031558
+ },
+ {
+ "saAfter": 18.897637795275593,
+ "saBefore": 18.897637795275593,
+ "type": "VSAPoint",
+ "x": 313.4645669291343,
+ "y": 181.73215748031558
+ },
+ {
+ "angle": 6,
+ "saAfter": 19.976796375788812,
+ "saBefore": 19.976796375788812,
+ "type": "VSAPoint",
+ "x": 316.591345021592,
+ "y": 173.28443556543095
+ },
+ {
+ "angle": 6,
+ "saAfter": 21.782587487730186,
+ "saBefore": 21.782587487730186,
+ "type": "VSAPoint",
+ "x": 320.1426384331089,
+ "y": 158.63568876958243
+ },
+ {
+ "angle": 6,
+ "saAfter": 23.23684508842329,
+ "saBefore": 23.23684508842329,
+ "type": "VSAPoint",
+ "x": 320.76512297484294,
+ "y": 146.51286504020334
+ },
+ {
+ "angle": 6,
+ "saAfter": 24.432447936360937,
+ "saBefore": 24.432447936360937,
+ "type": "VSAPoint",
+ "x": 318.80758360045513,
+ "y": 136.72694951703215
+ },
+ {
+ "angle": 6,
+ "saAfter": 25.476072862288163,
+ "saBefore": 25.476072862288163,
+ "type": "VSAPoint",
+ "x": 314.618805263607,
+ "y": 129.08892733980727
+ },
+ {
+ "angle": 6,
+ "saAfter": 26.47203809949214,
+ "saBefore": 26.47203809949214,
+ "type": "VSAPoint",
+ "x": 308.54757291795954,
+ "y": 123.40978364826717
+ },
+ {
+ "angle": 6,
+ "saAfter": 27.49645076170011,
+ "saBefore": 27.49645076170011,
+ "type": "VSAPoint",
+ "x": 300.9426715171743,
+ "y": 119.50050358215026
+ },
+ {
+ "angle": 6,
+ "saAfter": 28.585809818498724,
+ "saBefore": 28.585809818498724,
+ "type": "VSAPoint",
+ "x": 292.1528860149125,
+ "y": 117.172072281195
+ },
+ {
+ "angle": 6,
+ "saAfter": 29.74446055333082,
+ "saBefore": 29.74446055333082,
+ "type": "VSAPoint",
+ "x": 282.5270013648352,
+ "y": 116.23547488513984
+ },
+ {
+ "angle": 6,
+ "saAfter": 30.95646646201516,
+ "saBefore": 30.95646646201516,
+ "type": "VSAPoint",
+ "x": 272.4138025206039,
+ "y": 116.50169653372318
+ },
+ {
+ "angle": 6,
+ "saAfter": 32.19418539121919,
+ "saBefore": 32.19418539121919,
+ "type": "VSAPoint",
+ "x": 262.16207443587984,
+ "y": 117.7817223666835
+ },
+ {
+ "angle": 6,
+ "saAfter": 33.42332260663002,
+ "saBefore": 33.42332260663002,
+ "type": "VSAPoint",
+ "x": 252.12060206432426,
+ "y": 119.88653752375922
+ },
+ {
+ "angle": 6,
+ "saAfter": 35.18062492767001,
+ "saBefore": 35.18062492767001,
+ "type": "VSAPoint",
+ "x": 238.08031279315054,
+ "y": 124.1327387135843
+ },
+ {
+ "angle": 6,
+ "saAfter": 36.67100242816486,
+ "saBefore": 36.67100242816486,
+ "type": "VSAPoint",
+ "x": 226.74556876528095,
+ "y": 129.25957033706317
+ },
+ {
+ "angle": 6,
+ "saAfter": 37.47448996772893,
+ "saBefore": 37.47448996772893,
+ "type": "VSAPoint",
+ "x": 221.03296878301194,
+ "y": 132.77339418798488
+ },
+ {
+ "type": "VSAPoint",
+ "x": 218.97637795275605,
+ "y": 134.48806299212646
+ },
+ {
+ "type": "VSAPoint",
+ "x": 218.97637795275605,
+ "y": 134.48806299212646
+ },
+ {
+ "type": "VSAPoint",
+ "x": 218.97637795275605,
+ "y": 134.48806299212646
+ },
+ {
+ "angle": 6,
+ "saAfter": 35.567798456628196,
+ "saBefore": 35.567798456628196,
+ "type": "VSAPoint",
+ "x": 209.4131100947178,
+ "y": 142.83347127134166
+ },
+ {
+ "angle": 6,
+ "saAfter": 32.921869998532244,
+ "saBefore": 32.921869998532244,
+ "type": "VSAPoint",
+ "x": 197.1746109179469,
+ "y": 151.63888788459965
+ },
+ {
+ "angle": 6,
+ "saAfter": 31.47527442778118,
+ "saBefore": 31.47527442778118,
+ "type": "VSAPoint",
+ "x": 190.02702368501872,
+ "y": 155.74482471949955
+ },
+ {
+ "angle": 6,
+ "saAfter": 30.26604125961245,
+ "saBefore": 30.26604125961245,
+ "type": "VSAPoint",
+ "x": 183.69004004059607,
+ "y": 158.45053139932526
+ },
+ {
+ "angle": 6,
+ "saAfter": 29.256179984052537,
+ "saBefore": 29.256179984052537,
+ "type": "VSAPoint",
+ "x": 178.111093559349,
+ "y": 159.86059917182507
+ },
+ {
+ "angle": 6,
+ "saAfter": 28.40004977195057,
+ "saBefore": 28.40004977195057,
+ "type": "VSAPoint",
+ "x": 173.2376178159475,
+ "y": 160.07961928474754
+ },
+ {
+ "angle": 6,
+ "saAfter": 27.643881968500146,
+ "saBefore": 27.643881968500146,
+ "type": "VSAPoint",
+ "x": 169.01704638506146,
+ "y": 159.21218298584103
+ },
+ {
+ "angle": 6,
+ "saAfter": 26.930459398621437,
+ "saBefore": 26.930459398621437,
+ "type": "VSAPoint",
+ "x": 165.39681284136094,
+ "y": 157.3628815228539
+ },
+ {
+ "angle": 6,
+ "saAfter": 26.20955952854878,
+ "saBefore": 26.20955952854878,
+ "type": "VSAPoint",
+ "x": 162.32435075951588,
+ "y": 154.6363061435347
+ },
+ {
+ "angle": 6,
+ "saAfter": 25.05174589376139,
+ "saBefore": 25.05174589376139,
+ "type": "VSAPoint",
+ "x": 158.57569564750156,
+ "y": 149.20732231050295
+ },
+ {
+ "angle": 6,
+ "saAfter": 23.28197087076461,
+ "saBefore": 23.28197087076461,
+ "type": "VSAPoint",
+ "x": 155.086603150984,
+ "y": 139.74562302685277
+ },
+ {
+ "angle": 6,
+ "saAfter": 21.29660756707718,
+ "saBefore": 21.29660756707718,
+ "type": "VSAPoint",
+ "x": 152.8424008459478,
+ "y": 128.6574705373456
+ },
+ {
+ "angle": 6,
+ "saAfter": 18.1344895060695,
+ "saBefore": 18.1344895060695,
+ "type": "VSAPoint",
+ "x": 150.86615884353571,
+ "y": 110.7478174090613
+ },
+ {
+ "angle": 6,
+ "saAfter": 15.183977229796845,
+ "saBefore": 15.183977229796845,
+ "type": "VSAPoint",
+ "x": 149.37382105332603,
+ "y": 94.00159365355537
+ },
+ {
+ "angle": 6,
+ "saAfter": 13.544330017337995,
+ "saBefore": 13.544330017337995,
+ "type": "VSAPoint",
+ "x": 147.90386548781373,
+ "y": 84.77492816049363
+ },
+ {
+ "angle": 6,
+ "saAfter": 12.304638548569304,
+ "saBefore": 12.304638548569304,
+ "type": "VSAPoint",
+ "x": 145.57614310058185,
+ "y": 78.10545937151159
+ },
+ {
+ "angle": 6,
+ "saAfter": 11.646068510270936,
+ "saBefore": 11.646068510270936,
+ "type": "VSAPoint",
+ "x": 142.96466288724318,
+ "y": 75.41053456450908
+ },
+ {
+ "angle": 6,
+ "saAfter": 11.244104436407117,
+ "saBefore": 11.244104436407117,
+ "type": "VSAPoint",
+ "x": 140.76322838736246,
+ "y": 74.778132056191
+ },
+ {
+ "angle": 6,
+ "saAfter": 10.771134584490436,
+ "saBefore": 10.771134584490436,
+ "type": "VSAPoint",
+ "x": 138.11080326806675,
+ "y": 75.25568933876073
+ },
+ {
+ "angle": 6,
+ "saAfter": 10.142692312810262,
+ "saBefore": 10.142692312810262,
+ "type": "VSAPoint",
+ "x": 134.95482110402602,
+ "y": 76.94779765996671
+ },
+ {
+ "angle": 6,
+ "saAfter": 8.826320717353354,
+ "saBefore": 8.826320717353354,
+ "type": "VSAPoint",
+ "x": 129.24106098216737,
+ "y": 81.80753304891735
+ },
+ {
+ "saBefore": 7.559055118110236,
+ "type": "VSAPoint",
+ "x": 124.48818897637818,
+ "y": 87.24396850393731
+ },
+ {
+ "saBefore": 7.559055118110236,
+ "type": "VSAPoint",
+ "x": 124.48818897637818,
+ "y": 87.24396850393731
+ },
+ {
+ "saBefore": 7.559055118110236,
+ "type": "VSAPoint",
+ "x": 124.48818897637818,
+ "y": 87.24396850393731
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 118.34735729968762,
+ "y": 94.27989595731356
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 106.58315141316105,
+ "y": 104.8247018186949
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 95.47573767084238,
+ "y": 111.51940225476525
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 85.06494183271205,
+ "y": 114.78883440900722
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 75.39058965875054,
+ "y": 115.05783542490349
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 66.49250690893827,
+ "y": 112.7512424459367
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 58.410519343255714,
+ "y": 108.29389261558948
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 51.184452721683314,
+ "y": 102.11062307734451
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 44.85413280420151,
+ "y": 94.62627097468442
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 39.45938535079078,
+ "y": 86.26567345109187
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 35.04003612143157,
+ "y": 77.45366765004948
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 31.63591087610432,
+ "y": 68.61509071503997
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 29.286835374789483,
+ "y": 60.17477978954592
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 28.032635377467525,
+ "y": 52.55757201704999
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 27.913136644118886,
+ "y": 46.188304541034846
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 28.968164934724022,
+ "y": 41.49181450498314
+ },
+ {
+ "type": "VSAPoint",
+ "x": 30,
+ "y": 39.999874015748034
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/seamtest3/output.json b/src/test/ValentinaTest/share/seamtest3/output.json
new file mode 100644
index 000000000..a8766eab9
--- /dev/null
+++ b/src/test/ValentinaTest/share/seamtest3/output.json
@@ -0,0 +1,289 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": 10.185624773347756,
+ "y": 2.204598425196849
+ },
+ {
+ "type": "QPointF",
+ "x": 445.74803149606305,
+ "y": 2.204598425196849
+ },
+ {
+ "type": "QPointF",
+ "x": 445.748031496063,
+ "y": 239.54370877454926
+ },
+ {
+ "type": "QPointF",
+ "x": 434.2772499516588,
+ "y": 257.60252755179886
+ },
+ {
+ "type": "QPointF",
+ "x": 421.70410911168364,
+ "y": 272.23247310841623
+ },
+ {
+ "type": "QPointF",
+ "x": 406.8215280616999,
+ "y": 283.81580578394335
+ },
+ {
+ "type": "QPointF",
+ "x": 390.4268690095888,
+ "y": 291.4924548133903
+ },
+ {
+ "type": "QPointF",
+ "x": 373.43168069161504,
+ "y": 294.97206109652825
+ },
+ {
+ "type": "QPointF",
+ "x": 356.88925393255363,
+ "y": 294.44576261629163
+ },
+ {
+ "type": "QPointF",
+ "x": 341.59261122311955,
+ "y": 290.5110196449043
+ },
+ {
+ "type": "QPointF",
+ "x": 327.9415795488323,
+ "y": 283.8601978892787
+ },
+ {
+ "type": "QPointF",
+ "x": 316.0766275069774,
+ "y": 275.06080862168557
+ },
+ {
+ "type": "QPointF",
+ "x": 306.0568354718494,
+ "y": 264.51533811547125
+ },
+ {
+ "type": "QPointF",
+ "x": 297.96706395968476,
+ "y": 252.511650805464
+ },
+ {
+ "type": "QPointF",
+ "x": 291.95795669012034,
+ "y": 239.28944839897594
+ },
+ {
+ "type": "QPointF",
+ "x": 288.2457014751128,
+ "y": 225.09982730403647
+ },
+ {
+ "type": "QPointF",
+ "x": 287.08291204680114,
+ "y": 210.25330053220583
+ },
+ {
+ "type": "QPointF",
+ "x": 288.70312350739385,
+ "y": 195.14331998915887
+ },
+ {
+ "type": "QPointF",
+ "x": 293.1661864923215,
+ "y": 180.51562637269953
+ },
+ {
+ "type": "QPointF",
+ "x": 295.67056116540294,
+ "y": 175.36866212621038
+ },
+ {
+ "type": "QPointF",
+ "x": 297.03278914138764,
+ "y": 169.78727745627393
+ },
+ {
+ "type": "QPointF",
+ "x": 298.4272653364355,
+ "y": 158.08534773323754
+ },
+ {
+ "type": "QPointF",
+ "x": 297.94225297413215,
+ "y": 150.9565650350354
+ },
+ {
+ "type": "QPointF",
+ "x": 295.9596189912135,
+ "y": 146.7730393764622
+ },
+ {
+ "type": "QPointF",
+ "x": 290.48115362247165,
+ "y": 145.59912885424706
+ },
+ {
+ "type": "QPointF",
+ "x": 278.36163578883384,
+ "y": 146.69497061341855
+ },
+ {
+ "type": "QPointF",
+ "x": 264.11356456471754,
+ "y": 150.8634687956155
+ },
+ {
+ "type": "QPointF",
+ "x": 254.1976334991026,
+ "y": 155.20769360077045
+ },
+ {
+ "type": "QPointF",
+ "x": 246.2542887728834,
+ "y": 160.25987541854803
+ },
+ {
+ "type": "QPointF",
+ "x": 243.53306498622524,
+ "y": 163.14262925675627
+ },
+ {
+ "type": "QPointF",
+ "x": 226.1305060641393,
+ "y": 173.66370879502696
+ },
+ {
+ "type": "QPointF",
+ "x": 209.78346359977252,
+ "y": 181.5593960732169
+ },
+ {
+ "type": "QPointF",
+ "x": 198.87033214089615,
+ "y": 185.51453245698937
+ },
+ {
+ "type": "QPointF",
+ "x": 188.21241736536905,
+ "y": 188.00791613383734
+ },
+ {
+ "type": "QPointF",
+ "x": 177.31502181326212,
+ "y": 188.81402560575697
+ },
+ {
+ "type": "QPointF",
+ "x": 166.19214722698052,
+ "y": 187.3732642424327
+ },
+ {
+ "type": "QPointF",
+ "x": 155.57437225205163,
+ "y": 183.1763006101058
+ },
+ {
+ "type": "QPointF",
+ "x": 146.72924182900442,
+ "y": 176.50793105628702
+ },
+ {
+ "type": "QPointF",
+ "x": 140.1685902867883,
+ "y": 168.24813556221721
+ },
+ {
+ "type": "QPointF",
+ "x": 134.85380559162166,
+ "y": 156.67751165744627
+ },
+ {
+ "type": "QPointF",
+ "x": 132.20863928510303,
+ "y": 142.1050670962771
+ },
+ {
+ "type": "QPointF",
+ "x": 131.96761370902018,
+ "y": 132.827500480644
+ },
+ {
+ "type": "QPointF",
+ "x": 129.15133677704625,
+ "y": 135.35186071252022
+ },
+ {
+ "type": "QPointF",
+ "x": 111.11355282491606,
+ "y": 146.22365885487164
+ },
+ {
+ "type": "QPointF",
+ "x": 91.37199519960252,
+ "y": 152.42334659042638
+ },
+ {
+ "type": "QPointF",
+ "x": 71.0892515601446,
+ "y": 152.98732013057335
+ },
+ {
+ "type": "QPointF",
+ "x": 52.404520155294485,
+ "y": 148.14379692629467
+ },
+ {
+ "type": "QPointF",
+ "x": 36.77389835731295,
+ "y": 139.5232504514038
+ },
+ {
+ "type": "QPointF",
+ "x": 24.295634363907766,
+ "y": 128.84573062197663
+ },
+ {
+ "type": "QPointF",
+ "x": 14.420075278530305,
+ "y": 117.169833926539
+ },
+ {
+ "type": "QPointF",
+ "x": 6.592092174103988,
+ "y": 105.03828991585254
+ },
+ {
+ "type": "QPointF",
+ "x": 0.03810753623676444,
+ "y": 91.96990639342096
+ },
+ {
+ "type": "QPointF",
+ "x": -7.519491617711824,
+ "y": 69.2717746878773
+ },
+ {
+ "type": "QPointF",
+ "x": -9.70470173566634,
+ "y": 56.00020752908148
+ },
+ {
+ "type": "QPointF",
+ "x": -9.960881193587724,
+ "y": 42.34587460321338
+ },
+ {
+ "type": "QPointF",
+ "x": -6.297329478268652,
+ "y": 26.037464411020956
+ },
+ {
+ "type": "QPointF",
+ "x": 10.185624773347756,
+ "y": 2.204598425196849
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/test_data.qrc b/src/test/ValentinaTest/share/test_data.qrc
index 816ee15fa..51f63ec84 100644
--- a/src/test/ValentinaTest/share/test_data.qrc
+++ b/src/test/ValentinaTest/share/test_data.qrc
@@ -6,5 +6,81 @@
loop_by_intersection/output.json
loop_start_point_on_line/input.json
loop_start_point_on_line/output.json
+ seamtest1_by_second_right_angle/input.json
+ seamtest1_by_second_right_angle/output.json
+ seamtest1_by_first_right_angle/input.json
+ seamtest1_by_first_right_angle/output.json
+ seamtest1_by_second_edge_symmetry/input.json
+ seamtest1_by_second_edge_symmetry/output.json
+ seamtest1_by_angle/input.json
+ seamtest1_by_angle/output.json
+ seamtest1_by_first_edge_symmetry/input.json
+ seamtest1_by_first_edge_symmetry/output.json
+ seamtest1_by_intersection/input.json
+ seamtest1_by_intersection/output.json
+ seamtest2/input.json
+ seamtest2/output.json
+ seamtest3/input.json
+ seamtest3/output.json
+ Issue_298_case1/input.json
+ Issue_298_case1/output.json
+ Issue_298_case2/input.json
+ Issue_298_case2/output.json
+ Issue_646/input.json
+ Issue_646/output.json
+ Issue_923_test1/input.json
+ Issue_923_test1/output.json
+ Issue_923_test1_1/input.json
+ Issue_923_test1_1/output.json
+ Issue_923_test2/input.json
+ Issue_923_test2/output.json
+ Issue_923_test2_2/input.json
+ Issue_923_test2_2/output.json
+ Issue_923_test3/input.json
+ Issue_923_test3/output.json
+ Issue_923_test3_3/input.json
+ Issue_923_test3_3/output.json
+ Issue_923_test4/input.json
+ Issue_923_test4/output.json
+ Issue_923_test4_4/input.json
+ Issue_923_test4_4/output.json
+ Issue_923_test5/input.json
+ Issue_923_test5/output.json
+ Issue_923_test5_5/input.json
+ Issue_923_test5_5/output.json
+ Issue_923_test6/input.json
+ Issue_923_test6/output.json
+ Issue_923_test6_6/input.json
+ Issue_923_test6_6/output.json
+ Issue_927/input.json
+ Issue_927/output.json
+ Issue_687/input.json
+ Issue_687/output.json
+ Issue_767_Fabric_TopCollar/input.json
+ Issue_767_Fabric_TopCollar/output.json
+ Issue_767_Fabric_SkinFusing_TopCollar_Notch/input.json
+ Issue_767_Fabric_SkinFusing_TopCollar_Notch/output.json
+ Issue_883_ledge/input.json
+ Issue_883_ledge/output.json
+ Issue_883_prong/input.json
+ Issue_883_prong/output.json
+ Issue_880_Detail/input.json
+ Issue_880_Detail/output.json
+ Issue_880_Detail_1/input.json
+ Issue_880_Detail_1/output.json
+ Issue_937_case_5/input.json
+ Issue_937_case_5/output.json
+ Issue_937_case_1/input.json
+ Issue_937_case_1/output.json
+ Issue_937_case_2/input.json
+ Issue_937_case_2/output.json
+ Issue_937_case_3/input.json
+ Issue_937_case_3/output.json
+ Issue_937_case_4/input.json
+ Issue_937_case_4/output.json
+ Issue_548/input.json
+ Issue_548/output.json
+ Issue_642/input.json
+ Issue_642/output.json
diff --git a/src/test/ValentinaTest/tst_vabstractpiece.cpp b/src/test/ValentinaTest/tst_vabstractpiece.cpp
index f23a223fb..41e5c1aed 100644
--- a/src/test/ValentinaTest/tst_vabstractpiece.cpp
+++ b/src/test/ValentinaTest/tst_vabstractpiece.cpp
@@ -58,44 +58,52 @@ void TST_VAbstractPiece::EquidistantRemoveLoop_data()
};
// See file src/app/share/collection/test/seamtest1.val
- QTest::newRow("Seam test 1. Piece. By angle.") << InputPointsSeamTest1PieceByAngle()
- << 37.795275590551185 // seam allowance width
- << OutputPointsSeamTest1PieceByAngle();
+ ASSERT_TEST_CASE("Seam test 1. Piece. By angle.",
+ QStringLiteral("://seamtest1_by_angle/input.json"),
+ QStringLiteral("://seamtest1_by_angle/output.json"),
+ 37.795275590551185 /*seam allowance width (1.0 cm)*/);
// See file src/app/share/collection/test/seamtest1.val
- QTest::newRow("Seam test 1. Piece. By intersection.") << InputPointsSeamTest1PieceByIntersection()
- << 37.795275590551185 // seam allowance width
- << OutputPointsSeamTest1PieceByIntersection();
+ ASSERT_TEST_CASE("Seam test 1. Piece. By intersection.",
+ QStringLiteral("://seamtest1_by_intersection/input.json"),
+ QStringLiteral("://seamtest1_by_intersection/output.json"),
+ 37.795275590551185 /*seam allowance width (1.0 cm)*/);
// See file src/app/share/collection/test/seamtest1.val
- QTest::newRow("Seam test 1. Piece. By first edge symmetry.") << InputPointsSeamTest1PieceByFirstEdgeSymmerty()
- << 37.795275590551185 // seam allowance width
- << OutputPointsSeamTest1PieceByFirstEdgeSymmerty();
+ ASSERT_TEST_CASE("Seam test 1. Piece. By first edge symmetry.",
+ QStringLiteral("://seamtest1_by_first_edge_symmetry/input.json"),
+ QStringLiteral("://seamtest1_by_first_edge_symmetry/output.json"),
+ 37.795275590551185 /*seam allowance width (1.0 cm)*/);
// See file src/app/share/collection/test/seamtest1.val
- QTest::newRow("Seam test 1. Piece. By second edge symmetry.") << InputPointsSeamTest1PieceBySecondEdgeSymmerty()
- << 37.795275590551185 // seam allowance width
- << OutputPointsSeamTest1PieceBySecondEdgeSymmerty();
+ ASSERT_TEST_CASE("Seam test 1. Piece. By second edge symmetry.",
+ QStringLiteral("://seamtest1_by_second_edge_symmetry/input.json"),
+ QStringLiteral("://seamtest1_by_second_edge_symmetry/output.json"),
+ 37.795275590551185 /*seam allowance width (1.0 cm)*/);
// See file src/app/share/collection/test/seamtest1.val
- QTest::newRow("Seam test 1. Piece. By first right angle.") << InputPointsSeamTest1PieceByFirstRightAngle()
- << 37.795275590551185 // seam allowance width
- << OutputPointsSeamTest1PieceByFirstRightAngle();
+ ASSERT_TEST_CASE("Seam test 1. Piece. By first right angle.",
+ QStringLiteral("://seamtest1_by_first_right_angle/input.json"),
+ QStringLiteral("://seamtest1_by_first_right_angle/output.json"),
+ 37.795275590551185 /*seam allowance width (1.0 cm)*/);
// See file src/app/share/collection/test/seamtest1.val
- QTest::newRow("Seam test 1. Piece. By second right angle.") << InputPointsSeamTest1PieceBySecondRightAngle()
- << 37.795275590551185 // seam allowance width
- << OutputPointsSeamTest1PieceBySecondRightAngle();
+ ASSERT_TEST_CASE("Seam test 1. Piece. By second right angle.",
+ QStringLiteral("://seamtest1_by_second_right_angle/input.json"),
+ QStringLiteral("://seamtest1_by_second_right_angle/output.json"),
+ 37.795275590551185 /*seam allowance width (1.0 cm)*/);
// See file src/app/share/collection/test/seamtest2.val
- QTest::newRow("Seam test 2") << InputPointsCase2()
- << 37.795275590551185 // seam allowance width
- << OutputPointsCase2();
+ ASSERT_TEST_CASE("Seam test 2",
+ QStringLiteral("://seamtest2/input.json"),
+ QStringLiteral("://seamtest2/output.json"),
+ 37.795275590551185 /*seam allowance width (1.0 cm)*/);
// See file src/app/share/collection/test/seamtest3.val
- QTest::newRow("Seam test 3") << InputPointsCase3()
- << 37.795275590551185 // seam allowance width
- << OutputPointsCase3();
+ ASSERT_TEST_CASE("Seam test 3",
+ QStringLiteral("://seamtest3/input.json"),
+ QStringLiteral("://seamtest3/output.json"),
+ 37.795275590551185 /*seam allowance width (1.0 cm)*/);
// These are two real cases where equdistant has loop.
// See issue #298. Segmented Curve isn't selected in Seam Allowance tool.
@@ -103,14 +111,16 @@ void TST_VAbstractPiece::EquidistantRemoveLoop_data()
// See file src/app/share/collection/TestPuzzle.val
// Code should clean loops in path.
#if !defined(Q_PROCESSOR_S390) && !defined(Q_PROCESSOR_S390_X)
- QTest::newRow("Issue 298. Case1") << InputPointsIssue298Case1()
- << 75.59055118110237 // seam allowance width
- << OutputPointsIssue298Case1();
+ ASSERT_TEST_CASE("Issue 298. Case1",
+ QStringLiteral("://Issue_298_case1/input.json"),
+ QStringLiteral("://Issue_298_case1/output.json"),
+ 75.59055118110237 /*seam allowance width*/);
#endif
- QTest::newRow("Issue 298. Case2") << InputPointsIssue298Case2()
- << 37.795275590551185 // seam allowance width
- << OutputPointsIssue298Case2();
+ ASSERT_TEST_CASE("Issue 298. Case2",
+ QStringLiteral("://Issue_298_case2/input.json"),
+ QStringLiteral("://Issue_298_case2/output.json"),
+ 37.795275590551185 /*seam allowance width*/);
// See issue #548. Bug Detail tool. Case when seam allowance is wrong.
// https://bitbucket.org/dismine/valentina/issues/548/bug-detail-tool-case-when-seam-allowance
@@ -133,69 +143,82 @@ void TST_VAbstractPiece::EquidistantRemoveLoop_data()
#endif
// See file src/app/share/collection/bugs/Issue_#646.val
- QTest::newRow("Issue 646.") << InputPointsIssue646()
- << 37.795275590551185 // seam allowance width (1.0 cm)
- << OutputPointsIssue646();
+ ASSERT_TEST_CASE("Issue 646.",
+ QStringLiteral("://Issue_646/input.json"),
+ QStringLiteral("://Issue_646/output.json"),
+ 37.795275590551185 /*seam allowance width (1.0 cm)*/);
// See file src/app/share/collection/bugs/Issue_#923.val
- QTest::newRow("Issue 923. Test 1") << InputPointsIssue923Test1()
- << 37.795275590551185 // seam allowance width (1.0 cm)
- << OutputPointsIssue923Test1();
+ ASSERT_TEST_CASE("Issue 923. Test 1",
+ QStringLiteral("://Issue_923_test1/input.json"),
+ QStringLiteral("://Issue_923_test1/output.json"),
+ 37.795275590551185 /*seam allowance width (1.0 cm)*/);
// See file src/app/share/collection/bugs/Issue_#923.val
- QTest::newRow("Issue 923. Test 2") << InputPointsIssue923Test2()
- << 37.795275590551185 // seam allowance width (1.0 cm)
- << OutputPointsIssue923Test2();
+ ASSERT_TEST_CASE("Issue 923. Test 2",
+ QStringLiteral("://Issue_923_test2/input.json"),
+ QStringLiteral("://Issue_923_test2/output.json"),
+ 37.795275590551185 /*seam allowance width (1.0 cm)*/);
// See file src/app/share/collection/bugs/Issue_#923.val
- QTest::newRow("Issue 923. Test 3") << InputPointsIssue923Test3()
- << 37.795275590551185 // seam allowance width (1.0 cm)
- << OutputPointsIssue923Test3();
+ ASSERT_TEST_CASE("Issue 923. Test 3",
+ QStringLiteral("://Issue_923_test3/input.json"),
+ QStringLiteral("://Issue_923_test3/output.json"),
+ 37.795275590551185 /*seam allowance width (1.0 cm)*/);
// See file src/app/share/collection/bugs/Issue_#923.val
- QTest::newRow("Issue 923. Test 4") << InputPointsIssue923Test4()
- << 37.795275590551185 // seam allowance width (1.0 cm)
- << OutputPointsIssue923Test4();
+ ASSERT_TEST_CASE("Issue 923. Test 4",
+ QStringLiteral("://Issue_923_test4/input.json"),
+ QStringLiteral("://Issue_923_test4/output.json"),
+ 37.795275590551185 /*seam allowance width (1.0 cm)*/);
// See file src/app/share/collection/bugs/Issue_#923.val
- QTest::newRow("Issue 923. Test 5") << InputPointsIssue923Test5()
- << 37.795275590551185 // seam allowance width (1.0 cm)
- << OutputPointsIssue923Test5();
+ ASSERT_TEST_CASE("Issue 923. Test 5",
+ QStringLiteral("://Issue_923_test5/input.json"),
+ QStringLiteral("://Issue_923_test5/output.json"),
+ 37.795275590551185 /*seam allowance width (1.0 cm)*/);
// See file src/app/share/collection/bugs/Issue_#923.val
- QTest::newRow("Issue 923. Test 6") << InputPointsIssue923Test6()
- << 37.795275590551185 // seam allowance width (1.0 cm)
- << OutputPointsIssue923Test6();
+ ASSERT_TEST_CASE("Issue 923. Test 6",
+ QStringLiteral("://Issue_923_test6/input.json"),
+ QStringLiteral("://Issue_923_test6/output.json"),
+ 37.795275590551185 /*seam allowance width (1.0 cm)*/);
// See file src/app/share/collection/bugs/Issue_#923.val
- QTest::newRow("Issue 923. Test 1.1") << InputPointsIssue923Test1_1()
- << 37.795275590551185 // seam allowance width (1.0 cm)
- << OutputPointsIssue923Test1_1();
+ ASSERT_TEST_CASE("Issue 923. Test 1.1",
+ QStringLiteral("://Issue_923_test1_1/input.json"),
+ QStringLiteral("://Issue_923_test1_1/output.json"),
+ 37.795275590551185 /*seam allowance width (1.0 cm)*/);
// See file src/app/share/collection/bugs/Issue_#923.val
- QTest::newRow("Issue 923. Test 2.2") << InputPointsIssue923Test2_2()
- << 37.795275590551185 // seam allowance width (1.0 cm)
- << OutputPointsIssue923Test2_2();
+ ASSERT_TEST_CASE("Issue 923. Test 2.2",
+ QStringLiteral("://Issue_923_test2_2/input.json"),
+ QStringLiteral("://Issue_923_test2_2/output.json"),
+ 37.795275590551185 /*seam allowance width (1.0 cm)*/);
// See file src/app/share/collection/bugs/Issue_#923.val
- QTest::newRow("Issue 923. Test 3.3") << InputPointsIssue923Test3_3()
- << 37.795275590551185 // seam allowance width (1.0 cm)
- << OutputPointsIssue923Test3_3();
+ ASSERT_TEST_CASE("Issue 923. Test 3.3",
+ QStringLiteral("://Issue_923_test3_3/input.json"),
+ QStringLiteral("://Issue_923_test3_3/output.json"),
+ 37.795275590551185 /*seam allowance width (1.0 cm)*/);
// See file src/app/share/collection/bugs/Issue_#923.val
- QTest::newRow("Issue 923. Test 4.4") << InputPointsIssue923Test4_4()
- << 37.795275590551185 // seam allowance width (1.0 cm)
- << OutputPointsIssue923Test4_4();
+ ASSERT_TEST_CASE("Issue 923. Test 4.4",
+ QStringLiteral("://Issue_923_test4_4/input.json"),
+ QStringLiteral("://Issue_923_test4_4/output.json"),
+ 37.795275590551185 /*seam allowance width (1.0 cm)*/);
// See file src/app/share/collection/bugs/Issue_#923.val
- QTest::newRow("Issue 923. Test 5.5") << InputPointsIssue923Test5_5()
- << 37.795275590551185 // seam allowance width (1.0 cm)
- << OutputPointsIssue923Test5_5();
+ ASSERT_TEST_CASE("Issue 923. Test 5.5",
+ QStringLiteral("://Issue_923_test5_5/input.json"),
+ QStringLiteral("://Issue_923_test5_5/output.json"),
+ 37.795275590551185 /*seam allowance width (1.0 cm)*/);
// See file src/app/share/collection/bugs/Issue_#923.val
- QTest::newRow("Issue 923. Test 6.6") << InputPointsIssue923Test6_6()
- << 37.795275590551185 // seam allowance width (1.0 cm)
- << OutputPointsIssue923Test6_6();
+ ASSERT_TEST_CASE("Issue 923. Test 6.6",
+ QStringLiteral("://Issue_923_test6_6/input.json"),
+ QStringLiteral("://Issue_923_test6_6/output.json"),
+ 37.795275590551185 /*seam allowance width (1.0 cm)*/);
// See file src/app/share/collection/bugs/loop_by_intersection.val
ASSERT_TEST_CASE("Loop for angle by intersection",
@@ -223,4194 +246,6 @@ void TST_VAbstractPiece::EquidistantRemoveLoop() const
Comparison(ekv, ekvOrig);
}
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsSeamTest1PieceByAngle() const
-{
- QVector points;
-
- VSAPoint p = VSAPoint(30.0, 894.8030236220472);
- p.SetSABefore(75.59055118110237);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(30.0, 39.999874015748034);
- p.SetSABefore(0.0);
- points.append(p);
-
- p = VSAPoint(30.0, 39.999874015748034);
- p.SetSABefore(0.0);
- points.append(p);
-
- points.append(VSAPoint(47.53637144700478, 39.80977598775412));
- points.append(VSAPoint(85.4092492068762, 37.36146293134895));
- points.append(VSAPoint(125.57923134501877, 32.13056337758208));
- points.append(VSAPoint(156.5108311435474, 26.074993549693005));
- points.append(VSAPoint(177.21129897469388, 21.059222548891512));
- points.append(VSAPoint(197.8216319874312, 15.159776113211533));
- points.append(VSAPoint(218.19418331220902, 8.334870062533497));
- points.append(VSAPoint(238.18130607947683, 0.5427202167378373));
- points.append(VSAPoint(257.6353534196842, -8.258457604295018));
- points.append(VSAPoint(276.4086784632808, -18.110447580684635));
- points.append(VSAPoint(294.3536343407161, -29.055033892550586));
- points.append(VSAPoint(311.32257418243984, -41.13400072001244));
- points.append(VSAPoint(327.16785111890135, -54.389132243189756));
-
- p = VSAPoint(334.5669291338582, -61.522435695538036);
- p.SetSAAfter(0.3779527559055119);
- points.append(p);
-
- p = VSAPoint(334.5669291338582, -61.522435695538036);
- p.SetSAAfter(0.3779527559055119);
- points.append(p);
-
- p = VSAPoint(519.4465667350105, -36.01405338211433);
- p.SetSABefore(0.3779527559055119);
- points.append(p);
-
- points.append(VSAPoint(460.3937007874016, 342.36207874015753));
-
- p = VSAPoint(620.5290071875436, -5.506318761785565);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(944.294593326342, 136.63905516701556);
- p.SetSABefore(0.0);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(944.294593326342, 136.63905516701556);
- p.SetSABefore(0.0);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(930.9115139455133, 164.2021651072791);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(907.1077633892038, 216.20756088951924);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(886.6420235246574, 264.5706340127217);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(869.2733175133691, 309.4054580978941);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(854.760668516834, 350.82610676604384);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(842.8630996965472, 388.9466536381784);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(833.3396342140039, 423.88117233530534);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(825.9492952306991, 455.74373647843197);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(820.451105908128, 484.6484196885659);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(816.6040894077855, 510.7092955867147);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(814.1672688911669, 534.0404377938855);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(812.8996675197673, 554.7559199310863);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(812.5925673946043, 581.4656260538284);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(814.1809574610598, 608.5715133604979);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(815.1968503937007, 618.5825511811024);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(816.3634787672067, 628.380932746632);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(820.4053369940075, 649.1688436779486);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(826.5040284899703, 671.0654086429722);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(834.6667882477791, 693.7142683899226);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(844.9008512601183, 716.7590636670197);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(857.2134525196718, 739.8434352224829);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(871.6118270191237, 762.6110238045324);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(888.1032097511581, 784.7054701613878);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(906.6948357084594, 805.7704150412691);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(927.3939398837115, 825.4494991923958);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(950.2077572695983, 843.3863633629879);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(968.776733605274, 855.4073744953336);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(981.7764600118351, 862.7350547966848);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(995.3089344044396, 869.4267280237759);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1009.3750611571733, 875.4378492701345);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1023.9757446441214, 880.7238736292878);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1039.1118892393697, 885.2402561947638);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1054.784399317004, 888.9424520600894);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1070.994179251109, 891.7859163187926);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1087.7421334157707, 893.7261040644007);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1105.0291661850742, 894.7184703904409);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1113.8976377952758, 894.8030236220472);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(1113.8976377952758, 894.8030236220472);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(0.0);
- points.append(p);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsSeamTest1PieceByAngle() const
-{
- QVector points;
-
- points += QPointF(30.000000000000000, 970.393574803149590);
- points += QPointF(30.000000000000000, 2.202377824282394);
- points += QPointF(46.111397855976776, 2.027726815668483);
- points += QPointF(81.746054423686445, -0.275895198174861);
- points += QPointF(119.502088280527815, -5.192452541281906);
- points += QPointF(148.425957227782732, -10.854963023883784);
- points += QPointF(167.556696145037904, -15.490385095876569);
- points += QPointF(186.612816424205562, -20.944957847774820);
- points += QPointF(205.319505657476242, -27.211791809853210);
- points += QPointF(223.517364434872150, -34.306381867523655);
- points += QPointF(241.050346988465208, -42.238453507357690);
- points += QPointF(257.767987517066160, -51.011647735560771);
- points += QPointF(273.528559017665714, -60.623983162339158);
- points += QPointF(284.944912181261145, -68.750463215889098);
- points += QPointF(556.951317720606994, -31.220946854728947);
- points += QPointF(539.610114105118896, 79.891315777781244);
- points += QPointF(585.916731584533181, -20.702420721823501);
- points += QPointF(1117.455910115990264, 212.663441880296688);
- points += QPointF(1101.848204047899571, 244.808279852815701);
- points += QPointF(1080.077560308018974, 292.371832556342895);
- points += QPointF(1061.808902544771854, 335.542929087147968);
- points += QPointF(1046.601368935565233, 374.798996504892784);
- points += QPointF(1034.184360344932202, 410.238463859529304);
- points += QPointF(1024.281900134065609, 441.966559264544458);
- points += QPointF(1016.612810319859591, 470.098751479176428);
- points += QPointF(1010.891548127258943, 494.765290321737893);
- points += QPointF(1006.830040664839203, 516.117153575137309);
- points += QPointF(1004.140951447516727, 534.333873042145569);
- points += QPointF(1002.542920964105861, 549.634087483703752);
- points += QPointF(1001.809643735979421, 561.617500931810469);
- points += QPointF(1001.632561636561945, 577.019027819914413);
- points += QPointF(1002.598207939668328, 593.497788561921766);
- points += QPointF(1003.041928141414928, 597.870394747796013);
- points += QPointF(1003.192654042237791, 599.136324774537911);
- points += QPointF(1004.471571421798103, 605.713997489163717);
- points += QPointF(1006.667223943402178, 613.597204585595591);
- points += QPointF(1010.141105239932244, 623.236034172292193);
- points += QPointF(1014.847498004049271, 633.833766237447549);
- points += QPointF(1020.666012128351554, 644.742650486572870);
- points += QPointF(1027.424304689066503, 655.429275184752441);
- points += QPointF(1034.913026324476050, 665.462342826411145);
- points += QPointF(1042.902926906874882, 674.515172081394439);
- points += QPointF(1051.171411576988021, 682.376198541660301);
- points += QPointF(1060.187810189582478, 689.465144441703842);
- points += QPointF(1066.614334108267713, 693.625487703081035);
- points += QPointF(1070.121252449300300, 695.602265955357211);
- points += QPointF(1074.383015113466399, 697.709664964041394);
- points += QPointF(1078.726580541966541, 699.565875909043029);
- points += QPointF(1083.206554246492033, 701.187803413440861);
- points += QPointF(1087.891993301368984, 702.585863211688206);
- points += QPointF(1092.864668865585145, 703.760519908174842);
- points += QPointF(1098.216223912539590, 704.699271425243978);
- points += QPointF(1104.044420848225172, 705.374446205546178);
- points += QPointF(1111.348801411629438, 705.793755950627201);
- points += QPointF(1290.270553665008265, 707.499620616224888);
- points += QPointF(1302.416131870576919, 881.655825604373376);
- points += QPointF(30.000000000000000, 970.393574803149590);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsSeamTest1PieceByIntersection() const
-{
- QVector points;
-
- VSAPoint p = VSAPoint(30.0, 894.8030236220472);
- p.SetSABefore(75.59055118110237);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(30.0, 39.999874015748034);
- p.SetSABefore(0.0);
- points.append(p);
-
- p = VSAPoint(30.0, 39.999874015748034);
- p.SetSABefore(0.0);
- points.append(p);
-
- points.append(VSAPoint(47.53637144700478, 39.80977598775412));
- points.append(VSAPoint(85.4092492068762, 37.36146293134895));
- points.append(VSAPoint(125.57923134501877, 32.13056337758208));
- points.append(VSAPoint(156.5108311435474, 26.074993549693005));
- points.append(VSAPoint(177.21129897469388, 21.059222548891512));
- points.append(VSAPoint(197.8216319874312, 15.159776113211533));
- points.append(VSAPoint(218.19418331220902, 8.334870062533497));
- points.append(VSAPoint(238.18130607947683, 0.5427202167378373));
- points.append(VSAPoint(257.6353534196842, -8.258457604295018));
- points.append(VSAPoint(276.4086784632808, -18.110447580684635));
- points.append(VSAPoint(294.3536343407161, -29.055033892550586));
- points.append(VSAPoint(311.32257418243984, -41.13400072001244));
- points.append(VSAPoint(327.16785111890135, -54.389132243189756));
-
- p = VSAPoint(334.5669291338582, -61.522435695538036);
- p.SetSAAfter(0.3779527559055119);
- p.SetAngleType(PieceNodeAngle::ByPointsIntersection);
- points.append(p);
-
- p = VSAPoint(334.5669291338582, -61.522435695538036);
- p.SetSAAfter(0.3779527559055119);
- p.SetAngleType(PieceNodeAngle::ByPointsIntersection);
- points.append(p);
-
- p = VSAPoint(519.4465667350105, -36.01405338211433);
- p.SetSABefore(0.3779527559055119);
- points.append(p);
-
- points.append(VSAPoint(460.3937007874016, 342.36207874015753));
-
- p = VSAPoint(620.5290071875436, -5.506318761785565);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(944.294593326342, 136.63905516701556);
- p.SetSABefore(0.0);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(944.294593326342, 136.63905516701556);
- p.SetSABefore(0.0);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(930.9115139455133, 164.2021651072791);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(907.1077633892038, 216.20756088951924);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(886.6420235246574, 264.5706340127217);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(869.2733175133691, 309.4054580978941);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(854.760668516834, 350.82610676604384);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(842.8630996965472, 388.9466536381784);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(833.3396342140039, 423.88117233530534);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(825.9492952306991, 455.74373647843197);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(820.451105908128, 484.6484196885659);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(816.6040894077855, 510.7092955867147);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(814.1672688911669, 534.0404377938855);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(812.8996675197673, 554.7559199310863);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(812.5925673946043, 581.4656260538284);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(814.1809574610598, 608.5715133604979);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(815.1968503937007, 618.5825511811024);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(816.3634787672067, 628.380932746632);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(820.4053369940075, 649.1688436779486);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(826.5040284899703, 671.0654086429722);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(834.6667882477791, 693.7142683899226);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(844.9008512601183, 716.7590636670197);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(857.2134525196718, 739.8434352224829);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(871.6118270191237, 762.6110238045324);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(888.1032097511581, 784.7054701613878);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(906.6948357084594, 805.7704150412691);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(927.3939398837115, 825.4494991923958);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(950.2077572695983, 843.3863633629879);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(968.776733605274, 855.4073744953336);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(981.7764600118351, 862.7350547966848);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(995.3089344044396, 869.4267280237759);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1009.3750611571733, 875.4378492701345);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1023.9757446441214, 880.7238736292878);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1039.1118892393697, 885.2402561947638);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1054.784399317004, 888.9424520600894);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1070.994179251109, 891.7859163187926);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1087.7421334157707, 893.7261040644007);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1105.0291661850742, 894.7184703904409);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1113.8976377952758, 894.8030236220472);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(1113.8976377952758, 894.8030236220472);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(0.0);
- points.append(p);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsSeamTest1PieceByIntersection() const
-{
- QVector points;
-
- points += QPointF(30.000000000000000, 970.393574803149590);
- points += QPointF(30.000000000000000, 2.202377824282394);
- points += QPointF(46.111397855976776, 2.027726815668483);
- points += QPointF(81.746054423686445, -0.275895198174861);
- points += QPointF(119.502088280527815, -5.192452541281906);
- points += QPointF(148.425957227782732, -10.854963023883784);
- points += QPointF(167.556696145037904, -15.490385095876569);
- points += QPointF(186.612816424205562, -20.944957847774820);
- points += QPointF(205.319505657476242, -27.211791809853210);
- points += QPointF(223.517364434872150, -34.306381867523655);
- points += QPointF(241.050346988465208, -42.238453507357690);
- points += QPointF(257.767987517066160, -51.011647735560771);
- points += QPointF(273.528559017665714, -60.623983162339158);
- points += QPointF(284.495944387625912, -68.430875360872705);
- points += QPointF(334.913131416867543, -61.856202407499914);
- points += QPointF(556.951317720606994, -31.220946854728947);
- points += QPointF(539.610114105118896, 79.891315777781244);
- points += QPointF(585.916731584533181, -20.702420721823501);
- points += QPointF(1117.455910115990264, 212.663441880296688);
- points += QPointF(1101.848204047899571, 244.808279852815701);
- points += QPointF(1080.077560308018974, 292.371832556342895);
- points += QPointF(1061.808902544771854, 335.542929087147968);
- points += QPointF(1046.601368935565233, 374.798996504892784);
- points += QPointF(1034.184360344932202, 410.238463859529304);
- points += QPointF(1024.281900134065609, 441.966559264544458);
- points += QPointF(1016.612810319859591, 470.098751479176428);
- points += QPointF(1010.891548127258943, 494.765290321737893);
- points += QPointF(1006.830040664839203, 516.117153575137309);
- points += QPointF(1004.140951447516727, 534.333873042145569);
- points += QPointF(1002.542920964105861, 549.634087483703752);
- points += QPointF(1001.809643735979421, 561.617500931810469);
- points += QPointF(1001.632561636561945, 577.019027819914413);
- points += QPointF(1002.598207939668328, 593.497788561921766);
- points += QPointF(1003.041928141414928, 597.870394747796013);
- points += QPointF(1003.192654042237791, 599.136324774537911);
- points += QPointF(1004.471571421798103, 605.713997489163717);
- points += QPointF(1006.667223943402178, 613.597204585595591);
- points += QPointF(1010.141105239932244, 623.236034172292193);
- points += QPointF(1014.847498004049271, 633.833766237447549);
- points += QPointF(1020.666012128351554, 644.742650486572870);
- points += QPointF(1027.424304689066503, 655.429275184752441);
- points += QPointF(1034.913026324476050, 665.462342826411145);
- points += QPointF(1042.902926906874882, 674.515172081394439);
- points += QPointF(1051.171411576988021, 682.376198541660301);
- points += QPointF(1060.187810189582478, 689.465144441703842);
- points += QPointF(1066.614334108267713, 693.625487703081035);
- points += QPointF(1070.121252449300300, 695.602265955357211);
- points += QPointF(1074.383015113466399, 697.709664964041394);
- points += QPointF(1078.726580541966541, 699.565875909043029);
- points += QPointF(1083.206554246492033, 701.187803413440861);
- points += QPointF(1087.891993301368984, 702.585863211688206);
- points += QPointF(1092.864668865585145, 703.760519908174842);
- points += QPointF(1098.216223912539590, 704.699271425243978);
- points += QPointF(1104.044420848225172, 705.374446205546178);
- points += QPointF(1111.348801411629438, 705.793755950627201);
- points += QPointF(1290.270553665008265, 707.499620616224888);
- points += QPointF(1302.416131870576919, 881.655825604373376);
- points += QPointF(30.000000000000000, 970.393574803149590);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsSeamTest1PieceByFirstEdgeSymmerty() const
-{
- QVector points;
-
- VSAPoint p = VSAPoint(30.0, 894.8030236220472);
- p.SetSABefore(75.59055118110237);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(30.0, 39.999874015748034);
- p.SetSABefore(0.0);
- points.append(p);
-
- p = VSAPoint(30.0, 39.999874015748034);
- p.SetSABefore(0.0);
- points.append(p);
-
- points.append(VSAPoint(47.53637144700478, 39.80977598775412));
- points.append(VSAPoint(85.4092492068762, 37.36146293134895));
- points.append(VSAPoint(125.57923134501877, 32.13056337758208));
- points.append(VSAPoint(156.5108311435474, 26.074993549693005));
- points.append(VSAPoint(177.21129897469388, 21.059222548891512));
- points.append(VSAPoint(197.8216319874312, 15.159776113211533));
- points.append(VSAPoint(218.19418331220902, 8.334870062533497));
- points.append(VSAPoint(238.18130607947683, 0.5427202167378373));
- points.append(VSAPoint(257.6353534196842, -8.258457604295018));
- points.append(VSAPoint(276.4086784632808, -18.110447580684635));
- points.append(VSAPoint(294.3536343407161, -29.055033892550586));
- points.append(VSAPoint(311.32257418243984, -41.13400072001244));
- points.append(VSAPoint(327.16785111890135, -54.389132243189756));
-
- p = VSAPoint(334.5669291338582, -61.522435695538036);
- p.SetSAAfter(0.3779527559055119);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeSymmetry);
- points.append(p);
-
- p = VSAPoint(334.5669291338582, -61.522435695538036);
- p.SetSAAfter(0.3779527559055119);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeSymmetry);
- points.append(p);
-
- p = VSAPoint(519.4465667350105, -36.01405338211433);
- p.SetSABefore(0.3779527559055119);
- points.append(p);
-
- points.append(VSAPoint(460.3937007874016, 342.36207874015753));
-
- p = VSAPoint(620.5290071875436, -5.506318761785565);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(944.294593326342, 136.63905516701556);
- p.SetSABefore(0.0);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(944.294593326342, 136.63905516701556);
- p.SetSABefore(0.0);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(930.9115139455133, 164.2021651072791);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(907.1077633892038, 216.20756088951924);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(886.6420235246574, 264.5706340127217);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(869.2733175133691, 309.4054580978941);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(854.760668516834, 350.82610676604384);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(842.8630996965472, 388.9466536381784);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(833.3396342140039, 423.88117233530534);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(825.9492952306991, 455.74373647843197);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(820.451105908128, 484.6484196885659);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(816.6040894077855, 510.7092955867147);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(814.1672688911669, 534.0404377938855);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(812.8996675197673, 554.7559199310863);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(812.5925673946043, 581.4656260538284);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(814.1809574610598, 608.5715133604979);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(815.1968503937007, 618.5825511811024);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(816.3634787672067, 628.380932746632);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(820.4053369940075, 649.1688436779486);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(826.5040284899703, 671.0654086429722);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(834.6667882477791, 693.7142683899226);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(844.9008512601183, 716.7590636670197);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(857.2134525196718, 739.8434352224829);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(871.6118270191237, 762.6110238045324);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(888.1032097511581, 784.7054701613878);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(906.6948357084594, 805.7704150412691);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(927.3939398837115, 825.4494991923958);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(950.2077572695983, 843.3863633629879);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(968.776733605274, 855.4073744953336);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(981.7764600118351, 862.7350547966848);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(995.3089344044396, 869.4267280237759);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1009.3750611571733, 875.4378492701345);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1023.9757446441214, 880.7238736292878);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1039.1118892393697, 885.2402561947638);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1054.784399317004, 888.9424520600894);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1070.994179251109, 891.7859163187926);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1087.7421334157707, 893.7261040644007);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1105.0291661850742, 894.7184703904409);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1113.8976377952758, 894.8030236220472);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(1113.8976377952758, 894.8030236220472);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(0.0);
- points.append(p);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsSeamTest1PieceByFirstEdgeSymmerty() const
-{
- QVector points;
-
- points += QPointF(30.000000000000000, 970.393574803149590);
- points += QPointF(30.000000000000000, 2.202377824282394);
- points += QPointF(46.111397855976776, 2.027726815668483);
- points += QPointF(81.746054423686445, -0.275895198174861);
- points += QPointF(119.502088280527815, -5.192452541281906);
- points += QPointF(148.425957227782732, -10.854963023883784);
- points += QPointF(167.556696145037904, -15.490385095876569);
- points += QPointF(186.612816424205562, -20.944957847774820);
- points += QPointF(205.319505657476242, -27.211791809853210);
- points += QPointF(223.517364434872150, -34.306381867523655);
- points += QPointF(241.050346988465208, -42.238453507357690);
- points += QPointF(257.767987517066160, -51.011647735560771);
- points += QPointF(273.528559017665714, -60.623983162339158);
- points += QPointF(288.203122586733002, -71.069748673417564);
- points += QPointF(301.895059431859636, -82.523535465339663);
- points += QPointF(330.086658189795969, -109.702493213952863);
- points += QPointF(334.913131416867600, -61.856202407499907);
- points += QPointF(556.951317720606994, -31.220946854728947);
- points += QPointF(539.610114105118896, 79.891315777781244);
- points += QPointF(585.916731584533181, -20.702420721823501);
- points += QPointF(1117.455910115990264, 212.663441880296688);
- points += QPointF(1101.848204047899571, 244.808279852815701);
- points += QPointF(1080.077560308018974, 292.371832556342895);
- points += QPointF(1061.808902544771854, 335.542929087147968);
- points += QPointF(1046.601368935565233, 374.798996504892784);
- points += QPointF(1034.184360344932202, 410.238463859529304);
- points += QPointF(1024.281900134065609, 441.966559264544458);
- points += QPointF(1016.612810319859591, 470.098751479176428);
- points += QPointF(1010.891548127258943, 494.765290321737893);
- points += QPointF(1006.830040664839203, 516.117153575137309);
- points += QPointF(1004.140951447516727, 534.333873042145569);
- points += QPointF(1002.542920964105861, 549.634087483703752);
- points += QPointF(1001.809643735979421, 561.617500931810469);
- points += QPointF(1001.632561636561945, 577.019027819914413);
- points += QPointF(1002.598207939668328, 593.497788561921766);
- points += QPointF(1003.041928141414928, 597.870394747796013);
- points += QPointF(1003.192654042237791, 599.136324774537911);
- points += QPointF(1004.471571421798103, 605.713997489163717);
- points += QPointF(1006.667223943402178, 613.597204585595591);
- points += QPointF(1010.141105239932244, 623.236034172292193);
- points += QPointF(1014.847498004049271, 633.833766237447549);
- points += QPointF(1020.666012128351554, 644.742650486572870);
- points += QPointF(1027.424304689066503, 655.429275184752441);
- points += QPointF(1034.913026324476050, 665.462342826411145);
- points += QPointF(1042.902926906874882, 674.515172081394439);
- points += QPointF(1051.171411576988021, 682.376198541660301);
- points += QPointF(1060.187810189582478, 689.465144441703842);
- points += QPointF(1066.614334108267713, 693.625487703081035);
- points += QPointF(1070.121252449300300, 695.602265955357211);
- points += QPointF(1074.383015113466399, 697.709664964041394);
- points += QPointF(1078.726580541966541, 699.565875909043029);
- points += QPointF(1083.206554246492033, 701.187803413440861);
- points += QPointF(1087.891993301368984, 702.585863211688206);
- points += QPointF(1092.864668865585145, 703.760519908174842);
- points += QPointF(1098.216223912539590, 704.699271425243978);
- points += QPointF(1104.044420848225172, 705.374446205546178);
- points += QPointF(1111.348801411629438, 705.793755950627201);
- points += QPointF(1290.270553665008265, 707.499620616224888);
- points += QPointF(1302.416131870576919, 881.655825604373376);
- points += QPointF(30.000000000000000, 970.393574803149590);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsSeamTest1PieceBySecondEdgeSymmerty() const
-{
- QVector points;
-
- VSAPoint p = VSAPoint(30.0, 894.8030236220472);
- p.SetSABefore(75.59055118110237);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(30.0, 39.999874015748034);
- p.SetSABefore(0.0);
- points.append(p);
-
- p = VSAPoint(30.0, 39.999874015748034);
- p.SetSABefore(0.0);
- points.append(p);
-
- points.append(VSAPoint(47.53637144700478, 39.80977598775412));
- points.append(VSAPoint(85.4092492068762, 37.36146293134895));
- points.append(VSAPoint(125.57923134501877, 32.13056337758208));
- points.append(VSAPoint(156.5108311435474, 26.074993549693005));
- points.append(VSAPoint(177.21129897469388, 21.059222548891512));
- points.append(VSAPoint(197.8216319874312, 15.159776113211533));
- points.append(VSAPoint(218.19418331220902, 8.334870062533497));
- points.append(VSAPoint(238.18130607947683, 0.5427202167378373));
- points.append(VSAPoint(257.6353534196842, -8.258457604295018));
- points.append(VSAPoint(276.4086784632808, -18.110447580684635));
- points.append(VSAPoint(294.3536343407161, -29.055033892550586));
- points.append(VSAPoint(311.32257418243984, -41.13400072001244));
- points.append(VSAPoint(327.16785111890135, -54.389132243189756));
-
- p = VSAPoint(334.5669291338582, -61.522435695538036);
- p.SetSAAfter(0.3779527559055119);
- p.SetAngleType(PieceNodeAngle::BySecondEdgeSymmetry);
- points.append(p);
-
- p = VSAPoint(334.5669291338582, -61.522435695538036);
- p.SetSAAfter(0.3779527559055119);
- p.SetAngleType(PieceNodeAngle::BySecondEdgeSymmetry);
- points.append(p);
-
- p = VSAPoint(519.4465667350105, -36.01405338211433);
- p.SetSABefore(0.3779527559055119);
- points.append(p);
-
- points.append(VSAPoint(460.3937007874016, 342.36207874015753));
-
- p = VSAPoint(620.5290071875436, -5.506318761785565);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(944.294593326342, 136.63905516701556);
- p.SetSABefore(0.0);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(944.294593326342, 136.63905516701556);
- p.SetSABefore(0.0);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(930.9115139455133, 164.2021651072791);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(907.1077633892038, 216.20756088951924);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(886.6420235246574, 264.5706340127217);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(869.2733175133691, 309.4054580978941);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(854.760668516834, 350.82610676604384);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(842.8630996965472, 388.9466536381784);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(833.3396342140039, 423.88117233530534);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(825.9492952306991, 455.74373647843197);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(820.451105908128, 484.6484196885659);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(816.6040894077855, 510.7092955867147);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(814.1672688911669, 534.0404377938855);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(812.8996675197673, 554.7559199310863);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(812.5925673946043, 581.4656260538284);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(814.1809574610598, 608.5715133604979);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(815.1968503937007, 618.5825511811024);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(816.3634787672067, 628.380932746632);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(820.4053369940075, 649.1688436779486);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(826.5040284899703, 671.0654086429722);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(834.6667882477791, 693.7142683899226);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(844.9008512601183, 716.7590636670197);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(857.2134525196718, 739.8434352224829);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(871.6118270191237, 762.6110238045324);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(888.1032097511581, 784.7054701613878);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(906.6948357084594, 805.7704150412691);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(927.3939398837115, 825.4494991923958);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(950.2077572695983, 843.3863633629879);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(968.776733605274, 855.4073744953336);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(981.7764600118351, 862.7350547966848);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(995.3089344044396, 869.4267280237759);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1009.3750611571733, 875.4378492701345);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1023.9757446441214, 880.7238736292878);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1039.1118892393697, 885.2402561947638);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1054.784399317004, 888.9424520600894);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1070.994179251109, 891.7859163187926);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1087.7421334157707, 893.7261040644007);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1105.0291661850742, 894.7184703904409);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1113.8976377952758, 894.8030236220472);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(1113.8976377952758, 894.8030236220472);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(0.0);
- points.append(p);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsSeamTest1PieceBySecondEdgeSymmerty() const
-{
- QVector points;
-
- points += QPointF(30.000000000000000, 970.393574803149590);
- points += QPointF(30.000000000000000, 2.202377824282394);
- points += QPointF(46.111397855976776, 2.027726815668483);
- points += QPointF(81.746054423686445, -0.275895198174861);
- points += QPointF(119.502088280527815, -5.192452541281906);
- points += QPointF(148.425957227782732, -10.854963023883784);
- points += QPointF(167.556696145037904, -15.490385095876569);
- points += QPointF(186.612816424205562, -20.944957847774820);
- points += QPointF(205.319505657476242, -27.211791809853210);
- points += QPointF(223.517364434872150, -34.306381867523655);
- points += QPointF(241.050346988465208, -42.238453507357690);
- points += QPointF(257.767987517066160, -51.011647735560771);
- points += QPointF(273.528559017665714, -60.623983162339158);
- points += QPointF(286.074909490746791, -69.554826961869111);
- points += QPointF(556.951317720606994, -31.220946854728947);
- points += QPointF(539.610114105118896, 79.891315777781244);
- points += QPointF(585.916731584533181, -20.702420721823501);
- points += QPointF(1117.455910115990264, 212.663441880296688);
- points += QPointF(1101.848204047899571, 244.808279852815701);
- points += QPointF(1080.077560308018974, 292.371832556342895);
- points += QPointF(1061.808902544771854, 335.542929087147968);
- points += QPointF(1046.601368935565233, 374.798996504892784);
- points += QPointF(1034.184360344932202, 410.238463859529304);
- points += QPointF(1024.281900134065609, 441.966559264544458);
- points += QPointF(1016.612810319859591, 470.098751479176428);
- points += QPointF(1010.891548127258943, 494.765290321737893);
- points += QPointF(1006.830040664839203, 516.117153575137309);
- points += QPointF(1004.140951447516727, 534.333873042145569);
- points += QPointF(1002.542920964105861, 549.634087483703752);
- points += QPointF(1001.809643735979421, 561.617500931810469);
- points += QPointF(1001.632561636561945, 577.019027819914413);
- points += QPointF(1002.598207939668328, 593.497788561921766);
- points += QPointF(1003.041928141414928, 597.870394747796013);
- points += QPointF(1003.192654042237791, 599.136324774537911);
- points += QPointF(1004.471571421798103, 605.713997489163717);
- points += QPointF(1006.667223943402178, 613.597204585595591);
- points += QPointF(1010.141105239932244, 623.236034172292193);
- points += QPointF(1014.847498004049271, 633.833766237447549);
- points += QPointF(1020.666012128351554, 644.742650486572870);
- points += QPointF(1027.424304689066503, 655.429275184752441);
- points += QPointF(1034.913026324476050, 665.462342826411145);
- points += QPointF(1042.902926906874882, 674.515172081394439);
- points += QPointF(1051.171411576988021, 682.376198541660301);
- points += QPointF(1060.187810189582478, 689.465144441703842);
- points += QPointF(1066.614334108267713, 693.625487703081035);
- points += QPointF(1070.121252449300300, 695.602265955357211);
- points += QPointF(1074.383015113466399, 697.709664964041394);
- points += QPointF(1078.726580541966541, 699.565875909043029);
- points += QPointF(1083.206554246492033, 701.187803413440861);
- points += QPointF(1087.891993301368984, 702.585863211688206);
- points += QPointF(1092.864668865585145, 703.760519908174842);
- points += QPointF(1098.216223912539590, 704.699271425243978);
- points += QPointF(1104.044420848225172, 705.374446205546178);
- points += QPointF(1111.348801411629438, 705.793755950627201);
- points += QPointF(1290.270553665008265, 707.499620616224888);
- points += QPointF(1302.416131870576919, 881.655825604373376);
- points += QPointF(30.000000000000000, 970.393574803149590);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsSeamTest1PieceByFirstRightAngle() const
-{
- QVector points;
-
- VSAPoint p = VSAPoint(30.0, 894.8030236220472);
- p.SetSABefore(75.59055118110237);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(30.0, 39.999874015748034);
- p.SetSABefore(0.0);
- points.append(p);
-
- p = VSAPoint(30.0, 39.999874015748034);
- p.SetSABefore(0.0);
- points.append(p);
-
- points.append(VSAPoint(47.53637144700478, 39.80977598775412));
- points.append(VSAPoint(85.4092492068762, 37.36146293134895));
- points.append(VSAPoint(125.57923134501877, 32.13056337758208));
- points.append(VSAPoint(156.5108311435474, 26.074993549693005));
- points.append(VSAPoint(177.21129897469388, 21.059222548891512));
- points.append(VSAPoint(197.8216319874312, 15.159776113211533));
- points.append(VSAPoint(218.19418331220902, 8.334870062533497));
- points.append(VSAPoint(238.18130607947683, 0.5427202167378373));
- points.append(VSAPoint(257.6353534196842, -8.258457604295018));
- points.append(VSAPoint(276.4086784632808, -18.110447580684635));
- points.append(VSAPoint(294.3536343407161, -29.055033892550586));
- points.append(VSAPoint(311.32257418243984, -41.13400072001244));
- points.append(VSAPoint(327.16785111890135, -54.389132243189756));
-
- p = VSAPoint(334.5669291338582, -61.522435695538036);
- p.SetSAAfter(0.3779527559055119);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeRightAngle);
- points.append(p);
-
- p = VSAPoint(334.5669291338582, -61.522435695538036);
- p.SetSAAfter(0.3779527559055119);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeRightAngle);
- points.append(p);
-
- p = VSAPoint(519.4465667350105, -36.01405338211433);
- p.SetSABefore(0.3779527559055119);
- points.append(p);
-
- points.append(VSAPoint(460.3937007874016, 342.36207874015753));
-
- p = VSAPoint(620.5290071875436, -5.506318761785565);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(944.294593326342, 136.63905516701556);
- p.SetSABefore(0.0);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(944.294593326342, 136.63905516701556);
- p.SetSABefore(0.0);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(930.9115139455133, 164.2021651072791);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(907.1077633892038, 216.20756088951924);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(886.6420235246574, 264.5706340127217);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(869.2733175133691, 309.4054580978941);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(854.760668516834, 350.82610676604384);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(842.8630996965472, 388.9466536381784);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(833.3396342140039, 423.88117233530534);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(825.9492952306991, 455.74373647843197);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(820.451105908128, 484.6484196885659);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(816.6040894077855, 510.7092955867147);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(814.1672688911669, 534.0404377938855);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(812.8996675197673, 554.7559199310863);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(812.5925673946043, 581.4656260538284);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(814.1809574610598, 608.5715133604979);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(815.1968503937007, 618.5825511811024);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(816.3634787672067, 628.380932746632);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(820.4053369940075, 649.1688436779486);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(826.5040284899703, 671.0654086429722);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(834.6667882477791, 693.7142683899226);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(844.9008512601183, 716.7590636670197);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(857.2134525196718, 739.8434352224829);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(871.6118270191237, 762.6110238045324);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(888.1032097511581, 784.7054701613878);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(906.6948357084594, 805.7704150412691);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(927.3939398837115, 825.4494991923958);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(950.2077572695983, 843.3863633629879);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(968.776733605274, 855.4073744953336);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(981.7764600118351, 862.7350547966848);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(995.3089344044396, 869.4267280237759);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1009.3750611571733, 875.4378492701345);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1023.9757446441214, 880.7238736292878);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1039.1118892393697, 885.2402561947638);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1054.784399317004, 888.9424520600894);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1070.994179251109, 891.7859163187926);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1087.7421334157707, 893.7261040644007);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1105.0291661850742, 894.7184703904409);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1113.8976377952758, 894.8030236220472);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(1113.8976377952758, 894.8030236220472);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(0.0);
- points.append(p);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsSeamTest1PieceByFirstRightAngle() const
-{
- QVector points;
-
- points += QPointF(30.000000000000000, 970.393574803149590);
- points += QPointF(30.000000000000000, 2.202377824282394);
- points += QPointF(46.111397855976776, 2.027726815668483);
- points += QPointF(81.746054423686445, -0.275895198174861);
- points += QPointF(119.502088280527815, -5.192452541281906);
- points += QPointF(148.425957227782732, -10.854963023883784);
- points += QPointF(167.556696145037904, -15.490385095876569);
- points += QPointF(186.612816424205562, -20.944957847774820);
- points += QPointF(205.319505657476242, -27.211791809853210);
- points += QPointF(223.517364434872150, -34.306381867523655);
- points += QPointF(241.050346988465208, -42.238453507357690);
- points += QPointF(257.767987517066160, -51.011647735560771);
- points += QPointF(273.528559017665714, -60.623983162339158);
- points += QPointF(288.203122586733002, -71.069748673417564);
- points += QPointF(301.895059431859636, -82.523535465339663);
- points += QPointF(308.680986198689595, -89.065712035901640);
- points += QPointF(334.913131416867543, -61.856202407499914);
- points += QPointF(556.951317720606994, -31.220946854728947);
- points += QPointF(539.610114105118896, 79.891315777781244);
- points += QPointF(585.916731584533181, -20.702420721823501);
- points += QPointF(1117.455910115990264, 212.663441880296688);
- points += QPointF(1101.848204047899571, 244.808279852815701);
- points += QPointF(1080.077560308018974, 292.371832556342895);
- points += QPointF(1061.808902544771854, 335.542929087147968);
- points += QPointF(1046.601368935565233, 374.798996504892784);
- points += QPointF(1034.184360344932202, 410.238463859529304);
- points += QPointF(1024.281900134065609, 441.966559264544458);
- points += QPointF(1016.612810319859591, 470.098751479176428);
- points += QPointF(1010.891548127258943, 494.765290321737893);
- points += QPointF(1006.830040664839203, 516.117153575137309);
- points += QPointF(1004.140951447516727, 534.333873042145569);
- points += QPointF(1002.542920964105861, 549.634087483703752);
- points += QPointF(1001.809643735979421, 561.617500931810469);
- points += QPointF(1001.632561636561945, 577.019027819914413);
- points += QPointF(1002.598207939668328, 593.497788561921766);
- points += QPointF(1003.041928141414928, 597.870394747796013);
- points += QPointF(1003.192654042237791, 599.136324774537911);
- points += QPointF(1004.471571421798103, 605.713997489163717);
- points += QPointF(1006.667223943402178, 613.597204585595591);
- points += QPointF(1010.141105239932244, 623.236034172292193);
- points += QPointF(1014.847498004049271, 633.833766237447549);
- points += QPointF(1020.666012128351554, 644.742650486572870);
- points += QPointF(1027.424304689066503, 655.429275184752441);
- points += QPointF(1034.913026324476050, 665.462342826411145);
- points += QPointF(1042.902926906874882, 674.515172081394439);
- points += QPointF(1051.171411576988021, 682.376198541660301);
- points += QPointF(1060.187810189582478, 689.465144441703842);
- points += QPointF(1066.614334108267713, 693.625487703081035);
- points += QPointF(1070.121252449300300, 695.602265955357211);
- points += QPointF(1074.383015113466399, 697.709664964041394);
- points += QPointF(1078.726580541966541, 699.565875909043029);
- points += QPointF(1083.206554246492033, 701.187803413440861);
- points += QPointF(1087.891993301368984, 702.585863211688206);
- points += QPointF(1092.864668865585145, 703.760519908174842);
- points += QPointF(1098.216223912539590, 704.699271425243978);
- points += QPointF(1104.044420848225172, 705.374446205546178);
- points += QPointF(1111.348801411629438, 705.793755950627201);
- points += QPointF(1290.270553665008265, 707.499620616224888);
- points += QPointF(1302.416131870576919, 881.655825604373376);
- points += QPointF(30.000000000000000, 970.393574803149590);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsSeamTest1PieceBySecondRightAngle() const
-{
- QVector points;
-
- VSAPoint p = VSAPoint(30.0, 894.8030236220472);
- p.SetSABefore(75.59055118110237);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(30.0, 39.999874015748034);
- p.SetSABefore(0.0);
- points.append(p);
-
- p = VSAPoint(30.0, 39.999874015748034);
- p.SetSABefore(0.0);
- points.append(p);
-
- points.append(VSAPoint(47.53637144700478, 39.80977598775412));
- points.append(VSAPoint(85.4092492068762, 37.36146293134895));
- points.append(VSAPoint(125.57923134501877, 32.13056337758208));
- points.append(VSAPoint(156.5108311435474, 26.074993549693005));
- points.append(VSAPoint(177.21129897469388, 21.059222548891512));
- points.append(VSAPoint(197.8216319874312, 15.159776113211533));
- points.append(VSAPoint(218.19418331220902, 8.334870062533497));
- points.append(VSAPoint(238.18130607947683, 0.5427202167378373));
- points.append(VSAPoint(257.6353534196842, -8.258457604295018));
- points.append(VSAPoint(276.4086784632808, -18.110447580684635));
- points.append(VSAPoint(294.3536343407161, -29.055033892550586));
- points.append(VSAPoint(311.32257418243984, -41.13400072001244));
- points.append(VSAPoint(327.16785111890135, -54.389132243189756));
-
- p = VSAPoint(334.5669291338582, -61.522435695538036);
- p.SetSAAfter(0.3779527559055119);
- p.SetAngleType(PieceNodeAngle::BySecondEdgeRightAngle);
- points.append(p);
-
- p = VSAPoint(334.5669291338582, -61.522435695538036);
- p.SetSAAfter(0.3779527559055119);
- p.SetAngleType(PieceNodeAngle::BySecondEdgeRightAngle);
- points.append(p);
-
- p = VSAPoint(519.4465667350105, -36.01405338211433);
- p.SetSABefore(0.3779527559055119);
- points.append(p);
-
- points.append(VSAPoint(460.3937007874016, 342.36207874015753));
-
- p = VSAPoint(620.5290071875436, -5.506318761785565);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(944.294593326342, 136.63905516701556);
- p.SetSABefore(0.0);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(944.294593326342, 136.63905516701556);
- p.SetSABefore(0.0);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(930.9115139455133, 164.2021651072791);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(907.1077633892038, 216.20756088951924);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(886.6420235246574, 264.5706340127217);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(869.2733175133691, 309.4054580978941);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(854.760668516834, 350.82610676604384);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(842.8630996965472, 388.9466536381784);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(833.3396342140039, 423.88117233530534);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(825.9492952306991, 455.74373647843197);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(820.451105908128, 484.6484196885659);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(816.6040894077855, 510.7092955867147);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(814.1672688911669, 534.0404377938855);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(812.8996675197673, 554.7559199310863);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(812.5925673946043, 581.4656260538284);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(814.1809574610598, 608.5715133604979);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(815.1968503937007, 618.5825511811024);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(816.3634787672067, 628.380932746632);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(820.4053369940075, 649.1688436779486);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(826.5040284899703, 671.0654086429722);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(834.6667882477791, 693.7142683899226);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(844.9008512601183, 716.7590636670197);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(857.2134525196718, 739.8434352224829);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(871.6118270191237, 762.6110238045324);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(888.1032097511581, 784.7054701613878);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(906.6948357084594, 805.7704150412691);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(927.3939398837115, 825.4494991923958);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(950.2077572695983, 843.3863633629879);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(968.776733605274, 855.4073744953336);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(981.7764600118351, 862.7350547966848);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(995.3089344044396, 869.4267280237759);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1009.3750611571733, 875.4378492701345);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1023.9757446441214, 880.7238736292878);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1039.1118892393697, 885.2402561947638);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1054.784399317004, 888.9424520600894);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1070.994179251109, 891.7859163187926);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1087.7421334157707, 893.7261040644007);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1105.0291661850742, 894.7184703904409);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(188.9763779527559);
- points.append(p);
-
- p = VSAPoint(1113.8976377952758, 894.8030236220472);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(1113.8976377952758, 894.8030236220472);
- p.SetSABefore(188.9763779527559);
- p.SetSAAfter(0.0);
- points.append(p);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsSeamTest1PieceBySecondRightAngle() const
-{
- QVector points;
-
- points += QPointF(30.000000000000000, 970.393574803149590);
- points += QPointF(30.000000000000000, 2.202377824282394);
- points += QPointF(46.111397855976776, 2.027726815668483);
- points += QPointF(81.746054423686445, -0.275895198174861);
- points += QPointF(119.502088280527815, -5.192452541281906);
- points += QPointF(148.425957227782732, -10.854963023883784);
- points += QPointF(167.556696145037904, -15.490385095876569);
- points += QPointF(186.612816424205562, -20.944957847774820);
- points += QPointF(205.319505657476242, -27.211791809853210);
- points += QPointF(223.517364434872150, -34.306381867523655);
- points += QPointF(241.050346988465208, -42.238453507357690);
- points += QPointF(257.767987517066160, -51.011647735560771);
- points += QPointF(273.528559017665714, -60.623983162339158);
- points += QPointF(284.495944387625912, -68.430875360872705);
- points += QPointF(556.951317720606994, -31.220946854728947);
- points += QPointF(539.610114105118896, 79.891315777781244);
- points += QPointF(585.916731584533181, -20.702420721823501);
- points += QPointF(1117.455910115990264, 212.663441880296688);
- points += QPointF(1101.848204047899571, 244.808279852815701);
- points += QPointF(1080.077560308018974, 292.371832556342895);
- points += QPointF(1061.808902544771854, 335.542929087147968);
- points += QPointF(1046.601368935565233, 374.798996504892784);
- points += QPointF(1034.184360344932202, 410.238463859529304);
- points += QPointF(1024.281900134065609, 441.966559264544458);
- points += QPointF(1016.612810319859591, 470.098751479176428);
- points += QPointF(1010.891548127258943, 494.765290321737893);
- points += QPointF(1006.830040664839203, 516.117153575137309);
- points += QPointF(1004.140951447516727, 534.333873042145569);
- points += QPointF(1002.542920964105861, 549.634087483703752);
- points += QPointF(1001.809643735979421, 561.617500931810469);
- points += QPointF(1001.632561636561945, 577.019027819914413);
- points += QPointF(1002.598207939668328, 593.497788561921766);
- points += QPointF(1003.041928141414928, 597.870394747796013);
- points += QPointF(1003.192654042237791, 599.136324774537911);
- points += QPointF(1004.471571421798103, 605.713997489163717);
- points += QPointF(1006.667223943402178, 613.597204585595591);
- points += QPointF(1010.141105239932244, 623.236034172292193);
- points += QPointF(1014.847498004049271, 633.833766237447549);
- points += QPointF(1020.666012128351554, 644.742650486572870);
- points += QPointF(1027.424304689066503, 655.429275184752441);
- points += QPointF(1034.913026324476050, 665.462342826411145);
- points += QPointF(1042.902926906874882, 674.515172081394439);
- points += QPointF(1051.171411576988021, 682.376198541660301);
- points += QPointF(1060.187810189582478, 689.465144441703842);
- points += QPointF(1066.614334108267713, 693.625487703081035);
- points += QPointF(1070.121252449300300, 695.602265955357211);
- points += QPointF(1074.383015113466399, 697.709664964041394);
- points += QPointF(1078.726580541966541, 699.565875909043029);
- points += QPointF(1083.206554246492033, 701.187803413440861);
- points += QPointF(1087.891993301368984, 702.585863211688206);
- points += QPointF(1092.864668865585145, 703.760519908174842);
- points += QPointF(1098.216223912539590, 704.699271425243978);
- points += QPointF(1104.044420848225172, 705.374446205546178);
- points += QPointF(1111.348801411629438, 705.793755950627201);
- points += QPointF(1290.270553665008265, 707.499620616224888);
- points += QPointF(1302.416131870576919, 881.655825604373376);
- points += QPointF(30.000000000000000, 970.393574803149590);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsCase2() const
-{
-
- QVector points;
-
-// VSAPoint p = VSAPoint(927.3939398837115, 825.4494991923958);
-// p.SetSABefore(188.9763779527559);
-// p.SetSAAfter(188.9763779527559);
-// points.append(p);
-
- points.append(VSAPoint(30.0, 39.999874015748034));
- points.append(VSAPoint(407.9527559055118, 39.999874015748034));
- points.append(VSAPoint(407.9527559055118, 228.97625196850396));
- points.append(VSAPoint(407.9527559055118, 228.97625196850396));
-
- VSAPoint p = VSAPoint(403.3769166670402, 231.4465511704684);
- p.SetSABefore(37.80317793023137);
- p.SetSAAfter(37.80317793023137);
- points.append(p);
-
- p = VSAPoint(394.1607984354165, 235.58132461572228);
- p.SetSABefore(37.8185282558241);
- p.SetSAAfter(37.8185282558241);
- points.append(p);
-
- p = VSAPoint(384.8923171505302, 238.7905285112787);
- p.SetSABefore(37.83343362828719);
- p.SetSAAfter(37.83343362828719);
- points.append(p);
-
- p = VSAPoint(375.59921131499664, 241.12018552459608);
- p.SetSABefore(37.84799299430957);
- p.SetSAAfter(37.84799299430957);
- points.append(p);
-
- p = VSAPoint(366.3092194314313, 242.61631832313287);
- p.SetSABefore(37.86229254590959);
- p.SetSAAfter(37.86229254590959);
- points.append(p);
-
- p = VSAPoint(357.0500800024495, 243.3249495743475);
- p.SetSABefore(37.87640445213285);
- p.SetSAAfter(37.87640445213285);
- points.append(p);
-
- p = VSAPoint(343.267372346902, 243.09606124484026);
- p.SetSABefore(37.897352390596396);
- p.SetSAAfter(37.897352390596396);
- points.append(p);
-
- p = VSAPoint(325.2670702478247, 240.34058647283786);
- p.SetSABefore(37.92502540251962);
- p.SetSAAfter(37.92502540251962);
- points.append(p);
-
- p = VSAPoint(307.8894710141585, 235.26351352579883);
- p.SetSABefore(37.952537472540754);
- p.SetSAAfter(37.952537472540754);
- points.append(p);
-
- p = VSAPoint(291.35648266682676, 228.23302374339065);
- p.SetSABefore(37.97983930259204);
- p.SetSAAfter(37.97983930259204);
- points.append(p);
-
- p = VSAPoint(275.89001322675244, 219.61729846528084);
- p.SetSABefore(38.00674385290581);
- p.SetSAAfter(38.00674385290581);
- points.append(p);
-
- p = VSAPoint(261.71197071485875, 209.784519031137);
- p.SetSABefore(38.032964089440014);
- p.SetSAAfter(38.032964089440014);
- points.append(p);
-
- p = VSAPoint(249.04426315206877, 199.10286678062653);
- p.SetSABefore(38.058145046329095);
- p.SetSAAfter(38.058145046329095);
- points.append(p);
-
- p = VSAPoint(238.10879855930557, 187.94052305341705);
- p.SetSABefore(38.081891784254736);
- p.SetSAAfter(38.081891784254736);
- points.append(p);
-
- p = VSAPoint(229.12748495749224, 176.66566918917607);
- p.SetSABefore(38.10379739397839);
- p.SetSAAfter(38.10379739397839);
- points.append(p);
-
- p = VSAPoint(222.32223036755198, 165.64648652757114);
- p.SetSABefore(38.12347885155327);
- p.SetSAAfter(38.12347885155327);
- points.append(p);
-
- p = VSAPoint(217.91494281040778, 155.2511564082697);
- p.SetSABefore(38.140637376066095);
- p.SetSAAfter(38.140637376066095);
- points.append(p);
-
- p = VSAPoint(216.12753030698286, 145.84786017093933);
- p.SetSABefore(38.15518307122048);
- p.SetSAAfter(38.15518307122048);
- points.append(p);
-
- p = VSAPoint(216.7337621675769, 139.71903029095353);
- p.SetSABefore(38.16454227070837);
- p.SetSAAfter(38.16454227070837);
- points.append(p);
-
- p = VSAPoint(218.01300097576924, 136.10657758970495);
- p.SetSABefore(38.17036601862179);
- p.SetSAAfter(38.17036601862179);
- points.append(p);
-
- p = VSAPoint(218.97637795275605, 134.48806299212646);
- p.SetSABefore(38.173228346456696);
- p.SetSAAfter(38.173228346456696);
- points.append(p);
-
- p = VSAPoint(218.97637795275605, 134.48806299212646);
- p.SetSABefore(38.173228346456696);
- p.SetSAAfter(38.173228346456696);
- points.append(p);
-
- p = VSAPoint(218.97637795275605, 134.48806299212646);
- p.SetSABefore(38.173228346456696);
- p.SetSAAfter(38.173228346456696);
- points.append(p);
-
- p = VSAPoint(217.1202289172026, 137.73030103616844);
- p.SetSABefore(38.16799523335242);
- p.SetSAAfter(38.16799523335242);
- points.append(p);
-
- p = VSAPoint(212.6973363405255, 143.4397404435662);
- p.SetSABefore(38.15787884818713);
- p.SetSAAfter(38.15787884818713);
- points.append(p);
-
- p = VSAPoint(207.48487786706698, 148.24866810991395);
- p.SetSABefore(38.14794488580081);
- p.SetSAAfter(38.14794488580081);
- points.append(p);
-
- p = VSAPoint(201.55301739671896, 152.18989767496004);
- p.SetSABefore(38.13796906496172);
- p.SetSAAfter(38.13796906496172);
- points.append(p);
-
- p = VSAPoint(194.9719188293733, 155.29624277845284);
- p.SetSABefore(38.12777534088115);
- p.SetSAAfter(38.12777534088115);
- points.append(p);
-
- p = VSAPoint(187.81174606492203, 157.6005170601407);
- p.SetSABefore(38.1172392196169);
- p.SetSAAfter(38.1172392196169);
- points.append(p);
-
- p = VSAPoint(180.14266300325704, 159.13553415977202);
- p.SetSABefore(38.10628374748414);
- p.SetSAAfter(38.10628374748414);
- points.append(p);
-
- p = VSAPoint(172.0348335442702, 159.93410771709506);
- p.SetSABefore(38.09487182200063);
- p.SetSAAfter(38.09487182200063);
- points.append(p);
-
- p = VSAPoint(159.23684047277425, 159.9047174285684);
- p.SetSABefore(38.07694509829885);
- p.SetSAAfter(38.07694509829885);
- points.append(p);
-
- p = VSAPoint(141.23066996957303, 157.47696696634546);
- p.SetSABefore(38.051494892780326);
- p.SetSAAfter(38.051494892780326);
- points.append(p);
-
- p = VSAPoint(122.73246407513939, 152.69408785036);
- p.SetSABefore(38.02473158624051);
- p.SetSAAfter(38.02473158624051);
- points.append(p);
-
- p = VSAPoint(104.30353398860882, 145.81858919859886);
- p.SetSABefore(37.99717939647611);
- p.SetSAAfter(37.99717939647611);
- points.append(p);
-
- p = VSAPoint(86.50519090911675, 137.11298012904894);
- p.SetSABefore(37.969426027228295);
- p.SetSAAfter(37.969426027228295);
- points.append(p);
-
- p = VSAPoint(69.89874603579864, 126.83976975969698);
- p.SetSABefore(37.94207342582994);
- p.SetSAAfter(37.94207342582994);
- points.append(p);
-
- p = VSAPoint(55.045510567789904, 115.26146720852991);
- p.SetSABefore(37.91569349681988);
- p.SetSAAfter(37.91569349681988);
- points.append(p);
-
- p = VSAPoint(42.506795704226036, 102.64058159353453);
- p.SetSABefore(37.890773443464376);
- p.SetSAAfter(37.890773443464376);
- points.append(p);
-
- p = VSAPoint(35.06235294654161, 92.63041313458488);
- p.SetSABefore(37.87329933285639);
- p.SetSAAfter(37.87329933285639);
- points.append(p);
-
- p = VSAPoint(31.055115217282797, 85.78413532732864);
- p.SetSABefore(37.86218751893835);
- p.SetSAAfter(37.86218751893835);
- points.append(p);
-
- p = VSAPoint(27.94224518864889, 78.82487313298289);
- p.SetSABefore(37.851508643228605);
- p.SetSAAfter(37.851508643228605);
- points.append(p);
-
- p = VSAPoint(25.793906760531815, 71.78544019129603);
- p.SetSABefore(37.84119924740421);
- p.SetSAAfter(37.84119924740421);
- points.append(p);
-
- p = VSAPoint(24.68026383282351, 64.69865014201642);
- p.SetSABefore(37.83115066985303);
- p.SetSAAfter(37.83115066985303);
- points.append(p);
-
- p = VSAPoint(24.671480305415898, 57.597316624892386);
- p.SetSABefore(37.8212035316683);
- p.SetSAAfter(37.8212035316683);
- points.append(p);
-
- p = VSAPoint(25.837720078200917, 50.514253279672296);
- p.SetSABefore(37.81114840454936);
- p.SetSAAfter(37.81114840454936);
- points.append(p);
-
- p = VSAPoint(28.2491470510705, 43.48227374610451);
- p.SetSABefore(37.80073535459479);
- p.SetSAAfter(37.80073535459479);
- points.append(p);
-
- points.append(VSAPoint(30.0, 39.999874015748034));
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsCase2() const
-{
- QVector points;
-
- points += QPointF(6.735602489575015, 2.204598425196849);
- points += QPointF(445.748031496063049, 2.204598425196849);
- points += QPointF(445.748031496062993, 251.484462700721508);
- points += QPointF(420.167249883446971, 265.344673769224812);
- points += QPointF(408.168687600939791, 270.749698109742667);
- points += QPointF(395.757434861670447, 275.068217221903126);
- points += QPointF(383.280158875837515, 278.216263504481446);
- points += QPointF(370.828801869607219, 280.240944580682424);
- points += QPointF(358.240833427700807, 281.223585390784933);
- points += QPointF(340.128405605847377, 280.950325398745633);
- points += QPointF(317.100367222628677, 277.461014499073372);
- points += QPointF(295.151952890624273, 271.084708546139382);
- points += QPointF(274.688712908028663, 262.419614890377773);
- points += QPointF(255.813104536205742, 251.942354407911466);
- points += QPointF(238.610817650068327, 240.050870330341809);
- points += QPointF(223.168378143141126, 227.069612826995268);
- points += QPointF(209.577497139717309, 213.238868162572516);
- points += QPointF(197.938119214048157, 198.672641760685593);
- points += QPointF(195.608727121505524, 194.913640433289544);
- points += QPointF(185.710682244992483, 196.880382798455116);
- points += QPointF(173.809356654777872, 198.035763353667477);
- points += QPointF(156.584623464047553, 197.972079562468082);
- points += QPointF(133.847493016660877, 194.874025486507207);
- points += QPointF(111.245648921419928, 188.996325361642533);
- points += QPointF(89.230166381208790, 180.747600513519643);
- points += QPointF(68.084222734525255, 170.367865812562059);
- points += QPointF(48.147862270344362, 157.996030361007911);
- points += QPointF(29.800888286137585, 143.652949766683832);
- points += QPointF(13.683525778751441, 127.384450781512541);
- points += QPointF(3.399493823857615, 113.515501757126160);
- points += QPointF(-2.688329116224859, 103.081091306820881);
- points += QPointF(-7.591302295481950, 92.078476678883646);
- points += QPointF(-11.187498192466251, 80.235473513717892);
- points += QPointF(-13.151329445248951, 67.623242575048394);
- points += QPointF(-13.149174973239838, 54.474730078465917);
- points += QPointF(-10.943375405772395, 41.194056317965945);
- points += QPointF(-6.654890290296288, 28.745230957359055);
- points += QPointF(6.735602489575015, 2.204598425196849);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsCase3() const
-{
- QVector points;
-
- points += VSAPoint(30.000000000000000, 39.999874015748034);
- points += VSAPoint(407.952755905511822, 39.999874015748034);
- points += VSAPoint(407.952755905511822, 228.976251968503959);
- points += VSAPoint(407.952755905511822, 228.976251968503959);
-
- VSAPoint p = VSAPoint(404.672301299224387, 235.656234316977816);
- p.SetSABefore(36.9778);
- p.SetSAAfter(36.9778);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(397.222833003011260, 246.532690980461950);
- p.SetSABefore(35.5298);
- p.SetSAAfter(35.5298);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(388.920624996308561, 254.595637637351388);
- p.SetSABefore(34.2586);
- p.SetSAAfter(34.2586);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(380.002934156756680, 260.030296102714601);
- p.SetSABefore(33.1115);
- p.SetSAAfter(33.1115);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(370.707017361996236, 263.021888191619951);
- p.SetSABefore(32.0389);
- p.SetSAAfter(32.0389);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(361.270131489667733, 263.755635719135853);
- p.SetSABefore(30.9992);
- p.SetSAAfter(30.9992);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(351.929533417411790, 262.416760500330838);
- p.SetSABefore(29.9628);
- p.SetSAAfter(29.9628);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(342.922480022868967, 259.190484350273266);
- p.SetSABefore(28.9119);
- p.SetSAAfter(28.9119);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(334.486228183679657, 254.262029084031553);
- p.SetSABefore(27.8387);
- p.SetSAAfter(27.8387);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(326.858034777484477, 247.816616516674173);
- p.SetSABefore(26.7418);
- p.SetSAAfter(26.7418);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(320.275156681923932, 240.039468463269486);
- p.SetSABefore(25.6226);
- p.SetSAAfter(25.6226);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(314.974850774638639, 231.115806738886022);
- p.SetSABefore(24.4826);
- p.SetSAAfter(24.4826);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(311.194373933269048, 221.230853158592197);
- p.SetSABefore(23.3201);
- p.SetSAAfter(23.3201);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(309.170983035455720, 210.569829537456371);
- p.SetSABefore(22.1282);
- p.SetSAAfter(22.1282);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(309.141934958839045, 199.317957690547019);
- p.SetSABefore(20.8923);
- p.SetSAAfter(20.8923);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(311.344486581059869, 187.660459432932583);
- p.SetSABefore(19.5892);
- p.SetSAAfter(19.5892);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(313.464566929134321, 181.732157480315578);
- p.SetSABefore(18.8976);
- p.SetSAAfter(18.8976);
- points += p;
-
- p = VSAPoint(313.464566929134321, 181.732157480315578);
- p.SetSABefore(18.8976);
- p.SetSAAfter(18.8976);
- points += p;
-
- p = VSAPoint(313.464566929134321, 181.732157480315578);
- p.SetSABefore(18.8976);
- p.SetSAAfter(18.8976);
- points += p;
-
- p = VSAPoint(316.591345021592019, 173.284435565430954);
- p.SetSABefore(19.9768);
- p.SetSAAfter(19.9768);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(320.142638433108914, 158.635688769582430);
- p.SetSABefore(21.7825);
- p.SetSAAfter(21.7825);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(320.765122974842939, 146.512865040203337);
- p.SetSABefore(23.2367);
- p.SetSAAfter(23.2367);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(318.807583600455132, 136.726949517032153);
- p.SetSABefore(24.4322);
- p.SetSAAfter(24.4322);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(314.618805263606987, 129.088927339807270);
- p.SetSABefore(25.4758);
- p.SetSAAfter(25.4758);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(308.547572917959542, 123.409783648267165);
- p.SetSABefore(26.4717);
- p.SetSAAfter(26.4717);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(300.942671517174290, 119.500503582150259);
- p.SetSABefore(27.4961);
- p.SetSAAfter(27.4961);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(292.152886014912497, 117.172072281195000);
- p.SetSABefore(28.5854);
- p.SetSAAfter(28.5854);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(282.527001364835201, 116.235474885139837);
- p.SetSABefore(29.744);
- p.SetSAAfter(29.744);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(272.413802520603895, 116.501696533723177);
- p.SetSABefore(30.956);
- p.SetSAAfter(30.956);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(257.045176202602249, 118.651559471725193);
- p.SetSABefore(32.815);
- p.SetSAAfter(32.815);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(238.080312793150540, 124.132738713584303);
- p.SetSABefore(35.18);
- p.SetSAAfter(35.18);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(223.444321772985404, 131.022926649289388);
- p.SetSABefore(37.1179);
- p.SetSAAfter(37.1179);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(218.976377952756053, 134.488062992126459);
- points += VSAPoint(218.976377952756053, 134.488062992126459);
- points += VSAPoint(218.976377952756053, 134.488062992126459);
-
- p = VSAPoint(209.413110094717808, 142.833471271341665);
- p.SetSABefore(35.5678);
- p.SetSAAfter(35.5678);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(193.391595601190147, 154.054987746786708);
- p.SetSABefore(32.1352);
- p.SetSAAfter(32.1352);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(183.690040040596074, 158.450531399325257);
- p.SetSABefore(30.266);
- p.SetSAAfter(30.266);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(178.111093559349001, 159.860599171825072);
- p.SetSABefore(29.2562);
- p.SetSAAfter(29.2562);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(173.237617815947488, 160.079619284747537);
- p.SetSABefore(28.4001);
- p.SetSAAfter(28.4001);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(169.017046385061462, 159.212182985841025);
- p.SetSABefore(27.6439);
- p.SetSAAfter(27.6439);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(165.396812841360941, 157.362881522853911);
- p.SetSABefore(26.9305);
- p.SetSAAfter(26.9305);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(162.324350759515880, 154.636306143534711);
- p.SetSABefore(26.2096);
- p.SetSAAfter(26.2096);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(158.575695647501561, 149.207322310502946);
- p.SetSABefore(25.0519);
- p.SetSAAfter(25.0519);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(155.086603150983990, 139.745623026852769);
- p.SetSABefore(23.2821);
- p.SetSAAfter(23.2821);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(152.842400845947793, 128.657470537345603);
- p.SetSABefore(21.2968);
- p.SetSAAfter(21.2968);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(150.866158843535715, 110.747817409061298);
- p.SetSABefore(18.1347);
- p.SetSAAfter(18.1347);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(149.373821053326026, 94.001593653555375);
- p.SetSABefore(15.1843);
- p.SetSAAfter(15.1843);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(147.903865487813732, 84.774928160493630);
- p.SetSABefore(13.5447);
- p.SetSAAfter(13.5447);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(145.576143100581845, 78.105459371511586);
- p.SetSABefore(12.305);
- p.SetSAAfter(12.305);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(142.964662887243179, 75.410534564509078);
- p.SetSABefore(11.6464);
- p.SetSAAfter(11.6464);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(140.763228387362460, 74.778132056190998);
- p.SetSABefore(11.2445);
- p.SetSAAfter(11.2445);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(136.665272250398885, 75.785031833736099);
- p.SetSABefore(10.5039);
- p.SetSAAfter(10.5039);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(129.241060982167369, 81.807533048917350);
- p.SetSABefore(8.82629);
- p.SetSAAfter(8.82629);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(124.488188976378183, 87.243968503937310);
- p.SetSABefore(7.55906);
- points += p;
-
- p = VSAPoint(124.488188976378183, 87.243968503937310);
- p.SetSABefore(7.55906);
- points += p;
-
- p = VSAPoint(124.488188976378183, 87.243968503937310);
- p.SetSABefore(7.55906);
- points += p;
-
- p = VSAPoint(118.347357299687616, 94.279895957313556);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(106.583151413161048, 104.824701818694905);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(95.475737670842378, 111.519402254765254);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(85.064941832712051, 114.788834409007222);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(75.390589658750542, 115.057835424903487);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(66.492506908938267, 112.751242445936697);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(58.410519343255714, 108.293892615589485);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(51.184452721683314, 102.110623077344513);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(44.854132804201512, 94.626270974684417);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(39.459385350790782, 86.265673451091871);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(33.079189282762393, 72.987917323101186);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(28.381038280132728, 56.107295472113094);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(27.913136644118886, 46.188304541034846);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(28.968164934724022, 41.491814504983139);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(30.000000000000000, 39.999874015748034);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsCase3() const
-{
- QVector points;
-
- points += QPointF(10.185624773347756, 2.204598425196849);
- points += QPointF(445.748031496063049, 2.204598425196849);
- points += QPointF(445.748031496062993, 239.543708774549259);
- points += QPointF(434.277249951658803, 257.602527551798858);
- points += QPointF(421.704109111683636, 272.232473108416229);
- points += QPointF(406.821528061699894, 283.815805783943347);
- points += QPointF(390.426869009588813, 291.492454813390282);
- points += QPointF(373.431680691615043, 294.972061096528250);
- points += QPointF(356.889253932553629, 294.445762616291631);
- points += QPointF(341.592611223119548, 290.511019644904309);
- points += QPointF(327.941579548832294, 283.860197889278709);
- points += QPointF(316.076627506977388, 275.060808621685567);
- points += QPointF(306.056835471849411, 264.515338115471252);
- points += QPointF(297.967063959684765, 252.511650805464001);
- points += QPointF(291.957956690120341, 239.289448398975935);
- points += QPointF(288.245701475112810, 225.099827304036467);
- points += QPointF(287.082912046801141, 210.253300532205827);
- points += QPointF(288.703123507393855, 195.143319989158869);
- points += QPointF(293.166186492321515, 180.515626372699529);
- points += QPointF(295.670561165402944, 175.368662126210381);
- points += QPointF(297.032836005697561, 169.787192181154381);
- points += QPointF(298.427368810404460, 158.085249530220608);
- points += QPointF(297.942387105948967, 150.956429005150937);
- points += QPointF(296.912819957584588, 147.814504880960072);
- points += QPointF(296.397338085742149, 147.093749248063460);
- points += QPointF(295.959645090416700, 146.772731325564138);
- points += QPointF(294.211098898799321, 146.123357146812708);
- points += QPointF(290.481043050038522, 145.598758393629993);
- points += QPointF(285.006359018652802, 145.720508052838397);
- points += QPointF(278.586587836716035, 146.661545108162670);
- points += QPointF(267.611351780445432, 149.560217090466921);
- points += QPointF(254.258155566962188, 155.214998010181603);
- points += QPointF(246.441613424006931, 160.107097914151410);
- points += QPointF(243.102668926984364, 163.402837598685920);
- points += QPointF(225.939985502865284, 173.778976885805150);
- points += QPointF(204.126745997020492, 183.975693844107269);
- points += QPointF(188.539896208493161, 187.983698484313294);
- points += QPointF(177.315121486754521, 188.814064306647623);
- points += QPointF(166.192228902931021, 187.373339931453700);
- points += QPointF(155.574422378957252, 183.176406510679953);
- points += QPointF(146.729251284035655, 176.508054524108871);
- points += QPointF(140.168555897046843, 168.248262793059951);
- points += QPointF(134.853718310273564, 156.677629794996079);
- points += QPointF(132.208495509666591, 142.105162309613490);
- points += QPointF(131.967439246091402, 132.827656859895768);
- points += QPointF(129.151336777046254, 135.351860712520221);
- points += QPointF(111.113552824916056, 146.223658854871644);
- points += QPointF(91.371995199602523, 152.423346590426377);
- points += QPointF(71.089251560144604, 152.987320130573352);
- points += QPointF(52.404520155294485, 148.143796926294669);
- points += QPointF(36.773898357312952, 139.523250451403811);
- points += QPointF(24.295634363907766, 128.845730621976628);
- points += QPointF(14.420075278530305, 117.169833926538999);
- points += QPointF(6.418159077086557, 104.768734272561886);
- points += QPointF(-2.435562868156214, 86.343350544456428);
- points += QPointF(-9.171676817365769, 62.140256123241244);
- points += QPointF(-10.080338624527474, 42.877642935055057);
- points += QPointF(-6.297329478268652, 26.037464411020956);
- points += QPointF(10.185624773347756, 2.204598425196849);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsIssue627() const
-{
- QVector points;
-
- VSAPoint p = VSAPoint(11565.008125001964800, -71.444885494199326);
- p.SetSAAfter(0);
- points += p;
-
- p = VSAPoint(11774.053467225081476, -3376.830337135347690);
- p.SetSABefore(0);
- points += p;
-
- p = VSAPoint(11774.053467225081476, -3376.830337135347690);
- p.SetSABefore(0);
- points += p;
-
- p = VSAPoint(11821.637653562487685, -3457.444047544760906);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(11916.506852253827674, -3619.698047174160820);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(12011.687139013727574, -3784.317013264594607);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(12107.923065894336105, -3952.559914581167959);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(12205.959184947796530, -4125.685719888986569);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(12306.540048226263025, -4304.953397953153399);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(12410.410207781878853, -4491.621917538775961);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(12518.314215666796372, -4686.950247410958582);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(12630.996623933155206, -4892.197356334805590);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(12749.201984633113170, -5108.622213075424952);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(12937.571227539614483, -5455.181123300273612);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(13216.054288166869810, -5970.204948863398386);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(13530.031095467164050, -6552.601203465501385);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(13704.042216387522785, -6875.648082494774826);
- p.SetSAAfter(0);
- points += p;
-
- p = VSAPoint(13704.042216387522785, -6875.648082494774826);
- p.SetSAAfter(0);
- points += p;
-
- p = VSAPoint(13493.259591532772902, -71.444885494204499);
- p.SetSABefore(0);
- points += p;
-
- p = VSAPoint(13493.259591532772902, -71.444885494204499);
- p.SetSABefore(0);
- points += p;
-
- p = VSAPoint(13458.265794168308275, -72.452878937007853);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(13303.675181471457108, -76.518823818897630);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(13154.908187746063049, -79.907111220472430);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(13010.905973179134890, -82.617741141732296);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(12870.609697957679600, -84.650713582677156);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(12732.960522268700515, -86.006028543307096);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(12596.899606299211882, -86.683686023622045);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(12461.368110236220673, -86.683686023622045);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(12325.307194266732040, -86.006028543307096);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(12187.658018577756593, -84.650713582677156);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(12047.361743356301304, -82.617741141732296);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(11903.359528789369506, -79.907111220472430);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(11754.592535063975447, -76.518823818897630);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(11600.001922367124280, -72.452878937007853);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(11565.008125001964800, -71.444885494199326);
- p.SetSAAfter(0);
- points += p;
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue627() const
-{
- QVector points;
-
- points += QPointF(11561.414612602904526, -14.624946442565696);
- points += QPointF(11738.564365107058620, -2815.683360191556858);
- points += QPointF(11781.963905683212943, -3501.908695340060149);
- points += QPointF(11867.565752333255659, -3648.313692662954054);
- points += QPointF(11962.607394275857587, -3812.694206301280701);
- points += QPointF(12058.712075176787039, -3980.708890064594925);
- points += QPointF(12156.626721853161143, -4153.621262002729964);
- points += QPointF(12257.097609428719807, -4332.693831870464237);
- points += QPointF(12360.870334229162836, -4519.187971963542623);
- points += QPointF(12468.689857584724450, -4714.363921245554593);
- points += QPointF(12581.300599294354470, -4919.480896487609243);
- points += QPointF(12699.446556901319127, -5135.797272217891987);
- points += QPointF(12887.760771573290185, -5482.255186619299820);
- points += QPointF(13166.184881983803280, -5997.170273914794052);
- points += QPointF(13480.128179706836818, -6579.504463988871066);
- points += QPointF(13707.971545534986944, -7002.489438444617917);
- points += QPointF(13491.504179598350674, -14.779021766204096);
- points += QPointF(13456.633436542824711, -15.783470639800996);
- points += QPointF(13302.184595664144581, -19.845509268540340);
- points += QPointF(13153.617296022339360, -23.228896475030687);
- points += QPointF(13009.839001467360504, -25.934868953220956);
- points += QPointF(12869.788271788002021, -27.963751349545099);
- points += QPointF(12732.402342177734681, -29.315863054406840);
- points += QPointF(12596.617248209338868, -29.991475781985521);
- points += QPointF(12461.368110236220673, -29.990772637795267);
- points += QPointF(12325.589552356605054, -29.313818301670572);
- points += QPointF(12188.216198668722427, -27.960548093776900);
- points += QPointF(12048.183169525978883, -25.930778908600239);
- points += QPointF(11904.426500501143892, -23.224239031961091);
- points += QPointF(11755.883426787699136, -19.840609073455887);
- points += QPointF(11601.492508174436807, -15.779564386650563);
- points += QPointF(11561.414612602904526, -14.624946442565696);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsIssue767_Fabric_TopCollar() const
-{
- QVector points;
-
- // VSAPoint p = VSAPoint(-2845.8986453348375, -956.881848270395);
- // p.SetSAAfter(43.46456692913386);
- // points.append(p);
-
- points.append(VSAPoint(-2956.503052984476, -931.8887725360864));
-
- VSAPoint p = VSAPoint(-2845.8999353737872, -956.8546710275792);
- p.SetSAAfter(43.46456692913386);
- points.append(p);
-
- p = VSAPoint(-2845.8999353737872, -956.8546710275792);
- p.SetSAAfter(43.46456692913386);
- points.append(p);
-
- p = VSAPoint(-2836.2633663612596, -967.4426562856014);
- p.SetSABefore(43.975870702724364);
- p.SetSAAfter(43.975870702724364);
- points.append(p);
-
- p = VSAPoint(-2816.781399798798, -990.3120607327689);
- p.SetSABefore(45.04880285928504);
- p.SetSAAfter(45.04880285928504);
- points.append(p);
-
- p = VSAPoint(-2797.0552023132714, -1015.1078931004015);
- p.SetSABefore(46.18040144375942);
- p.SetSAAfter(46.18040144375942);
- points.append(p);
-
- p = VSAPoint(-2777.0918442622597, -1041.7127169475177);
- p.SetSABefore(47.36830653518281);
- p.SetSAAfter(47.36830653518281);
- points.append(p);
-
- p = VSAPoint(-2746.7450331166083, -1084.5654944804478);
- p.SetSABefore(49.243630059870085);
- p.SetSAAfter(49.243630059870085);
- points.append(p);
-
- p = VSAPoint(-2705.4801979126455, -1147.2198537598051);
- p.SetSABefore(51.9229573891882);
- p.SetSAAfter(51.9229573891882);
- points.append(p);
-
- p = VSAPoint(-2690.741587315989, -1170.7115882155053);
- p.SetSABefore(52.91338582677166);
- p.SetSAAfter(52.91338582677166);
- points.append(p);
-
- p = VSAPoint(-2690.741587315989, -1170.7115882155053);
- p.SetSABefore(52.91338582677166);
- p.SetSAAfter(52.91338582677166);
- points.append(p);
-
- p = VSAPoint(-2690.741587315989, -1170.7115882155053);
- p.SetSABefore(52.91338582677166);
- p.SetSAAfter(52.91338582677166);
- points.append(p);
-
- p = VSAPoint(-2663.393986883198, -1214.996323019432);
- p.SetSABefore(53.464106209918555);
- p.SetSAAfter(53.464106209918555);
- points.append(p);
-
- p = VSAPoint(-2620.5429628889106, -1286.9554107314775);
- p.SetSABefore(54.35027638570753);
- p.SetSAAfter(54.35027638570753);
- points.append(p);
-
- p = VSAPoint(-2555.034059572721, -1400.452077976559);
- p.SetSABefore(55.73686065985781);
- p.SetSAAfter(55.73686065985781);
- points.append(p);
-
- p = VSAPoint(-2510.4169214986496, -1479.023939177109);
- p.SetSABefore(56.69291338582678);
- p.SetSAAfter(56.69291338582678);
- points.append(p);
-
- p = VSAPoint(-2510.4169214986496, -1479.023939177109);
- p.SetSABefore(56.69291338582678);
- p.SetSAAfter(56.69291338582678);
- points.append(p);
-
- p = VSAPoint(-2510.41692149865, -1479.0239391771088);
- p.SetSABefore(56.69291338582678);
- p.SetSAAfter(56.69291338582678);
- points.append(p);
-
- p = VSAPoint(-2465.770203618369, -1557.5789960796274);
- p.SetSABefore(55.73686065985781);
- p.SetSAAfter(55.73686065985781);
- points.append(p);
-
- p = VSAPoint(-2401.820804615958, -1671.9616182591394);
- p.SetSABefore(54.35027638570753);
- p.SetSAAfter(54.35027638570753);
- points.append(p);
-
- p = VSAPoint(-2361.950025594169, -1745.613784160113);
- p.SetSABefore(53.464106209918555);
- p.SetSAAfter(53.464106209918555);
- points.append(p);
-
- p = VSAPoint(-2337.912872786133, -1791.7791853927329);
- p.SetSABefore(52.91338582677166);
- p.SetSAAfter(52.91338582677166);
- points.append(p);
-
- p = VSAPoint(-2337.912872786133, -1791.7791853927329);
- p.SetSABefore(52.91338582677166);
- p.SetSAAfter(52.91338582677166);
- points.append(p);
-
- p = VSAPoint(-2337.912872786133, -1791.7791853927329);
- p.SetSABefore(52.91338582677166);
- p.SetSAAfter(52.91338582677166);
- points.append(p);
-
- p = VSAPoint(-2325.280421100769, -1816.4674294468161);
- p.SetSABefore(51.92295738918819);
- p.SetSAAfter(51.92295738918819);
- points.append(p);
-
- p = VSAPoint(-2292.590031111732, -1883.9929339875566);
- p.SetSABefore(49.24363005987009);
- p.SetSAAfter(49.24363005987009);
- points.append(p);
-
- p = VSAPoint(-2271.318537325938, -1932.0014024188404);
- p.SetSABefore(47.36830653518281);
- p.SetSAAfter(47.36830653518281);
- points.append(p);
-
- p = VSAPoint(-2258.687165687168, -1962.7715302562779);
- p.SetSABefore(46.18040144375943);
- p.SetSAAfter(46.18040144375943);
- points.append(p);
-
- p = VSAPoint(-2247.488245160975, -1992.4117115831486);
- p.SetSABefore(45.048802859285026);
- p.SetSAAfter(45.048802859285026);
- points.append(p);
-
- p = VSAPoint(-2237.8190307443556, -2020.8557438829903);
- p.SetSABefore(43.97587070272435);
- p.SetSAAfter(43.97587070272435);
- points.append(p);
-
- p = VSAPoint(-2233.6582717055753, -2034.5545386613094);
- p.SetSABefore(43.46456692913386);
- points.append(p);
-
- p = VSAPoint(-2233.6582717055753, -2034.5545386613094);
- p.SetSABefore(43.46456692913386);
- points.append(p);
-
- points.append(VSAPoint(-2268.843635583417, -2142.3429233856164));
- points.append(VSAPoint(-2142.3122611221115, -2153.915659267329));
- points.append(VSAPoint(-2102.05157470339, -2047.9183817466978));
- points.append(VSAPoint(-1984.1456543967456, -1869.9284917765406));
-
- p = VSAPoint(-1957.540323165074, -1829.765289335082);
- p.SetSAAfter(22.67716535433071);
- points.append(p);
-
- p = VSAPoint(-2074.675746476508, -1711.446016505495);
- p.SetSABefore(22.67716535433071);
- p.SetSAAfter(22.67716535433071);
- points.append(p);
-
- p = VSAPoint(-2074.675746476508, -1711.446016505495);
- p.SetSABefore(22.67716535433071);
- p.SetSAAfter(22.67716535433071);
- points.append(p);
-
- p = VSAPoint(-2104.9501005136362, -1680.2660923950884);
- p.SetSABefore(22.67716535433071);
- p.SetSAAfter(22.67716535433071);
- points.append(p);
-
- p = VSAPoint(-2157.060300446018, -1624.0358190720049);
- p.SetSABefore(22.67716535433071);
- p.SetSAAfter(22.67716535433071);
- points.append(p);
-
- p = VSAPoint(-2193.427447844697, -1582.9264609829493);
- p.SetSABefore(22.67716535433071);
- p.SetSAAfter(22.67716535433071);
- points.append(p);
-
- p = VSAPoint(-2229.9021223993304, -1539.6063550266792);
- p.SetSABefore(22.67716535433071);
- p.SetSAAfter(22.67716535433071);
- points.append(p);
-
- p = VSAPoint(-2265.283071500467, -1494.9101438927273);
- p.SetSABefore(22.67716535433071);
- p.SetSAAfter(22.67716535433071);
- points.append(p);
-
- p = VSAPoint(-2298.369042538657, -1449.6724702706276);
- p.SetSABefore(22.67716535433071);
- p.SetSAAfter(22.67716535433071);
- points.append(p);
-
- p = VSAPoint(-2320.8174013740727, -1415.9196938584569);
- p.SetSABefore(22.67716535433071);
- p.SetSAAfter(22.67716535433071);
- points.append(p);
-
- p = VSAPoint(-2334.512979024599, -1393.6772377027328);
- p.SetSABefore(22.67716535433071);
- p.SetSAAfter(22.67716535433071);
- points.append(p);
-
- p = VSAPoint(-2340.8464205786395, -1382.6908795653735);
- p.SetSABefore(22.67716535433071);
- p.SetSAAfter(22.67716535433071);
- points.append(p);
-
- p = VSAPoint(-2340.8464205786395, -1382.690879565374);
- p.SetSABefore(22.67716535433071);
- p.SetSAAfter(22.67716535433071);
- points.append(p);
-
- p = VSAPoint(-2340.8464205786395, -1382.690879565374);
- p.SetSABefore(22.67716535433071);
- p.SetSAAfter(22.67716535433071);
- points.append(p);
-
- p = VSAPoint(-2347.0406240734856, -1371.625420238929);
- p.SetSABefore(22.67716535433071);
- p.SetSAAfter(22.67716535433071);
- points.append(p);
-
- p = VSAPoint(-2359.1340239739197, -1348.4727663549988);
- p.SetSABefore(22.67716535433071);
- p.SetSAAfter(22.67716535433071);
- points.append(p);
-
- p = VSAPoint(-2376.632959709957, -1311.9082209860264);
- p.SetSABefore(22.67716535433071);
- p.SetSAAfter(22.67716535433071);
- points.append(p);
-
- p = VSAPoint(-2398.5505312977116, -1260.3257758135142);
- p.SetSABefore(22.67716535433071);
- p.SetSAAfter(22.67716535433071);
- points.append(p);
-
- p = VSAPoint(-2418.8279356815838, -1207.049235756178);
- p.SetSABefore(22.67716535433071);
- p.SetSAAfter(22.67716535433071);
- points.append(p);
-
- p = VSAPoint(-2437.3632941454625, -1153.5377981886413);
- p.SetSABefore(22.67716535433071);
- p.SetSAAfter(22.67716535433071);
- points.append(p);
-
- p = VSAPoint(-2454.0547279732336, -1101.2506604855253);
- p.SetSABefore(22.67716535433071);
- p.SetSAAfter(22.67716535433071);
- points.append(p);
-
- p = VSAPoint(-2475.6739880089963, -1027.6984737710059);
- p.SetSABefore(22.67716535433071);
- p.SetSAAfter(22.67716535433071);
- points.append(p);
-
- p = VSAPoint(-2486.9558756792776, -985.7289230170218);
- p.SetSABefore(22.67716535433071);
- p.SetSAAfter(22.67716535433071);
- points.append(p);
-
- p = VSAPoint(-2486.9558756792776, -985.7289230170218);
- p.SetSABefore(22.67716535433071);
- p.SetSAAfter(22.67716535433071);
- points.append(p);
-
- p = VSAPoint(-2528.6142143955344, -824.5310925952923);
- p.SetSABefore(22.67716535433071);
- points.append(p);
-
- points.append(VSAPoint(-2576.735791027546, -826.8202720880508));
- points.append(VSAPoint(-2789.994527521454, -836.9651369943699));
- points.append(VSAPoint(-2901.6577688078787, -817.2758948021979));
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue767_Fabric_TopCollar() const
-{
- QVector points;
-
- points += QPointF(-3011.051754879010332, -958.321944400611301);
- points += QPointF(-2875.704655596311113, -988.873180340485987);
- points += QPointF(-2870.266139694495905, -995.294853951866457);
- points += QPointF(-2852.541502402287279, -1017.672534874126313);
- points += QPointF(-2834.561736510239371, -1042.007683734111424);
- points += QPointF(-2816.318152801346969, -1068.219702443143433);
- points += QPointF(-2788.352030367969292, -1110.859883556803652);
- points += QPointF(-2750.104578133508312, -1173.706685440264437);
- points += QPointF(-2709.576301328694626, -1242.298707376999573);
- points += QPointF(-2667.685724118163762, -1313.999219737975636);
- points += QPointF(-2603.306990389053681, -1428.314629665485654);
- points += QPointF(-2559.715942725519653, -1507.018455323058788);
- points += QPointF(-2514.227494695693167, -1585.119667416120365);
- points += QPointF(-2449.158395429499251, -1698.662018272644673);
- points += QPointF(-2408.901620525934959, -1771.183767809588062);
- points += QPointF(-2384.845551286147384, -1816.215840001470042);
- points += QPointF(-2370.880345941558971, -1841.237056353140815);
- points += QPointF(-2336.479706267199163, -1906.269233768278809);
- points += QPointF(-2314.171878902582193, -1952.123894247253929);
- points += QPointF(-2300.997366939366657, -1981.215654350529348);
- points += QPointF(-2289.299963085878971, -2009.119815234373618);
- points += QPointF(-2279.153348206748888, -2035.802573282930325);
- points += QPointF(-2276.421885291452327, -2043.762124623026239);
- points += QPointF(-2319.478871757543402, -2175.664782739318980);
- points += QPointF(-2117.171449255143671, -2194.168101599941110);
- points += QPointF(-2068.215402990954772, -2065.277909112684483);
- points += QPointF(-1952.636614028386703, -1890.801039106245071);
- points += QPointF(-1917.586670824047815, -1837.889915684416337);
- points += QPointF(-2058.560149041760724, -1695.491664502713775);
- points += QPointF(-2088.680400307789114, -1664.468919112514186);
- points += QPointF(-2140.427345188782056, -1608.621584484509185);
- points += QPointF(-2176.442570235218682, -1567.900890740904742);
- points += QPointF(-2212.334254034449714, -1525.262668863119416);
- points += QPointF(-2247.234202528754395, -1481.174098429168680);
- points += QPointF(-2279.766629673790248, -1436.693272413116574);
- points += QPointF(-2301.715318706475500, -1403.691786696854933);
- points += QPointF(-2315.030637739082067, -1382.066893805181053);
- points += QPointF(-2321.200039954151634, -1371.365087899206856);
- points += QPointF(-2327.092357559710763, -1360.835222350091499);
- points += QPointF(-2338.849983413490008, -1338.325403429812241);
- points += QPointF(-2355.959416743849943, -1302.574734893039931);
- points += QPointF(-2377.510297026410626, -1251.855288345610234);
- points += QPointF(-2397.512032044217449, -1199.303037736062379);
- points += QPointF(-2415.844466989297416, -1146.377438809215619);
- points += QPointF(-2432.371872429092036, -1094.604132032660573);
- points += QPointF(-2453.842769979148215, -1021.556698266764784);
- points += QPointF(-2465.056142821574667, -979.842028311906802);
- points += QPointF(-2515.136197939204976, -786.051916914061394);
- points += QPointF(-2578.531709722424239, -789.067688957792370);
- points += QPointF(-2787.581316069136847, -799.012322645365543);
- points += QPointF(-2923.361187022479953, -775.070667959158072);
- points += QPointF(-3011.051754879010332, -958.321944400611301);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsIssue767_SkinFusing_TopCollar_Notch() const
-{
- QVector points;
-
- // VSAPoint p = VSAPoint(-2956.4986596431745, -931.902205605136);
- // p.SetSAAfter(0.0);
- // p.SetSABefore(0.0);
- // points.append(p);
-
- VSAPoint p = VSAPoint(-2956.503052984476, -931.8887725360864);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2845.8999353737872, -956.8546710275792);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2845.8999353737872, -956.8546710275792);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2836.2633663612596, -967.4426562856014);
- p.SetSABefore(0.43513121779510383);
- p.SetSAAfter(0.43513121779510383);
- points.append(p);
-
- p = VSAPoint(-2816.781399798798, -990.3120607327689);
- p.SetSABefore(1.3482210481660497);
- p.SetSAAfter(1.3482210481660497);
- points.append(p);
-
- p = VSAPoint(-2797.0552023132714, -1015.1078931004015);
- p.SetSABefore(2.3112373518788916);
- p.SetSAAfter(2.3112373518788916);
- points.append(p);
-
- p = VSAPoint(-2777.0918442622597, -1041.7127169475177);
- p.SetSABefore(3.3221717821615027);
- p.SetSAAfter(3.3221717821615027);
- points.append(p);
-
- p = VSAPoint(-2746.7450331166083, -1084.5654944804478);
- p.SetSABefore(4.918115037824846);
- p.SetSAAfter(4.918115037824846);
- points.append(p);
-
- p = VSAPoint(-2705.4801979126455, -1147.2198537598051);
- p.SetSABefore(7.1982839391629785);
- p.SetSAAfter(7.1982839391629785);
- points.append(p);
-
- p = VSAPoint(-2663.393986883198, -1214.996323019432);
- p.SetSABefore(9.623062142943597);
- p.SetSAAfter(9.623062142943597);
- points.append(p);
-
- p = VSAPoint(-2620.5429628889106, -1286.9554107314775);
- p.SetSABefore(12.168538502609866);
- p.SetSAAfter(12.168538502609866);
- points.append(p);
-
- p = VSAPoint(-2555.034059572721, -1400.452077976559);
- p.SetSABefore(16.151427553679724);
- p.SetSAAfter(16.151427553679724);
- points.append(p);
-
- p = VSAPoint(-2510.4169214986496, -1479.023939177109);
- p.SetSABefore(18.897637795275593);
- p.SetSAAfter(18.897637795275593);
- points.append(p);
-
- p = VSAPoint(-2510.4169214986496, -1479.023939177109);
- p.SetSABefore(18.897637795275593);
- p.SetSAAfter(18.897637795275593);
- points.append(p);
-
- p = VSAPoint(-2510.41692149865, -1479.0239391771088);
- p.SetSABefore(18.897637795275593);
- p.SetSAAfter(18.897637795275593);
- points.append(p);
-
- p = VSAPoint(-2465.770203618369, -1557.5789960796274);
- p.SetSABefore(16.15142755367971);
- p.SetSAAfter(16.15142755367971);
- points.append(p);
-
- p = VSAPoint(-2401.820804615958, -1671.9616182591394);
- p.SetSABefore(12.168538502609852);
- p.SetSAAfter(12.168538502609852);
- points.append(p);
-
- p = VSAPoint(-2361.950025594169, -1745.613784160113);
- p.SetSABefore(9.62306214294358);
- p.SetSAAfter(9.62306214294358);
- points.append(p);
-
- p = VSAPoint(-2325.280421100769, -1816.4674294468161);
- p.SetSABefore(7.198283939162968);
- p.SetSAAfter(7.198283939162968);
- points.append(p);
-
- p = VSAPoint(-2292.590031111732, -1883.9929339875566);
- p.SetSABefore(4.918115037824851);
- p.SetSAAfter(4.918115037824851);
- points.append(p);
-
- p = VSAPoint(-2271.318537325938, -1932.0014024188404);
- p.SetSABefore(3.3221717821615044);
- p.SetSAAfter(3.3221717821615044);
- points.append(p);
-
- p = VSAPoint(-2258.687165687168, -1962.7715302562779);
- p.SetSABefore(2.3112373518789013);
- p.SetSAAfter(2.3112373518789013);
- points.append(p);
-
- p = VSAPoint(-2247.488245160975, -1992.4117115831486);
- p.SetSABefore(1.3482210481660388);
- p.SetSAAfter(1.3482210481660388);
- points.append(p);
-
- p = VSAPoint(-2237.8190307443556, -2020.8557438829903);
- p.SetSABefore(0.4351312177950959);
- p.SetSAAfter(0.4351312177950959);
- points.append(p);
-
- p = VSAPoint(-2233.6582717055753, -2034.5545386613094);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2233.6582717055753, -2034.5545386613094);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2268.843635583417, -2142.3429233856164);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2142.3122611221115, -2153.915659267329);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2102.05157470339, -2047.9183817466978);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-1957.540323165074, -1829.765289335082);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2074.675746476508, -1711.446016505495);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2074.675746476508, -1711.446016505495);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2104.9501005136362, -1680.2660923950884);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2157.060300446018, -1624.0358190720049);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2193.427447844697, -1582.9264609829493);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2229.9021223993304, -1539.6063550266792);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2265.283071500467, -1494.9101438927273);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2298.369042538657, -1449.6724702706276);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2320.8174013740727, -1415.9196938584569);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2334.512979024599, -1393.6772377027328);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2340.8464205786395, -1382.6908795653735);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2340.8464205786395, -1382.690879565374);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2340.8464205786395, -1382.690879565374);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2347.0406240734856, -1371.625420238929);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2359.1340239739197, -1348.4727663549988);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2376.632959709957, -1311.9082209860264);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2398.5505312977116, -1260.3257758135142);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2418.8279356815838, -1207.049235756178);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2437.3632941454625, -1153.5377981886413);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2454.0547279732336, -1101.2506604855253);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2475.6739880089963, -1027.6984737710059);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2486.9558756792776, -985.7289230170218);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2486.9558756792776, -985.7289230170218);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2528.6142143955344, -824.5310925952923);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2789.994527521454, -836.9651369943699);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(-2901.6577688078787, -817.2758948021979);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue767_SkinFusing_TopCollar_Notch() const
-{
- QVector points;
-
- points += QPointF(-2956.503052984476199, -931.888772536086435);
- points += QPointF(-2845.899935373787230, -956.854671027579229);
- points += QPointF(-2836.585168992718536, -967.735542343798102);
- points += QPointF(-2817.807710164808213, -991.186353033625323);
- points += QPointF(-2798.863899498001501, -1016.546792885192417);
- points += QPointF(-2779.749114651553100, -1043.706642580126527);
- points += QPointF(-2750.758655190988520, -1087.407798716331399);
- points += QPointF(-2711.491790104854317, -1151.179153064404545);
- points += QPointF(-2671.741745541462024, -1220.149721048735501);
- points += QPointF(-2630.984188137075762, -1293.204742264258130);
- points += QPointF(-2569.022589526747197, -1408.526088240801528);
- points += QPointF(-2526.849928574272781, -1488.355444559092348);
- points += QPointF(-2479.812157489062429, -1565.559731854928032);
- points += QPointF(-2412.442076435102535, -1677.899792577346261);
- points += QPointF(-2370.412668357553684, -1750.194941488371569);
- points += QPointF(-2331.673284372557191, -1819.775992708568765);
- points += QPointF(-2297.016687030217327, -1886.135962896511273);
- points += QPointF(-2274.355914702014616, -1933.347197360681321);
- points += QPointF(-2260.825261304527430, -1963.649234778169330);
- points += QPointF(-2248.749446962910497, -1992.888230218159833);
- points += QPointF(-2238.231008875008683, -2020.995791005643241);
- points += QPointF(-2233.658271705575316, -2034.554538661309380);
- points += QPointF(-2268.843635583416926, -2142.342923385616359);
- points += QPointF(-2142.312261122111522, -2153.915659267328920);
- points += QPointF(-2102.051574703390088, -2047.918381746697833);
- points += QPointF(-1957.540323165073914, -1829.765289335081889);
- points += QPointF(-2074.675746476507811, -1711.446016505494981);
- points += QPointF(-2104.950100513636244, -1680.266092395088435);
- points += QPointF(-2157.060300446018118, -1624.035819072004870);
- points += QPointF(-2193.427447844696871, -1582.926460982949266);
- points += QPointF(-2229.902122399330437, -1539.606355026679239);
- points += QPointF(-2265.283071500467031, -1494.910143892727319);
- points += QPointF(-2298.369042538657141, -1449.672470270627628);
- points += QPointF(-2320.817401374072688, -1415.919693858456867);
- points += QPointF(-2334.512979024599190, -1393.677237702732782);
- points += QPointF(-2340.846420578639481, -1382.690879565373507);
- points += QPointF(-2347.040624073485560, -1371.625420238929109);
- points += QPointF(-2359.134023973919739, -1348.472766354998839);
- points += QPointF(-2376.632959709957049, -1311.908220986026436);
- points += QPointF(-2398.550531297711586, -1260.325775813514156);
- points += QPointF(-2418.827935681583767, -1207.049235756177950);
- points += QPointF(-2437.363294145462532, -1153.537798188641318);
- points += QPointF(-2454.054727973233639, -1101.250660485525259);
- points += QPointF(-2475.673988008996275, -1027.698473771005865);
- points += QPointF(-2486.955875679277597, -985.728923017021771);
- points += QPointF(-2528.614214395534418, -824.531092595292307);
- points += QPointF(-2789.994527521454074, -836.965136994369914);
- points += QPointF(-2901.657768807878711, -817.275894802197854);
- points += QPointF(-2956.503052984476199, -931.888772536086435);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsIssue880_Piece_Detail() const
-{
- QVector points;
-
- points += VSAPoint(239.15935115817035, 1727.8772840128854);
- points += VSAPoint(239.15935115817035, 1727.8772840128854);
- points += VSAPoint(229.26906627866828, 1672.003934630032);
- points += VSAPoint(210.32230605803002, 1561.0565494697453);
- points += VSAPoint(192.34933775540307, 1451.038491596672);
- points += VSAPoint(175.3204063396455, 1341.9165954116006);
- points += VSAPoint(151.37328308463964, 1179.739848589476);
- points += VSAPoint(122.62258120063842, 966.4750391568086);
- points += VSAPoint(97.11243630356083, 756.1978956903439);
- points += VSAPoint(74.60480814427176, 548.64309339639);
- points += VSAPoint(54.861656473636025, 343.5453074812554);
- points += VSAPoint(37.64494104251851, 140.6392131512489);
-
- VSAPoint p = VSAPoint(30.0, 39.999874015748034);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeRightAngle);
- points.append(p);
-
- p = VSAPoint(30.0, 39.999874015748034);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeRightAngle);
- points.append(p);
-
- p = VSAPoint(30.0, 39.999874015748034);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeRightAngle);
- points.append(p);
-
- points.append(VSAPoint(45.17616605845943, 17.610441101076585));
- points.append(VSAPoint(75.44740737398081, -23.822072592206776));
- points.append(VSAPoint(105.6438731200462, -61.349018284438976));
- points.append(VSAPoint(135.79060039912326, -95.09267882253144));
- points.append(VSAPoint(165.91262631367965, -125.1753370533956));
- points.append(VSAPoint(196.03498796618314, -151.71927582394284));
- points.append(VSAPoint(226.1827224591014, -174.84677798108459));
- points.append(VSAPoint(256.3808668949021, -194.68012637173229));
- points.append(VSAPoint(286.65445837605307, -211.3416038427973));
- points.append(VSAPoint(317.0285340050218, -224.9534932411911));
- points.append(VSAPoint(347.52813088427615, -235.63807741382516));
- points.append(VSAPoint(378.17828611628374, -243.51763920761078));
- points.append(VSAPoint(409.00403680351224, -248.71446146945948));
- points.append(VSAPoint(440.0304200484296, -251.35082704628257));
- points.append(VSAPoint(471.2824729535032, -251.54901878499163));
- points.append(VSAPoint(502.78523262120086, -249.43131953249798));
- points.append(VSAPoint(518.6504625195685, -247.45337139417512));
- points.append(VSAPoint(518.6504625195685, -247.45337139417512));
- points.append(VSAPoint(518.6504625195685, -247.45337139417512));
- points.append(VSAPoint(530.2610383503521, -245.74288092468555));
- points.append(VSAPoint(552.1872278041676, -241.18301269150965));
- points.append(VSAPoint(572.6437092641386, -235.3144676119963));
- points.append(VSAPoint(591.7240901252175, -228.20167669358835));
- points.append(VSAPoint(609.5219777823567, -219.9090709437288));
- points.append(VSAPoint(626.130979630509, -210.50108136986046));
- points.append(VSAPoint(641.6447030646272, -200.04213897942634));
- points.append(VSAPoint(656.1567554796634, -188.59667477986926));
- points.append(VSAPoint(669.7607442705705, -176.2291197786322));
- points.append(VSAPoint(682.5502768323008, -163.00390498315804));
- points.append(VSAPoint(694.6189605598073, -148.98546140088973));
- points.append(VSAPoint(706.060402848042, -134.2382200392702));
- points.append(VSAPoint(722.300407627205, -110.96277002193168));
- points.append(VSAPoint(742.5431323074765, -77.86867271190005));
- points.append(VSAPoint(771.5587695889417, -25.219950033288583));
- points.append(VSAPoint(801.3225470991345, 29.88442488061677));
- points.append(VSAPoint(822.7622961453703, 66.90756576711863));
- points.append(VSAPoint(846.3734491821488, 103.62434739887975));
- points.append(VSAPoint(866.0660930267316, 130.61304884599105));
- points.append(VSAPoint(880.202278000172, 148.25843766499418));
- points.append(VSAPoint(895.3025472485346, 165.537297136819));
- points.append(VSAPoint(911.4605081667719, 182.38519625402265));
- points.append(VSAPoint(928.7697681498366, 198.73770400916214));
- points.append(VSAPoint(947.3239345926813, 214.5303893947946));
-
- p = VSAPoint(957.1548316121191, 222.1693111391918);
- p.SetAngleType(PieceNodeAngle::BySecondEdgeRightAngle);
- points.append(p);
-
- p = VSAPoint(957.1548316121191, 222.1693111391918);
- p.SetAngleType(PieceNodeAngle::BySecondEdgeRightAngle);
- points.append(p);
-
- p = VSAPoint(957.1548316121191, 222.1693111391918);
- p.SetAngleType(PieceNodeAngle::BySecondEdgeRightAngle);
- points.append(p);
-
- points.append(VSAPoint(952.3136401198107, 240.982134772638));
- points.append(VSAPoint(940.9881447982464, 288.3639167749205));
- points.append(VSAPoint(928.1711209417526, 346.5350481212475));
- points.append(VSAPoint(914.3961310718933, 414.47551510225964));
- points.append(VSAPoint(900.1967377102318, 491.1653040085978));
- points.append(VSAPoint(886.1065033783323, 575.5844011309023));
- points.append(VSAPoint(872.6589905977585, 666.712792759814));
- points.append(VSAPoint(860.3877618900742, 763.5304651859733));
- points.append(VSAPoint(849.8263797768434, 865.017404700021));
- points.append(VSAPoint(841.5084067796297, 970.1535975925977));
- points.append(VSAPoint(837.1624212037573, 1050.8452199630021));
- points.append(VSAPoint(835.1862064061293, 1105.1939935906626));
- points.append(VSAPoint(834.0709728058853, 1159.8813228514407));
- points.append(VSAPoint(833.8834157182207, 1214.7797060316668));
- points.append(VSAPoint(834.6902304583309, 1269.7616414176705));
- points.append(VSAPoint(836.5581123414115, 1324.699627295782));
- points.append(VSAPoint(839.5537566826579, 1379.4661619523315));
- points.append(VSAPoint(843.7438587972656, 1433.933743673649));
- points.append(VSAPoint(849.1951140004301, 1487.9748707460644));
- points.append(VSAPoint(855.9742176073469, 1541.462041455908));
- points.append(VSAPoint(864.1478649332113, 1594.2677540895102));
- points.append(VSAPoint(873.782751293219, 1646.2645069332007));
- points.append(VSAPoint(879.2340548139807, 1671.8780036332896));
- points.append(VSAPoint(879.2340548139807, 1671.8780036332896));
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue880_Piece_Detail() const
-{
- QVector points;
-
- points += QPointF(207.975244350313460, 1768.545187243969849);
- points += QPointF(192.052357429286502, 1678.591759717724699);
- points += QPointF(173.066378231393685, 1567.418836695434493);
- points += QPointF(155.048521972231981, 1457.132094707775423);
- points += QPointF(137.977104738153116, 1347.744174880447417);
- points += QPointF(113.948652961709485, 1185.025355945024330);
- points += QPointF(85.132622460042427, 971.275956770753282);
- points += QPointF(59.563338142961662, 760.511333975782236);
- points += QPointF(37.029820911080137, 552.717794783143404);
- points += QPointF(17.240286265801252, 347.166821066865964);
- points += QPointF(-0.015008757567600, 143.834684637698103);
- points += QPointF(-12.288070724611142, -17.710595485938104);
- points += QPointF(26.316659671669068, -20.643155361401121);
- points += QPointF(45.449182757960564, -46.830007644639885);
- points += QPointF(76.809025421762314, -85.802751092762563);
- points += QPointF(108.321842237686539, -121.075495075611926);
- points += QPointF(140.039609778261479, -152.751809393767388);
- points += QPointF(172.010964379443408, -180.925087728824934);
- points += QPointF(204.276873967526058, -205.677524558723803);
- points += QPointF(236.865361166418040, -227.080787315939290);
- points += QPointF(269.786238060178277, -245.199233851581596);
- points += QPointF(303.027473208045649, -260.096016944701660);
- points += QPointF(336.555041813495848, -271.841356736794523);
- points += QPointF(370.317439186195884, -280.521015759425495);
- points += QPointF(404.254443948552364, -286.242355156443011);
- points += QPointF(438.307932392301666, -289.135939110304264);
- points += QPointF(472.431670530633255, -289.352342269912128);
- points += QPointF(506.393547409497444, -287.069334621112432);
- points += QPointF(523.743301608497973, -284.906308037942438);
- points += QPointF(536.868759697778614, -282.972642447483622);
- points += QPointF(561.258611782860839, -277.900419936185699);
- points += QPointF(584.473517653931367, -271.240539453433826);
- points += QPointF(606.329115257862554, -263.093202286243240);
- points += QPointF(626.844375715222100, -253.534485538173158);
- points += QPointF(646.038852158581562, -242.661981825671262);
- points += QPointF(663.942166489923579, -230.592040397069013);
- points += QPointF(680.601417624278497, -217.453108907810446);
- points += QPointF(696.084583779115746, -203.377170449140664);
- points += QPointF(710.479607415059718, -188.491772671512337);
- points += QPointF(723.890325734899875, -172.914481691892490);
- points += QPointF(736.508892979171492, -156.650006278643616);
- points += QPointF(753.948152387964797, -131.655764206155084);
- points += QPointF(775.231449650412515, -96.860472475085288);
- points += QPointF(804.659958042692779, -43.462597316917439);
- points += QPointF(834.310499706231440, 11.429285555756231);
- points += QPointF(855.028099173095029, 47.205385464279573);
- points += QPointF(877.561104827702366, 82.245582223782790);
- points += QPointF(896.095638842511903, 107.647098085992383);
- points += QPointF(909.193579340678184, 123.996505882547439);
- points += QPointF(923.186035221141992, 140.007722295159482);
- points += QPointF(938.093299030574826, 155.551520058117717);
- points += QPointF(954.013080954349675, 170.591351779598710);
- points += QPointF(967.478282407841220, 182.052480516597853);
- points += QPointF(1004.081045839154399, 191.471640041573494);
- points += QPointF(988.997625529862603, 250.085666468473050);
- points += QPointF(977.825907073445137, 296.824101606491240);
- points += QPointF(965.149517480306031, 354.356952623703251);
- points += QPointF(951.501406931069596, 421.671630375482096);
- points += QPointF(937.421248889072672, 497.717438848125312);
- points += QPointF(923.444794947316950, 581.454841288857779);
- points += QPointF(910.105733799937411, 671.848299769626351);
- points += QPointF(897.936248098548390, 767.863239128885880);
- points += QPointF(887.467042701909804, 868.464429717168059);
- points += QPointF(879.223426160358372, 972.660783700921684);
- points += QPointF(874.920744508827170, 1052.548385015779559);
- points += QPointF(872.967477678962268, 1106.266056241682008);
- points += QPointF(871.864931939666576, 1160.331215197386200);
- points += QPointF(871.679638670957502, 1214.566973456243431);
- points += QPointF(872.476082054519338, 1268.842132890775247);
- points += QPointF(874.318295975007572, 1323.025174797752015);
- points += QPointF(877.269773413631015, 1376.984247710641966);
- points += QPointF(881.393358356554131, 1430.587165663510405);
- points += QPointF(886.751117991388469, 1483.701422556393027);
- points += QPointF(893.404193466793458, 1536.194230504537472);
- points += QPointF(901.412628664752219, 1587.932592933028218);
- points += QPointF(910.854235153861168, 1638.886269055181629);
- points += QPointF(925.096547465388880, 1705.805202848466251);
- points += QPointF(207.975244350313460, 1768.545187243969849);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsIssue880_Piece_Detail_1() const
-{
- QVector points;
-
- // VSAPoint p = VSAPoint(124.48818897637796, 39.999874015748034);
- // p.SetAngleType(PieceNodeAngle::ByFirstEdgeRightAngle);
- // points.append(p);
-
- points += VSAPoint(239.15935115817035, 1727.8772840128854);
- points += VSAPoint(239.15935115817035, 1727.8772840128854);
- points += VSAPoint(228.38870291910868, 1665.145749022502);
- points += VSAPoint(208.68143263818018, 1537.8520195183164);
- points += VSAPoint(191.107067165158, 1409.242825317507);
- points += VSAPoint(175.590132468123, 1280.2974183439387);
- points += VSAPoint(162.05515451515572, 1151.9950505214774);
- points += VSAPoint(150.42665927433694, 1025.314973773988);
- points += VSAPoint(140.62917271374727, 901.2364400253355);
- points += VSAPoint(132.58722080146742, 780.7387011993851);
- points += VSAPoint(126.22532950557809, 664.801009220002);
- points += VSAPoint(121.46802479415996, 554.4026160110516);
- points += VSAPoint(118.23983263529368, 450.5227734963987);
- points += VSAPoint(116.46527899705998, 354.1407335999088);
- points += VSAPoint(116.06888984753957, 266.235748245447);
- points += VSAPoint(116.97519115481305, 187.78706935687848);
- points += VSAPoint(119.10870888696115, 119.77394885806838);
- points += VSAPoint(122.39396901206462, 63.17563867288196);
-
- VSAPoint p = VSAPoint(124.48818897637796, 39.999874015748034);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeRightAngle);
- points.append(p);
-
- p = VSAPoint(124.48818897637796, 39.999874015748034);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeRightAngle);
- points.append(p);
-
- p = VSAPoint(124.48818897637796, 39.999874015748034);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeRightAngle);
- points.append(p);
-
- points += VSAPoint(131.17745572117823, 59.19926080571054);
- points += VSAPoint(145.42358161389507, 95.6473363798392);
- points += VSAPoint(160.66298139295492, 129.7789066433697);
- points += VSAPoint(176.84250283902833, 161.62100748114375);
- points += VSAPoint(193.90899373278594, 191.2006747780029);
- points += VSAPoint(211.80930185489825, 218.54494441878893);
- points += VSAPoint(230.49027498603584, 243.68085228834343);
- points += VSAPoint(249.8987609068692, 266.6354342715081);
- points += VSAPoint(269.98160739806895, 287.4357262531245);
- points += VSAPoint(290.68566224030565, 306.1087641180344);
- points += VSAPoint(311.95777321424987, 322.6815837510794);
- points += VSAPoint(333.7447881005721, 337.1812210371011);
- points += VSAPoint(355.99355467994303, 349.6347118609412);
- points += VSAPoint(378.650920733033, 360.06909210744146);
- points += VSAPoint(401.66373404051285, 368.5113976614434);
- points += VSAPoint(424.9788423830528, 374.98866440778875);
- points += VSAPoint(448.5430935413237, 379.52792823131904);
- points += VSAPoint(472.3033352959959, 382.1562250168761);
- points += VSAPoint(496.2064154277402, 382.9005906493014);
- points += VSAPoint(520.1991817172269, 381.7880610134368);
- points += VSAPoint(544.2284819451269, 378.8456719941238);
- points += VSAPoint(568.2411638921103, 374.10045947620404);
- points += VSAPoint(592.1840753388481, 367.57945934451936);
- points += VSAPoint(616.0040640660104, 359.3097074839112);
- points += VSAPoint(639.647977854268, 349.31823977922147);
- points += VSAPoint(663.0626644842916, 337.6320921152916);
- points += VSAPoint(686.1949717367515, 324.27830037696316);
- points += VSAPoint(708.9917473923185, 309.2839004490781);
- points += VSAPoint(731.399839231663, 292.67592821647787);
- points += VSAPoint(753.3660950354556, 274.48141956400417);
- points += VSAPoint(774.8373625843669, 254.72741037649877);
- points += VSAPoint(795.7604896590673, 233.4409365388032);
-
- p = VSAPoint(805.9737292499144, 222.1693111391918);
- p.SetAngleType(PieceNodeAngle::BySecondEdgeRightAngle);
- points.append(p);
-
- p = VSAPoint(805.9737292499144, 222.1693111391918);
- p.SetAngleType(PieceNodeAngle::BySecondEdgeRightAngle);
- points.append(p);
-
- p = VSAPoint(805.9737292499144, 222.1693111391918);
- p.SetAngleType(PieceNodeAngle::BySecondEdgeRightAngle);
- points.append(p);
-
- points += VSAPoint(801.1024217701829, 252.56710912274912);
- points += VSAPoint(783.4393334619424, 355.5003208404381);
- points += VSAPoint(766.2212290655575, 462.42427627224754);
- points += VSAPoint(754.024845322645, 544.4163414513537);
- points += VSAPoint(741.7977429994414, 634.4390974603281);
- points += VSAPoint(730.0853694039338, 731.420313160728);
- points += VSAPoint(719.4331718441081, 834.2877574141107);
- points += VSAPoint(710.3865976279511, 941.9691990820332);
- points += VSAPoint(703.4910940634496, 1053.3924070260528);
- points += VSAPoint(700.1562772589527, 1138.828625614281);
- points += VSAPoint(698.833185316681, 1196.3413376010737);
- points += VSAPoint(698.3546751480656, 1254.1863611415165);
- points += VSAPoint(698.7889276666046, 1312.2296673433043);
- points += VSAPoint(700.2041237857968, 1370.3372273141313);
- points += VSAPoint(702.6684444191402, 1428.3750121616927);
- points += VSAPoint(706.2500704801332, 1486.2089929936824);
- points += VSAPoint(711.0171828822739, 1543.7051409177961);
- points += VSAPoint(717.037962539061, 1600.7294270417278);
- points += VSAPoint(724.3805903639925, 1657.1478224731723);
- points += VSAPoint(728.6282421890804, 1685.0543048990771);
- points += VSAPoint(728.6282421890804, 1685.0543048990771);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue880_Piece_Detail_1() const
-{
- QVector points;
-
- points += QPointF(176.433003213139955, 1809.244423168889170);
- points += QPointF(153.783135418246673, 1677.324696280966691);
- points += QPointF(133.877936584754650, 1548.752501354019614);
- points += QPointF(116.130420641369653, 1418.876192132583355);
- points += QPointF(100.474835510405967, 1288.778602915610691);
- points += QPointF(86.827945098922910, 1159.415381247187725);
- points += QPointF(75.108566360069545, 1031.745225536971702);
- points += QPointF(65.237006914137893, 906.728608847666237);
- points += QPointF(57.134700301863127, 785.326536725989286);
- points += QPointF(50.723988203508114, 668.499145301099361);
- points += QPointF(45.928034219191510, 557.203853977457015);
- points += QPointF(42.670896438097856, 452.392571656716314);
- points += QPointF(40.877865366741680, 355.006959561548001);
- points += QPointF(40.476369775324613, 265.969547397013685);
- points += QPointF(41.398331990387867, 186.165273502188512);
- points += QPointF(43.586870527854131, 116.398178051280283);
- points += QPointF(47.000830659421496, 57.582630079953006);
- points += QPointF(65.689573122725463, -149.237047149766482);
- points += QPointF(140.973388670714428, -142.434213593128675);
- points += QPointF(202.095092404902573, 32.995960747903830);
- points += QPointF(215.176017935747808, 66.462923339575823);
- points += QPointF(228.912471861364821, 97.228356961062261);
- points += QPointF(243.321624076299429, 125.586283327675147);
- points += QPointF(258.319316717494701, 151.580306428778727);
- points += QPointF(273.821335471331167, 175.260981526085629);
- points += QPointF(289.745012058267321, 196.686849698159534);
- points += QPointF(306.011343576818319, 215.925178846087249);
- points += QPointF(322.547589766898170, 233.052170738609846);
- points += QPointF(339.290194711236211, 248.152367220173886);
- points += QPointF(356.187735703955013, 261.317017379122831);
- points += QPointF(373.203459652129993, 272.641277572404306);
- points += QPointF(390.316878091855926, 282.220316425788155);
- points += QPointF(407.523915572652811, 290.144660834123783);
- points += QPointF(424.835283411702221, 296.495377493676017);
- points += QPointF(442.273070729360143, 301.339841360756793);
- points += QPointF(459.865929253040349, 304.728815010403082);
- points += QPointF(477.643553068006611, 306.695329998346381);
- points += QPointF(495.631302782506054, 307.255486372267399);
- points += QPointF(513.845745520128617, 306.410894002139287);
- points += QPointF(532.291618477982070, 304.152195932363099);
- points += QPointF(550.960380069145117, 300.463010301535405);
- points += QPointF(569.830203595676267, 295.323697065753379);
- points += QPointF(588.867069143079107, 288.714535487886565);
- points += QPointF(608.026538118922531, 280.618108761520489);
- points += QPointF(627.255825567483498, 271.020871944014061);
- points += QPointF(646.495873502259997, 259.913999190145603);
- points += QPointF(665.683232713083612, 247.293664546600496);
- points += QPointF(684.751653548328704, 233.160921516904352);
- points += QPointF(703.633355735262512, 217.521328821535519);
- points += QPointF(722.259991845816671, 200.384439254023107);
- points += QPointF(740.775593812870966, 181.547299114609586);
- points += QPointF(827.890520660986795, 85.404756544033887);
- points += QPointF(902.528765906973376, 97.365683534123988);
- points += QPointF(875.674633126301046, 264.940098963036405);
- points += QPointF(858.006688452906701, 367.901611578837674);
- points += QPointF(840.922428439775899, 473.994397066476608);
- points += QPointF(828.863202448516518, 555.064398169016044);
- points += QPointF(816.775888751009120, 644.057952245166348);
- points += QPointF(805.207674362467287, 739.845495712355955);
- points += QPointF(794.697075928369372, 841.345528209589247);
- points += QPointF(785.781431600197493, 947.468510425481782);
- points += QPointF(778.990524885403715, 1057.201556595780858);
- points += QPointF(775.712914874765261, 1141.172167796453323);
- points += QPointF(774.416545265376726, 1197.523302280107373);
- points += QPointF(773.947565414695873, 1254.216246927699785);
- points += QPointF(774.372593569917512, 1311.026601052771866);
- points += QPointF(775.755623649198697, 1367.813432350162429);
- points += QPointF(778.159815481304577, 1424.435109901397027);
- points += QPointF(781.647320084431385, 1480.749273059121151);
- points += QPointF(786.279070102662104, 1536.612815122052325);
- points += QPointF(792.114529969787213, 1591.881891902256712);
- points += QPointF(799.233464070713808, 1646.581496557790842);
- points += QPointF(815.482414590454709, 1753.334844240462417);
- points += QPointF(176.433003213139955, 1809.244423168889170);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsIssue883_Piece_ledge() const
-{
- QVector points;
-
- VSAPoint p = VSAPoint(1122.844724409448872, 91.856125984251975);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeSymmetry);
- points += p;
-
- points += VSAPoint(1122.844724409448872, -664.049385826771640);
- points += VSAPoint(1122.844724409448872, -664.049385826771640);
-
- p = VSAPoint(1123.260507101031408, -692.102756615184148);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1125.552134498865144, -746.904953834851995);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1129.501889709744546, -800.813185020781020);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1135.005387617497036, -854.573547056137045);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1141.958243105948213, -908.932136824086342);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1150.256071058924590, -964.635051207794959);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1164.860792708482904, -1051.940922516873343);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(1176.240685838687341, -1114.834837477910014);
- points += VSAPoint(1176.240685838687341, -1114.834837477910014);
-
- p = VSAPoint(1183.149091745073974, -1158.117487659903418);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1197.298845134992916, -1231.280297344683277);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1213.068331853193058, -1298.011272385507255);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1231.813333494903418, -1369.033917416923487);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(1242.934050298765897, -1410.354749999999967);
- points += VSAPoint(1242.934050298765897, -1410.354749999999967);
- points += VSAPoint(2006.309291338582852, -1344.364346456692829);
-
- p = VSAPoint(2006.309291338582852, -664.049385826771640);
- p.SetSAAfter(56.6929);
- points += p;
-
- p = VSAPoint(2006.309291338582852, 91.856125984251975);
- p.SetSABefore(56.6929);
- points += p;
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue883_Piece_ledge() const
-{
- QVector points;
-
- points += QPointF(1085.049448818897872, 129.651401574803174);
- points += QPointF(1085.049448818897645, -664.329454817907731);
- points += QPointF(1085.476936043251271, -693.172544862022960);
- points += QPointF(1087.814610680723717, -749.075920183547851);
- points += QPointF(1091.847534492653722, -804.119277961746889);
- points += QPointF(1097.455114447215692, -858.896354932157919);
- points += QPointF(1104.517936006646551, -914.114677877462441);
- points += QPointF(1112.923052462069791, -970.537814745901301);
- points += QPointF(1127.624814855215163, -1058.423787947681376);
- points += QPointF(1138.979568121719467, -1121.178760966856998);
- points += QPointF(1145.923845706225620, -1164.686154934395063);
- points += QPointF(1160.338379861934300, -1239.218041820865892);
- points += QPointF(1176.399099634731783, -1307.181413707870433);
- points += QPointF(1195.269438012278897, -1378.678945147347804);
- points += QPointF(1214.661499217332903, -1450.735018320358677);
- points += QPointF(2044.104566929134307, -1379.033344213213468);
- points += QPointF(2044.104566929134080, -664.049385826771640);
- points += QPointF(2063.002204724409694, -664.049385826771640);
- points += QPointF(2063.002204724409694, 129.651401574803003);
- points += QPointF(1085.049448818897872, 129.651401574803174);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsIssue883_Piece_prong() const
-{
- QVector points;
-
- VSAPoint p = VSAPoint(1122.844724409448872, 91.856125984251975);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeSymmetry);
- points += p;
-
- points += VSAPoint(1122.844724409448872, -664.049385826771640);
- points += VSAPoint(1122.844724409448872, -664.049385826771640);
-
- p = VSAPoint(1123.260507101031408, -692.102756615184148);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1125.552134498865144, -746.904953834851995);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1129.501889709744546, -800.813185020781020);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1135.005387617497036, -854.573547056137045);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1141.958243105948213, -908.932136824086342);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1150.256071058924590, -964.635051207794959);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1164.860792708482904, -1051.940922516873343);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(1176.240685838687341, -1114.834837477910014);
- points += VSAPoint(1176.240685838687341, -1114.834837477910014);
-
- p = VSAPoint(1183.149091745073974, -1158.117487659903418);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1197.298845134992916, -1231.280297344683277);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1213.068331853193058, -1298.011272385507255);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1231.813333494903418, -1369.033917416923487);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(1242.934050298765897, -1410.354749999999967);
- points += VSAPoint(1242.934050298765897, -1410.354749999999967);
- points += VSAPoint(2006.309291338582852, -1344.364346456692829);
-
- p = VSAPoint(2006.309291338582852, -664.049385826771640);
- p.SetSAAfter(56.6929);
- points += p;
-
- points += VSAPoint(2006.309291338582852, 91.856125984251975);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue883_Piece_prong() const
-{
- QVector points;
-
- points += QPointF(1085.049448818897872, 129.651401574803174);
- points += QPointF(1085.049448818897645, -664.329454817907731);
- points += QPointF(1085.476936043251271, -693.172544862022960);
- points += QPointF(1087.814610680723717, -749.075920183547851);
- points += QPointF(1091.847534492653722, -804.119277961746889);
- points += QPointF(1097.455114447215692, -858.896354932157919);
- points += QPointF(1104.517936006646551, -914.114677877462441);
- points += QPointF(1112.923052462069791, -970.537814745901301);
- points += QPointF(1127.624814855215163, -1058.423787947681376);
- points += QPointF(1138.979568121719467, -1121.178760966856998);
- points += QPointF(1145.923845706225620, -1164.686154934395063);
- points += QPointF(1160.338379861934300, -1239.218041820865892);
- points += QPointF(1176.399099634731783, -1307.181413707870433);
- points += QPointF(1195.269438012278897, -1378.678945147347804);
- points += QPointF(1214.661499217332903, -1450.735018320358677);
- points += QPointF(2044.104566929134307, -1379.033344213213468);
- points += QPointF(2044.104566929134080, -664.049385826771640);
- points += QPointF(2063.002204724409694, -664.049385826771640);
- points += QPointF(2043.159685039370288, 129.651401574803003);
- points += QPointF(1085.049448818897872, 129.651401574803174);
-
- return points;
-}
-
//---------------------------------------------------------------------------------------------------------------------
void TST_VAbstractPiece::SumTrapezoids() const
{
@@ -4896,12 +731,23 @@ void TST_VAbstractPiece::PathLoopsCase() const
}
//---------------------------------------------------------------------------------------------------------------------
-void TST_VAbstractPiece::BrokenDetailEquidistant_data() const
+void TST_VAbstractPiece::BrokenDetailEquidistant_data()
{
QTest::addColumn>("points");
QTest::addColumn("width");
QTest::addColumn>("ekvOrig");
+ auto ASSERT_TEST_CASE = [this](const char *title, const QString &input, const QString &output, qreal width)
+ {
+ QVector inputPoints;
+ AbstractTest::VectorFromJson(input, inputPoints);
+
+ QVector outputPoints;
+ AbstractTest::VectorFromJson(output, outputPoints);
+
+ QTest::newRow(title) << inputPoints << width << outputPoints;
+ };
+
// For more details see the file "collection/bugs/GAVAUDAN Laure - corsage - figure 4.val".
// We will test only one detail. The second require too accurate data that we cannot get from debuger.
// The test check an open equdistant of correct detail.
@@ -5019,90 +865,44 @@ void TST_VAbstractPiece::BrokenDetailEquidistant_data() const
QTest::newRow("Issue #604.") << points << 11.338582677165354 << ekvOrig;
// See the file "collection/bugs/Issue_#627.val"
- QTest::newRow("Issue #627.") << InputPointsIssue627() << 56.692913385826778 << OutputPointsIssue627();
-
- points.clear();
- points.append(VSAPoint(-3139.2651132139254, 2368.0698020087843));
- points.append(VSAPoint(-3120.18086167807, 3642.1607394538896));
- points.append(VSAPoint(-3800.4958223079916, 3642.1607394538896));
- points.append(VSAPoint(-3838.2910978985424, 2357.1213693751492));
- points.append(VSAPoint(-3838.2910978985424, 2357.1213693751492));
- points.append(VSAPoint(-3842.1333590068875, 2294.1227800112047));
- points.append(VSAPoint(-3847.641880263068, 2206.284811917889));
- points.append(VSAPoint(-3852.504240762188, 2136.1966065393));
- points.append(VSAPoint(-3858.4130229769607, 2058.523232892052));
- points.append(VSAPoint(-3865.3928767793295, 1975.408848578495));
- points.append(VSAPoint(-3873.4684520412366, 1888.9976112009829));
- points.append(VSAPoint(-3882.664398634626, 1801.4336783618676));
- points.append(VSAPoint(-3890.3477903485245, 1736.3753540292228));
- points.append(VSAPoint(-3895.8091513987765, 1693.739013765668));
- points.append(VSAPoint(-3901.5644708348673, 1652.020588288036));
- points.append(VSAPoint(-3907.616829890789, 1611.4880972966203));
- points.append(VSAPoint(-3913.9693098005355, 1572.4095604917156));
- points.append(VSAPoint(-3920.6249917980986, 1535.0529975736154));
- points.append(VSAPoint(-3927.5869571174717, 1499.6864282426134));
- points.append(VSAPoint(-3934.8582869926468, 1466.5778721990046));
- points.append(VSAPoint(-3942.4420626576175, 1435.9953491430822));
- points.append(VSAPoint(-3950.341365346377, 1408.206878775141));
- points.append(VSAPoint(-3958.559276292918, 1383.4804807954743));
- points.append(VSAPoint(-3964.943774739856, 1367.2167450059815));
- points.append(VSAPoint(-3969.294575063331, 1357.40136877638));
- points.append(VSAPoint(-3971.5038697013774, 1352.8740677166752));
-
- ekvOrig.clear();
- ekvOrig.append(QPointF(-3101.671677349305, 2354.311657146295));
- ekvOrig.append(QPointF(-3081.815221558208, 3679.956015044441));
- ekvOrig.append(QPointF(-3837.1958160496015, 3679.956015044441));
- ekvOrig.append(QPointF(-3876.0525286101615, 2358.8277879853945));
- ekvOrig.append(QPointF(-3879.856561637429, 2296.4559949567497));
- ekvOrig.append(QPointF(-3885.3552068987756, 2208.77550784222));
- ekvOrig.append(QPointF(-3890.2001782461225, 2138.9379573546207));
- ekvOrig.append(QPointF(-3896.088149066635, 2061.538158048703));
- ekvOrig.append(QPointF(-3903.0407093929557, 1978.7487777426454));
- ekvOrig.append(QPointF(-3911.079614345216, 1892.7299244032736));
- ekvOrig.append(QPointF(-3920.2274574737066, 1805.6240334336896));
- ekvOrig.append(QPointF(-3927.860399345099, 1740.9928879223924));
- ekvOrig.append(QPointF(-3933.274855194803, 1698.7227322183812));
- ekvOrig.append(QPointF(-3938.9763839040743, 1657.3942181006862));
- ekvOrig.append(QPointF(-3944.9616042037396, 1617.3113536115984));
- ekvOrig.append(QPointF(-3951.228909124134, 1578.7567876029068));
- ekvOrig.append(QPointF(-3957.774475984356, 1542.0182714992184));
- ekvOrig.append(QPointF(-3964.590902808316, 1507.3910332410135));
- ekvOrig.append(QPointF(-3971.664775737263, 1475.1815581746985));
- ekvOrig.append(QPointF(-3978.9721167358443, 1445.7137924549359));
- ekvOrig.append(QPointF(-3986.4693843470664, 1419.339616522746));
- ekvOrig.append(QPointF(-3994.1083479844083, 1396.355179689852));
- ekvOrig.append(QPointF(-3999.8272408176463, 1381.7869935087092));
- ekvOrig.append(QPointF(-4003.5659287794874, 1373.352538644726));
- ekvOrig.append(QPointF(-4020.22165565684, 1339.2215139079456));
- ekvOrig.append(QPointF(-3963.5989171180895, 1302.9008086818892));
- ekvOrig.append(QPointF(-3101.671677349305, 2354.311657146295));
+ ASSERT_TEST_CASE("Issue #627.",
+ QStringLiteral("://Issue_927/input.json"),
+ QStringLiteral("://Issue_927/output.json"),
+ 56.692913385826778 /*seam allowance width*/);
#if !defined (Q_PROCESSOR_S390) && !defined(Q_PROCESSOR_S390_X)
// See the file "collection/bugs/Issue_#687.val"
- QTest::newRow("Issue #687.") << points << 37.795275590551185 << ekvOrig;
+ ASSERT_TEST_CASE("Issue #687.",
+ QStringLiteral("://Issue_687/input.json"),
+ QStringLiteral("://Issue_687/output.json"),
+ 37.795275590551185 /*seam allowance width*/);
#endif
// See private test cases in file jacket_issue_#767.val, piece "Fabric_TopCollar"
// Curve approximation scale 0.5
- QTest::newRow("Issue #767.") << InputPointsIssue767_Fabric_TopCollar() << 37.795275590551185
- << OutputPointsIssue767_Fabric_TopCollar();
+ ASSERT_TEST_CASE("Issue #767. Fabric_TopCollar.",
+ QStringLiteral("://Issue_767_Fabric_TopCollar/input.json"),
+ QStringLiteral("://Issue_767_Fabric_TopCollar/output.json"),
+ 37.795275590551185 /*seam allowance width*/);
// See private test cases in file jacket_issue_#767.val, piece "SkinFusing_TopCollar_Notch"
// Curve approximation scale 0.5
- QTest::newRow("Issue #767.") << InputPointsIssue767_SkinFusing_TopCollar_Notch() << 37.795275590551185
- << OutputPointsIssue767_SkinFusing_TopCollar_Notch();
+ ASSERT_TEST_CASE("Issue #767. SkinFusing_TopCollar_Notch.",
+ QStringLiteral("://Issue_767_Fabric_SkinFusing_TopCollar_Notch/input.json"),
+ QStringLiteral("://Issue_767_Fabric_SkinFusing_TopCollar_Notch/output.json"),
+ 37.795275590551185 /*seam allowance width*/);
// See private test cases in file collection/bugs/Issue_#883_case1.val, piece "ledge"
- QTest::newRow("Issue #883. Piece 'ledge'") << InputPointsIssue883_Piece_ledge()
- << 37.795275590551185
- << OutputPointsIssue883_Piece_ledge();
-
+ ASSERT_TEST_CASE("Issue #883. Piece 'ledge'",
+ QStringLiteral("://Issue_883_ledge/input.json"),
+ QStringLiteral("://Issue_883_ledge/output.json"),
+ 37.795275590551185 /*seam allowance width*/);
// See private test cases in file collection/bugs/Issue_#883_case1.val, piece "prong"
- QTest::newRow("Issue #883. Piece 'prong'") << InputPointsIssue883_Piece_prong()
- << 37.795275590551185
- << OutputPointsIssue883_Piece_prong();
+ ASSERT_TEST_CASE("Issue #883. Piece 'prong'",
+ QStringLiteral("://Issue_883_prong/input.json"),
+ QStringLiteral("://Issue_883_prong/output.json"),
+ 37.795275590551185 /*seam allowance width*/);
}
//---------------------------------------------------------------------------------------------------------------------
@@ -5119,39 +919,64 @@ void TST_VAbstractPiece::BrokenDetailEquidistant() const
}
//---------------------------------------------------------------------------------------------------------------------
-void TST_VAbstractPiece::EquidistantAngleType_data() const
+void TST_VAbstractPiece::EquidistantAngleType_data()
{
QTest::addColumn>("points");
QTest::addColumn("width");
QTest::addColumn>("ekvOrig");
- // See the file "collection/bugs/Issue_#880.val"
- QTest::newRow("Issue #880. Piece: Detail.") << InputPointsIssue880_Piece_Detail() << 37.795275590551185
- << OutputPointsIssue880_Piece_Detail();
+ auto ASSERT_TEST_CASE = [this](const char *title, const QString &input, const QString &output, qreal width)
+ {
+ QVector inputPoints;
+ AbstractTest::VectorFromJson(input, inputPoints);
+
+ QVector outputPoints;
+ AbstractTest::VectorFromJson(output, outputPoints);
+
+ QTest::newRow(title) << inputPoints << width << outputPoints;
+ };
// See the file "collection/bugs/Issue_#880.val"
- QTest::newRow("Issue #880. Piece: Detail_1.") << InputPointsIssue880_Piece_Detail_1() << 75.59055118110237
- << OutputPointsIssue880_Piece_Detail_1();
+ ASSERT_TEST_CASE("Issue #880. Piece: Detail.",
+ QStringLiteral("://Issue_880_Detail/input.json"),
+ QStringLiteral("://Issue_880_Detail/output.json"),
+ 37.795275590551185 /*seam allowance width*/);
+
+ // See the file "collection/bugs/Issue_#880.val"
+ ASSERT_TEST_CASE("Issue #880. Piece: Detail_1.",
+ QStringLiteral("://Issue_880_Detail_1/input.json"),
+ QStringLiteral("://Issue_880_Detail_1/output.json"),
+ 75.59055118110237 /*seam allowance width*/);
// See file src/app/share/collection/bugs/Issue_#937.val
- QTest::newRow("Issue 937. Case1") << InputPointsIssue937Case1()
- << 37.795275590551185 // seam allowance width (1.0 cm)
- << OutputPointsIssue937Case1();
+ ASSERT_TEST_CASE("Issue 937. Case1",
+ QStringLiteral("://Issue_937_case_1/input.json"),
+ QStringLiteral("://Issue_937_case_1/output.json"),
+ 37.795275590551185 /*seam allowance width*/);
// See file src/app/share/collection/bugs/Issue_#937.val
- QTest::newRow("Issue 937. Case2") << InputPointsIssue937Case2()
- << 37.795275590551185 // seam allowance width (1.0 cm)
- << OutputPointsIssue937Case2();
+ ASSERT_TEST_CASE("Issue 937. Case2",
+ QStringLiteral("://Issue_937_case_2/input.json"),
+ QStringLiteral("://Issue_937_case_2/output.json"),
+ 37.795275590551185 /*seam allowance width*/);
// See file src/app/share/collection/bugs/Issue_#937.val
- QTest::newRow("Issue 937. Case3") << InputPointsIssue937Case3()
- << 37.795275590551185 // seam allowance width (1.0 cm)
- << OutputPointsIssue937Case3();
+ ASSERT_TEST_CASE("Issue 937. Case3",
+ QStringLiteral("://Issue_937_case_3/input.json"),
+ QStringLiteral("://Issue_937_case_3/output.json"),
+ 37.795275590551185 /*seam allowance width*/);
// See file src/app/share/collection/bugs/Issue_#937.val
- QTest::newRow("Issue 937. Case4") << InputPointsIssue937Case4()
- << 37.795275590551185 // seam allowance width (1.0 cm)
- << OutputPointsIssue937Case4();
+ ASSERT_TEST_CASE("Issue 937. Case4",
+ QStringLiteral("://Issue_937_case_4/input.json"),
+ QStringLiteral("://Issue_937_case_4/output.json"),
+ 37.795275590551185 /*seam allowance width*/);
+
+ // See file src/app/share/collection/bugs/Issue_#937_case5.val
+ ASSERT_TEST_CASE("Issue 937. Case5",
+ QStringLiteral("://Issue_937_case_5/input.json"),
+ QStringLiteral("://Issue_937_case_5/output.json"),
+ 37.795275590551185 /*seam allowance width*/);
}
//---------------------------------------------------------------------------------------------------------------------
@@ -5168,7 +993,7 @@ void TST_VAbstractPiece::EquidistantAngleType() const
}
//---------------------------------------------------------------------------------------------------------------------
-void TST_VAbstractPiece::CorrectEquidistantPoints_data() const
+void TST_VAbstractPiece::CorrectEquidistantPoints_data()
{
QTest::addColumn>("points");
QTest::addColumn>("expect");
@@ -5189,42 +1014,6 @@ void TST_VAbstractPiece::CorrectEquidistantPoints_data() const
expect.append(QPointF(-741.7894588053705, 1065.7336503858917));
QTest::newRow("Closed seam allowance. Last point equal first.") << points << expect << false;
-
- points.clear();
- points.append(VSAPoint(1710.822186539242, -337.9528818897638));
- points.append(VSAPoint(2241.0236220472443, -337.9528818897638));
- points.append(VSAPoint(2241.0236220472443, -73.38595275590546));
- points.append(VSAPoint(1756.74661444881, -77.4022977175182));
- points.append(VSAPoint(1458.7808499813127, 33.04551440097044));
- points.append(VSAPoint(1458.7808499813127, 33.04551440097044));
- points.append(VSAPoint(1452.5774742317267, 17.66797799862358));
- points.append(VSAPoint(1443.6033514625851, -2.685141373445197));
- points.append(VSAPoint(1432.9463842425444, -25.199242282717215));
- points.append(VSAPoint(1420.460146989685, -50.18887828170325));
- points.append(VSAPoint(1405.9982141220862, -77.96860292291412));
- points.append(VSAPoint(1389.4141600578282, -108.85296975886055));
- points.append(VSAPoint(1360.549818901188, -161.20243176452524));
- points.append(VSAPoint(1337.599051333226, -201.88618662356873));
- points.append(VSAPoint(1337.599051333226, -201.88618662356873));
- points.append(VSAPoint(1710.8221865392422, -337.95288188976184));
-
- expect.clear();
- expect.append(VSAPoint(1710.822186539242, -337.9528818897638));
- expect.append(VSAPoint(2241.0236220472443, -337.9528818897638));
- expect.append(VSAPoint(2241.0236220472443, -73.38595275590546));
- expect.append(VSAPoint(1756.74661444881, -77.4022977175182));
- expect.append(VSAPoint(1458.7808499813127, 33.04551440097044));
- expect.append(VSAPoint(1452.5774742317267, 17.66797799862358));
- expect.append(VSAPoint(1443.6033514625851, -2.685141373445197));
- expect.append(VSAPoint(1432.9463842425444, -25.199242282717215));
- expect.append(VSAPoint(1420.460146989685, -50.18887828170325));
- expect.append(VSAPoint(1405.9982141220862, -77.96860292291412));
- expect.append(VSAPoint(1389.4141600578282, -108.85296975886055));
- expect.append(VSAPoint(1360.549818901188, -161.20243176452524));
- expect.append(VSAPoint(1337.599051333226, -201.88618662356873));
-
- // See the file "collection/bugs/Issue_#686.val"
- QTest::newRow("Issue #686.") << points << expect << true;
}
//---------------------------------------------------------------------------------------------------------------------
@@ -5246,164 +1035,26 @@ void TST_VAbstractPiece::TestCorrectEquidistantPoints_data()
QTest::addColumn>("before");
QTest::addColumn>("expect");
- QVector before;
- before << QPointF(30.0, 39.999874015748034);
- before << QPointF(785.9055118110236, 39.999874015748034);
- before << QPointF(785.9055118110236, 3819.527433070866);
- before << QPointF(483.54330708661416, 3819.527433070866);
- before << QPointF(483.54330708661416, 1929.763653543307);
- before << QPointF(407.9527559055629, 984.8817637795973);
- before << QPointF(407.9527559055118, 1929.763653543307);
- before << QPointF(407.9527559055118, 3819.527433070866);
- before << QPointF(30.0, 3819.527433070866);
+ auto ASSERT_TEST_CASE = [this](const char *title, const QString &input, const QString &output)
+ {
+ QVector inputPoints;
+ AbstractTest::VectorFromJson(input, inputPoints);
- QVector expect;
- expect << QPointF(30.0, 39.999874015748034);
- expect << QPointF(785.9055118110236, 39.999874015748034);
- expect << QPointF(785.9055118110236, 3819.527433070866);
- expect << QPointF(483.54330708661416, 3819.527433070866);
- expect << QPointF(483.54330708661416, 1929.763653543307);
- expect << QPointF(407.9527559055629, 984.8817637795973);
- expect << QPointF(407.9527559055118, 1929.763653543307);
- expect << QPointF(407.9527559055118, 3819.527433070866);
- expect << QPointF(30.0, 3819.527433070866);
+ QVector outputPoints;
+ AbstractTest::VectorFromJson(output, outputPoints);
- QTest::newRow("Test case issue #548") << before << expect;
+ QTest::newRow(title) << inputPoints << outputPoints;
+ };
- before.clear();
- before << QPointF(2555.0992166373157, 1774.4207500831487);
- before << QPointF(2533.267784793755, 1653.2290736835712);
- before << QPointF(2506.535007601057, 1502.652017289041);
- before << QPointF(2491.542377709352, 1415.6778721390556);
- before << QPointF(2478.773102822018, 1338.265755656977);
- before << QPointF(2468.038937020391, 1268.6117806424259);
- before << QPointF(2459.151634385811, 1204.9120598950217);
- before << QPointF(2451.9229489996146, 1145.3627062143837);
- before << QPointF(2446.16463494314, 1088.1598324001313);
- before << QPointF(2441.688446297725, 1031.4995512518844);
- before << QPointF(2438.3061371447066, 973.5779755692625);
- before << QPointF(2435.829461565424, 912.5912181518852);
- before << QPointF(2434.0701736412148, 846.7353917993719);
- before << QPointF(2432.8400274534156, 774.2066093113424);
- before << QPointF(2431.567845112944, 650.353473841431);
- before << QPointF(2430.8388882820395, 551.3113535235192);
- before << QPointF(2430.8388882820395, 551.3113535235192);
- before << QPointF(2521.6176598985803, 672.644700521423);
- before << QPointF(2521.6176454460388, 672.6446812044021);
- before << QPointF(2524.825194988043, 676.8586168908913);
- before << QPointF(2531.556290527688, 684.9826746886265);
- before << QPointF(2538.6519462028364, 692.7334672321138);
- before << QPointF(2546.0959002232003, 700.1013401169566);
- before << QPointF(2553.8718907984908, 707.0766389387593);
- before << QPointF(2561.9636561384195, 713.6497092931257);
- before << QPointF(2570.354934452699, 719.8108967756598);
- before << QPointF(2579.0294639510394, 725.5505469819657);
- before << QPointF(2587.9709828431537, 730.8590055076468);
- before << QPointF(2597.1632293387524, 735.7266179483076);
- before << QPointF(2606.5899416475477, 740.1437298995519);
- before << QPointF(2616.2348579792506, 744.1006869569835);
- before << QPointF(2626.0817165435737, 747.5878347162065);
- before << QPointF(2636.1142555502283, 750.5955187728248);
- before << QPointF(2646.3162132089255, 753.1140847224424);
- before << QPointF(2656.6713277293766, 755.1338781606632);
- before << QPointF(2661.9066021773087, 755.9323325983765);
- before << QPointF(2669.4674223109823, 756.929551265488);
- before << QPointF(2684.673455582832, 758.0191371470853);
- before << QPointF(2692.299212598425, 758.1101102362205);
- before << QPointF(2692.299212598425, 758.1101102362205);
- before << QPointF(2692.299212598425, 758.1101102362205);
- before << QPointF(2699.3540234509323, 757.9931392559722);
- before << QPointF(2713.2964524768695, 756.6087867033591);
- before << QPointF(2726.9543839401804, 753.8786800188636);
- before << QPointF(2740.2346330100504, 749.8414176232166);
- before << QPointF(2753.0440148556645, 744.5355979371486);
- before << QPointF(2765.2893446462085, 737.9998193813908);
- before << QPointF(2776.8774375508674, 730.2726803766734);
- before << QPointF(2787.7151087388274, 721.3927793437279);
- before << QPointF(2792.78632430596, 716.4869857232671);
- before << QPointF(2795.193441837398, 714.0407970608542);
- before << QPointF(2797.5205646867075, 711.5183868986292);
- before << QPointF(2797.55905511811, 711.5533198040212);
- before << QPointF(2797.55905511811, 711.5533198040212);
- before << QPointF(2797.5653033070657, 778.3129219994751);
- before << QPointF(2798.042165185835, 888.6599947271147);
- before << QPointF(2799.2551263764, 959.1215703859448);
- before << QPointF(2800.6047354960533, 1003.4500031833654);
- before << QPointF(2802.525679148114, 1047.064797090694);
- before << QPointF(2805.1184282354075, 1091.416649923951);
- before << QPointF(2808.4834536607586, 1137.9562594991576);
- before << QPointF(2812.7212263269944, 1188.1343236323337);
- before << QPointF(2817.932217136939, 1243.4015401395004);
- before << QPointF(2824.216896993419, 1305.208606836678);
- before << QPointF(2835.7112555523727, 1412.0840031200023);
- before << QPointF(2855.928400378448, 1592.3456114466708);
- before << QPointF(2868.5464960059594, 1703.7728336081707);
-
- expect.clear();
- expect << QPointF(2555.0992166373157, 1774.4207500831487);
- expect << QPointF(2533.267784793755, 1653.2290736835712);
- expect << QPointF(2506.535007601057, 1502.652017289041);
- expect << QPointF(2491.542377709352, 1415.6778721390556);
- expect << QPointF(2478.773102822018, 1338.265755656977);
- expect << QPointF(2468.038937020391, 1268.6117806424259);
- expect << QPointF(2459.151634385811, 1204.9120598950217);
- expect << QPointF(2451.9229489996146, 1145.3627062143837);
- expect << QPointF(2446.16463494314, 1088.1598324001313);
- expect << QPointF(2441.688446297725, 1031.4995512518844);
- expect << QPointF(2438.3061371447066, 973.5779755692625);
- expect << QPointF(2435.829461565424, 912.5912181518852);
- expect << QPointF(2434.0701736412148, 846.7353917993719);
- expect << QPointF(2432.8400274534156, 774.2066093113424);
- expect << QPointF(2431.567845112944, 650.353473841431);
- expect << QPointF(2430.8388882820395, 551.3113535235192);
- expect << QPointF(2521.6176598985803, 672.644700521423);
- expect << QPointF(2524.825194988043, 676.8586168908913);
- expect << QPointF(2531.556290527688, 684.9826746886265);
- expect << QPointF(2538.6519462028364, 692.7334672321138);
- expect << QPointF(2546.0959002232003, 700.1013401169566);
- expect << QPointF(2553.8718907984908, 707.0766389387593);
- expect << QPointF(2561.9636561384195, 713.6497092931257);
- expect << QPointF(2570.354934452699, 719.8108967756598);
- expect << QPointF(2579.0294639510394, 725.5505469819657);
- expect << QPointF(2587.9709828431537, 730.8590055076468);
- expect << QPointF(2597.1632293387524, 735.7266179483076);
- expect << QPointF(2606.5899416475477, 740.1437298995519);
- expect << QPointF(2616.2348579792506, 744.1006869569835);
- expect << QPointF(2626.0817165435737, 747.5878347162065);
- expect << QPointF(2636.1142555502283, 750.5955187728248);
- expect << QPointF(2646.3162132089255, 753.1140847224424);
- expect << QPointF(2656.6713277293766, 755.1338781606632);
- expect << QPointF(2661.9066021773087, 755.9323325983765);
- expect << QPointF(2669.4674223109823, 756.929551265488);
- expect << QPointF(2684.673455582832, 758.0191371470853);
- expect << QPointF(2692.299212598425, 758.1101102362205);
- expect << QPointF(2699.3540234509323, 757.9931392559722);
- expect << QPointF(2713.2964524768695, 756.6087867033591);
- expect << QPointF(2726.9543839401804, 753.8786800188636);
- expect << QPointF(2740.2346330100504, 749.8414176232166);
- expect << QPointF(2753.0440148556645, 744.5355979371486);
- expect << QPointF(2765.2893446462085, 737.9998193813908);
- expect << QPointF(2776.8774375508674, 730.2726803766734);
- expect << QPointF(2787.7151087388274, 721.3927793437279);
- expect << QPointF(2792.78632430596, 716.4869857232671);
- expect << QPointF(2795.193441837398, 714.0407970608542);
- expect << QPointF(2797.5205646867075, 711.5183868986292);
- expect << QPointF(2797.5653033070657, 778.3129219994751);
- expect << QPointF(2798.042165185835, 888.6599947271147);
- expect << QPointF(2799.2551263764, 959.1215703859448);
- expect << QPointF(2800.6047354960533, 1003.4500031833654);
- expect << QPointF(2802.525679148114, 1047.064797090694);
- expect << QPointF(2805.1184282354075, 1091.416649923951);
- expect << QPointF(2808.4834536607586, 1137.9562594991576);
- expect << QPointF(2812.7212263269944, 1188.1343236323337);
- expect << QPointF(2817.932217136939, 1243.4015401395004);
- expect << QPointF(2824.216896993419, 1305.208606836678);
- expect << QPointF(2835.7112555523727, 1412.0840031200023);
- expect << QPointF(2855.928400378448, 1592.3456114466708);
- expect << QPointF(2868.5464960059594, 1703.7728336081707);
+ // See file src/app/share/collection/bugs/Steampunk_trousers_issue_#548.val
+ ASSERT_TEST_CASE("Test case issue #548",
+ QStringLiteral("://Issue_548/input.json"),
+ QStringLiteral("://Issue_548/output.json"));
// See the file "collection/bugs/Issue_#642.val"
- QTest::newRow("Test case issue #642") << before << expect;
+ ASSERT_TEST_CASE("Test case issue #642",
+ QStringLiteral("://Issue_642/input.json"),
+ QStringLiteral("://Issue_642/output.json"));
}
//---------------------------------------------------------------------------------------------------------------------
@@ -5562,156 +1213,6 @@ void TST_VAbstractPiece::Case5() const
QVERIFY(qFuzzyIsNull(result));
}
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsIssue298Case1() const
-{
- QVector points;
-
- points += VSAPoint(1168.8582803149607, 39.999874015748034);
- points += VSAPoint(1168.8582803149607, 39.999874015748034);
- points += VSAPoint(1158.4080212626877, 52.34979612030506);
- points += VSAPoint(1138.6467679457483, 77.34433043475516);
- points += VSAPoint(1120.211621843451, 102.68135735665871);
- points += VSAPoint(1103.0570156997037, 128.3485040871826);
- points += VSAPoint(1087.1373822584126, 154.33339782749366);
- points += VSAPoint(1072.4071542634842, 180.62366577875878);
- points += VSAPoint(1058.8207644588258, 207.20693514214486);
- points += VSAPoint(1046.3326455883434, 234.07083311881877);
- points += VSAPoint(1034.8972303959442, 261.2029869099473);
- points += VSAPoint(1024.4689516255348, 288.5910237166974);
- points += VSAPoint(1015.0022420210217, 316.22257074023594);
- points += VSAPoint(1006.451534326312, 344.08525518172974);
- points += VSAPoint(998.7712612853122, 372.16670424234576);
- points += VSAPoint(991.9158556419289, 400.4545451232507);
- points += VSAPoint(982.9908265175081, 443.2242931323019);
- points += VSAPoint(973.6824125433218, 500.88985222984854);
- points += VSAPoint(966.8532575499223, 559.1582682295549);
- points += VSAPoint(962.1388234885637, 617.9305587407562);
- points += VSAPoint(959.1745723104998, 677.107741372787);
- points += VSAPoint(957.5959659669836, 736.5908337349825);
- points += VSAPoint(957.0384664092692, 796.2808534366778);
- points += VSAPoint(957.3056451064515, 885.992413850848);
- points += VSAPoint(957.688768266514, 942.023249737111);
- points += VSAPoint(957.688768266514, 942.023249737111);
- points += VSAPoint(496.34439043247056, 491.011561876428);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue298Case1() const
-{
- QVector points;
-
- points += QPointF(1181.370211203355211, -59.406362870594705);
- points += QPointF(1269.039464046917146, 38.629190783372337);
- points += QPointF(1216.924519205873821, 100.217664911215365);
- points += QPointF(1198.880813132726189, 123.039801916996382);
- points += QPointF(1182.221067861893971, 145.936740845325801);
- points += QPointF(1166.732941367353760, 169.110459436420683);
- points += QPointF(1152.362568406511855, 192.566565745224665);
- points += QPointF(1139.058546034391838, 216.311365426063503);
- points += QPointF(1126.772026102835753, 240.351296090144842);
- points += QPointF(1115.456677001792968, 264.692382764083675);
- points += QPointF(1105.068527046499639, 289.339750389149117);
- points += QPointF(1095.565711567573317, 314.297220920440736);
- points += QPointF(1086.908151663856643, 339.567011965302527);
- points += QPointF(1079.057194431329890, 365.149542878958755);
- points += QPointF(1071.975242726907936, 391.043344437292944);
- points += QPointF(1065.665089220277650, 417.081281156897660);
- points += QPointF(1057.340196822427288, 456.975106162385032);
- points += QPointF(1048.568245158969830, 511.317285018278824);
- points += QPointF(1042.091086301033556, 566.582363522894866);
- points += QPointF(1037.578000765741308, 622.844551248912239);
- points += QPointF(1034.714937128092288, 680.001664325593765);
- points += QPointF(1033.177151285076661, 737.946609060597439);
- points += QPointF(1032.630068889550103, 796.521290449247772);
- points += QPointF(1032.895861058649189, 885.767291298921236);
- points += QPointF(1033.622065798040012, 991.890644345887608);
- points += QPointF(940.875971287879679, 1031.297840617347674);
- points += QPointF(376.989021179537758, 480.040217570165055);
- points += QPointF(1181.370211203355211, -59.406362870594705);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsIssue298Case2() const
-{
- QVector points;
-
- points += VSAPoint(35.0000125984252, 39.999874015748034);
- points += VSAPoint(957.688768266514, 942.023249737111);
- points += VSAPoint(957.688768266514, 942.023249737111);
- points += VSAPoint(957.9428301208773, 1005.4262286032558);
- points += VSAPoint(956.808738701602, 1094.3704783643723);
- points += VSAPoint(954.7225808350249, 1153.2234318990995);
- points += VSAPoint(951.1057634130252, 1211.5904360386712);
- points += VSAPoint(945.5937483868565, 1269.3725083924223);
- points += VSAPoint(937.8219977077727, 1326.4706665696876);
- points += VSAPoint(930.2003883425905, 1368.7591370124287);
- points += VSAPoint(924.2779568426622, 1396.7024844774487);
- points += VSAPoint(917.5855387770855, 1424.4191758035984);
- points += VSAPoint(910.0775668897668, 1451.896838192044);
- points += VSAPoint(901.7084739246127, 1479.1230988439531);
- points += VSAPoint(892.4326926255303, 1506.0855849604923);
- points += VSAPoint(882.2046557364258, 1532.7719237428282);
- points += VSAPoint(870.9787960012063, 1559.1697423921285);
- points += VSAPoint(858.7095461637784, 1585.266668109559);
- points += VSAPoint(845.3513389680488, 1611.0503280962876);
- points += VSAPoint(830.8586071579242, 1636.5083495534805);
- points += VSAPoint(815.1857834773112, 1661.6283596823046);
- points += VSAPoint(798.2873006701168, 1686.397985683927);
- points += VSAPoint(780.1175914802475, 1710.8048547595142);
- points += VSAPoint(760.6310886516098, 1734.8365941102336);
- points += VSAPoint(739.7822249281108, 1758.4808309372515);
- points += VSAPoint(717.5254330536571, 1781.725192441735);
- points += VSAPoint(693.8151457721555, 1804.5573058248515);
- points += VSAPoint(681.3372913240995, 1815.7969526662778);
- points += VSAPoint(681.3372913240995, 1815.7969526662778);
- points += VSAPoint(35.0000125984252, 39.999874015748034);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue298Case2() const
-{
- QVector points;
-
- points += QPointF(-10.830702765714818, 24.587011512350955);
- points += QPointF(39.855615789834275, -8.108689868294974);
- points += QPointF(995.420358378310425, 926.054352148911448);
- points += QPointF(995.739071214507590, 1005.591452546832215);
- points += QPointF(994.595477129484721, 1095.280975097498185);
- points += QPointF(992.476422619803429, 1155.061981412450905);
- points += QPointF(988.789854628764601, 1214.554597181484041);
- points += QPointF(983.146116203005363, 1273.717516824237237);
- points += QPointF(975.162259387381937, 1332.373994385974811);
- points += QPointF(967.294011183906719, 1376.030939480649295);
- points += QPointF(960.747162663436256, 1404.970782901272059);
- points += QPointF(953.776698619438662, 1433.733694668130738);
- points += QPointF(945.943213422085364, 1462.310028497729036);
- points += QPointF(937.651555831541259, 1490.826496264650814);
- points += QPointF(927.959066252289745, 1519.000254063481179);
- points += QPointF(917.252513621465937, 1546.935105471911356);
- points += QPointF(905.483201355421215, 1574.610862888628844);
- points += QPointF(892.603420021337570, 1602.006400609849152);
- points += QPointF(878.566640707536749, 1629.099822641174114);
- points += QPointF(863.327669349691632, 1655.868693058174813);
- points += QPointF(846.842744148650354, 1682.290319209389736);
- points += QPointF(829.069561733829687, 1708.342071091297839);
- points += QPointF(809.967223824731036, 1734.001714595385920);
- points += QPointF(789.496104075464928, 1759.247733255478124);
- points += QPointF(767.617643347237504, 1784.059613352606220);
- points += QPointF(744.294089369113522, 1808.418070909965081);
- points += QPointF(719.468376809343567, 1831.807034970131099);
- points += QPointF(664.990187962422283, 1881.389648383607664);
- points += QPointF(-10.830702765714818, 24.587011512350955);
-
- return points;
-}
-
//---------------------------------------------------------------------------------------------------------------------
QVector TST_VAbstractPiece::InputPointsIssue548Case1() const
{
@@ -5835,6310 +1336,3 @@ QVector TST_VAbstractPiece::InputPointsCase5a() const
return points;
}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsIssue646() const
-{
- QVector points;
-
- points.append(VSAPoint(1352.8346456692914, 1173.8581417322835));
-
- VSAPoint p = VSAPoint(1352.8346456692914, 1362.8345196850394);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(1352.8346456692914, 1362.8345196850394);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(1350.6660166205588, 1367.7550606147208);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(1344.6776732217286, 1376.7202577023593);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(1336.7920071638646, 1384.6921570699324);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(1327.102329227638, 1391.7349409463345);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(1315.7019501937195, 1397.9127915604581);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(1302.6841808427803, 1403.289891141198);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(1288.142331955491, 1407.930421917447);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(1272.169714312523, 1411.8985661180982);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(1245.881900239392, 1416.7944475909562);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(1206.4717817874364, 1421.4666032853988);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(1163.0181823648445, 1424.6044927975377);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(1116.2675882169847, 1426.7215739585208);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(1041.771617936041, 1429.0735145188771);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(963.6986998754783, 1432.082545646023);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(911.2249892802281, 1435.25097171387);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(859.186715186551, 1439.9658785863046);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(808.3303638398154, 1446.7407240944754);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(771.4905538168089, 1453.5750227393632);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(747.6486510586797, 1458.9887661869527);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(724.5221275003055, 1465.2063143234973);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(702.2042939223572, 1472.2918493778907);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(691.4173228346457, 1476.2203464566928);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(691.4173228346457, 1476.2203464566928);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(691.4173228346457, 1476.2203464566928);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(674.314621551016, 1482.390491353628);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(639.4466353664043, 1492.6483289419746);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(603.7620983221955, 1500.410735703404);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(567.2371765086411, 1505.6816136598163);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(529.8480360159926, 1508.4648648331117);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(491.5708429345011, 1508.7643912451913);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(452.3817633544179, 1506.5840949179556);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(412.2569633659944, 1501.9278778733042);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(371.1726090594818, 1494.7996421331377);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(329.10486652513146, 1485.2032897193571);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(286.0299018531947, 1473.1427226538626);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(241.92388113392275, 1458.6218429585542);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(196.762970457567, 1441.644552655333);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(150.52333591437866, 1422.2147537660987);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(103.18114359460913, 1400.3363483127525);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(54.712559588509635, 1376.013238317194);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(30.0, 1362.8345196850394);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- p = VSAPoint(30.0, 1362.8345196850394);
- p.SetSABefore(0.0);
- p.SetSAAfter(0.0);
- points.append(p);
-
- points.append(VSAPoint(30.0, 1173.8581417322835));
- points.append(VSAPoint(30.0, 39.999874015748034));
- points.append(VSAPoint(30.0, 39.999874015748034));
- points.append(VSAPoint(33.76305151898726, 60.995030973282226));
- points.append(VSAPoint(43.0315825387278, 101.39020424935029));
- points.append(VSAPoint(54.27954844568175, 139.90490371803747));
- points.append(VSAPoint(67.38308402773156, 176.57656822314317));
- points.append(VSAPoint(82.21832407275966, 211.44263660846684));
- points.append(VSAPoint(98.66140336864854, 244.5405477178079));
- points.append(VSAPoint(116.58845670328057, 275.9077403949657));
- points.append(VSAPoint(135.87561886453827, 305.58165348373984));
- points.append(VSAPoint(156.39902464030405, 333.59972582792955));
- points.append(VSAPoint(178.03480881846033, 359.9993962713345));
- points.append(VSAPoint(200.65910618688957, 384.8181036577539));
- points.append(VSAPoint(224.1480515334743, 408.0932868309873));
- points.append(VSAPoint(248.37777964609688, 429.8623846348342));
- points.append(VSAPoint(273.2244253126397, 450.1628359130938));
- points.append(VSAPoint(298.5641233209853, 469.03207950956573));
- points.append(VSAPoint(324.27300845901607, 486.50755426804926));
- points.append(VSAPoint(350.2272155146145, 502.62669903234394));
- points.append(VSAPoint(376.30287927566303, 517.4269526462492));
- points.append(VSAPoint(402.37613453004406, 530.9457539535643));
- points.append(VSAPoint(428.3231160656401, 543.220541798089));
- points.append(VSAPoint(454.0199586703335, 554.2887550236226));
- points.append(VSAPoint(479.34279713200675, 564.1878324739644));
- points.append(VSAPoint(504.1677662385423, 572.9552129929136));
- points.append(VSAPoint(528.3710007778225, 580.6283354242702));
- points.append(VSAPoint(563.3555698213261, 590.2932652501413));
- points.append(VSAPoint(606.5452489509445, 599.5232277128903));
- points.append(VSAPoint(645.018415993426, 605.0500570136577));
- points.append(VSAPoint(677.7841492518301, 607.1732639028387));
- points.append(VSAPoint(691.4173228346472, 606.9290078739998));
- points.append(VSAPoint(691.4173228346472, 606.9290078739998));
- points.append(VSAPoint(691.4173228346472, 606.9290078739998));
- points.append(VSAPoint(705.4040324293001, 606.5537669203095));
- points.append(VSAPoint(733.313887957579, 607.2856128814886));
- points.append(VSAPoint(761.113422978073, 609.7421003245712));
- points.append(VSAPoint(788.7648106968343, 613.8630604047041));
- points.append(VSAPoint(816.2302243199158, 619.5883242770342));
- points.append(VSAPoint(843.4718370533695, 626.8577230967081));
- points.append(VSAPoint(870.4518221032482, 635.6110880188726));
- points.append(VSAPoint(897.1323526756041, 645.7882501986744));
- points.append(VSAPoint(923.4756019764898, 657.3290407912602));
- points.append(VSAPoint(949.4437432119576, 670.1732909517772));
- points.append(VSAPoint(974.99894958806, 684.2608318353717));
- points.append(VSAPoint(1000.1033943108496, 699.5314945971908));
- points.append(VSAPoint(1024.7192505863786, 715.9251103923807));
- points.append(VSAPoint(1048.8086916206998, 733.381510376089));
- points.append(VSAPoint(1072.333890619865, 751.8405257034619));
- points.append(VSAPoint(1095.257020789927, 771.2419875296464));
- points.append(VSAPoint(1117.5402553369386, 791.5257270097891));
- points.append(VSAPoint(1139.1457674669518, 812.6315752990367));
- points.append(VSAPoint(1160.0357303860196, 834.4993635525362));
- points.append(VSAPoint(1180.1723173001938, 857.0689229254342));
- points.append(VSAPoint(1199.517701415527, 880.2800845728777));
- points.append(VSAPoint(1218.0340559380716, 904.0726796500132));
- points.append(VSAPoint(1235.6835540738803, 928.3865393119877));
- points.append(VSAPoint(1252.4283690290056, 953.1614947139476));
- points.append(VSAPoint(1268.2306740094996, 978.3373770110402));
- points.append(VSAPoint(1283.0526422214152, 1003.8540173584116));
- points.append(VSAPoint(1296.8564468708046, 1029.651246911209));
- points.append(VSAPoint(1309.60426116372, 1055.6688968245794));
- points.append(VSAPoint(1321.258258306214, 1081.846798253669));
- points.append(VSAPoint(1331.780611504339, 1108.1247823536248));
- points.append(VSAPoint(1341.1334939641479, 1134.4426802795938));
- points.append(VSAPoint(1349.2790788916927, 1160.7403231867224));
- points.append(VSAPoint(1352.8346456692914, 1173.8581417322835));
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue646() const
-{
- QVector points;
-
- points += QPointF(1391.208950895036196, 1170.962993556315041);
- points += QPointF(1352.834645669291376, 1362.834519685039368);
- points += QPointF(1350.666016620558821, 1367.755060614720833);
- points += QPointF(1344.677673221728583, 1376.720257702359277);
- points += QPointF(1336.792007163864582, 1384.692157069932364);
- points += QPointF(1327.102329227637938, 1391.734940946334518);
- points += QPointF(1315.701950193719540, 1397.912791560458118);
- points += QPointF(1302.684180842780279, 1403.289891141198041);
- points += QPointF(1288.142331955491045, 1407.930421917446893);
- points += QPointF(1272.169714312522956, 1411.898566118098188);
- points += QPointF(1245.881900239392053, 1416.794447590956224);
- points += QPointF(1206.471781787436385, 1421.466603285398833);
- points += QPointF(1163.018182364844506, 1424.604492797537659);
- points += QPointF(1116.251434660549648, 1426.328266269482128);
- points += QPointF(1041.780469940170860, 1429.338905293278913);
- points += QPointF(963.698699875478269, 1432.082545646022936);
- points += QPointF(911.224989280228101, 1435.250971713870058);
- points += QPointF(859.186715186551055, 1439.965878586304598);
- points += QPointF(808.330363839815391, 1446.740724094475354);
- points += QPointF(771.490553816808870, 1453.575022739363249);
- points += QPointF(747.648651058679661, 1458.988766186952716);
- points += QPointF(724.522127500305487, 1465.206314323497281);
- points += QPointF(702.303930175478968, 1472.598351272474929);
- points += QPointF(691.410064634745709, 1476.200359149115229);
- points += QPointF(674.314621551015989, 1482.390491353628022);
- points += QPointF(639.446635366404280, 1492.648328941974569);
- points += QPointF(603.762098322195470, 1500.410735703404043);
- points += QPointF(567.237176508641141, 1505.681613659816321);
- points += QPointF(529.848036015992648, 1508.464864833111733);
- points += QPointF(491.570842934501115, 1508.764391245191291);
- points += QPointF(452.381763354417899, 1506.584094917955554);
- points += QPointF(412.256963365994409, 1501.927877873304169);
- points += QPointF(371.172609059481772, 1494.799642133137695);
- points += QPointF(329.104866525131456, 1485.203289719357144);
- points += QPointF(286.029901853194701, 1473.142722653862620);
- points += QPointF(241.923881133922748, 1458.621842958554225);
- points += QPointF(196.762970457567008, 1441.644552655332973);
- points += QPointF(150.523335914378663, 1422.214753766098738);
- points += QPointF(103.181143594609125, 1400.336348312752534);
- points += QPointF(54.712559588509635, 1376.013238317194009);
- points += QPointF(30.000000000000000, 1362.834519685039368);
- points += QPointF(-7.795275590551185, 1173.858141732283457);
- points += QPointF(-7.795275590551185, 5.415841095792075);
- points += QPointF(61.101021830902567, -0.709641223911092);
- points += QPointF(70.804787644663136, 53.430485561778198);
- points += QPointF(79.621893949255821, 91.858207949387321);
- points += QPointF(90.246472404177823, 128.238336548445801);
- points += QPointF(102.598525719285533, 162.806896482859997);
- points += QPointF(116.561156626640255, 195.622141977860792);
- points += QPointF(132.020820327959171, 226.740557559210657);
- points += QPointF(148.866694189775330, 256.215996794830687);
- points += QPointF(166.989862068105765, 284.099067617716173);
- points += QPointF(186.282415544815365, 310.436809263543466);
- points += QPointF(206.636574872612272, 335.272659629850125);
- points += QPointF(227.943914251639484, 358.646672648665174);
- points += QPointF(250.094746479310828, 380.595920259885645);
- points += QPointF(272.977689667348102, 401.155004785507970);
- points += QPointF(296.479410672457789, 420.356612464162595);
- points += QPointF(320.484520119941976, 438.232052715083057);
- points += QPointF(344.875583217325925, 454.811745113349389);
- points += QPointF(369.533207535191309, 470.125632957113510);
- points += QPointF(394.336171069434499, 484.203516229699574);
- points += QPointF(419.161558577576955, 497.075306799206203);
- points += QPointF(443.884879192889571, 508.771215047678083);
- points += QPointF(468.380141996197040, 519.321880586368479);
- points += QPointF(492.685597452467846, 528.352504009663221);
- points += QPointF(516.320650508090694, 536.723905788816978);
- points += QPointF(539.117950666889328, 544.386269737582552);
- points += QPointF(572.344990077737634, 553.565659766025306);
- points += QPointF(613.189423788536715, 562.294425470246097);
- points += QPointF(648.933498530834640, 567.429209393712085);
- points += QPointF(678.669134099110011, 569.356067120192051);
- points += QPointF(690.568570597070675, 569.081735831889887);
- points += QPointF(705.392572803380290, 568.745199404635628);
- points += QPointF(735.474713539123286, 569.534006540479368);
- points += QPointF(765.566399788106537, 572.193038404045183);
- points += QPointF(795.412302351329231, 576.641052885977615);
- points += QPointF(824.965602108301027, 582.801544103358651);
- points += QPointF(854.183547042348096, 590.598325318004754);
- points += QPointF(883.026844991811231, 599.956221997473222);
- points += QPointF(911.458987786852845, 610.801528373960082);
- points += QPointF(939.445585340395041, 623.062258175182706);
- points += QPointF(966.953760734297589, 636.668233397471113);
- points += QPointF(993.951633091167878, 651.551057077311953);
- points += QPointF(1020.407896673002142, 667.644011275547427);
- points += QPointF(1046.291492516970493, 684.881913581870663);
- points += QPointF(1071.571362058354453, 703.200956917979283);
- points += QPointF(1096.216269205860954, 722.538549717668161);
- points += QPointF(1120.194676878594692, 742.833167322850727);
- points += QPointF(1143.474664990699466, 764.024220756791237);
- points += QPointF(1166.023878517905587, 786.051945759705632);
- points += QPointF(1187.809496086382978, 808.857312806304776);
- points += QPointF(1208.798211222750524, 832.381957496594623);
- points += QPointF(1228.956219823794299, 856.568129936486116);
- points += QPointF(1248.249208518187288, 881.358661316437406);
- points += QPointF(1266.642339372855531, 906.696945663310998);
- points += QPointF(1284.100226878135345, 932.526934559267829);
- points += QPointF(1300.586903355860159, 958.793142367925725);
- points += QPointF(1316.065768928307079, 985.440659091103726);
- points += QPointF(1330.499521993679309, 1012.415167249780893);
- points += QPointF(1343.850065889632106, 1039.662958067617637);
- points += QPointF(1356.078387161140199, 1067.130940509586480);
- points += QPointF(1367.144400813506536, 1094.766634287532270);
- points += QPointF(1377.006758382478893, 1122.518134525559162);
- points += QPointF(1385.200774121173936, 1150.078352724689012);
- points += QPointF(1391.208950895036196, 1170.962993556315041);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsIssue923Test1()
-{
- QVector points;
-
- VSAPoint p = VSAPoint(-814.714960629921279, 331.313196850393751);
- p.SetSABefore(37.7953);
- p.SetSAAfter(0);
- points += p;
-
- p = VSAPoint(-814.714960629921279, -8.844283464566928);
- p.SetSABefore(0);
- p.SetSAAfter(37.7953);
- points += p;
-
- p = VSAPoint(-814.714960629921279, -8.844283464566928);
- p.SetSABefore(0);
- p.SetSAAfter(37.7953);
- points += p;
-
- p = VSAPoint(-810.914791391285917, -9.118915311803084);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-773.697565712941014, -13.057776517652679);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-731.369396039071717, -19.564193239769612);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-700.813861852517789, -25.693917945236084);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-670.539289284542633, -33.532046871057645);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-649.425406024800168, -40.690709434256448);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-636.497248173983621, -46.041845587202857);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-630.550935626324190, -48.932226964906654);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-612.770937464562508, -58.178811938993192);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-595.504209442756292, -69.042252656202692);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(-590.462992125984215, -72.529322834645669);
- points += VSAPoint(-590.462992125984215, -72.529322834645669);
- points += VSAPoint(-231.118006951984967, 95.879158575193841);
- points += VSAPoint(-231.118006951984967, 95.879158575193841);
-
- p = VSAPoint(-238.402815433872661, 116.441912166387880);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-251.054901827475362, 155.855307076335350);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-261.519858253217421, 193.398201754121601);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-269.924247729261879, 229.275078971710684);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-276.394633273771547, 263.690421501066567);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-281.057577904909294, 296.848712114153273);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-284.039644640838333, 328.954433582934655);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(-284.147385597229004, 331.313196850393751);
- points += VSAPoint(-284.147385597229004, 331.313196850393751);
- points += VSAPoint(-284.147385597229004, 331.313196850393751);
-
- p = VSAPoint(-285.555799865587915, 332.073678193884462);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-288.834524762284673, 333.546028373225568);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-292.651017475591800, 334.960499310104979);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-296.986935988437835, 336.317597411974702);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-304.365417624891165, 338.253791617484694);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-315.933705242960059, 340.629827700589658);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-329.249539751899079, 342.785487777791332);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-344.166185015137103, 344.724823108705550);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-360.536904896102669, 346.451884952948035);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-378.214963258224429, 347.970724570134507);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-397.053623964930921, 349.285393219880916);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-416.906150879651022, 350.399942161802983);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-437.625807865813101, 351.318422655516372);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-459.065858786846093, 352.044885960637032);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-481.079567506178364, 352.583383336780628);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-503.520197887238680, 352.937966043563051);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-526.241013793455750, 353.112685340600024);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-549.095279088258053, 353.111592487507210);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-571.936257635074298, 352.938738743900558);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-594.617213297333365, 352.598175369395790);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-616.991409938463448, 352.093953623608741);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-638.912111421893314, 351.430124766155018);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-660.232581611051955, 350.610740056650570);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-680.806084369367682, 349.639850754711119);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-700.485883560269031, 348.521508119952557);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-719.125243047185108, 347.259763411990377);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-736.577426693544112, 345.858667890440699);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-752.695698362774920, 344.322272814919074);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-767.333321918305955, 342.654629445041451);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-780.343561223566212, 340.859789040423379);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-791.579680141983886, 338.941802860680923);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-800.894942536987969, 336.904722165429632);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-806.464504883768996, 335.297692803701807);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-809.543928560675113, 334.193629625334438);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-812.060599029906371, 333.062071651623739);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-813.996174274391478, 331.903525290021662);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-814.714960629921279, 331.313196850393751);
- p.SetSABefore(37.7953);
- p.SetSAAfter(0);
- points += p;
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue923Test1()
-{
- QVector 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 TST_VAbstractPiece::InputPointsIssue923Test2()
-{
- QVector points;
-
- VSAPoint p = VSAPoint(-814.714960629921279, 331.313196850393751);
- p.SetSABefore(37.7953);
- p.SetSAAfter(0);
- p.SetAngleType(PieceNodeAngle::ByPointsIntersection);
- points += p;
-
- p = VSAPoint(-814.714960629921279, -8.844283464566928);
- p.SetSABefore(0);
- p.SetSAAfter(37.7953);
- points += p;
-
- p = VSAPoint(-814.714960629921279, -8.844283464566928);
- p.SetSABefore(0);
- p.SetSAAfter(37.7953);
- points += p;
-
- p = VSAPoint(-810.914791391285917, -9.118915311803084);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-784.796811799170428, -11.786677450886199);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-760.074257477017909, -14.982052994904290);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-731.369396039071717, -19.564193239769612);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-708.501798871969640, -24.059737122589585);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-693.161045035388270, -27.541649295426971);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-678.023758751400692, -31.460713758337747);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-663.356394315905163, -35.837032981291159);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-649.425406024800168, -40.690709434256448);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-636.497248173983621, -46.041845587202857);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-630.550935626324190, -48.932226964906654);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-620.995311558273102, -53.816395724048519);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-607.498846895736733, -61.326635727968828);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-595.504209442756292, -69.042252656202692);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(-590.462992125984215, -72.529322834645669);
- points += VSAPoint(-590.462992125984215, -72.529322834645669);
- points += VSAPoint(-231.118006951984967, 95.879158575193841);
- points += VSAPoint(-231.118006951984967, 95.879158575193841);
-
- p = VSAPoint(-234.809931494910188, 106.205894212251422);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-241.706487749582209, 126.418557245008685);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-248.032530946383588, 146.125254699982435);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-253.803881462584570, 165.351546923668138);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-259.036359675455628, 184.122994262561235);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-263.745785962267064, 202.465157063157335);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-267.947980700289236, 220.403595671951877);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-271.658764266792559, 237.963870435440356);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-274.893957039047393, 255.171541700118325);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-277.669379394324153, 272.052169812481225);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-280.000851709893027, 288.631315119024521);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-281.904194363024544, 304.934537966243795);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-284.039644640838333, 328.954433582934655);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(-284.147385633699400, 331.313196850393751);
- points += VSAPoint(-284.147385633699400, 331.313196850393751);
- points += VSAPoint(-284.147385633699400, 331.313196850393751);
-
- p = VSAPoint(-285.555799902053877, 332.073678193884462);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-288.834524798697998, 333.546028373225568);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-292.651017511901614, 334.960499310104979);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-296.986936024594911, 336.317597411974702);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-304.365417660736114, 338.253791617484694);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-315.933705278224011, 340.629827700589658);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-329.249539786415085, 342.785487777791332);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-344.166185048751572, 344.724823108705550);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-360.536904928675426, 346.451884952948035);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-378.214963289628486, 347.970724570134507);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-397.053623995052874, 349.285393219880916);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-416.906150908390600, 350.399942161802983);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-437.625807893083675, 351.318422655516372);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-459.065858812573993, 352.044885960637032);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-481.079567530303621, 352.583383336780628);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-503.520197909714511, 352.937966043563051);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-526.241013814248618, 353.112685340600024);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-549.095279107348233, 353.111592487507210);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-571.936257652454970, 352.938738743900558);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-594.617213313011007, 352.598175369395790);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-616.991409952458298, 352.093953623608741);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-638.912111434238795, 351.430124766155018);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-660.232581621794679, 350.610740056650570);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-680.806084378567789, 349.639850754711119);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-700.485883568000077, 348.521508119952557);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-719.125243053533723, 347.259763411990377);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-736.577426698610566, 345.858667890440699);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-752.695698366672559, 344.322272814919074);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-767.333321921161996, 342.654629445041451);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-780.343561225520489, 340.859789040423379);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-791.579680143190444, 338.941802860680923);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-800.894942537613588, 336.904722165429632);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-806.464504884082544, 335.297692803701807);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-809.543928560835866, 334.193629625334438);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-812.060599029963441, 333.062071651623739);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-813.996174274395912, 331.903525290021662);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-814.714960629921279, 331.313196850393751);
- p.SetSABefore(37.7953);
- p.SetSAAfter(0);
- p.SetAngleType(PieceNodeAngle::ByPointsIntersection);
- points += p;
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue923Test2()
-{
- QVector points;
-
- points += QPointF(-814.714960629921279, 372.254255263580490);
- points += QPointF(-814.714960629921279, 331.313196850393751);
- points += QPointF(-814.714960629921279, -46.738127408018386);
- points += QPointF(-814.197926270521180, -46.775492612642196);
- points += QPointF(-789.140213051348155, -49.334956233568391);
- points += QPointF(-765.476716482266852, -52.393449188523491);
- points += QPointF(-737.995740821697950, -56.780221262468970);
- points += QPointF(-716.331603418113787, -61.039176834826399);
- points += QPointF(-702.082363720278977, -64.273346529881294);
- points += QPointF(-688.166746660068270, -67.876119132381135);
- points += QPointF(-674.983023423591590, -71.809762540754065);
- points += QPointF(-662.881277988431520, -76.026115008433663);
- points += QPointF(-652.000013358218780, -80.530014885308333);
- points += QPointF(-647.414888772498330, -82.758750527910010);
- points += QPointF(-638.790539302210846, -87.166916645655860);
- points += QPointF(-626.931066473615147, -93.766236503837689);
- points += QPointF(-616.484087855132884, -100.486313320968108);
- points += QPointF(-594.096383910663576, -115.972155307751649);
- points += QPointF(-183.958889296992538, 76.240441185503187);
- points += QPointF(-199.128208171590842, 118.670762821515268);
- points += QPointF(-205.825015171693934, 138.297993904680141);
- points += QPointF(-211.936233005300977, 157.335473918921082);
- points += QPointF(-217.496918215929867, 175.859969792696745);
- points += QPointF(-222.524915681533457, 193.897845117910578);
- points += QPointF(-227.038178126608216, 211.475993598800500);
- points += QPointF(-231.054715694933805, 228.621894034446882);
- points += QPointF(-234.592533040731553, 245.363653164792709);
- points += QPointF(-237.669555346488721, 261.730031318712463);
- points += QPointF(-240.303546018901216, 277.750445980247605);
- points += QPointF(-242.512020202613343, 293.454949161782793);
- points += QPointF(-244.303509443293109, 308.800083297848346);
- points += QPointF(-246.320840785439799, 331.491357717148105);
- points += QPointF(-247.367543015896416, 354.406709688632361);
- points += QPointF(-268.813396279081758, 365.986520876534257);
- points += QPointF(-274.509592515332827, 368.544465142791694);
- points += QPointF(-280.430827174231638, 370.738996867293565);
- points += QPointF(-286.539948814471813, 372.651089393430880);
- points += QPointF(-295.760523804982597, 375.070669023561095);
- points += QPointF(-309.108660700135488, 377.812272271492361);
- points += QPointF(-323.791841340653832, 380.189287868497217);
- points += QPointF(-339.746492413262274, 382.263575885230011);
- points += QPointF(-356.936262218254399, 384.077045039871223);
- points += QPointF(-375.281527693557905, 385.653208859605968);
- points += QPointF(-394.678657424405628, 387.006850647149122);
- points += QPointF(-414.787606725105888, 388.135795504602129);
- points += QPointF(-435.952027004089416, 389.076617984495158);
- points += QPointF(-457.785958265362524, 389.818484035946028);
- points += QPointF(-480.155299367881639, 390.367355935352180);
- points += QPointF(-502.923072150244479, 390.728524359008020);
- points += QPointF(-525.950383021197354, 390.906843496429246);
- points += QPointF(-549.097086414790738, 390.906868034847378);
- points += QPointF(-572.222272885870439, 390.732932110765603);
- points += QPointF(-595.184660117100748, 390.389190982768582);
- points += QPointF(-617.842942758232198, 389.879635420374768);
- points += QPointF(-640.056148638506556, 389.208081776043002);
- points += QPointF(-661.684051750900380, 388.378134611080782);
- points += QPointF(-682.587707912334736, 387.393111203971273);
- points += QPointF(-702.630213618706989, 386.255904969502012);
- points += QPointF(-721.913933499378572, 384.952760768147186);
- points += QPointF(-739.883081024661010, 383.510162372682714);
- points += QPointF(-756.628370636720547, 381.913999891494996);
- points += QPointF(-772.055707413409664, 380.156385631588421);
- points += QPointF(-786.107417618598561, 378.217868080892174);
- points += QPointF(-798.800506213738572, 376.051179682334919);
- points += QPointF(-810.181063246566509, 373.562456117590386);
- points += QPointF(-814.714960629921279, 372.254255263580490);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsIssue923Test3()
-{
- QVector points;
-
- VSAPoint p = VSAPoint(-814.714960629921279, 331.313196850393751);
- p.SetSABefore(37.7953);
- p.SetSAAfter(0);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeSymmetry);
- points += p;
-
- p = VSAPoint(-814.714960629921279, -8.844283464566928);
- p.SetSABefore(0);
- p.SetSAAfter(37.7953);
- points += p;
-
- p = VSAPoint(-814.714960629921279, -8.844283464566928);
- p.SetSABefore(0);
- p.SetSAAfter(37.7953);
- points += p;
-
- p = VSAPoint(-810.914791391285917, -9.118915311803084);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-773.697565712941014, -13.057776517652679);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-731.369396039071717, -19.564193239769612);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-700.813861852517789, -25.693917945236084);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-670.539289284542633, -33.532046871057645);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-649.425406024800168, -40.690709434256448);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-636.497248173983621, -46.041845587202857);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-630.550935626324190, -48.932226964906654);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-612.770937464562508, -58.178811938993192);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-595.504209442756292, -69.042252656202692);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(-590.462992125984215, -72.529322834645669);
- points += VSAPoint(-590.462992125984215, -72.529322834645669);
- points += VSAPoint(-231.118006951984967, 95.879158575193841);
- points += VSAPoint(-231.118006951984967, 95.879158575193841);
-
- p = VSAPoint(-238.402815433872661, 116.441912166387880);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-251.054901827475362, 155.855307076335350);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-261.519858253217421, 193.398201754121601);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-269.924247729261879, 229.275078971710684);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-276.394633273771547, 263.690421501066567);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-281.057577904909294, 296.848712114153273);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-284.039644640838333, 328.954433582934655);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(-284.147385597229004, 331.313196850393751);
- points += VSAPoint(-284.147385597229004, 331.313196850393751);
- points += VSAPoint(-284.147385597229004, 331.313196850393751);
-
- p = VSAPoint(-285.555799865587915, 332.073678193884462);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-288.834524762284673, 333.546028373225568);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-292.651017475591800, 334.960499310104979);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-296.986935988437835, 336.317597411974702);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-304.365417624891165, 338.253791617484694);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-315.933705242960059, 340.629827700589658);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-329.249539751899079, 342.785487777791332);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-344.166185015137103, 344.724823108705550);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-360.536904896102669, 346.451884952948035);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-378.214963258224429, 347.970724570134507);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-397.053623964930921, 349.285393219880916);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-416.906150879651022, 350.399942161802983);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-437.625807865813101, 351.318422655516372);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-459.065858786846093, 352.044885960637032);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-481.079567506178364, 352.583383336780628);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-503.520197887238680, 352.937966043563051);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-526.241013793455750, 353.112685340600024);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-549.095279088258053, 353.111592487507210);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-571.936257635074298, 352.938738743900558);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-594.617213297333365, 352.598175369395790);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-616.991409938463448, 352.093953623608741);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-638.912111421893314, 351.430124766155018);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-660.232581611051955, 350.610740056650570);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-680.806084369367682, 349.639850754711119);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-700.485883560269031, 348.521508119952557);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-719.125243047185108, 347.259763411990377);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-736.577426693544112, 345.858667890440699);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-752.695698362774920, 344.322272814919074);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-767.333321918305955, 342.654629445041451);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-780.343561223566212, 340.859789040423379);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-791.579680141983886, 338.941802860680923);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-800.894942536987969, 336.904722165429632);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-806.464504883768996, 335.297692803701807);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-809.543928560675113, 334.193629625334438);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-812.060599029906371, 333.062071651623739);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-813.996174274391478, 331.903525290021662);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-814.714960629921279, 331.313196850393751);
- p.SetSABefore(37.7953);
- p.SetSAAfter(0);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeSymmetry);
- points += p;
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue923Test3()
-{
- QVector 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 TST_VAbstractPiece::InputPointsIssue923Test4()
-{
- QVector points;
-
- VSAPoint p = VSAPoint(-814.714960629921279, 331.313196850393751);
- p.SetSABefore(37.7953);
- p.SetSAAfter(0);
- points += p;
-
- p = VSAPoint(-814.714960629921279, -8.844283464566928);
- p.SetSABefore(0);
- p.SetSAAfter(37.7953);
- points += p;
-
- p = VSAPoint(-814.714960629921279, -8.844283464566928);
- p.SetSABefore(0);
- p.SetSAAfter(37.7953);
- points += p;
-
- p = VSAPoint(-810.914791391285917, -9.118915311803084);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-773.697565712941014, -13.057776517652679);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-731.369396039071717, -19.564193239769612);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-700.813861852517789, -25.693917945236084);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-670.539289284542633, -33.532046871057645);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-649.425406024800168, -40.690709434256448);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-636.497248173983621, -46.041845587202857);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-630.550935626324190, -48.932226964906654);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-612.770937464562508, -58.178811938993192);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-595.504209442756292, -69.042252656202692);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(-590.462992125984215, -72.529322834645669);
- points += VSAPoint(-590.462992125984215, -72.529322834645669);
- points += VSAPoint(-231.118006951984967, 95.879158575193841);
- points += VSAPoint(-231.118006951984967, 95.879158575193841);
-
- p = VSAPoint(-238.402815433872661, 116.441912166387880);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-251.054901827475362, 155.855307076335350);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-261.519858253217421, 193.398201754121601);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-269.924247729261879, 229.275078971710684);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-276.394633273771547, 263.690421501066567);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-281.057577904909294, 296.848712114153273);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-284.039644640838333, 328.954433582934655);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(-284.147385597229004, 331.313196850393751);
- points += VSAPoint(-284.147385597229004, 331.313196850393751);
- points += VSAPoint(-284.147385597229004, 331.313196850393751);
-
- p = VSAPoint(-285.555799865587915, 332.073678193884462);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-288.834524762284673, 333.546028373225568);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-292.651017475591800, 334.960499310104979);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-296.986935988437835, 336.317597411974702);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-304.365417624891165, 338.253791617484694);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-315.933705242960059, 340.629827700589658);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-329.249539751899079, 342.785487777791332);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-344.166185015137103, 344.724823108705550);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-360.536904896102669, 346.451884952948035);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-378.214963258224429, 347.970724570134507);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-397.053623964930921, 349.285393219880916);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-416.906150879651022, 350.399942161802983);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-437.625807865813101, 351.318422655516372);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-459.065858786846093, 352.044885960637032);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-481.079567506178364, 352.583383336780628);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-503.520197887238680, 352.937966043563051);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-526.241013793455750, 353.112685340600024);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-549.095279088258053, 353.111592487507210);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-571.936257635074298, 352.938738743900558);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-594.617213297333365, 352.598175369395790);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-616.991409938463448, 352.093953623608741);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-638.912111421893314, 351.430124766155018);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-660.232581611051955, 350.610740056650570);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-680.806084369367682, 349.639850754711119);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-700.485883560269031, 348.521508119952557);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-719.125243047185108, 347.259763411990377);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-736.577426693544112, 345.858667890440699);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-752.695698362774920, 344.322272814919074);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-767.333321918305955, 342.654629445041451);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-780.343561223566212, 340.859789040423379);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-791.579680141983886, 338.941802860680923);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-800.894942536987969, 336.904722165429632);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-806.464504883768996, 335.297692803701807);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-809.543928560675113, 334.193629625334438);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-812.060599029906371, 333.062071651623739);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-813.996174274391478, 331.903525290021662);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-814.714960629921279, 331.313196850393751);
- p.SetSABefore(37.7953);
- p.SetSAAfter(0);
- points += p;
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue923Test4()
-{
- QVector 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 TST_VAbstractPiece::InputPointsIssue923Test5()
-{
- QVector points;
-
- VSAPoint p = VSAPoint(-814.714960629921279, 331.313196850393751);
- p.SetSABefore(37.7953);
- p.SetSAAfter(0);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeRightAngle);
- points += p;
-
- p = VSAPoint(-814.714960629921279, -8.844283464566928);
- p.SetSABefore(0);
- p.SetSAAfter(37.7953);
- points += p;
-
- p = VSAPoint(-814.714960629921279, -8.844283464566928);
- p.SetSABefore(0);
- p.SetSAAfter(37.7953);
- points += p;
-
- p = VSAPoint(-810.914791391285917, -9.118915311803084);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-773.697565712941014, -13.057776517652679);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-731.369396039071717, -19.564193239769612);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-700.813861852517789, -25.693917945236084);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-670.539289284542633, -33.532046871057645);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-649.425406024800168, -40.690709434256448);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-636.497248173983621, -46.041845587202857);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-630.550935626324190, -48.932226964906654);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-612.770937464562508, -58.178811938993192);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-595.504209442756292, -69.042252656202692);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(-590.462992125984215, -72.529322834645669);
- points += VSAPoint(-590.462992125984215, -72.529322834645669);
- points += VSAPoint(-231.118006951984967, 95.879158575193841);
- points += VSAPoint(-231.118006951984967, 95.879158575193841);
-
- p = VSAPoint(-238.402815433872661, 116.441912166387880);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-251.054901827475362, 155.855307076335350);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-261.519858253217421, 193.398201754121601);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-269.924247729261879, 229.275078971710684);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-276.394633273771547, 263.690421501066567);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-281.057577904909294, 296.848712114153273);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-284.039644640838333, 328.954433582934655);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(-284.147385597229004, 331.313196850393751);
- points += VSAPoint(-284.147385597229004, 331.313196850393751);
- points += VSAPoint(-284.147385597229004, 331.313196850393751);
-
- p = VSAPoint(-285.555799865587915, 332.073678193884462);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-288.834524762284673, 333.546028373225568);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-292.651017475591800, 334.960499310104979);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-296.986935988437835, 336.317597411974702);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-304.365417624891165, 338.253791617484694);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-315.933705242960059, 340.629827700589658);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-329.249539751899079, 342.785487777791332);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-344.166185015137103, 344.724823108705550);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-360.536904896102669, 346.451884952948035);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-378.214963258224429, 347.970724570134507);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-397.053623964930921, 349.285393219880916);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-416.906150879651022, 350.399942161802983);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-437.625807865813101, 351.318422655516372);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-459.065858786846093, 352.044885960637032);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-481.079567506178364, 352.583383336780628);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-503.520197887238680, 352.937966043563051);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-526.241013793455750, 353.112685340600024);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-549.095279088258053, 353.111592487507210);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-571.936257635074298, 352.938738743900558);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-594.617213297333365, 352.598175369395790);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-616.991409938463448, 352.093953623608741);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-638.912111421893314, 351.430124766155018);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-660.232581611051955, 350.610740056650570);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-680.806084369367682, 349.639850754711119);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-700.485883560269031, 348.521508119952557);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-719.125243047185108, 347.259763411990377);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-736.577426693544112, 345.858667890440699);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-752.695698362774920, 344.322272814919074);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-767.333321918305955, 342.654629445041451);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-780.343561223566212, 340.859789040423379);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-791.579680141983886, 338.941802860680923);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-800.894942536987969, 336.904722165429632);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-806.464504883768996, 335.297692803701807);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-809.543928560675113, 334.193629625334438);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-812.060599029906371, 333.062071651623739);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-813.996174274391478, 331.903525290021662);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-814.714960629921279, 331.313196850393751);
- p.SetSABefore(37.7953);
- p.SetSAAfter(0);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeRightAngle);
- points += p;
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue923Test5()
-{
- QVector 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 TST_VAbstractPiece::InputPointsIssue923Test6()
-{
- QVector points;
-
- VSAPoint p = VSAPoint(-814.714960629921279, 331.313196850393751);
- p.SetSABefore(37.7953);
- p.SetSAAfter(0);
- p.SetAngleType(PieceNodeAngle::BySecondEdgeRightAngle);
- points += p;
-
- p = VSAPoint(-814.714960629921279, -8.844283464566928);
- p.SetSABefore(0);
- p.SetSAAfter(37.7953);
- points += p;
-
- p = VSAPoint(-814.714960629921279, -8.844283464566928);
- p.SetSABefore(0);
- p.SetSAAfter(37.7953);
- points += p;
-
- p = VSAPoint(-810.914791391285917, -9.118915311803084);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-773.697565712941014, -13.057776517652679);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-731.369396039071717, -19.564193239769612);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-700.813861852517789, -25.693917945236084);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-670.539289284542633, -33.532046871057645);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-649.425406024800168, -40.690709434256448);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-636.497248173983621, -46.041845587202857);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-630.550935626324190, -48.932226964906654);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-612.770937464562508, -58.178811938993192);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-595.504209442756292, -69.042252656202692);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(-590.462992125984215, -72.529322834645669);
- points += VSAPoint(-590.462992125984215, -72.529322834645669);
- points += VSAPoint(-231.118006951984967, 95.879158575193841);
- points += VSAPoint(-231.118006951984967, 95.879158575193841);
-
- p = VSAPoint(-238.402815433872661, 116.441912166387880);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-251.054901827475362, 155.855307076335350);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-261.519858253217421, 193.398201754121601);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-269.924247729261879, 229.275078971710684);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-276.394633273771547, 263.690421501066567);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-281.057577904909294, 296.848712114153273);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-284.039644640838333, 328.954433582934655);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(-284.147385597229004, 331.313196850393751);
- points += VSAPoint(-284.147385597229004, 331.313196850393751);
- points += VSAPoint(-284.147385597229004, 331.313196850393751);
-
- p = VSAPoint(-285.555799865587915, 332.073678193884462);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-288.834524762284673, 333.546028373225568);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-292.651017475591800, 334.960499310104979);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-296.986935988437835, 336.317597411974702);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-304.365417624891165, 338.253791617484694);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-315.933705242960059, 340.629827700589658);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-329.249539751899079, 342.785487777791332);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-344.166185015137103, 344.724823108705550);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-360.536904896102669, 346.451884952948035);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-378.214963258224429, 347.970724570134507);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-397.053623964930921, 349.285393219880916);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-416.906150879651022, 350.399942161802983);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-437.625807865813101, 351.318422655516372);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-459.065858786846093, 352.044885960637032);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-481.079567506178364, 352.583383336780628);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-503.520197887238680, 352.937966043563051);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-526.241013793455750, 353.112685340600024);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-549.095279088258053, 353.111592487507210);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-571.936257635074298, 352.938738743900558);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-594.617213297333365, 352.598175369395790);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-616.991409938463448, 352.093953623608741);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-638.912111421893314, 351.430124766155018);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-660.232581611051955, 350.610740056650570);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-680.806084369367682, 349.639850754711119);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-700.485883560269031, 348.521508119952557);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-719.125243047185108, 347.259763411990377);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-736.577426693544112, 345.858667890440699);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-752.695698362774920, 344.322272814919074);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-767.333321918305955, 342.654629445041451);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-780.343561223566212, 340.859789040423379);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-791.579680141983886, 338.941802860680923);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-800.894942536987969, 336.904722165429632);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-806.464504883768996, 335.297692803701807);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-809.543928560675113, 334.193629625334438);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-812.060599029906371, 333.062071651623739);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-813.996174274391478, 331.903525290021662);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-814.714960629921279, 331.313196850393751);
- p.SetSABefore(37.7953);
- p.SetSAAfter(0);
- p.SetAngleType(PieceNodeAngle::BySecondEdgeRightAngle);
- points += p;
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue923Test6()
-{
- QVector 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 TST_VAbstractPiece::InputPointsIssue923Test1_1()
-{
- QVector points;
-
- VSAPoint p = VSAPoint(-814.714960629921279, 331.313196850393751);
- p.SetSABefore(37.7953);
- p.SetSAAfter(151.181);
- points += p;
-
- p = VSAPoint(-814.714960629921279, -8.844283464566928);
- p.SetSABefore(0);
- p.SetSAAfter(37.7953);
- points += p;
-
- p = VSAPoint(-814.714960629921279, -8.844283464566928);
- p.SetSABefore(0);
- p.SetSAAfter(37.7953);
- points += p;
-
- p = VSAPoint(-810.914791391285917, -9.118915311803084);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-784.796811799170428, -11.786677450886199);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-760.074257477017909, -14.982052994904290);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-731.369396039071717, -19.564193239769612);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-708.501798871969640, -24.059737122589585);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-693.161045035388270, -27.541649295426971);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-678.023758751400692, -31.460713758337747);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-663.356394315905163, -35.837032981291159);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-649.425406024800168, -40.690709434256448);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-636.497248173983621, -46.041845587202857);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-630.550935626324190, -48.932226964906654);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-620.995311558273102, -53.816395724048519);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-607.498846895736733, -61.326635727968828);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-595.504209442756292, -69.042252656202692);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(-590.462992125984215, -72.529322834645669);
- points += VSAPoint(-590.462992125984215, -72.529322834645669);
- points += VSAPoint(-231.118006951984967, 95.879158575193841);
- points += VSAPoint(-231.118006951984967, 95.879158575193841);
-
- p = VSAPoint(-234.809931494910188, 106.205894212251422);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-241.706487749582209, 126.418557245008685);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-248.032530946383588, 146.125254699982435);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-253.803881462584570, 165.351546923668138);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-259.036359675455628, 184.122994262561235);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-263.745785962267064, 202.465157063157335);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-267.947980700289236, 220.403595671951877);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-271.658764266792559, 237.963870435440356);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-274.893957039047393, 255.171541700118325);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-277.669379394324153, 272.052169812481225);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-280.000851709893027, 288.631315119024521);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-281.904194363024544, 304.934537966243795);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-284.039644640838333, 328.954433582934655);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(-284.147385633699400, 331.313196850393751);
- points += VSAPoint(-284.147385633699400, 331.313196850393751);
- points += VSAPoint(-284.147385633699400, 331.313196850393751);
-
- p = VSAPoint(-285.555799902053877, 332.073678193884462);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-288.834524798697998, 333.546028373225568);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-292.651017511901614, 334.960499310104979);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-296.986936024594911, 336.317597411974702);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-304.365417660736114, 338.253791617484694);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-315.933705278224011, 340.629827700589658);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-329.249539786415085, 342.785487777791332);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-344.166185048751572, 344.724823108705550);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-360.536904928675426, 346.451884952948035);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-378.214963289628486, 347.970724570134507);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-397.053623995052874, 349.285393219880916);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-416.906150908390600, 350.399942161802983);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-437.625807893083675, 351.318422655516372);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-459.065858812573993, 352.044885960637032);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-481.079567530303621, 352.583383336780628);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-503.520197909714511, 352.937966043563051);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-526.241013814248618, 353.112685340600024);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-549.095279107348233, 353.111592487507210);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-571.936257652454970, 352.938738743900558);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-594.617213313011007, 352.598175369395790);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-616.991409952458298, 352.093953623608741);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-638.912111434238795, 351.430124766155018);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-660.232581621794679, 350.610740056650570);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-680.806084378567789, 349.639850754711119);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-700.485883568000077, 348.521508119952557);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-719.125243053533723, 347.259763411990377);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-736.577426698610566, 345.858667890440699);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-752.695698366672559, 344.322272814919074);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-767.333321921161996, 342.654629445041451);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-780.343561225520489, 340.859789040423379);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-791.579680143190444, 338.941802860680923);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-800.894942537613588, 336.904722165429632);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-806.464504884082544, 335.297692803701807);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-809.543928560835866, 334.193629625334438);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-812.060599029963441, 333.062071651623739);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-813.996174274395912, 331.903525290021662);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-814.714960629921279, 331.313196850393751);
- p.SetSABefore(37.7953);
- p.SetSAAfter(151.181);
- points += p;
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue923Test1_1()
-{
- QVector points;
-
- points += QPointF(-941.393414608729813, 276.182237987752274);
- points += QPointF(-831.030698870537890, 27.866127576820318);
- points += QPointF(-797.079525240757903, -48.524013090184425);
- points += QPointF(-789.140213051348155, -49.334956233568391);
- points += QPointF(-765.476716482266852, -52.393449188523491);
- points += QPointF(-737.995740821697950, -56.780221262468970);
- points += QPointF(-716.331603418113787, -61.039176834826399);
- points += QPointF(-702.082363720278977, -64.273346529881294);
- points += QPointF(-688.166746660068270, -67.876119132381135);
- points += QPointF(-674.983023423591590, -71.809762540754065);
- points += QPointF(-662.881277988431520, -76.026115008433663);
- points += QPointF(-652.000013358218780, -80.530014885308333);
- points += QPointF(-647.414888772498330, -82.758750527910010);
- points += QPointF(-638.790539302210846, -87.166916645655860);
- points += QPointF(-626.931066473615147, -93.766236503837689);
- points += QPointF(-616.484087855132884, -100.486313320968108);
- points += QPointF(-594.096383910663576, -115.972155307751649);
- points += QPointF(-183.958889296992538, 76.240441185503187);
- points += QPointF(-199.128208171590842, 118.670762821515268);
- points += QPointF(-205.825015171693934, 138.297993904680141);
- points += QPointF(-211.936233005300977, 157.335473918921082);
- points += QPointF(-217.496918215929867, 175.859969792696745);
- points += QPointF(-222.524915681533457, 193.897845117910578);
- points += QPointF(-227.038178126608216, 211.475993598800500);
- points += QPointF(-231.054715694933805, 228.621894034446882);
- points += QPointF(-234.592533040731553, 245.363653164792709);
- points += QPointF(-237.669555346488721, 261.730031318712463);
- points += QPointF(-240.303546018901216, 277.750445980247605);
- points += QPointF(-242.512020202613343, 293.454949161782793);
- points += QPointF(-244.303509443293109, 308.800083297848346);
- points += QPointF(-246.320840785439799, 331.491357717148105);
- points += QPointF(-247.367543015896416, 354.406709688632361);
- points += QPointF(-268.813396279081758, 365.986520876534257);
- points += QPointF(-274.509592515332827, 368.544465142791694);
- points += QPointF(-280.430827174231638, 370.738996867293565);
- points += QPointF(-286.539948814471813, 372.651089393430880);
- points += QPointF(-295.760523804982597, 375.070669023561095);
- points += QPointF(-309.108660700135488, 377.812272271492361);
- points += QPointF(-323.791841340653832, 380.189287868497217);
- points += QPointF(-339.746492413262274, 382.263575885230011);
- points += QPointF(-356.936262218254399, 384.077045039871223);
- points += QPointF(-375.281527693557905, 385.653208859605968);
- points += QPointF(-394.678657424405628, 387.006850647149122);
- points += QPointF(-414.787606725105888, 388.135795504602129);
- points += QPointF(-435.952027004089416, 389.076617984495158);
- points += QPointF(-457.785958265362524, 389.818484035946028);
- points += QPointF(-480.155299367881639, 390.367355935352180);
- points += QPointF(-502.923072150244479, 390.728524359008020);
- points += QPointF(-525.950383021197354, 390.906843496429246);
- points += QPointF(-549.097086414790738, 390.906868034847378);
- points += QPointF(-572.222272885870439, 390.732932110765603);
- points += QPointF(-595.184660117100748, 390.389190982768582);
- points += QPointF(-617.842942758232198, 389.879635420374768);
- points += QPointF(-640.056148638506556, 389.208081776043002);
- points += QPointF(-661.684051750900380, 388.378134611080782);
- points += QPointF(-682.587707912334736, 387.393111203971273);
- points += QPointF(-702.630213618706989, 386.255904969502012);
- points += QPointF(-721.913933499378572, 384.952760768147186);
- points += QPointF(-739.883081024661010, 383.510162372682714);
- points += QPointF(-756.628370636720547, 381.913999891494996);
- points += QPointF(-772.055707413409664, 380.156385631588421);
- points += QPointF(-786.107417618598561, 378.217868080892174);
- points += QPointF(-798.800506213738572, 376.051179682334919);
- points += QPointF(-810.181063246566509, 373.562456117590386);
- points += QPointF(-818.092955781375508, 371.279575916359818);
- points += QPointF(-823.692975528761167, 369.271805550790248);
- points += QPointF(-829.575336883340356, 366.626948793946269);
- points += QPointF(-835.815139715093551, 362.892089666854304);
- points += QPointF(-941.393414608729813, 276.182237987752274);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsIssue923Test2_2()
-{
- QVector points;
-
- VSAPoint p = VSAPoint(-814.714960629921279, 331.313196850393751);
- p.SetSABefore(37.7953);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByPointsIntersection);
- points += p;
-
- p = VSAPoint(-814.714960629921279, -8.844283464566928);
- p.SetSABefore(0);
- p.SetSAAfter(37.7953);
- points += p;
-
- p = VSAPoint(-814.714960629921279, -8.844283464566928);
- p.SetSABefore(0);
- p.SetSAAfter(37.7953);
- points += p;
-
- p = VSAPoint(-810.914791391285917, -9.118915311803084);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-784.796811799170428, -11.786677450886199);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-760.074257477017909, -14.982052994904290);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-731.369396039071717, -19.564193239769612);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-708.501798871969640, -24.059737122589585);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-693.161045035388270, -27.541649295426971);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-678.023758751400692, -31.460713758337747);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-663.356394315905163, -35.837032981291159);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-649.425406024800168, -40.690709434256448);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-636.497248173983621, -46.041845587202857);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-630.550935626324190, -48.932226964906654);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-620.995311558273102, -53.816395724048519);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-607.498846895736733, -61.326635727968828);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-595.504209442756292, -69.042252656202692);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(-590.462992125984215, -72.529322834645669);
- points += VSAPoint(-590.462992125984215, -72.529322834645669);
- points += VSAPoint(-231.118006951984967, 95.879158575193841);
- points += VSAPoint(-231.118006951984967, 95.879158575193841);
-
- p = VSAPoint(-234.809931494910188, 106.205894212251422);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-241.706487749582209, 126.418557245008685);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-248.032530946383588, 146.125254699982435);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-253.803881462584570, 165.351546923668138);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-259.036359675455628, 184.122994262561235);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-263.745785962267064, 202.465157063157335);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-267.947980700289236, 220.403595671951877);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-271.658764266792559, 237.963870435440356);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-274.893957039047393, 255.171541700118325);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-277.669379394324153, 272.052169812481225);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-280.000851709893027, 288.631315119024521);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-281.904194363024544, 304.934537966243795);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-284.039644640838333, 328.954433582934655);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(-284.147385633699400, 331.313196850393751);
- points += VSAPoint(-284.147385633699400, 331.313196850393751);
- points += VSAPoint(-284.147385633699400, 331.313196850393751);
-
- p = VSAPoint(-285.555799902053877, 332.073678193884462);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-288.834524798697998, 333.546028373225568);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-292.651017511901614, 334.960499310104979);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-296.986936024594911, 336.317597411974702);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-304.365417660736114, 338.253791617484694);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-315.933705278224011, 340.629827700589658);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-329.249539786415085, 342.785487777791332);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-344.166185048751572, 344.724823108705550);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-360.536904928675426, 346.451884952948035);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-378.214963289628486, 347.970724570134507);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-397.053623995052874, 349.285393219880916);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-416.906150908390600, 350.399942161802983);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-437.625807893083675, 351.318422655516372);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-459.065858812573993, 352.044885960637032);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-481.079567530303621, 352.583383336780628);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-503.520197909714511, 352.937966043563051);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-526.241013814248618, 353.112685340600024);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-549.095279107348233, 353.111592487507210);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-571.936257652454970, 352.938738743900558);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-594.617213313011007, 352.598175369395790);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-616.991409952458298, 352.093953623608741);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-638.912111434238795, 351.430124766155018);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-660.232581621794679, 350.610740056650570);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-680.806084378567789, 349.639850754711119);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-700.485883568000077, 348.521508119952557);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-719.125243053533723, 347.259763411990377);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-736.577426698610566, 345.858667890440699);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-752.695698366672559, 344.322272814919074);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-767.333321921161996, 342.654629445041451);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-780.343561225520489, 340.859789040423379);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-791.579680143190444, 338.941802860680923);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-800.894942537613588, 336.904722165429632);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-806.464504884082544, 335.297692803701807);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-809.543928560835866, 334.193629625334438);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-812.060599029963441, 333.062071651623739);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-813.996174274395912, 331.903525290021662);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-814.714960629921279, 331.313196850393751);
- p.SetSABefore(37.7953);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByPointsIntersection);
- points += p;
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue923Test2_2()
-{
- QVector points;
-
- points += QPointF(-814.714960629921279, 372.254255263580490);
- points += QPointF(-925.469085441181278, 240.352497360768297);
- points += QPointF(-831.030698870537890, 27.866127576820318);
- points += QPointF(-797.079525240757903, -48.524013090184425);
- points += QPointF(-789.140213051348155, -49.334956233568391);
- points += QPointF(-765.476716482266852, -52.393449188523491);
- points += QPointF(-737.995740821697950, -56.780221262468970);
- points += QPointF(-716.331603418113787, -61.039176834826399);
- points += QPointF(-702.082363720278977, -64.273346529881294);
- points += QPointF(-688.166746660068270, -67.876119132381135);
- points += QPointF(-674.983023423591590, -71.809762540754065);
- points += QPointF(-662.881277988431520, -76.026115008433663);
- points += QPointF(-652.000013358218780, -80.530014885308333);
- points += QPointF(-647.414888772498330, -82.758750527910010);
- points += QPointF(-638.790539302210846, -87.166916645655860);
- points += QPointF(-626.931066473615147, -93.766236503837689);
- points += QPointF(-616.484087855132884, -100.486313320968108);
- points += QPointF(-594.096383910663576, -115.972155307751649);
- points += QPointF(-183.958889296992538, 76.240441185503187);
- points += QPointF(-199.128208171590842, 118.670762821515268);
- points += QPointF(-205.825015171693934, 138.297993904680141);
- points += QPointF(-211.936233005300977, 157.335473918921082);
- points += QPointF(-217.496918215929867, 175.859969792696745);
- points += QPointF(-222.524915681533457, 193.897845117910578);
- points += QPointF(-227.038178126608216, 211.475993598800500);
- points += QPointF(-231.054715694933805, 228.621894034446882);
- points += QPointF(-234.592533040731553, 245.363653164792709);
- points += QPointF(-237.669555346488721, 261.730031318712463);
- points += QPointF(-240.303546018901216, 277.750445980247605);
- points += QPointF(-242.512020202613343, 293.454949161782793);
- points += QPointF(-244.303509443293109, 308.800083297848346);
- points += QPointF(-246.320840785439799, 331.491357717148105);
- points += QPointF(-247.367543015896416, 354.406709688632361);
- points += QPointF(-268.813396279081758, 365.986520876534257);
- points += QPointF(-274.509592515332827, 368.544465142791694);
- points += QPointF(-280.430827174231638, 370.738996867293565);
- points += QPointF(-286.539948814471813, 372.651089393430880);
- points += QPointF(-295.760523804982597, 375.070669023561095);
- points += QPointF(-309.108660700135488, 377.812272271492361);
- points += QPointF(-323.791841340653832, 380.189287868497217);
- points += QPointF(-339.746492413262274, 382.263575885230011);
- points += QPointF(-356.936262218254399, 384.077045039871223);
- points += QPointF(-375.281527693557905, 385.653208859605968);
- points += QPointF(-394.678657424405628, 387.006850647149122);
- points += QPointF(-414.787606725105888, 388.135795504602129);
- points += QPointF(-435.952027004089416, 389.076617984495158);
- points += QPointF(-457.785958265362524, 389.818484035946028);
- points += QPointF(-480.155299367881639, 390.367355935352180);
- points += QPointF(-502.923072150244479, 390.728524359008020);
- points += QPointF(-525.950383021197354, 390.906843496429246);
- points += QPointF(-549.097086414790738, 390.906868034847378);
- points += QPointF(-572.222272885870439, 390.732932110765603);
- points += QPointF(-595.184660117100748, 390.389190982768582);
- points += QPointF(-617.842942758232198, 389.879635420374768);
- points += QPointF(-640.056148638506556, 389.208081776043002);
- points += QPointF(-661.684051750900380, 388.378134611080782);
- points += QPointF(-682.587707912334736, 387.393111203971273);
- points += QPointF(-702.630213618706989, 386.255904969502012);
- points += QPointF(-721.913933499378572, 384.952760768147186);
- points += QPointF(-739.883081024661010, 383.510162372682714);
- points += QPointF(-756.628370636720547, 381.913999891494996);
- points += QPointF(-772.055707413409664, 380.156385631588421);
- points += QPointF(-786.107417618598561, 378.217868080892174);
- points += QPointF(-798.800506213738572, 376.051179682334919);
- points += QPointF(-810.181063246566509, 373.562456117590386);
- points += QPointF(-814.714960629921279, 372.254255263580490);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsIssue923Test3_3()
-{
- QVector points;
-
- VSAPoint p = VSAPoint(-814.714960629921279, 331.313196850393751);
- p.SetSABefore(37.7953);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeSymmetry);
- points += p;
-
- p = VSAPoint(-814.714960629921279, -8.844283464566928);
- p.SetSABefore(0);
- p.SetSAAfter(37.7953);
- points += p;
-
- p = VSAPoint(-814.714960629921279, -8.844283464566928);
- p.SetSABefore(0);
- p.SetSAAfter(37.7953);
- points += p;
-
- p = VSAPoint(-810.914791391285917, -9.118915311803084);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-784.796811799170428, -11.786677450886199);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-760.074257477017909, -14.982052994904290);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-731.369396039071717, -19.564193239769612);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-708.501798871969640, -24.059737122589585);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-693.161045035388270, -27.541649295426971);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-678.023758751400692, -31.460713758337747);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-663.356394315905163, -35.837032981291159);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-649.425406024800168, -40.690709434256448);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-636.497248173983621, -46.041845587202857);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-630.550935626324190, -48.932226964906654);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-620.995311558273102, -53.816395724048519);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-607.498846895736733, -61.326635727968828);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-595.504209442756292, -69.042252656202692);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(-590.462992125984215, -72.529322834645669);
- points += VSAPoint(-590.462992125984215, -72.529322834645669);
- points += VSAPoint(-231.118006951984967, 95.879158575193841);
- points += VSAPoint(-231.118006951984967, 95.879158575193841);
-
- p = VSAPoint(-234.809931494910188, 106.205894212251422);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-241.706487749582209, 126.418557245008685);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-248.032530946383588, 146.125254699982435);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-253.803881462584570, 165.351546923668138);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-259.036359675455628, 184.122994262561235);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-263.745785962267064, 202.465157063157335);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-267.947980700289236, 220.403595671951877);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-271.658764266792559, 237.963870435440356);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-274.893957039047393, 255.171541700118325);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-277.669379394324153, 272.052169812481225);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-280.000851709893027, 288.631315119024521);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-281.904194363024544, 304.934537966243795);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-284.039644640838333, 328.954433582934655);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(-284.147385633699400, 331.313196850393751);
- points += VSAPoint(-284.147385633699400, 331.313196850393751);
- points += VSAPoint(-284.147385633699400, 331.313196850393751);
-
- p = VSAPoint(-285.555799902053877, 332.073678193884462);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-288.834524798697998, 333.546028373225568);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-292.651017511901614, 334.960499310104979);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-296.986936024594911, 336.317597411974702);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-304.365417660736114, 338.253791617484694);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-315.933705278224011, 340.629827700589658);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-329.249539786415085, 342.785487777791332);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-344.166185048751572, 344.724823108705550);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-360.536904928675426, 346.451884952948035);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-378.214963289628486, 347.970724570134507);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-397.053623995052874, 349.285393219880916);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-416.906150908390600, 350.399942161802983);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-437.625807893083675, 351.318422655516372);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-459.065858812573993, 352.044885960637032);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-481.079567530303621, 352.583383336780628);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-503.520197909714511, 352.937966043563051);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-526.241013814248618, 353.112685340600024);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-549.095279107348233, 353.111592487507210);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-571.936257652454970, 352.938738743900558);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-594.617213313011007, 352.598175369395790);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-616.991409952458298, 352.093953623608741);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-638.912111434238795, 351.430124766155018);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-660.232581621794679, 350.610740056650570);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-680.806084378567789, 349.639850754711119);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-700.485883568000077, 348.521508119952557);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-719.125243053533723, 347.259763411990377);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-736.577426698610566, 345.858667890440699);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-752.695698366672559, 344.322272814919074);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-767.333321921161996, 342.654629445041451);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-780.343561225520489, 340.859789040423379);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-791.579680143190444, 338.941802860680923);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-800.894942537613588, 336.904722165429632);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-806.464504884082544, 335.297692803701807);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-809.543928560835866, 334.193629625334438);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-812.060599029963441, 333.062071651623739);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-813.996174274395912, 331.903525290021662);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-814.714960629921279, 331.313196850393751);
- p.SetSABefore(37.7953);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeSymmetry);
- points += p;
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue923Test3_3()
-{
- QVector points;
-
- points += QPointF(-957.520050609572763, 262.937674017326458);
- points += QPointF(-925.469085441181164, 240.352497360767984);
- points += QPointF(-831.030698870537890, 27.866127576820318);
- points += QPointF(-797.079525240757903, -48.524013090184425);
- points += QPointF(-789.140213051348155, -49.334956233568391);
- points += QPointF(-765.476716482266852, -52.393449188523491);
- points += QPointF(-737.995740821697950, -56.780221262468970);
- points += QPointF(-716.331603418113787, -61.039176834826399);
- points += QPointF(-702.082363720278977, -64.273346529881294);
- points += QPointF(-688.166746660068270, -67.876119132381135);
- points += QPointF(-674.983023423591590, -71.809762540754065);
- points += QPointF(-662.881277988431520, -76.026115008433663);
- points += QPointF(-652.000013358218780, -80.530014885308333);
- points += QPointF(-647.414888772498330, -82.758750527910010);
- points += QPointF(-638.790539302210846, -87.166916645655860);
- points += QPointF(-626.931066473615147, -93.766236503837689);
- points += QPointF(-616.484087855132884, -100.486313320968108);
- points += QPointF(-594.096383910663576, -115.972155307751649);
- points += QPointF(-183.958889296992538, 76.240441185503187);
- points += QPointF(-199.128208171590842, 118.670762821515268);
- points += QPointF(-205.825015171693934, 138.297993904680141);
- points += QPointF(-211.936233005300977, 157.335473918921082);
- points += QPointF(-217.496918215929867, 175.859969792696745);
- points += QPointF(-222.524915681533457, 193.897845117910578);
- points += QPointF(-227.038178126608216, 211.475993598800500);
- points += QPointF(-231.054715694933805, 228.621894034446882);
- points += QPointF(-234.592533040731553, 245.363653164792709);
- points += QPointF(-237.669555346488721, 261.730031318712463);
- points += QPointF(-240.303546018901216, 277.750445980247605);
- points += QPointF(-242.512020202613343, 293.454949161782793);
- points += QPointF(-244.303509443293109, 308.800083297848346);
- points += QPointF(-246.320840785439799, 331.491357717148105);
- points += QPointF(-247.367543015896416, 354.406709688632361);
- points += QPointF(-268.813396279081758, 365.986520876534257);
- points += QPointF(-274.509592515332827, 368.544465142791694);
- points += QPointF(-280.430827174231638, 370.738996867293565);
- points += QPointF(-286.539948814471813, 372.651089393430880);
- points += QPointF(-295.760523804982597, 375.070669023561095);
- points += QPointF(-309.108660700135488, 377.812272271492361);
- points += QPointF(-323.791841340653832, 380.189287868497217);
- points += QPointF(-339.746492413262274, 382.263575885230011);
- points += QPointF(-356.936262218254399, 384.077045039871223);
- points += QPointF(-375.281527693557905, 385.653208859605968);
- points += QPointF(-394.678657424405628, 387.006850647149122);
- points += QPointF(-414.787606725105888, 388.135795504602129);
- points += QPointF(-435.952027004089416, 389.076617984495158);
- points += QPointF(-457.785958265362524, 389.818484035946028);
- points += QPointF(-480.155299367881639, 390.367355935352180);
- points += QPointF(-502.923072150244479, 390.728524359008020);
- points += QPointF(-525.950383021197354, 390.906843496429246);
- points += QPointF(-549.097086414790738, 390.906868034847378);
- points += QPointF(-572.222272885870439, 390.732932110765603);
- points += QPointF(-595.184660117100748, 390.389190982768582);
- points += QPointF(-617.842942758232198, 389.879635420374768);
- points += QPointF(-640.056148638506556, 389.208081776043002);
- points += QPointF(-661.684051750900380, 388.378134611080782);
- points += QPointF(-682.587707912334736, 387.393111203971273);
- points += QPointF(-702.630213618706989, 386.255904969502012);
- points += QPointF(-721.913933499378572, 384.952760768147186);
- points += QPointF(-739.883081024661010, 383.510162372682714);
- points += QPointF(-756.628370636720547, 381.913999891494996);
- points += QPointF(-772.055707413409664, 380.156385631588421);
- points += QPointF(-786.107417618598561, 378.217868080892174);
- points += QPointF(-798.800506213738572, 376.051179682334919);
- points += QPointF(-810.181063246566509, 373.562456117590386);
- points += QPointF(-818.092955781375508, 371.279575916359818);
- points += QPointF(-823.692975528761167, 369.271805550790248);
- points += QPointF(-829.575336883340356, 366.626948793946269);
- points += QPointF(-835.815139715093551, 362.892089666854304);
- points += QPointF(-957.520050609572763, 262.937674017326458);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsIssue923Test4_4()
-{
- QVector points;
-
- VSAPoint p = VSAPoint(-814.714960629921279, 331.313196850393751);
- p.SetSABefore(37.7953);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::BySecondEdgeSymmetry);
- points += p;
-
- p = VSAPoint(-814.714960629921279, -8.844283464566928);
- p.SetSABefore(0);
- p.SetSAAfter(37.7953);
- points += p;
-
- p = VSAPoint(-814.714960629921279, -8.844283464566928);
- p.SetSABefore(0);
- p.SetSAAfter(37.7953);
- points += p;
-
- p = VSAPoint(-810.914791391285917, -9.118915311803084);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-784.796811799170428, -11.786677450886199);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-760.074257477017909, -14.982052994904290);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-731.369396039071717, -19.564193239769612);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-708.501798871969640, -24.059737122589585);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-693.161045035388270, -27.541649295426971);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-678.023758751400692, -31.460713758337747);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-663.356394315905163, -35.837032981291159);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-649.425406024800168, -40.690709434256448);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-636.497248173983621, -46.041845587202857);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-630.550935626324190, -48.932226964906654);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-620.995311558273102, -53.816395724048519);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-607.498846895736733, -61.326635727968828);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-595.504209442756292, -69.042252656202692);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(-590.462992125984215, -72.529322834645669);
- points += VSAPoint(-590.462992125984215, -72.529322834645669);
- points += VSAPoint(-231.118006951984967, 95.879158575193841);
- points += VSAPoint(-231.118006951984967, 95.879158575193841);
-
- p = VSAPoint(-234.809931494910188, 106.205894212251422);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-241.706487749582209, 126.418557245008685);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-248.032530946383588, 146.125254699982435);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-253.803881462584570, 165.351546923668138);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-259.036359675455628, 184.122994262561235);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-263.745785962267064, 202.465157063157335);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-267.947980700289236, 220.403595671951877);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-271.658764266792559, 237.963870435440356);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-274.893957039047393, 255.171541700118325);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-277.669379394324153, 272.052169812481225);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-280.000851709893027, 288.631315119024521);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-281.904194363024544, 304.934537966243795);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-284.039644640838333, 328.954433582934655);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(-284.147385633699400, 331.313196850393751);
- points += VSAPoint(-284.147385633699400, 331.313196850393751);
- points += VSAPoint(-284.147385633699400, 331.313196850393751);
-
- p = VSAPoint(-285.555799902053877, 332.073678193884462);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-288.834524798697998, 333.546028373225568);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-292.651017511901614, 334.960499310104979);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-296.986936024594911, 336.317597411974702);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-304.365417660736114, 338.253791617484694);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-315.933705278224011, 340.629827700589658);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-329.249539786415085, 342.785487777791332);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-344.166185048751572, 344.724823108705550);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-360.536904928675426, 346.451884952948035);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-378.214963289628486, 347.970724570134507);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-397.053623995052874, 349.285393219880916);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-416.906150908390600, 350.399942161802983);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-437.625807893083675, 351.318422655516372);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-459.065858812573993, 352.044885960637032);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-481.079567530303621, 352.583383336780628);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-503.520197909714511, 352.937966043563051);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-526.241013814248618, 353.112685340600024);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-549.095279107348233, 353.111592487507210);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-571.936257652454970, 352.938738743900558);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-594.617213313011007, 352.598175369395790);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-616.991409952458298, 352.093953623608741);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-638.912111434238795, 351.430124766155018);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-660.232581621794679, 350.610740056650570);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-680.806084378567789, 349.639850754711119);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-700.485883568000077, 348.521508119952557);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-719.125243053533723, 347.259763411990377);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-736.577426698610566, 345.858667890440699);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-752.695698366672559, 344.322272814919074);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-767.333321921161996, 342.654629445041451);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-780.343561225520489, 340.859789040423379);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-791.579680143190444, 338.941802860680923);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-800.894942537613588, 336.904722165429632);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-806.464504884082544, 335.297692803701807);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-809.543928560835866, 334.193629625334438);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-812.060599029963441, 333.062071651623739);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-813.996174274395912, 331.903525290021662);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-814.714960629921279, 331.313196850393751);
- p.SetSABefore(37.7953);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::BySecondEdgeSymmetry);
- points += p;
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue923Test4_4()
-{
- QVector points;
-
- points += QPointF(-831.030698870537890, 27.866127576820318);
- points += QPointF(-797.079525240757903, -48.524013090184425);
- points += QPointF(-789.140213051348155, -49.334956233568391);
- points += QPointF(-765.476716482266852, -52.393449188523491);
- points += QPointF(-737.995740821697950, -56.780221262468970);
- points += QPointF(-716.331603418113787, -61.039176834826399);
- points += QPointF(-702.082363720278977, -64.273346529881294);
- points += QPointF(-688.166746660068270, -67.876119132381135);
- points += QPointF(-674.983023423591590, -71.809762540754065);
- points += QPointF(-662.881277988431520, -76.026115008433663);
- points += QPointF(-652.000013358218780, -80.530014885308333);
- points += QPointF(-647.414888772498330, -82.758750527910010);
- points += QPointF(-638.790539302210846, -87.166916645655860);
- points += QPointF(-626.931066473615147, -93.766236503837689);
- points += QPointF(-616.484087855132884, -100.486313320968108);
- points += QPointF(-594.096383910663576, -115.972155307751649);
- points += QPointF(-183.958889296992538, 76.240441185503187);
- points += QPointF(-199.128208171590842, 118.670762821515268);
- points += QPointF(-205.825015171693934, 138.297993904680141);
- points += QPointF(-211.936233005300977, 157.335473918921082);
- points += QPointF(-217.496918215929867, 175.859969792696745);
- points += QPointF(-222.524915681533457, 193.897845117910578);
- points += QPointF(-227.038178126608216, 211.475993598800500);
- points += QPointF(-231.054715694933805, 228.621894034446882);
- points += QPointF(-234.592533040731553, 245.363653164792709);
- points += QPointF(-237.669555346488721, 261.730031318712463);
- points += QPointF(-240.303546018901216, 277.750445980247605);
- points += QPointF(-242.512020202613343, 293.454949161782793);
- points += QPointF(-244.303509443293109, 308.800083297848346);
- points += QPointF(-246.320840785439799, 331.491357717148105);
- points += QPointF(-247.367543015896416, 354.406709688632361);
- points += QPointF(-268.813396279081758, 365.986520876534257);
- points += QPointF(-274.509592515332827, 368.544465142791694);
- points += QPointF(-280.430827174231638, 370.738996867293565);
- points += QPointF(-286.539948814471813, 372.651089393430880);
- points += QPointF(-295.760523804982597, 375.070669023561095);
- points += QPointF(-309.108660700135488, 377.812272271492361);
- points += QPointF(-323.791841340653832, 380.189287868497217);
- points += QPointF(-339.746492413262274, 382.263575885230011);
- points += QPointF(-356.936262218254399, 384.077045039871223);
- points += QPointF(-375.281527693557905, 385.653208859605968);
- points += QPointF(-394.678657424405628, 387.006850647149122);
- points += QPointF(-414.787606725105888, 388.135795504602129);
- points += QPointF(-435.952027004089416, 389.076617984495158);
- points += QPointF(-457.785958265362524, 389.818484035946028);
- points += QPointF(-480.155299367881639, 390.367355935352180);
- points += QPointF(-502.923072150244479, 390.728524359008020);
- points += QPointF(-525.950383021197354, 390.906843496429246);
- points += QPointF(-549.097086414790738, 390.906868034847378);
- points += QPointF(-572.222272885870439, 390.732932110765603);
- points += QPointF(-595.184660117100748, 390.389190982768582);
- points += QPointF(-617.842942758232198, 389.879635420374768);
- points += QPointF(-640.056148638506556, 389.208081776043002);
- points += QPointF(-661.684051750900380, 388.378134611080782);
- points += QPointF(-682.587707912334736, 387.393111203971273);
- points += QPointF(-702.630213618706989, 386.255904969502012);
- points += QPointF(-721.913933499378572, 384.952760768147186);
- points += QPointF(-739.883081024661010, 383.510162372682714);
- points += QPointF(-756.628370636720547, 381.913999891494996);
- points += QPointF(-772.055707413409664, 380.156385631588421);
- points += QPointF(-786.107417618598561, 378.217868080892174);
- points += QPointF(-798.800506213738572, 376.051179682334919);
- points += QPointF(-810.181063246566509, 373.562456117590386);
- points += QPointF(-818.092955781375508, 371.279575916359818);
- points += QPointF(-823.692975528761167, 369.271805550790248);
- points += QPointF(-829.575336883340356, 366.626948793946269);
- points += QPointF(-835.815139715093551, 362.892089666854304);
- points += QPointF(-949.648673098164636, 294.756569588980881);
- points += QPointF(-831.030698870537890, 27.866127576820318);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsIssue923Test5_5()
-{
- QVector points;
-
- VSAPoint p = VSAPoint(-814.714960629921279, 331.313196850393751);
- p.SetSABefore(37.7953);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeRightAngle);
- points += p;
-
- p = VSAPoint(-814.714960629921279, -8.844283464566928);
- p.SetSABefore(0);
- p.SetSAAfter(37.7953);
- points += p;
-
- p = VSAPoint(-814.714960629921279, -8.844283464566928);
- p.SetSABefore(0);
- p.SetSAAfter(37.7953);
- points += p;
-
- p = VSAPoint(-810.914791391285917, -9.118915311803084);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-784.796811799170428, -11.786677450886199);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-760.074257477017909, -14.982052994904290);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-731.369396039071717, -19.564193239769612);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-708.501798871969640, -24.059737122589585);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-693.161045035388270, -27.541649295426971);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-678.023758751400692, -31.460713758337747);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-663.356394315905163, -35.837032981291159);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-649.425406024800168, -40.690709434256448);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-636.497248173983621, -46.041845587202857);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-630.550935626324190, -48.932226964906654);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-620.995311558273102, -53.816395724048519);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-607.498846895736733, -61.326635727968828);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-595.504209442756292, -69.042252656202692);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(-590.462992125984215, -72.529322834645669);
- points += VSAPoint(-590.462992125984215, -72.529322834645669);
- points += VSAPoint(-231.118006951984967, 95.879158575193841);
- points += VSAPoint(-231.118006951984967, 95.879158575193841);
-
- p = VSAPoint(-234.809931494910188, 106.205894212251422);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-241.706487749582209, 126.418557245008685);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-248.032530946383588, 146.125254699982435);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-253.803881462584570, 165.351546923668138);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-259.036359675455628, 184.122994262561235);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-263.745785962267064, 202.465157063157335);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-267.947980700289236, 220.403595671951877);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-271.658764266792559, 237.963870435440356);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-274.893957039047393, 255.171541700118325);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-277.669379394324153, 272.052169812481225);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-280.000851709893027, 288.631315119024521);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-281.904194363024544, 304.934537966243795);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-284.039644640838333, 328.954433582934655);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(-284.147385633699400, 331.313196850393751);
- points += VSAPoint(-284.147385633699400, 331.313196850393751);
- points += VSAPoint(-284.147385633699400, 331.313196850393751);
-
- p = VSAPoint(-285.555799902053877, 332.073678193884462);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-288.834524798697998, 333.546028373225568);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-292.651017511901614, 334.960499310104979);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-296.986936024594911, 336.317597411974702);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-304.365417660736114, 338.253791617484694);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-315.933705278224011, 340.629827700589658);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-329.249539786415085, 342.785487777791332);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-344.166185048751572, 344.724823108705550);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-360.536904928675426, 346.451884952948035);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-378.214963289628486, 347.970724570134507);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-397.053623995052874, 349.285393219880916);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-416.906150908390600, 350.399942161802983);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-437.625807893083675, 351.318422655516372);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-459.065858812573993, 352.044885960637032);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-481.079567530303621, 352.583383336780628);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-503.520197909714511, 352.937966043563051);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-526.241013814248618, 353.112685340600024);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-549.095279107348233, 353.111592487507210);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-571.936257652454970, 352.938738743900558);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-594.617213313011007, 352.598175369395790);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-616.991409952458298, 352.093953623608741);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-638.912111434238795, 351.430124766155018);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-660.232581621794679, 350.610740056650570);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-680.806084378567789, 349.639850754711119);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-700.485883568000077, 348.521508119952557);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-719.125243053533723, 347.259763411990377);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-736.577426698610566, 345.858667890440699);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-752.695698366672559, 344.322272814919074);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-767.333321921161996, 342.654629445041451);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-780.343561225520489, 340.859789040423379);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-791.579680143190444, 338.941802860680923);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-800.894942537613588, 336.904722165429632);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-806.464504884082544, 335.297692803701807);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-809.543928560835866, 334.193629625334438);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-812.060599029963441, 333.062071651623739);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-813.996174274395912, 331.903525290021662);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-814.714960629921279, 331.313196850393751);
- p.SetSABefore(37.7953);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeRightAngle);
- points += p;
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue923Test5_5()
-{
- QVector points;
-
- points += QPointF(-949.456732609151800, 269.559956002538911);
- points += QPointF(-925.469085441181278, 240.352497360768297);
- points += QPointF(-831.030698870537890, 27.866127576820318);
- points += QPointF(-797.079525240757903, -48.524013090184425);
- points += QPointF(-789.140213051348155, -49.334956233568391);
- points += QPointF(-765.476716482266852, -52.393449188523491);
- points += QPointF(-737.995740821697950, -56.780221262468970);
- points += QPointF(-716.331603418113787, -61.039176834826399);
- points += QPointF(-702.082363720278977, -64.273346529881294);
- points += QPointF(-688.166746660068270, -67.876119132381135);
- points += QPointF(-674.983023423591590, -71.809762540754065);
- points += QPointF(-662.881277988431520, -76.026115008433663);
- points += QPointF(-652.000013358218780, -80.530014885308333);
- points += QPointF(-647.414888772498330, -82.758750527910010);
- points += QPointF(-638.790539302210846, -87.166916645655860);
- points += QPointF(-626.931066473615147, -93.766236503837689);
- points += QPointF(-616.484087855132884, -100.486313320968108);
- points += QPointF(-594.096383910663576, -115.972155307751649);
- points += QPointF(-183.958889296992538, 76.240441185503187);
- points += QPointF(-199.128208171590842, 118.670762821515268);
- points += QPointF(-205.825015171693934, 138.297993904680141);
- points += QPointF(-211.936233005300977, 157.335473918921082);
- points += QPointF(-217.496918215929867, 175.859969792696745);
- points += QPointF(-222.524915681533457, 193.897845117910578);
- points += QPointF(-227.038178126608216, 211.475993598800500);
- points += QPointF(-231.054715694933805, 228.621894034446882);
- points += QPointF(-234.592533040731553, 245.363653164792709);
- points += QPointF(-237.669555346488721, 261.730031318712463);
- points += QPointF(-240.303546018901216, 277.750445980247605);
- points += QPointF(-242.512020202613343, 293.454949161782793);
- points += QPointF(-244.303509443293109, 308.800083297848346);
- points += QPointF(-246.320840785439799, 331.491357717148105);
- points += QPointF(-247.367543015896416, 354.406709688632361);
- points += QPointF(-268.813396279081758, 365.986520876534257);
- points += QPointF(-274.509592515332827, 368.544465142791694);
- points += QPointF(-280.430827174231638, 370.738996867293565);
- points += QPointF(-286.539948814471813, 372.651089393430880);
- points += QPointF(-295.760523804982597, 375.070669023561095);
- points += QPointF(-309.108660700135488, 377.812272271492361);
- points += QPointF(-323.791841340653832, 380.189287868497217);
- points += QPointF(-339.746492413262274, 382.263575885230011);
- points += QPointF(-356.936262218254399, 384.077045039871223);
- points += QPointF(-375.281527693557905, 385.653208859605968);
- points += QPointF(-394.678657424405628, 387.006850647149122);
- points += QPointF(-414.787606725105888, 388.135795504602129);
- points += QPointF(-435.952027004089416, 389.076617984495158);
- points += QPointF(-457.785958265362524, 389.818484035946028);
- points += QPointF(-480.155299367881639, 390.367355935352180);
- points += QPointF(-502.923072150244479, 390.728524359008020);
- points += QPointF(-525.950383021197354, 390.906843496429246);
- points += QPointF(-549.097086414790738, 390.906868034847378);
- points += QPointF(-572.222272885870439, 390.732932110765603);
- points += QPointF(-595.184660117100748, 390.389190982768582);
- points += QPointF(-617.842942758232198, 389.879635420374768);
- points += QPointF(-640.056148638506556, 389.208081776043002);
- points += QPointF(-661.684051750900380, 388.378134611080782);
- points += QPointF(-682.587707912334736, 387.393111203971273);
- points += QPointF(-702.630213618706989, 386.255904969502012);
- points += QPointF(-721.913933499378572, 384.952760768147186);
- points += QPointF(-739.883081024661010, 383.510162372682714);
- points += QPointF(-756.628370636720547, 381.913999891494996);
- points += QPointF(-772.055707413409664, 380.156385631588421);
- points += QPointF(-786.107417618598561, 378.217868080892174);
- points += QPointF(-798.800506213738572, 376.051179682334919);
- points += QPointF(-810.181063246566509, 373.562456117590386);
- points += QPointF(-818.092955781375508, 371.279575916359818);
- points += QPointF(-823.692975528761167, 369.271805550790248);
- points += QPointF(-829.575336883340356, 366.626948793946269);
- points += QPointF(-835.815139715093551, 362.892089666854304);
- points += QPointF(-949.456732609151800, 269.559956002538911);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsIssue923Test6_6()
-{
- QVector points;
-
- VSAPoint p = VSAPoint(-814.714960629921279, 331.313196850393751);
- p.SetSABefore(37.7953);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::BySecondEdgeRightAngle);
- points += p;
-
- p = VSAPoint(-814.714960629921279, -8.844283464566928);
- p.SetSABefore(0);
- p.SetSAAfter(37.7953);
- points += p;
-
- p = VSAPoint(-814.714960629921279, -8.844283464566928);
- p.SetSABefore(0);
- p.SetSAAfter(37.7953);
- points += p;
-
- p = VSAPoint(-810.914791391285917, -9.118915311803084);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-784.796811799170428, -11.786677450886199);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-760.074257477017909, -14.982052994904290);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-731.369396039071717, -19.564193239769612);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-708.501798871969640, -24.059737122589585);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-693.161045035388270, -27.541649295426971);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-678.023758751400692, -31.460713758337747);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-663.356394315905163, -35.837032981291159);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-649.425406024800168, -40.690709434256448);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-636.497248173983621, -46.041845587202857);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-630.550935626324190, -48.932226964906654);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-620.995311558273102, -53.816395724048519);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-607.498846895736733, -61.326635727968828);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-595.504209442756292, -69.042252656202692);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(-590.462992125984215, -72.529322834645669);
- points += VSAPoint(-590.462992125984215, -72.529322834645669);
- points += VSAPoint(-231.118006951984967, 95.879158575193841);
- points += VSAPoint(-231.118006951984967, 95.879158575193841);
-
- p = VSAPoint(-234.809931494910188, 106.205894212251422);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-241.706487749582209, 126.418557245008685);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-248.032530946383588, 146.125254699982435);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-253.803881462584570, 165.351546923668138);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-259.036359675455628, 184.122994262561235);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-263.745785962267064, 202.465157063157335);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-267.947980700289236, 220.403595671951877);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-271.658764266792559, 237.963870435440356);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-274.893957039047393, 255.171541700118325);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-277.669379394324153, 272.052169812481225);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-280.000851709893027, 288.631315119024521);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-281.904194363024544, 304.934537966243795);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-284.039644640838333, 328.954433582934655);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(-284.147385633699400, 331.313196850393751);
- points += VSAPoint(-284.147385633699400, 331.313196850393751);
- points += VSAPoint(-284.147385633699400, 331.313196850393751);
-
- p = VSAPoint(-285.555799902053877, 332.073678193884462);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-288.834524798697998, 333.546028373225568);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-292.651017511901614, 334.960499310104979);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-296.986936024594911, 336.317597411974702);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-304.365417660736114, 338.253791617484694);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-315.933705278224011, 340.629827700589658);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-329.249539786415085, 342.785487777791332);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-344.166185048751572, 344.724823108705550);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-360.536904928675426, 346.451884952948035);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-378.214963289628486, 347.970724570134507);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-397.053623995052874, 349.285393219880916);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-416.906150908390600, 350.399942161802983);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-437.625807893083675, 351.318422655516372);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-459.065858812573993, 352.044885960637032);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-481.079567530303621, 352.583383336780628);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-503.520197909714511, 352.937966043563051);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-526.241013814248618, 353.112685340600024);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-549.095279107348233, 353.111592487507210);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-571.936257652454970, 352.938738743900558);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-594.617213313011007, 352.598175369395790);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-616.991409952458298, 352.093953623608741);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-638.912111434238795, 351.430124766155018);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-660.232581621794679, 350.610740056650570);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-680.806084378567789, 349.639850754711119);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-700.485883568000077, 348.521508119952557);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-719.125243053533723, 347.259763411990377);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-736.577426698610566, 345.858667890440699);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-752.695698366672559, 344.322272814919074);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-767.333321921161996, 342.654629445041451);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-780.343561225520489, 340.859789040423379);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-791.579680143190444, 338.941802860680923);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-800.894942537613588, 336.904722165429632);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-806.464504884082544, 335.297692803701807);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-809.543928560835866, 334.193629625334438);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-812.060599029963441, 333.062071651623739);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-813.996174274395912, 331.903525290021662);
- p.SetSABefore(37.7953);
- p.SetSAAfter(37.7953);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(-814.714960629921279, 331.313196850393751);
- p.SetSABefore(37.7953);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::BySecondEdgeRightAngle);
- points += p;
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue923Test6_6()
-{
- QVector points;
-
- points += QPointF(-831.030698870537890, 27.866127576820318);
- points += QPointF(-797.079525240757903, -48.524013090184425);
- points += QPointF(-789.140213051348155, -49.334956233568391);
- points += QPointF(-765.476716482266852, -52.393449188523491);
- points += QPointF(-737.995740821697950, -56.780221262468970);
- points += QPointF(-716.331603418113787, -61.039176834826399);
- points += QPointF(-702.082363720278977, -64.273346529881294);
- points += QPointF(-688.166746660068270, -67.876119132381135);
- points += QPointF(-674.983023423591590, -71.809762540754065);
- points += QPointF(-662.881277988431520, -76.026115008433663);
- points += QPointF(-652.000013358218780, -80.530014885308333);
- points += QPointF(-647.414888772498330, -82.758750527910010);
- points += QPointF(-638.790539302210846, -87.166916645655860);
- points += QPointF(-626.931066473615147, -93.766236503837689);
- points += QPointF(-616.484087855132884, -100.486313320968108);
- points += QPointF(-594.096383910663576, -115.972155307751649);
- points += QPointF(-183.958889296992538, 76.240441185503187);
- points += QPointF(-199.128208171590842, 118.670762821515268);
- points += QPointF(-205.825015171693934, 138.297993904680141);
- points += QPointF(-211.936233005300977, 157.335473918921082);
- points += QPointF(-217.496918215929867, 175.859969792696745);
- points += QPointF(-222.524915681533457, 193.897845117910578);
- points += QPointF(-227.038178126608216, 211.475993598800500);
- points += QPointF(-231.054715694933805, 228.621894034446882);
- points += QPointF(-234.592533040731553, 245.363653164792709);
- points += QPointF(-237.669555346488721, 261.730031318712463);
- points += QPointF(-240.303546018901216, 277.750445980247605);
- points += QPointF(-242.512020202613343, 293.454949161782793);
- points += QPointF(-244.303509443293109, 308.800083297848346);
- points += QPointF(-246.320840785439799, 331.491357717148105);
- points += QPointF(-247.367543015896416, 354.406709688632361);
- points += QPointF(-268.813396279081758, 365.986520876534257);
- points += QPointF(-274.509592515332827, 368.544465142791694);
- points += QPointF(-280.430827174231638, 370.738996867293565);
- points += QPointF(-286.539948814471813, 372.651089393430880);
- points += QPointF(-295.760523804982597, 375.070669023561095);
- points += QPointF(-309.108660700135488, 377.812272271492361);
- points += QPointF(-323.791841340653832, 380.189287868497217);
- points += QPointF(-339.746492413262274, 382.263575885230011);
- points += QPointF(-356.936262218254399, 384.077045039871223);
- points += QPointF(-375.281527693557905, 385.653208859605968);
- points += QPointF(-394.678657424405628, 387.006850647149122);
- points += QPointF(-414.787606725105888, 388.135795504602129);
- points += QPointF(-435.952027004089416, 389.076617984495158);
- points += QPointF(-457.785958265362524, 389.818484035946028);
- points += QPointF(-480.155299367881639, 390.367355935352180);
- points += QPointF(-502.923072150244479, 390.728524359008020);
- points += QPointF(-525.950383021197354, 390.906843496429246);
- points += QPointF(-549.097086414790738, 390.906868034847378);
- points += QPointF(-572.222272885870439, 390.732932110765603);
- points += QPointF(-595.184660117100748, 390.389190982768582);
- points += QPointF(-617.842942758232198, 389.879635420374768);
- points += QPointF(-640.056148638506556, 389.208081776043002);
- points += QPointF(-661.684051750900380, 388.378134611080782);
- points += QPointF(-682.587707912334736, 387.393111203971273);
- points += QPointF(-702.630213618706989, 386.255904969502012);
- points += QPointF(-721.913933499378572, 384.952760768147186);
- points += QPointF(-739.883081024661010, 383.510162372682714);
- points += QPointF(-756.628370636720547, 381.913999891494996);
- points += QPointF(-772.055707413409664, 380.156385631588421);
- points += QPointF(-786.107417618598561, 378.217868080892174);
- points += QPointF(-798.800506213738572, 376.051179682334919);
- points += QPointF(-810.181063246566509, 373.562456117590386);
- points += QPointF(-814.714960629921279, 372.254255263580490);
- points += QPointF(-965.896062992125962, 372.254255263580490);
- points += QPointF(-831.030698870537890, 27.866127576820318);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsIssue937Case1() const
-{
- QVector points;
-
- points += VSAPoint(30.000000000000000, 39.999874015748034);
- points += VSAPoint(784.001052525227124, 93.624081022807857);
-
- VSAPoint p = VSAPoint(603.941048041563704, 630.489688374883372);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::BySecondEdgeSymmetry);
- points += p;
-
- p = VSAPoint(149.328168036696184, 622.197225159899745);
- p.SetSABefore(151.181);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeSymmetry);
- points += p;
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue937Case1() const
-{
- QVector points;
-
- points += QPointF(-17.032721988884830, -1.235810543606590);
- points += QPointF(835.348863103112194, 59.385174553028691);
- points += QPointF(643.563032046223725, 631.212421626215360);
- points += QPointF(688.453528504066298, 783.237507335320970);
- points += QPointF(73.980221969375577, 772.029075909062840);
- points += QPointF(110.602400699420087, 621.490839539868603);
- points += QPointF(-17.032721988884830, -1.235810543606590);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsIssue937Case2() const
-{
- QVector points;
-
- points += VSAPoint(1133.858267716535465, 0.000000000000000);
- points += VSAPoint(1626.414077999261963, 28.823250050281736);
-
- VSAPoint p = VSAPoint(1708.662782184241905, 444.933722174073409);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::BySecondEdgeSymmetry);
- points += p;
-
- p = VSAPoint(978.059754412127063, 473.971248193821054);
- p.SetSABefore(151.181);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeSymmetry);
- points += p;
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue937Case2() const
-{
- QVector points;
-
- points += QPointF(1107.034334293208985, -39.429607754508027);
- points += QPointF(1657.820450488061852, -7.198852132733364);
- points += QPointF(1746.889006868886327, 443.414436116222419);
- points += QPointF(1729.223740724144136, 595.416995674621376);
- points += QPointF(1000.148236459051077, 624.393810881663740);
- points += QPointF(937.748317798696917, 475.573410168327996);
- points += QPointF(1107.034334293208985, -39.429607754508027);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsIssue937Case3() const
-{
- QVector points;
-
- points += VSAPoint(1133.858267716535465, 0.000000000000000);
- points += VSAPoint(1626.414077999261963, 28.823250050281736);
- points += VSAPoint(1626.414077999261963, 28.823250050281736);
-
- VSAPoint p = VSAPoint(1627.925525207237797, 60.028107039649264);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1632.474444857430171, 117.651054706235584);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1638.880247750070112, 170.780189339920014);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1647.171437175555184, 220.804740431454292);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1657.376516424283182, 269.113937471590248);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1669.523988786652353, 317.097009951079542);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1683.642357553060720, 366.143187360674062);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1699.760126013905392, 417.641699191125440);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1708.662782184241905, 444.933722174073409);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::BySecondEdgeSymmetry);
- points += p;
-
- p = VSAPoint(1708.662782184241905, 444.933722174073409);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::BySecondEdgeSymmetry);
- points += p;
-
- p = VSAPoint(1708.662782184241905, 444.933722174073409);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::BySecondEdgeSymmetry);
- points += p;
-
- p = VSAPoint(1677.251229240104976, 451.246684764538941);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1605.086594041950320, 463.155242122690083);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1544.272339765547713, 471.094839513925308);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1501.274196476889529, 475.816264599789406);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1456.403111491504887, 479.956529052348401);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1409.875251575960647, 483.430528153818273);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1361.906783496823664, 486.153157186415115);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1312.713874020660569, 488.039311432354793);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1262.512689914038219, 489.003886173853402);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1211.519397943523927, 488.961776693126922);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1159.950164875684550, 487.827878272391445);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1108.021157477086035, 485.517086193862838);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1055.948542514296605, 481.944295739757194);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1003.948486753882094, 477.024402192290495);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(978.059754412127063, 473.971248193821054);
- p.SetSABefore(151.181);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeSymmetry);
- points += p;
-
- p = VSAPoint(978.059754412127063, 473.971248193821054);
- p.SetSABefore(151.181);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeSymmetry);
- points += p;
-
- p = VSAPoint(978.059754412127063, 473.971248193821054);
- p.SetSABefore(151.181);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeSymmetry);
- points += p;
-
- p = VSAPoint(984.500664049167881, 439.858339084691238);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(998.403341335729920, 374.895601998811230);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1013.735113164965696, 313.199834991297735);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1030.722718345428348, 254.050229972719023);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1049.592895685671465, 196.725978853643085);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1070.572383994247502, 140.506273544638077);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1093.887922079709597, 84.670305956272159);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(1119.766248750610885, 28.497267999113369);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(1133.858267716535465, 0.000000000000000);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue937Case3() const
-{
- QVector points;
-
- points += QPointF(1111.075514893730315, -39.193127021735194);
- points += QPointF(1662.522212799755380, -6.923715654880951);
- points += QPointF(1665.648765146942878, 57.626086911110946);
- points += QPointF(1670.091199415827987, 113.900142527237790);
- points += QPointF(1676.303630411694712, 165.425468596995557);
- points += QPointF(1684.322260121831278, 213.805541833033089);
- points += QPointF(1694.200361802327961, 260.566879872136496);
- points += QPointF(1706.013423451030349, 307.229014708540717);
- points += QPointF(1719.842343091969724, 355.269667089451730);
- points += QPointF(1735.830074328750925, 406.352691903936886);
- points += QPointF(1745.972128474848660, 437.435445733357255);
- points += QPointF(1758.341772942237640, 589.153524481990871);
- points += QPointF(1704.460967178960573, 599.982263568295707);
- points += QPointF(1627.185999041022114, 612.734124474861687);
- points += QPointF(1562.310551416402404, 621.203930457757906);
- points += QPointF(1516.471248721796655, 626.237329974753152);
- points += QPointF(1468.977621912049472, 630.619576913233686);
- points += QPointF(1419.787864301955324, 634.292326402446633);
- points += QPointF(1369.087082921324964, 637.170038051159622);
- points += QPointF(1317.062578165990772, 639.164761306646824);
- points += QPointF(1263.902550577329066, 640.186187808469754);
- points += QPointF(1209.795108673992672, 640.141506710349972);
- points += QPointF(1154.927472101428293, 638.935083369183076);
- points += QPointF(1099.485310435284873, 636.467959223881508);
- points += QPointF(1043.652191269731475, 632.637154196705978);
- points += QPointF(987.972975362633747, 627.369163402013896);
- points += QPointF(933.137693238166889, 620.902235679736577);
- points += QPointF(940.434492417377555, 469.533961825902566);
- points += QPointF(947.446497080812378, 432.396369275163750);
- points += QPointF(961.574442359626801, 366.381027352609578);
- points += QPointF(977.219989780144260, 303.422612688453626);
- points += QPointF(994.595947496389158, 242.920792401422716);
- points += QPointF(1013.924089039867795, 184.205327277493041);
- points += QPointF(1035.416023464977798, 126.612396404806589);
- points += QPointF(1059.274426966970623, 69.476376649892870);
- points += QPointF(1085.656320891028145, 12.210265605542077);
- points += QPointF(1111.075514893730315, -39.193127021735194);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::InputPointsIssue937Case4() const
-{
- QVector points;
-
- points += VSAPoint(30.000000000000000, 39.999874015748034);
- points += VSAPoint(784.001052525227124, 93.624081022807857);
- points += VSAPoint(784.001052525227124, 93.624081022807857);
-
- VSAPoint p = VSAPoint(774.549887508210873, 111.576706533308567);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(756.790196946771857, 147.235978663837784);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(740.328372396175155, 182.599152839796318);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(725.082967905009809, 217.665203187846430);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(710.972537521864297, 252.433103834650353);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(697.915635295327547, 286.901828906870151);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(680.021245070692316, 338.079435747169612);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(659.251258140338564, 405.209521964051703);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(641.229356711019818, 471.124440162517772);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(625.303973171447183, 535.815983355865228);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(610.823539910331306, 599.275944557391995);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(603.941048041563704, 630.489688374883372);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::BySecondEdgeSymmetry);
- points += p;
-
- p = VSAPoint(603.941048041563704, 630.489688374883372);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::BySecondEdgeSymmetry);
- points += p;
-
- p = VSAPoint(603.941048041563704, 630.489688374883372);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::BySecondEdgeSymmetry);
- points += p;
-
- p = VSAPoint(593.373754598520122, 627.421080848202337);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(570.856225791667612, 621.724582828565644);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(546.814781491491203, 616.591938481713441);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(521.400104821985224, 612.062029176884039);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(494.762878907143659, 608.173736283315634);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(467.053786870960835, 604.965941170246310);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(438.423511837430851, 602.477525206914265);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(409.022736930547808, 600.747369762557469);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(379.002145274305917, 599.814356206414232);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(348.512419992699336, 599.717365907722524);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(317.704244209722162, 600.495280235720656);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(286.728301049368611, 602.186980559646713);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(255.735273635632836, 604.831348248738777);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(224.875845092508996, 608.467264672235046);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(194.300698543991246, 613.133611199373604);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(164.160517114073684, 618.869269199392420);
- p.SetSABefore(151.181);
- p.SetSAAfter(151.181);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(149.328168036696184, 622.197225159899745);
- p.SetSABefore(151.181);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeSymmetry);
- points += p;
-
- p = VSAPoint(149.328168036696184, 622.197225159899745);
- p.SetSABefore(151.181);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeSymmetry);
- points += p;
-
- p = VSAPoint(149.328168036696184, 622.197225159899745);
- p.SetSABefore(151.181);
- p.SetAngleType(PieceNodeAngle::ByFirstEdgeSymmetry);
- points += p;
-
- p = VSAPoint(148.780908204593317, 607.287773847850531);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(146.895584757900821, 576.215879988244183);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(142.454824990190019, 527.210027117314212);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(133.311692121295692, 457.608980413459847);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(120.868745144514008, 384.408601325998120);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(105.351458627140062, 308.706628739851681);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(86.985307136468961, 231.600801539943319);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(65.995765239795787, 154.188858611195911);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- p = VSAPoint(42.608307504415649, 77.568538838532248);
- p.SetAngleType(PieceNodeAngle::ByLengthCurve);
- points += p;
-
- points += VSAPoint(30.000000000000000, 39.999874015748034);
-
- return points;
-}
-
-//---------------------------------------------------------------------------------------------------------------------
-QVector TST_VAbstractPiece::OutputPointsIssue937Case4() const
-{
- QVector points;
-
- points += QPointF(-23.869134810321157, -1.722013069577457);
- points += QPointF(844.400089565605640, 60.028893603376154);
- points += QPointF(808.191896751323043, 128.806882860412060);
- points += QPointF(790.844266519939765, 163.638788579752315);
- points += QPointF(774.796911740885662, 198.111601746414436);
- points += QPointF(759.929306088834664, 232.308674618563742);
- points += QPointF(746.160069074303465, 266.235879636728441);
- points += QPointF(733.432348408725375, 299.835603124447687);
- points += QPointF(715.924983245483418, 349.906325841807984);
- points += QPointF(695.543108629380072, 415.782005245395908);
- points += QPointF(677.813698549770493, 480.627139355570648);
- points += QPointF(662.080521256304564, 544.537908971868887);
- points += QPointF(647.671698829034426, 607.684038352516041);
- points += QPointF(640.315187177502366, 641.052275448924206);
- points += QPointF(588.619170631467227, 783.466677004755525);
- points += QPointF(553.743081963821624, 773.339104721127455);
- points += QPointF(536.523003591512065, 768.982758907727316);
- points += QPointF(517.759929550071433, 764.977001819844645);
- points += QPointF(497.211523376831963, 761.314456058038559);
- points += QPointF(475.147325760354477, 758.093697895431433);
- points += QPointF(451.812536560994317, 755.392302170863218);
- points += QPointF(427.435437524786209, 753.273553318105542);
- points += QPointF(402.232663995440760, 751.790438809294415);
- points += QPointF(376.413029414726907, 750.987987300199620);
- points += QPointF(350.180371031112031, 750.904539077934487);
- points += QPointF(323.735723660862391, 751.572273196081824);
- points += QPointF(297.279016585358193, 753.017162854419439);
- points += QPointF(271.010406542700196, 755.258436761187795);
- points += QPointF(245.131291735141957, 758.307563170734056);
- points += QPointF(219.844984732118604, 762.166732600404089);
- points += QPointF(194.848860551284815, 766.923479667790730);
- points += QPointF(172.371358664737528, 771.966789799612116);
- points += QPointF(111.816375434788142, 630.613801194321582);
- points += QPointF(111.027644362461615, 609.125749575465761);
- points += QPointF(109.203764340933944, 579.066500834362159);
- points += QPointF(104.882425391242222, 531.378512325319548);
- points += QPointF(95.931314232348498, 463.239208789540044);
- points += QPointF(83.715017334998123, 391.372185197808790);
- points += QPointF(68.446160239316853, 316.882189799137393);
- points += QPointF(50.354130013853364, 240.927194166617255);
- points += QPointF(29.673297258902259, 164.653807504519932);
- points += QPointF(6.611479789332002, 89.100327128404913);
- points += QPointF(-23.869134810321157, -1.722013069577457);
-
- return points;
-}
diff --git a/src/test/ValentinaTest/tst_vabstractpiece.h b/src/test/ValentinaTest/tst_vabstractpiece.h
index df75ede89..5941cf0f2 100644
--- a/src/test/ValentinaTest/tst_vabstractpiece.h
+++ b/src/test/ValentinaTest/tst_vabstractpiece.h
@@ -47,11 +47,11 @@ private slots:
void PathRemoveLoop() const;
void PathLoopsCase_data() const;
void PathLoopsCase() const;
- void BrokenDetailEquidistant_data() const;
+ void BrokenDetailEquidistant_data();
void BrokenDetailEquidistant() const;
- void EquidistantAngleType_data() const;
+ void EquidistantAngleType_data();
void EquidistantAngleType() const;
- void CorrectEquidistantPoints_data() const;
+ void CorrectEquidistantPoints_data();
void CorrectEquidistantPoints() const;
void TestCorrectEquidistantPoints_data();
void TestCorrectEquidistantPoints() const;
@@ -61,61 +61,13 @@ private slots:
#endif
private:
- QVector InputPointsSeamTest1PieceByAngle() const;
- QVector OutputPointsSeamTest1PieceByAngle() const;
-
- QVector InputPointsSeamTest1PieceByIntersection() const;
- QVector OutputPointsSeamTest1PieceByIntersection() const;
-
- QVector InputPointsSeamTest1PieceByFirstEdgeSymmerty() const;
- QVector OutputPointsSeamTest1PieceByFirstEdgeSymmerty() const;
-
- QVector InputPointsSeamTest1PieceBySecondEdgeSymmerty() const;
- QVector OutputPointsSeamTest1PieceBySecondEdgeSymmerty() const;
-
- QVector InputPointsSeamTest1PieceByFirstRightAngle() const;
- QVector OutputPointsSeamTest1PieceByFirstRightAngle() const;
-
- QVector InputPointsSeamTest1PieceBySecondRightAngle() const;
- QVector OutputPointsSeamTest1PieceBySecondRightAngle() const;
-
- QVector InputPointsCase2() const;
- QVector OutputPointsCase2() const;
-
QVector InputPointsCase3() const;
QVector OutputPointsCase3() const;
- QVector InputPointsIssue627() const;
- QVector OutputPointsIssue627() const;
-
- QVector InputPointsIssue767_Fabric_TopCollar() const;
- QVector OutputPointsIssue767_Fabric_TopCollar() const;
-
- QVector InputPointsIssue767_SkinFusing_TopCollar_Notch() const;
- QVector OutputPointsIssue767_SkinFusing_TopCollar_Notch() const;
-
- QVector InputPointsIssue880_Piece_Detail() const;
- QVector OutputPointsIssue880_Piece_Detail() const;
-
- QVector InputPointsIssue880_Piece_Detail_1() const;
- QVector OutputPointsIssue880_Piece_Detail_1() const;
-
- QVector InputPointsIssue883_Piece_ledge() const;
- QVector OutputPointsIssue883_Piece_ledge() const;
-
- QVector InputPointsIssue883_Piece_prong() const;
- QVector OutputPointsIssue883_Piece_prong() const;
-
void Case3() const;
void Case4() const;
void Case5() const;
- QVector InputPointsIssue298Case1() const;
- QVector OutputPointsIssue298Case1() const;
-
- QVector InputPointsIssue298Case2() const;
- QVector OutputPointsIssue298Case2() const;
-
QVector InputPointsIssue548Case1() const;
QVector OutputPointsIssue548Case1() const;
@@ -129,59 +81,8 @@ private:
QVector InputPointsCase4a() const;
QVector InputPointsCase5a() const;
- QVector InputPointsIssue646() const;
- QVector OutputPointsIssue646() const;
-
- QVector InputPointsIssue923Test1();
- QVector OutputPointsIssue923Test1();
-
- QVector InputPointsIssue923Test2();
- QVector OutputPointsIssue923Test2();
-
- QVector InputPointsIssue923Test3();
- QVector OutputPointsIssue923Test3();
-
- QVector InputPointsIssue923Test4();
- QVector OutputPointsIssue923Test4();
-
- QVector InputPointsIssue923Test5();
- QVector OutputPointsIssue923Test5();
-
- QVector InputPointsIssue923Test6();
- QVector OutputPointsIssue923Test6();
-
- QVector InputPointsIssue923Test1_1();
- QVector OutputPointsIssue923Test1_1();
-
- QVector InputPointsIssue923Test2_2();
- QVector OutputPointsIssue923Test2_2();
-
- QVector InputPointsIssue923Test3_3();
- QVector OutputPointsIssue923Test3_3();
-
- QVector InputPointsIssue923Test4_4();
- QVector OutputPointsIssue923Test4_4();
-
- QVector InputPointsIssue923Test5_5();
- QVector OutputPointsIssue923Test5_5();
-
- QVector InputPointsIssue923Test6_6();
- QVector OutputPointsIssue923Test6_6();
-
QVector InputLoopByIntersectionTest();
QVector OutputLoopByIntersectionTest();
-
- QVector InputPointsIssue937Case1() const;
- QVector OutputPointsIssue937Case1() const;
-
- QVector InputPointsIssue937Case2() const;
- QVector OutputPointsIssue937Case2() const;
-
- QVector InputPointsIssue937Case3() const;
- QVector OutputPointsIssue937Case3() const;
-
- QVector InputPointsIssue937Case4() const;
- QVector OutputPointsIssue937Case4() const;
};
#endif // TST_VABSTRACTPIECE_H