diff --git a/ChangeLog.txt b/ChangeLog.txt index 2d0b27602..6e240a2fe 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,3 +1,6 @@ +# Version 0.7.45 (unreleased) +- Fix incorrect seam allowance for angle type second edge right angle. + # Version 0.7.44 Feb 9, 2021 - Placeholder %size% has incorrect value. - Values for waist and hip swapped for individual measurements. diff --git a/src/libs/vlayout/vabstractpiece.cpp b/src/libs/vlayout/vabstractpiece.cpp index 11633a379..e8c5ecf2b 100644 --- a/src/libs/vlayout/vabstractpiece.cpp +++ b/src/libs/vlayout/vabstractpiece.cpp @@ -860,7 +860,7 @@ void RollbackBySecondEdgeRightAngle(QVector &ekvPoints, const QVect { bool success = false; QVector temp = ekvPoints; - temp.insert(ekvPoints.size()-1, bigLine1.p2()); + temp.append(bigLine1.p2()); temp = VAbstractPiece::RollbackSeamAllowance(temp, edge, &success); if (success) diff --git a/src/test/ValentinaTest/share/busty/input.json b/src/test/ValentinaTest/share/busty/input.json new file mode 100644 index 000000000..7e7f4f98c --- /dev/null +++ b/src/test/ValentinaTest/share/busty/input.json @@ -0,0 +1,360 @@ +{ + "vector": [ + { + "angle": 5, + "saAfter": 26.45669291338583, + "saBefore": 37.795275590551185, + "type": "VSAPoint", + "x": -1058.8136718927797, + "y": -30.536111039239415 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1065.5536441787688, + "y": -37.927878771929734 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1082.8485903891715, + "y": -58.17935717920482 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1102.5181184296798, + "y": -83.84292334563696 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1117.2961289524233, + "y": -105.97327222177591 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1126.6166000369203, + "y": -121.6667838627803 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1130.963131799989, + "y": -129.78461638314192 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1135.16021151075, + "y": -137.9842480373772 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1142.837086103717, + "y": -154.5727787899671 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1152.8352635395959, + "y": -179.28730042289124 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1162.9518949157573, + "y": -210.03332760445397 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1169.5133713975329, + "y": -235.83080565687146 + }, + { + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1171.2936721927317, + "y": -245.6692913385828 + }, + { + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1171.2936721927317, + "y": -245.6692913385828 + }, + { + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1171.2936721927317, + "y": -245.6692913385828 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1174.3890943741103, + "y": -264.56300253752767 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1177.4354044761963, + "y": -283.464566929134 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1179.2165901369904, + "y": -300.30768143364105 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1183.4614095528123, + "y": -364.0983343409807 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1184.0495777045428, + "y": -379.49927863084474 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1183.8440658935192, + "y": -399.03579644238937 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1181.992687940763, + "y": -443.5849291872356 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1178.281073767535, + "y": -502.74224979503845 + }, + { + "saAfter": 0, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1177.4354044761963, + "y": -513.3292659231066 + }, + { + "saAfter": 0, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1177.4354044761963, + "y": -513.3292659231066 + }, + { + "saAfter": 26.45669291338583, + "saBefore": 0, + "type": "VSAPoint", + "x": -1032.9003005664292, + "y": -566.9291338582678 + }, + { + "saAfter": 26.45669291338583, + "saBefore": 0, + "type": "VSAPoint", + "x": -1032.9003005664292, + "y": -566.9291338582678 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1030.2832577330814, + "y": -542.9215895813609 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1017.7544686897351, + "y": -420.50801127495316 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1010.6299867820719, + "y": -340.60770434332505 + }, + { + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1009.0044625338777, + "y": -313.5156956522864 + }, + { + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1009.0044625338777, + "y": -313.5156956522864 + }, + { + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1009.0044625338777, + "y": -313.5156956522864 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1007.7355728307733, + "y": -288.26325089419765 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1004.4362203318067, + "y": -222.10701747325322 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1002.9738790604049, + "y": -167.56635417141973 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1003.047137929568, + "y": -132.13036972295987 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1004.392781230201, + "y": -99.30794871728739 + }, + { + "angle": 6, + "saAfter": 26.45669291338583, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1007.3598453249313, + "y": -70.79885083212733 + }, + { + "angle": 4, + "saAfter": 37.795275590551185, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1009.6498580058222, + "y": -58.97892973557434 + }, + { + "angle": 4, + "saAfter": 37.795275590551185, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1009.6498580058222, + "y": -58.97892973557434 + }, + { + "angle": 4, + "saAfter": 37.795275590551185, + "saBefore": 26.45669291338583, + "type": "VSAPoint", + "x": -1009.6498580058222, + "y": -58.97892973557434 + }, + { + "angle": 6, + "saAfter": 37.795275590551185, + "saBefore": 37.795275590551185, + "type": "VSAPoint", + "x": -1032.3998109190402, + "y": -45.246390500828426 + }, + { + "saAfter": 37.795275590551185, + "saBefore": 37.795275590551185, + "type": "VSAPoint", + "x": -1052.1941894220304, + "y": -34.18601050334456 + }, + { + "saAfter": 37.795275590551185, + "saBefore": 37.795275590551185, + "type": "VSAPoint", + "x": -1052.1941894220304, + "y": -34.18601050334456 + }, + { + "angle": 5, + "saAfter": 26.45669291338583, + "saBefore": 37.795275590551185, + "type": "VSAPoint", + "x": -1058.8136718927797, + "y": -30.536111039239415 + } + ] +} diff --git a/src/test/ValentinaTest/share/busty/output.json b/src/test/ValentinaTest/share/busty/output.json new file mode 100644 index 000000000..9d43df667 --- /dev/null +++ b/src/test/ValentinaTest/share/busty/output.json @@ -0,0 +1,159 @@ +{ + "vector": [ + { + "type": "QPointF", + "x": -1103.8471101657558, + "y": -42.085297184732866 + }, + { + "type": "QPointF", + "x": -1124.5201943940583, + "y": -69.1505697843101 + }, + { + "type": "QPointF", + "x": -1140.0434836886259, + "y": -92.4634812382463 + }, + { + "type": "QPointF", + "x": -1149.940403533249, + "y": -109.17851775503699 + }, + { + "type": "QPointF", + "x": -1159.170440407294, + "y": -126.87274461755615 + }, + { + "type": "QPointF", + "x": -1167.36286874689, + "y": -144.65095508395754 + }, + { + "type": "QPointF", + "x": -1177.9664774154562, + "y": -171.01815965500697 + }, + { + "type": "QPointF", + "x": -1188.5922254584113, + "y": -203.5118209091592 + }, + { + "type": "QPointF", + "x": -1195.4178706203895, + "y": -230.3479197275871 + }, + { + "type": "QPointF", + "x": -1203.7453889782855, + "y": -280.682244982781 + }, + { + "type": "QPointF", + "x": -1205.614902183117, + "y": -298.55105938305485 + }, + { + "type": "QPointF", + "x": -1209.8988299188475, + "y": -363.0886788042449 + }, + { + "type": "QPointF", + "x": -1210.504806929036, + "y": -379.77757091002314 + }, + { + "type": "QPointF", + "x": -1210.277941986287, + "y": -400.1343384877381 + }, + { + "type": "QPointF", + "x": -1208.3974608963256, + "y": -445.241602081407 + }, + { + "type": "QPointF", + "x": -1204.722502504057, + "y": -503.81468691330537 + }, + { + "type": "QPointF", + "x": -1007.3842856723732, + "y": -576.996232950328 + }, + { + "type": "QPointF", + "x": -1003.9823700835099, + "y": -545.7886279064857 + }, + { + "type": "QPointF", + "x": -991.4352650684059, + "y": -423.2017300153295 + }, + { + "type": "QPointF", + "x": -984.213648276446, + "y": -342.06840960768045 + }, + { + "type": "QPointF", + "x": -981.3192343251474, + "y": -289.72395615855305 + }, + { + "type": "QPointF", + "x": -977.9890318933022, + "y": -222.8161180383151 + }, + { + "type": "QPointF", + "x": -976.5172426843859, + "y": -167.51165883014608 + }, + { + "type": "QPointF", + "x": -976.6126513667012, + "y": -131.04661695094921 + }, + { + "type": "QPointF", + "x": -978.0782170318975, + "y": -96.56927915588047 + }, + { + "type": "QPointF", + "x": -981.165407547637, + "y": -66.90594402278631 + }, + { + "type": "QPointF", + "x": -993.2037018373038, + "y": -4.770179523183316 + }, + { + "type": "QPointF", + "x": -1019.1774122353031, + "y": -9.802372690577615 + }, + { + "type": "QPointF", + "x": -1033.5544753284128, + "y": -1.484787730971263 + }, + { + "type": "QPointF", + "x": -1053.5198027542144, + "y": 15.874425980879213 + }, + { + "type": "QPointF", + "x": -1103.8471101657558, + "y": -42.085297184732866 + } + ] +} diff --git a/src/test/ValentinaTest/share/test_data.qrc b/src/test/ValentinaTest/share/test_data.qrc index d29022201..cbf9210ea 100644 --- a/src/test/ValentinaTest/share/test_data.qrc +++ b/src/test/ValentinaTest/share/test_data.qrc @@ -121,5 +121,7 @@ smart_pattern_#58/output.json 160-42_intersection/intersections.json 160-42_intersection/points.json + busty/input.json + busty/output.json diff --git a/src/test/ValentinaTest/tst_vabstractpiece.cpp b/src/test/ValentinaTest/tst_vabstractpiece.cpp index 284c43056..48ea40f01 100644 --- a/src/test/ValentinaTest/tst_vabstractpiece.cpp +++ b/src/test/ValentinaTest/tst_vabstractpiece.cpp @@ -1075,6 +1075,12 @@ void TST_VAbstractPiece::EquidistantAngleType_data() QStringLiteral("://Issue_937_case_5/input.json"), QStringLiteral("://Issue_937_case_5/output.json"), 37.795275590551185 /*seam allowance width*/); + + // See file src/app/share/collection/bugs/busty.val (private collection) + ASSERT_TEST_CASE("Busty", + QStringLiteral("://busty/input.json"), + QStringLiteral("://busty/output.json"), + 0 /*seam allowance width*/); } //---------------------------------------------------------------------------------------------------------------------