diff --git a/ChangeLog.txt b/ChangeLog.txt index 986f6e8e7..c194ac798 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -11,6 +11,7 @@ - [#912] Labels in inactive state return to initial color. - [#913] Unable to save changes for piece path if it doesn't contain a point. - [#914] Filtering custom seam allowance paths prevent including more than one. +- [#915] Valentina produces wrong seam allowance for acute angle. # Version 0.6.1 October 23, 2018 - [#885] Regression. Broken support for multi size measurements. diff --git a/src/app/share/collection/bugs/Steampunk_trousers_issue_#548.val b/src/app/share/collection/bugs/Steampunk_trousers_issue_#548.val index c7a12d9b2..3b0356e7a 100644 --- a/src/app/share/collection/bugs/Steampunk_trousers_issue_#548.val +++ b/src/app/share/collection/bugs/Steampunk_trousers_issue_#548.val @@ -1,131 +1,134 @@ - + - - 0.3.9 + + 0.7.12 cm - S.L.Spencer Men's Trousers circa 1830-1870 Steampunk Trousers Seamly - - true - true + + + + + + marie_issue_#548.vit - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -133,7 +136,7 @@ - + @@ -148,19 +151,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -169,22 +172,22 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + @@ -198,24 +201,70 @@ - - - - - - + + + + + + + + + + + + + + + + + +
- - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/src/libs/vgeometry/vsplinepoint_p.h b/src/libs/vgeometry/vsplinepoint_p.h index b215a95b0..1c978c857 100644 --- a/src/libs/vgeometry/vsplinepoint_p.h +++ b/src/libs/vgeometry/vsplinepoint_p.h @@ -110,9 +110,9 @@ public: angle1F('0'), angle2(180), angle2F("180"), - length1(0), + length1(ToPixel(0.01, Unit::Mm)), length1F('0'), - length2(0), + length2(ToPixel(0.01, Unit::Mm)), length2F('0') {} @@ -130,7 +130,17 @@ public: length1F(point.length1F), length2(point.length2), length2F(point.length2F) - {} + { + if (qFuzzyIsNull(this->length1)) + { + this->length1 = ToPixel(0.01, Unit::Mm); + } + + if (qFuzzyIsNull(this->length2)) + { + this->length2 = ToPixel(0.01, Unit::Mm); + } + } virtual ~VSplinePointData(); @@ -188,6 +198,16 @@ VSplinePointData::VSplinePointData(VPointF pSpline, qreal angle1, const QString this->angle1F = QString().number(line.angle()); } } + + if (qFuzzyIsNull(this->length1)) + { + this->length1 = ToPixel(0.01, Unit::Mm); + } + + if (qFuzzyIsNull(this->length2)) + { + this->length2 = ToPixel(0.01, Unit::Mm); + } } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/libs/vlayout/vabstractpiece.cpp b/src/libs/vlayout/vabstractpiece.cpp index c4bf720ab..4d1993e78 100644 --- a/src/libs/vlayout/vabstractpiece.cpp +++ b/src/libs/vlayout/vabstractpiece.cpp @@ -235,7 +235,7 @@ QVector AngleByLength(QVector points, QPointF p2, const QLineF { // Cutting too long acut angle line.setLength(localWidth); QLineF cutLine(line.p2(), sp2); // Cut line is a perpendicular - cutLine.setLength(length); // Decided take this length + cutLine.setLength(length); // Decided to take this length // We do not check intersection type because intersection must alwayse exist QPointF px; @@ -245,6 +245,7 @@ QVector AngleByLength(QVector points, QPointF p2, const QLineF { qDebug()<<"Couldn't find intersection with cut line."; } + points.append(sp1); points.append(px); cutLine.setAngle(cutLine.angle()-180); @@ -254,6 +255,7 @@ QVector AngleByLength(QVector points, QPointF p2, const QLineF qDebug()<<"Couldn't find intersection with cut line."; } points.append(px); + points.append(sp3); } else {// The point just fine diff --git a/src/test/ValentinaTest/tst_vabstractpiece.cpp b/src/test/ValentinaTest/tst_vabstractpiece.cpp index a2ba698d5..71cd5a9b9 100644 --- a/src/test/ValentinaTest/tst_vabstractpiece.cpp +++ b/src/test/ValentinaTest/tst_vabstractpiece.cpp @@ -108,8 +108,6 @@ void TST_VAbstractPiece::EquidistantRemoveLoop_data() << 11.338582677165354 // seam allowance width (0.3 cm) << OutputPointsIssue548Case1(); - // Disabled due to "undefined behavior" problem -#if !defined(Q_OS_WIN) && !defined(Q_CC_CLANG) && !defined(Q_PROCESSOR_X86_64) QTest::newRow("Issue 548. Case2") << InputPointsIssue548Case2() << 37.795275590551185 // seam allowance width (1.0 cm) << OutputPointsIssue548Case2(); @@ -117,12 +115,16 @@ void TST_VAbstractPiece::EquidistantRemoveLoop_data() QTest::newRow("Issue 548. Case3") << InputPointsIssue548Case3() << 75.59055118110237 // seam allowance width (2.0 cm) << OutputPointsIssue548Case3(); -#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(); + + // See file src/app/share/collection/bugs/Issue_#915.val + QTest::newRow("Issue 915.") << InputPointsIssue915() + << 24.0 // seam allowance width (0.25 inch) + << OutputPointsIssue915(); } //--------------------------------------------------------------------------------------------------------------------- @@ -450,6 +452,7 @@ QVector TST_VAbstractPiece::OutputPointsSeamTest1PieceByAngle() const points += QPointF(1098.216223912539590, 704.699271425243978); points += QPointF(1104.044420848225172, 705.374446205546178); points += QPointF(1111.348801411629438, 705.793755950627201); + points += QPointF(1106.830811156247591, 705.750680808342395); points += QPointF(1290.270553665008265, 707.499620616224888); points += QPointF(1302.416131870576919, 881.655825604373376); points += QPointF(30.000000000000000, 970.393574803149590); @@ -772,6 +775,7 @@ QVector TST_VAbstractPiece::OutputPointsSeamTest1PieceByIntersection() points += QPointF(1098.216223912539590, 704.699271425243978); points += QPointF(1104.044420848225172, 705.374446205546178); points += QPointF(1111.348801411629438, 705.793755950627201); + points += QPointF(1106.830811156247591, 705.750680808342395); points += QPointF(1290.270553665008265, 707.499620616224888); points += QPointF(1302.416131870576919, 881.655825604373376); points += QPointF(30.000000000000000, 970.393574803149590); @@ -1096,6 +1100,7 @@ QVector TST_VAbstractPiece::OutputPointsSeamTest1PieceByFirstEdgeSymmer points += QPointF(1098.216223912539590, 704.699271425243978); points += QPointF(1104.044420848225172, 705.374446205546178); points += QPointF(1111.348801411629438, 705.793755950627201); + points += QPointF(1106.830811156247591, 705.750680808342395); points += QPointF(1290.270553665008265, 707.499620616224888); points += QPointF(1302.416131870576919, 881.655825604373376); points += QPointF(30.000000000000000, 970.393574803149590); @@ -1418,6 +1423,7 @@ QVector TST_VAbstractPiece::OutputPointsSeamTest1PieceBySecondEdgeSymme points += QPointF(1098.216223912539590, 704.699271425243978); points += QPointF(1104.044420848225172, 705.374446205546178); points += QPointF(1111.348801411629438, 705.793755950627201); + points += QPointF(1106.830811156247591, 705.750680808342395); points += QPointF(1290.270553665008265, 707.499620616224888); points += QPointF(1302.416131870576919, 881.655825604373376); points += QPointF(30.000000000000000, 970.393574803149590); @@ -1742,6 +1748,7 @@ QVector TST_VAbstractPiece::OutputPointsSeamTest1PieceByFirstRightAngle points += QPointF(1098.216223912539590, 704.699271425243978); points += QPointF(1104.044420848225172, 705.374446205546178); points += QPointF(1111.348801411629438, 705.793755950627201); + points += QPointF(1106.830811156247591, 705.750680808342395); points += QPointF(1290.270553665008265, 707.499620616224888); points += QPointF(1302.416131870576919, 881.655825604373376); points += QPointF(30.000000000000000, 970.393574803149590); @@ -2063,6 +2070,7 @@ QVector TST_VAbstractPiece::OutputPointsSeamTest1PieceBySecondRightAngl points += QPointF(1098.216223912539590, 704.699271425243978); points += QPointF(1104.044420848225172, 705.374446205546178); points += QPointF(1111.348801411629438, 705.793755950627201); + points += QPointF(1106.830811156247591, 705.750680808342395); points += QPointF(1290.270553665008265, 707.499620616224888); points += QPointF(1302.416131870576919, 881.655825604373376); points += QPointF(30.000000000000000, 970.393574803149590); @@ -4729,61 +4737,94 @@ void TST_VAbstractPiece::BrokenDetailEquidistant_data() const 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)); + points += VSAPoint(-3139.265113213924451, 2368.069802008785700); + points += VSAPoint(-3120.180861678069505, 3642.160739453890528); + points += VSAPoint(-3800.495822307991148, 3642.160739453890528); + points += VSAPoint(-3838.291097898541921, 2357.121369375150152); + points += VSAPoint(-3838.291097898541921, 2357.121369375150152); + + p = VSAPoint(-3839.302217259215013, 2343.680254846592106); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-3849.814536317706825, 2173.405020996054191); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-3861.632100747252480, 2018.058273701557255); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-3873.468452041235651, 1888.997611200983556); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-3882.664398634625286, 1801.433678361868033); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-3893.005366431439143, 1714.861207663502000); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-3904.516005303620659, 1631.424356708237610); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-3917.220965123112364, 1553.267283098427470); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-3927.586957117470774, 1499.686428242613374); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-3934.858286992645844, 1466.577872199004560); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-3942.442062657617043, 1435.995349143082194); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-3950.341365346376733, 1408.206878775140922); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-3958.559276292917730, 1383.480480795474250); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-3967.098876731232849, 1362.084174904376596); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + points += VSAPoint(-3971.503869701376971, 1352.874067716675199); 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)); + ekvOrig += QPointF(-3101.671677349303991, 2354.311657146296511); + ekvOrig += QPointF(-3081.815221558207668, 3679.956015044441756); + ekvOrig += QPointF(-3837.195816049601035, 3679.956015044441756); + ekvOrig += QPointF(-3876.044653039363766, 2359.095557392497085); + ekvOrig += QPointF(-3877.010036246325853, 2346.262427345334345); + ekvOrig += QPointF(-3887.521375357235229, 2176.003066377156756); + ekvOrig += QPointF(-3899.296227079830715, 2021.217795191581217); + ekvOrig += QPointF(-3911.083026727820652, 1892.697431648095517); + ekvOrig += QPointF(-3920.224832495934606, 1805.649028508959645); + ekvOrig += QPointF(-3930.493055752654072, 1719.685560245328361); + ekvOrig += QPointF(-3941.894545530255527, 1637.039895325651742); + ekvOrig += QPointF(-3954.435721335517883, 1559.890371478935094); + ekvOrig += QPointF(-3964.604131215331108, 1507.330800317660078); + ekvOrig += QPointF(-3971.664775737262062, 1475.181558174698694); + ekvOrig += QPointF(-3978.972116735843429, 1445.713792454936083); + ekvOrig += QPointF(-3986.469384347065898, 1419.339616522745928); + ekvOrig += QPointF(-3994.074543749641634, 1396.456891300948655); + ekvOrig += QPointF(-4001.736468408189467, 1377.259636711227131); + ekvOrig += QPointF(-4001.195059002683593, 1378.391633672615171); + ekvOrig += QPointF(-4020.055159068345802, 1338.958303278483072); + ekvOrig += QPointF(-3963.514509032285787, 1303.003772798831278); + ekvOrig += QPointF(-3110.036113865901825, 2344.108406930881756); + ekvOrig += QPointF(-3101.671677349303991, 2354.311657146296511); // See the file "collection/bugs/Issue_#687.val" QTest::newRow("Issue #687.") << points << 37.795275590551185 << ekvOrig; @@ -5847,8 +5888,10 @@ QVector TST_VAbstractPiece::OutputPointsIssue298Case1() const { QVector points; + points += QPointF(454.241957169666080, 428.231656323662378); points += QPointF(1181.370211203355211, -59.406362870594705); points += QPointF(1269.039464046917146, 38.629190783372337); + points += QPointF(1216.112062618621621, 101.177811020102126); points += QPointF(1216.924519205873821, 100.217664911215365); points += QPointF(1198.880813132726189, 123.039801916996382); points += QPointF(1182.221067861893971, 145.936740845325801); @@ -5873,8 +5916,9 @@ QVector TST_VAbstractPiece::OutputPointsIssue298Case1() const points += QPointF(1032.895861058649189, 885.767291298921236); points += QPointF(1033.622065798040012, 991.890644345887608); points += QPointF(940.875971287879679, 1031.297840617347674); + points += QPointF(443.502530826085263, 545.064029916304321); points += QPointF(376.989021179537758, 480.040217570165055); - points += QPointF(1181.370211203355211, -59.406362870594705); + points += QPointF(454.241957169666080, 428.231656323662378); return points; } @@ -5923,8 +5967,10 @@ QVector TST_VAbstractPiece::OutputPointsIssue298Case2() const { QVector points; + points += QPointF(645.821349751089997, 1828.723698240793510); points += QPointF(-10.830702765714818, 24.587011512350955); points += QPointF(39.855615789834275, -8.108689868294974); + points += QPointF(984.109698069704450, 914.997015717170598); points += QPointF(995.420358378310425, 926.054352148911448); points += QPointF(995.739071214507590, 1005.591452546832215); points += QPointF(994.595477129484721, 1095.280975097498185); @@ -5933,9 +5979,9 @@ QVector TST_VAbstractPiece::OutputPointsIssue298Case2() const 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(961.141923226857557, 1405.057857127779471); + points += QPointF(954.192782444686372, 1433.837767192289448); + points += QPointF(946.379452372984474, 1462.432978930140507); points += QPointF(937.651555831541259, 1490.826496264650814); points += QPointF(927.959066252289745, 1519.000254063481179); points += QPointF(917.252513621465937, 1546.935105471911356); @@ -5949,9 +5995,9 @@ QVector TST_VAbstractPiece::OutputPointsIssue298Case2() const 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(719.578275789075519, 1832.218468236051649); points += QPointF(664.990187962422283, 1881.389648383607664); - points += QPointF(-10.830702765714818, 24.587011512350955); + points += QPointF(645.821349751089997, 1828.723698240793510); return points; } @@ -5961,12 +6007,12 @@ QVector TST_VAbstractPiece::InputPointsIssue548Case1() const { QVector points; - points += VSAPoint(236.97989607468364, 65.89325192030674); - points += VSAPoint(198.93409106041895, 172.04876297154925); - points += VSAPoint(260.32251114299453, 75.38027418944861); - points += VSAPoint(324.54110236213444, 101.48031496062993); - points += VSAPoint(29.858267716535437, 300.85039370078744); - points += VSAPoint(99.86433649395013, 10.166060970128015); + points += VSAPoint(99.864336493950120, 10.166060970128015); + points += VSAPoint(236.976230899601006, 65.892946005988421); + points += VSAPoint(198.929434751152087, 172.048225991604085); + points += VSAPoint(260.318775675698191, 75.380141225780733); + points += VSAPoint(324.536329963882622, 101.480314960629926); + points += VSAPoint(29.858267716535437, 300.850393700787379); return points; } @@ -5976,14 +6022,16 @@ QVector TST_VAbstractPiece::OutputPointsIssue548Case1() const { QVector points; - points += QPointF(251.32210577118798, 59.48301432799721); - points += QPointF(243.9841262159756, 79.95746530820585); - points += QPointF(255.82424817748586, 61.31279754390509); - points += QPointF(348.48337789725855, 98.9717841021069); - points += QPointF(29.780382054543473, 314.59289909613994); - points += QPointF(17.01672179602679, 305.7450049304056); - points += QPointF(91.92616539550944, -5.299480329501037); - points += QPointF(251.32210577118798, 59.48301432799721); + points += QPointF(91.926188513420229, -5.299576321385700); + points += QPointF(251.318503777369841, 59.482821054254934); + points += QPointF(243.980340177388854, 79.957207609612524); + points += QPointF(255.820628259508965, 61.312635852750702); + points += QPointF(348.478270726919504, 98.971817879648910); + points += QPointF(330.890078894417513, 110.871445438620611); + points += QPointF(29.780459425848392, 314.592917220519098); + points += QPointF(17.016714467558195, 305.745035360210295); + points += QPointF(88.840927183180355, 7.511272034233146); + points += QPointF(91.926188513420229, -5.299576321385700); return points; } @@ -5992,12 +6040,13 @@ QVector TST_VAbstractPiece::OutputPointsIssue548Case1() const QVector TST_VAbstractPiece::InputPointsIssue548Case2() const { QVector points; - points << VSAPoint(99.86433649395013, 10.166060970128015); - points << VSAPoint(176.0178302829931, 57.36978169486653); - points << VSAPoint(115.46606095399079, 156.67924434657942); - points << VSAPoint(197.43414263641347, 70.64467660756823); - points << VSAPoint(247.18110236220474, 101.48031496062993); - points << VSAPoint(29.858267716535437, 300.85039370078744); + + points += VSAPoint(99.864336493950120, 10.166060970128015); + points += VSAPoint(236.976230899601006, 65.892946005988421); + points += VSAPoint(198.929434751152087, 172.048225991604085); + points += VSAPoint(260.318775675698191, 75.380141225780733); + points += VSAPoint(324.536329963882622, 101.480314960629926); + points += VSAPoint(29.858267716535437, 300.850393700787379); return points; } @@ -6006,12 +6055,16 @@ QVector TST_VAbstractPiece::InputPointsIssue548Case2() const QVector TST_VAbstractPiece::OutputPointsIssue548Case2() const { QVector points; - points << QPointF(75.35612582031402, -49.49247429729551); - points << QPointF(207.99390662262346, 32.7230151178754); - points << QPointF(309.47290565612207, 95.62474281894228); - points << QPointF(34.78597607721976, 347.62014343263024); - points << QPointF(-13.438975506560153, 319.209057294505); - points << QPointF(75.35612582031402, -49.49247429729551); + + points += QPointF(73.403843225517093, -41.386063334917424); + points += QPointF(284.783807158830541, 44.525862833543471); + points += QPointF(245.324950955067436, 28.488456649013926); + points += QPointF(404.342799174005563, 93.118658024026544); + points += QPointF(345.715493065665612, 132.784083220598887); + points += QPointF(29.598906747578553, 346.658805433226348); + points += QPointF(-12.946909780055414, 317.165865898863785); + points += QPointF(63.119638791384254, 1.316764517145117); + points += QPointF(73.403843225517093, -41.386063334917424); return points; } @@ -6021,12 +6074,12 @@ QVector TST_VAbstractPiece::InputPointsIssue548Case3() const { QVector points; - points += VSAPoint(99.86433649395013, 10.166060970128015); - points += VSAPoint(176.0178302829931, 57.36978169486653); - points += VSAPoint(115.46606095399079, 156.67924434657942); - points += VSAPoint(197.43414263641347, 70.64467660756823); - points += VSAPoint(247.18110236220474, 101.48031496062993); - points += VSAPoint(29.858267716535437, 300.85039370078744); + points += VSAPoint(99.864336493950120, 10.166060970128015); + points += VSAPoint(236.976230899601006, 65.892946005988421); + points += VSAPoint(198.929434751152087, 172.048225991604085); + points += VSAPoint(260.318775675698191, 75.380141225780733); + points += VSAPoint(324.536329963882622, 101.480314960629926); + points += VSAPoint(29.858267716535437, 300.850393700787379); return points; } @@ -6036,12 +6089,15 @@ QVector TST_VAbstractPiece::OutputPointsIssue548Case3() const { QVector points; - points += QPointF(50.84791514667799, -109.15100956471929); - points += QPointF(220.96071459087483, -3.7066408675763003); - points += QPointF(371.76470895003956, 89.76917067725468); - points += QPointF(39.71368443790398, 394.38989316447305); - points += QPointF(-56.73621872965576, 337.56772088822254); - points += QPointF(50.84791514667799, -109.15100956471929); + points += QPointF(46.943349957084052, -92.938187639962905); + points += QPointF(332.591383418060218, 23.158779661098620); + points += QPointF(230.331126234436681, -18.403227927752880); + points += QPointF(484.149268384128561, 84.757001087423149); + points += QPointF(366.894656167448602, 164.087851480567821); + points += QPointF(29.339545778621698, 392.467217165665375); + points += QPointF(-55.752087276646201, 333.481338096940249); + points += QPointF(26.374941088818389, -7.532531935837781); + points += QPointF(46.943349957084052, -92.938187639962905); return points; } @@ -6492,3 +6548,500 @@ QVector TST_VAbstractPiece::OutputPointsIssue646() const return points; } + +//--------------------------------------------------------------------------------------------------------------------- +QVector TST_VAbstractPiece::InputPointsIssue915() const +{ + QVector points; + + VSAPoint p = VSAPoint(-507.600000000000023, -31.999967999999996); + p.SetSAAfter(72); + points += p; + + p = VSAPoint(-507.600000000000023, -31.999967999999996); + p.SetSAAfter(72); + points += p; + + p = VSAPoint(-507.449312463382512, -31.446023065087303); + p.SetSABefore(72); + p.SetSAAfter(72); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-504.845506094201312, -30.090291508939359); + p.SetSABefore(72); + p.SetSAAfter(72); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-496.392100551001931, -27.573850413669142); + p.SetSABefore(72); + p.SetSAAfter(72); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-464.417329131643498, -20.986254035646493); + p.SetSABefore(72); + p.SetSAAfter(72); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-395.102260782232634, -9.652621739449918); + p.SetSABefore(72); + p.SetSAAfter(72); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-307.007819610491993, 3.110972965636707); + p.SetSABefore(72); + p.SetSAAfter(72); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-210.954136705713381, 15.888105412165199); + p.SetSABefore(72); + p.SetSAAfter(72); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-117.761343157188833, 27.262350932687376); + p.SetSABefore(72); + p.SetSAAfter(72); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-38.249570054210352, 35.817284859755048); + p.SetSABefore(72); + p.SetSAAfter(72); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(4.877847189362743, 39.365679896542964); + p.SetSABefore(72); + p.SetSAAfter(72); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(24.229095510481223, 40.200765039253241); + p.SetSABefore(72); + p.SetSAAfter(72); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(30.000000000000000, 40.000032000000004); + p.SetSABefore(72); + p.SetSAAfter(72); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(298.799956841943526, 39.998755556494672); + p.SetSABefore(72); + p.SetSAAfter(72); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(567.600000000000023, 40.000032000000004); + p.SetSABefore(72); + points += p; + + p = VSAPoint(567.600000000000023, 40.000032000000004); + p.SetSABefore(72); + points += p; + + p = VSAPoint(567.600000000000023, 40.000032000000004); + p.SetSABefore(72); + points += p; + + p = VSAPoint(678.012137340500203, 393.982384929571140); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(788.400000000000091, 748.000032000000033); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(797.781010969863473, 773.269590772002402); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(816.862743647139837, 830.669938076978156); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(845.946905498940055, 924.554979792767654); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(875.249624105851581, 1015.644669357187695); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(889.833156456430174, 1055.897454421274915); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(899.501294925524462, 1079.890026003066396); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(909.106431465620517, 1100.924213872042856); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(918.633137421352558, 1118.512954664990048); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(928.065984137355599, 1132.169185018693497); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(935.065965891960332, 1139.388121524882081); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(939.697530455759988, 1142.810231969287997); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + points += VSAPoint(942.000000000000000, 1144.000031999999919); + points += VSAPoint(942.000000000000000, 1144.000031999999919); + points += VSAPoint(848.543035410863922, 1219.271512454330150); + points += VSAPoint(848.543035410863922, 1219.271512454330150); + + p = VSAPoint(833.394621851587999, 1209.184443788609315); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(801.342440734292722, 1188.938954811239682); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(767.080438685780450, 1168.777106485989634); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(730.493731114134448, 1148.886968398673844); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(691.467433427437982, 1129.456610135107212); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(649.886661033774089, 1110.674101281104640); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(605.636529341226151, 1092.727511422481030); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(558.602153757877204, 1075.804910145051281); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(508.668649691810742, 1060.094367034630295); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(455.721132551109690, 1045.783951677032974); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(399.644717743857314, 1033.061733658073990); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(340.324520678136992, 1022.115782563568359); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(277.645656762031649, 1013.134167979330982); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(211.493241403624779, 1006.304959491176760); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(141.752390010999420, 1001.816226684920593); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(68.308217992238781, 999.856039146377270); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(30.000000000000000, 1000.000031999999919); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(13.631956548446972, 1000.226181810077605); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-18.339663549363255, 1001.315068131676639); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-64.869755169399568, 1004.236194277548975); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-124.502761493149634, 1010.668565483517341); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-182.309583065705112, 1019.648892145697118); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-239.128063484441043, 1030.946419395580051); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-295.796046346732737, 1044.330392364657655); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-353.151375249955208, 1059.570056184421901); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-412.031893791483697, 1076.434655986364305); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-504.592710215890349, 1104.142528279636281); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-606.203023219656870, 1134.470522600176537); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-679.562736288160977, 1155.527317645747871); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-758.636856981846904, 1177.055274330955854); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-844.263228898089778, 1198.823637787291773); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-937.279695634264840, 1220.601653146247372); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-1038.524100787747329, 1242.158565539314623); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + points += VSAPoint(-1092.888802387382157, 1252.758362424370716); + points += VSAPoint(-1092.888802387382157, 1252.758362424370716); + points += VSAPoint(-1143.600000000000136, 1144.000031999999919); + points += VSAPoint(-1143.600000000000136, 1144.000031999999919); + + p = VSAPoint(-1140.827541033094121, 1143.374971214933794); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-1128.114276672706410, 1137.748512104418523); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-1105.471820460752497, 1126.491033658784545); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-1100.660878749986750, 1123.978629919577770); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-1088.646155856902169, 1116.601011666950399); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-1063.193542129785783, 1099.432822938428444); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-1036.368337432574208, 1079.699499598103785); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-1008.542997941980047, 1057.768161708328535); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-980.089979834716473, 1034.005929331455491); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-951.381739287496316, 1008.779922529837904); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-922.790732477032634, 982.457261365827890); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-894.689415580038258, 955.405065901778585); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-867.450244773225904, 927.990456200042559); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-841.445676233308973, 900.580552322972494); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-817.048166137000180, 873.542474332921188); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-794.630170661012471, 847.243342292241437); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-774.564145982058790, 822.050276263285923); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-757.222548276852194, 798.330396308407330); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-742.977833722105288, 776.450822489958455); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-732.202458494531129, 756.778674870291752); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-728.400000000000091, 748.000032000000033); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-618.011795834096574, 393.982519573027616); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-507.600000000000023, 40.000032000000004); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-507.600000000000023, 4.000032000000004); + p.SetAngleType(PieceNodeAngle::ByLengthCurve); + points += p; + + p = VSAPoint(-507.600000000000023, -31.999967999999996); + p.SetSAAfter(72); + points += p; + + return points; +} + +//--------------------------------------------------------------------------------------------------------------------- +QVector TST_VAbstractPiece::OutputPointsIssue915() const +{ + QVector points; + + points += QPointF(-531.600000000000023, 4.000032000000004); + points += QPointF(-531.600000000000023, -102.568719800946013); + points += QPointF(-453.585101669993151, -107.733482681924897); + points += QPointF(-449.154695883211730, -91.446795008304804); + points += QPointF(-384.130199533259542, -80.814709526389422); + points += QPointF(-297.098575551249212, -68.205101471026495); + points += QPointF(-201.845477508550090, -55.534463419175353); + points += QPointF(-109.548332941548821, -44.269532482196837); + points += QPointF(-31.445369952598469, -35.866177082068390); + points += QPointF(9.383656731604361, -32.506886753485205); + points += QPointF(24.530200011256138, -31.853251750390772); + points += QPointF(28.747996749191856, -31.999962055455761); + points += QPointF(298.799614937376532, -32.001244442693434); + points += QPointF(570.282570835976912, -31.999955262160015); + points += QPointF(700.923474332280648, 386.836012615654340); + points += QPointF(811.121875249161803, 740.246049071757625); + points += QPointF(820.424837420537983, 765.305368381639028); + points += QPointF(839.715010508350133, 823.332731700280760); + points += QPointF(868.872075975553912, 917.453109713821277); + points += QPointF(897.962957271535402, 1007.879694062656768); + points += QPointF(912.252876214245475, 1047.322061107655827); + points += QPointF(921.558672561523395, 1070.415440014190381); + points += QPointF(930.598679931014544, 1090.212057433739119); + points += QPointF(939.118104566261650, 1105.941098753026381); + points += QPointF(946.563125229006801, 1116.719490496214803); + points += QPointF(951.118381678965193, 1121.257882007380658); + points += QPointF(952.744004420277292, 1122.537007909381600); + points += QPointF(985.739928338291747, 1139.587635740370160); + points += QPointF(849.890380346909069, 1249.002665870202009); + points += QPointF(820.333374492074313, 1229.321162824078328); + points += QPointF(788.845002210266671, 1209.431798926697411); + points += QPointF(755.259552299030474, 1189.668075076385094); + points += QPointF(719.410308347298269, 1170.178854541044529); + points += QPointF(681.175522336118661, 1151.142572998476680); + points += QPointF(640.433088808276580, 1132.738751366079214); + points += QPointF(597.060508251917099, 1115.148071189952589); + points += QPointF(550.934948014822794, 1098.552454581687243); + points += QPointF(501.933376762473699, 1083.135124834113185); + points += QPointF(449.932747285816333, 1069.080629989907266); + points += QPointF(394.810202098965590, 1056.574819123832867); + points += QPointF(336.443277803835770, 1045.804768947441744); + points += QPointF(274.710087903599856, 1036.958665427097230); + points += QPointF(209.489469183161475, 1030.225650456213316); + points += QPointF(140.661083064726711, 1025.795646683644691); + points += QPointF(68.033099637858257, 1023.857242802850578); + points += QPointF(30.090210515011591, 1023.999862459045289); + points += QPointF(14.206256023059030, 1024.220537629200180); + points += QPointF(-17.179096074792579, 1025.289456892389580); + points += QPointF(-62.829936289774608, 1028.155384258747972); + points += QPointF(-121.372019203094979, 1034.470081968681825); + points += QPointF(-178.125399864819883, 1043.286755912355147); + points += QPointF(-234.027930355513632, 1054.402159860183474); + points += QPointF(-289.955070172680621, 1067.611158835315109); + points += QPointF(-346.988274276395032, 1082.765232113687944); + points += QPointF(-405.423519463239415, 1099.506920477260792); + points += QPointF(-497.710120420160877, 1127.134482474611104); + points += QPointF(-599.338885963063376, 1157.467992454981413); + points += QPointF(-672.941269571322209, 1178.595828185392065); + points += QPointF(-752.332319527575237, 1200.212407303058626); + points += QPointF(-838.349926911579473, 1222.083750848417367); + points += QPointF(-932.044554694755561, 1244.024976319867619); + points += QPointF(-1033.526068293703020, 1265.632373734589237); + points += QPointF(-1106.711571641943920, 1279.905398164866256); + points += QPointF(-1177.942044695470486, 1127.140176885373194); + points += QPointF(-1148.394825900443493, 1120.478650782734121); + points += QPointF(-1138.318171822887052, 1116.019065853875645); + points += QPointF(-1116.156514620401140, 1105.000633227083199); + points += QPointF(-1112.509269638493379, 1103.090594271268856); + points += QPointF(-1101.641705068868987, 1096.417386454164898); + points += QPointF(-1077.020434567640223, 1079.809951821596997); + points += QPointF(-1050.911336192536282, 1060.603415052323953); + points += QPointF(-1023.666263331867640, 1039.129430918512980); + points += QPointF(-995.705409725774075, 1015.778224437042581); + points += QPointF(-967.223622762851051, 990.751202998121016); + points += QPointF(-939.046421220012689, 964.800744622953516); + points += QPointF(-911.334155939476659, 938.114819565567927); + points += QPointF(-884.475195395271157, 911.074456190672777); + points += QPointF(-858.856709606917889, 884.062201410636249); + points += QPointF(-835.093257770208652, 857.715622126835456); + points += QPointF(-813.154123571393484, 831.978254672602247); + points += QPointF(-793.645926452100866, 807.485545927571138); + points += QPointF(-776.980705240391558, 784.690815402565477); + points += QPointF(-763.588658592578327, 764.120921068438861); + points += QPointF(-753.784444461682369, 746.221781260828834); + points += QPointF(-750.931215943685856, 739.634602407240209); + points += QPointF(-640.923774793838220, 386.838205739754699); + points += QPointF(-531.600000000000023, 36.343935673924420); + points += QPointF(-531.600000000000023, 4.000032000000004); + + return points; +} diff --git a/src/test/ValentinaTest/tst_vabstractpiece.h b/src/test/ValentinaTest/tst_vabstractpiece.h index 16c7a5531..9a506fcf5 100644 --- a/src/test/ValentinaTest/tst_vabstractpiece.h +++ b/src/test/ValentinaTest/tst_vabstractpiece.h @@ -125,6 +125,9 @@ private: QVector InputPointsIssue646() const; QVector OutputPointsIssue646() const; + + QVector InputPointsIssue915() const; + QVector OutputPointsIssue915() const; }; #endif // TST_VABSTRACTPIECE_H