diff --git a/src/app/share/collection/bugs/Issue_#937a.val b/src/app/share/collection/bugs/Issue_#937a.val
new file mode 100644
index 000000000..d9a24ca69
--- /dev/null
+++ b/src/app/share/collection/bugs/Issue_#937a.val
@@ -0,0 +1,221 @@
+
+
+
+ 0.8.5
+ cm
+
+
+ Issue_#937a.vit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/app/share/collection/bugs/Issue_#937a.vit b/src/app/share/collection/bugs/Issue_#937a.vit
new file mode 100644
index 000000000..4160623cf
--- /dev/null
+++ b/src/app/share/collection/bugs/Issue_#937a.vit
@@ -0,0 +1,38 @@
+
+
+
+ 0.5.0
+ false
+
+ cm
+ 998
+
+
+ 1800-01-01
+ unknown
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/libs/vlayout/vabstractpiece.cpp b/src/libs/vlayout/vabstractpiece.cpp
index 3b84a24c5..a05576686 100644
--- a/src/libs/vlayout/vabstractpiece.cpp
+++ b/src/libs/vlayout/vabstractpiece.cpp
@@ -351,6 +351,7 @@ QVector AngleByFirstSymmetry(const QVector &points, QPointF p1
{
QLineF allowance(px2, p2);
allowance.setAngle(allowance.angle() + 90);
+ pointsIntr.append(px2);
pointsIntr.append(allowance.p2());
pointsIntr.append(bigLine2.p1());
}
diff --git a/src/test/ValentinaTest/share/Issue_923_test3_3/output.json b/src/test/ValentinaTest/share/Issue_923_test3_3/output.json
index fc70eac82..bcc40177b 100644
--- a/src/test/ValentinaTest/share/Issue_923_test3_3/output.json
+++ b/src/test/ValentinaTest/share/Issue_923_test3_3/output.json
@@ -7,8 +7,8 @@
},
{
"type": "QPointF",
- "x": -915.0435068700746,
- "y": 216.89494557577805
+ "x": -925.4690854411813,
+ "y": 240.35249736076804
},
{
"type": "QPointF",
diff --git a/src/test/ValentinaTest/share/Issue_937_case_1/output.json b/src/test/ValentinaTest/share/Issue_937_case_1/output.json
index 68342b2f0..d9ba925a0 100644
--- a/src/test/ValentinaTest/share/Issue_937_case_1/output.json
+++ b/src/test/ValentinaTest/share/Issue_937_case_1/output.json
@@ -27,8 +27,8 @@
},
{
"type": "QPointF",
- "x": 107.07002512164966,
- "y": 604.2565206153395
+ "x": 110.60240069942009,
+ "y": 621.4908395398686
},
{
"type": "QPointF",
diff --git a/src/test/ValentinaTest/share/Issue_937_case_1a/input.json b/src/test/ValentinaTest/share/Issue_937_case_1a/input.json
new file mode 100644
index 000000000..fea790632
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_937_case_1a/input.json
@@ -0,0 +1,437 @@
+{
+ "vector": [
+ {
+ "angle": 2,
+ "saBefore": 75.59055118110237,
+ "type": "VSAPoint",
+ "x": 1848.01082181109,
+ "y": 1030.8393070866143
+ },
+ {
+ "type": "VSAPoint",
+ "x": 1671.2893035827765,
+ "y": 327.84718110236224
+ },
+ {
+ "type": "VSAPoint",
+ "x": 1671.2893035827765,
+ "y": 327.84718110236224
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1688.372140240957,
+ "y": 322.94413905734257
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1716.5354846574178,
+ "y": 313.5103413076031
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1738.904789013785,
+ "y": 304.43175735278106
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1757.0453362209319,
+ "y": 295.60668740016325
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1764.9406087705745,
+ "y": 291.26164583583846
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1774.5053457725976,
+ "y": 285.8153073866176
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1796.6724196528355,
+ "y": 272.2726178840532
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1819.5866284327656,
+ "y": 257.02170154184256
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1840.0279888326772,
+ "y": 241.6978786769865
+ },
+ {
+ "type": "VSAPoint",
+ "x": 1848.0108218110677,
+ "y": 234.6188346456649
+ },
+ {
+ "type": "VSAPoint",
+ "x": 1848.0108218110677,
+ "y": 234.6188346456649
+ },
+ {
+ "type": "VSAPoint",
+ "x": 1848.0108218110677,
+ "y": 234.6188346456649
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1858.8534932235239,
+ "y": 222.25357797315382
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1880.2477175428162,
+ "y": 195.58641618946143
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1901.1990774093565,
+ "y": 166.87732721497812
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1921.6036592164696,
+ "y": 136.43970097816313
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1941.35754935748,
+ "y": 104.58692740747574
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1960.3568342257124,
+ "y": 71.63239643137523
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1978.4976002144917,
+ "y": 37.88949797832085
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 1995.6759337171432,
+ "y": 3.67162197677189
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2011.787921126991,
+ "y": -30.70784164481238
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2026.72964883736,
+ "y": -64.93550295797269
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2040.3972032415754,
+ "y": -98.69797203424977
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2052.686670732962,
+ "y": -131.68185894518436
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2063.494137704844,
+ "y": -163.57377376231716
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2072.7156905505462,
+ "y": -194.06032655718894
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2080.2474156633934,
+ "y": -222.8281274013404
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2085.9853994367118,
+ "y": -249.56378636631226
+ },
+ {
+ "angle": 1,
+ "type": "VSAPoint",
+ "x": 2088.068031496063,
+ "y": -261.96736884263447
+ },
+ {
+ "angle": 1,
+ "type": "VSAPoint",
+ "x": 2088.068031496063,
+ "y": -261.96736884263447
+ },
+ {
+ "angle": 1,
+ "type": "VSAPoint",
+ "x": 2088.068031496063,
+ "y": -261.96736884263447
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2093.657483084508,
+ "y": -256.8491686428997
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2105.334884759815,
+ "y": -247.02463595594847
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2123.8220925948735,
+ "y": -233.17242929563906
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2150.2581713810423,
+ "y": -216.62071732342656
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2178.3028954110514,
+ "y": -202.24961452388237
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2207.5998339810094,
+ "y": -190.15168642090634
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2237.792556387023,
+ "y": -180.41949853839853
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2268.524631925203,
+ "y": -173.1456164002589
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2299.4396298916563,
+ "y": -168.42260553038736
+ },
+ {
+ "type": "VSAPoint",
+ "x": 2314.8396850393706,
+ "y": -167.15867519535914
+ },
+ {
+ "type": "VSAPoint",
+ "x": 2314.8396850393706,
+ "y": -167.15867519535914
+ },
+ {
+ "type": "VSAPoint",
+ "x": 2314.8396850393706,
+ "y": -167.15867519535914
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2322.010028575929,
+ "y": -145.61308955377496
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2339.637410969939,
+ "y": -99.13974168385101
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2361.267739991481,
+ "y": -49.51427139590451
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2380.2854694075286,
+ "y": -10.789066434490545
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2394.1642108081796,
+ "y": 15.443500641661887
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2409.0805090172516,
+ "y": 41.89754239351732
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2425.042546290644,
+ "y": 68.44715750356406
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2442.058504884252,
+ "y": 94.9664446542904
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2460.1365670539744,
+ "y": 121.32950252818465
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2479.2849150557076,
+ "y": 147.4104298077351
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2499.5117311453505,
+ "y": 173.0833251754301
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2520.8251975787994,
+ "y": 198.22228731375787
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2543.2334966119515,
+ "y": 222.70141490520683
+ },
+ {
+ "type": "VSAPoint",
+ "x": 2554.896894724366,
+ "y": 234.6188346456649
+ },
+ {
+ "type": "VSAPoint",
+ "x": 2554.896894724366,
+ "y": 234.6188346456649
+ },
+ {
+ "type": "VSAPoint",
+ "x": 2554.896894724366,
+ "y": 234.6188346456649
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2562.8797277027566,
+ "y": 241.69787867698648
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2583.321088102669,
+ "y": 257.0217015418425
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2606.235296882598,
+ "y": 272.27261788405315
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2628.402370762836,
+ "y": 285.8153073866176
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2637.967107764859,
+ "y": 291.26164583583846
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2645.862380314502,
+ "y": 295.60668740016314
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2664.002927521649,
+ "y": 304.431757352781
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2686.372231878016,
+ "y": 313.51034130760297
+ },
+ {
+ "angle": 6,
+ "type": "VSAPoint",
+ "x": 2714.535576294477,
+ "y": 322.94413905734257
+ },
+ {
+ "type": "VSAPoint",
+ "x": 2731.6184129526573,
+ "y": 327.84718110236224
+ },
+ {
+ "type": "VSAPoint",
+ "x": 2731.6184129526573,
+ "y": 327.84718110236224
+ },
+ {
+ "angle": 3,
+ "saAfter": 75.59055118110237,
+ "type": "VSAPoint",
+ "x": 2554.896894724344,
+ "y": 1030.8393070866143
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/Issue_937_case_1a/output.json b/src/test/ValentinaTest/share/Issue_937_case_1a/output.json
new file mode 100644
index 000000000..6f7cf7ef8
--- /dev/null
+++ b/src/test/ValentinaTest/share/Issue_937_case_1a/output.json
@@ -0,0 +1,289 @@
+{
+ "vector": [
+ {
+ "type": "QPointF",
+ "x": 1790.0373027647304,
+ "y": 1106.4298582677168
+ },
+ {
+ "type": "QPointF",
+ "x": 1809.039616552721,
+ "y": 1030.8393070866143
+ },
+ {
+ "type": "QPointF",
+ "x": 1625.7211470605166,
+ "y": 301.6047356972375
+ },
+ {
+ "type": "QPointF",
+ "x": 1677.1510463933573,
+ "y": 286.8435479714687
+ },
+ {
+ "type": "QPointF",
+ "x": 1703.4138212480711,
+ "y": 278.04637876234926
+ },
+ {
+ "type": "QPointF",
+ "x": 1723.5137525631783,
+ "y": 269.88882003708585
+ },
+ {
+ "type": "QPointF",
+ "x": 1755.2977021921959,
+ "y": 253.25938675287418
+ },
+ {
+ "type": "QPointF",
+ "x": 1776.3420993297266,
+ "y": 240.4025822083505
+ },
+ {
+ "type": "QPointF",
+ "x": 1797.7637952365174,
+ "y": 226.14503156279258
+ },
+ {
+ "type": "QPointF",
+ "x": 1821.1582741564016,
+ "y": 207.9156854487886
+ },
+ {
+ "type": "QPointF",
+ "x": 1850.2268389063556,
+ "y": 172.6087009553809
+ },
+ {
+ "type": "QPointF",
+ "x": 1870.2249267950706,
+ "y": 145.2058551175055
+ },
+ {
+ "type": "QPointF",
+ "x": 1889.836815745804,
+ "y": 115.95069314833182
+ },
+ {
+ "type": "QPointF",
+ "x": 1908.9175481929235,
+ "y": 85.18337360456252
+ },
+ {
+ "type": "QPointF",
+ "x": 1927.3332233514307,
+ "y": 53.24112200584291
+ },
+ {
+ "type": "QPointF",
+ "x": 1944.9574938924545,
+ "y": 20.458935655897122
+ },
+ {
+ "type": "QPointF",
+ "x": 1961.6692094416467,
+ "y": -12.829474442041569
+ },
+ {
+ "type": "QPointF",
+ "x": 1977.3508112727925,
+ "y": -46.290589198904264
+ },
+ {
+ "type": "QPointF",
+ "x": 1991.8872271781745,
+ "y": -79.58978524645178
+ },
+ {
+ "type": "QPointF",
+ "x": 2005.1651187141283,
+ "y": -112.38968412540115
+ },
+ {
+ "type": "QPointF",
+ "x": 2017.0724182445153,
+ "y": -144.34786468940496
+ },
+ {
+ "type": "QPointF",
+ "x": 2027.498193269143,
+ "y": -175.1134390698845
+ },
+ {
+ "type": "QPointF",
+ "x": 2036.333053260422,
+ "y": -204.3215811329599
+ },
+ {
+ "type": "QPointF",
+ "x": 2043.7098515215694,
+ "y": -231.38670020515815
+ },
+ {
+ "type": "QPointF",
+ "x": 2055.2130708651216,
+ "y": -292.0522999673984
+ },
+ {
+ "type": "QPointF",
+ "x": 2096.2010430479354,
+ "y": -305.76697662558325
+ },
+ {
+ "type": "QPointF",
+ "x": 2128.851320460309,
+ "y": -276.6320078120429
+ },
+ {
+ "type": "QPointF",
+ "x": 2145.2196056546336,
+ "y": -264.3674802960657
+ },
+ {
+ "type": "QPointF",
+ "x": 2168.939173657971,
+ "y": -249.51658425841455
+ },
+ {
+ "type": "QPointF",
+ "x": 2194.160515418841,
+ "y": -236.5922818192089
+ },
+ {
+ "type": "QPointF",
+ "x": 2220.6310461540475,
+ "y": -225.66149541920834
+ },
+ {
+ "type": "QPointF",
+ "x": 2247.958778313922,
+ "y": -216.85279575290144
+ },
+ {
+ "type": "QPointF",
+ "x": 2275.742934422003,
+ "y": -210.27664776098405
+ },
+ {
+ "type": "QPointF",
+ "x": 2303.844726101479,
+ "y": -205.98342193871318
+ },
+ {
+ "type": "QPointF",
+ "x": 2342.8166649803834,
+ "y": -202.7848739275897
+ },
+ {
+ "type": "QPointF",
+ "x": 2357.6252360158223,
+ "y": -158.28779594983365
+ },
+ {
+ "type": "QPointF",
+ "x": 2374.650855533189,
+ "y": -113.40095337470302
+ },
+ {
+ "type": "QPointF",
+ "x": 2395.5715630428886,
+ "y": -65.40353512500977
+ },
+ {
+ "type": "QPointF",
+ "x": 2413.959562148755,
+ "y": -27.960630211024366
+ },
+ {
+ "type": "QPointF",
+ "x": 2441.7439264606173,
+ "y": 22.874874343832474
+ },
+ {
+ "type": "QPointF",
+ "x": 2473.5562132949735,
+ "y": 74.06879277048931
+ },
+ {
+ "type": "QPointF",
+ "x": 2490.9627711658104,
+ "y": 99.45260261835737
+ },
+ {
+ "type": "QPointF",
+ "x": 2509.3705570487227,
+ "y": 124.52485036246065
+ },
+ {
+ "type": "QPointF",
+ "x": 2528.7795075947815,
+ "y": 149.15966952319275
+ },
+ {
+ "type": "QPointF",
+ "x": 2549.188990792927,
+ "y": 173.2323949516483
+ },
+ {
+ "type": "QPointF",
+ "x": 2580.973552524787,
+ "y": 207.2276391804366
+ },
+ {
+ "type": "QPointF",
+ "x": 2586.793533689666,
+ "y": 212.3887020561312
+ },
+ {
+ "type": "QPointF",
+ "x": 2605.1439212989176,
+ "y": 226.1450315627929
+ },
+ {
+ "type": "QPointF",
+ "x": 2626.565617205801,
+ "y": 240.40258220841326
+ },
+ {
+ "type": "QPointF",
+ "x": 2663.251788844662,
+ "y": 262.0359243630072
+ },
+ {
+ "type": "QPointF",
+ "x": 2679.3939639722553,
+ "y": 269.8888200370858
+ },
+ {
+ "type": "QPointF",
+ "x": 2699.4938952873626,
+ "y": 278.04637876234915
+ },
+ {
+ "type": "QPointF",
+ "x": 2725.756670142078,
+ "y": 286.8435479714692
+ },
+ {
+ "type": "QPointF",
+ "x": 2777.186569474925,
+ "y": 301.60473569723985
+ },
+ {
+ "type": "QPointF",
+ "x": 2593.868099982721,
+ "y": 1030.8393070866146
+ },
+ {
+ "type": "QPointF",
+ "x": 2612.870413770712,
+ "y": 1106.4298582677168
+ },
+ {
+ "type": "QPointF",
+ "x": 1790.0373027647304,
+ "y": 1106.4298582677168
+ }
+ ]
+}
diff --git a/src/test/ValentinaTest/share/test_data.qrc b/src/test/ValentinaTest/share/test_data.qrc
index 52f469294..435a49fac 100644
--- a/src/test/ValentinaTest/share/test_data.qrc
+++ b/src/test/ValentinaTest/share/test_data.qrc
@@ -109,5 +109,7 @@
Issue_923_test7_3/output.json
doll/input.json
doll/output.json
+ Issue_937_case_1a/input.json
+ Issue_937_case_1a/output.json
diff --git a/src/test/ValentinaTest/tst_vabstractpiece.cpp b/src/test/ValentinaTest/tst_vabstractpiece.cpp
index f8920164d..ded1d5452 100644
--- a/src/test/ValentinaTest/tst_vabstractpiece.cpp
+++ b/src/test/ValentinaTest/tst_vabstractpiece.cpp
@@ -1026,6 +1026,12 @@ void TST_VAbstractPiece::EquidistantAngleType_data()
QStringLiteral("://Issue_937_case_1/output.json"),
37.795275590551185 /*seam allowance width*/);
+ // See file src/app/share/collection/bugs/Issue_#937a.val
+ ASSERT_TEST_CASE("Issue 937. Case1a",
+ QStringLiteral("://Issue_937_case_1a/input.json"),
+ QStringLiteral("://Issue_937_case_1a/output.json"),
+ 37.795275590551185 /*seam allowance width*/);
+
// See file src/app/share/collection/bugs/Issue_#937.val
ASSERT_TEST_CASE("Issue 937. Case2",
QStringLiteral("://Issue_937_case_2/input.json"),