From 9cbd725957ae118b7be5b92dcefdbe7ac0b86a88 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Tue, 10 Oct 2017 13:37:54 +0300 Subject: [PATCH] Fix broken tests. (grafted from 115ada20dc71e5c75046da96b26245fd431bf8d3) --HG-- branch : develop --- src/test/ValentinaTest/tst_vpiece.cpp | 275 ++++++++--- src/test/ValentinaTest/tst_vspline.cpp | 626 ++++++++++++++++++------- 2 files changed, 675 insertions(+), 226 deletions(-) diff --git a/src/test/ValentinaTest/tst_vpiece.cpp b/src/test/ValentinaTest/tst_vpiece.cpp index 9bbe7b9e5..531f5d4f0 100644 --- a/src/test/ValentinaTest/tst_vpiece.cpp +++ b/src/test/ValentinaTest/tst_vpiece.cpp @@ -106,41 +106,107 @@ void TST_VPiece::ClearLoop() const QVector pointsEkv = detail.SeamAllowancePoints(data.data()); QVector origPoints; - origPoints.append(QPointF(42.46405659601932, 415.2845470563871)); - origPoints.append(QPointF(669.4711112822802, 560.1912138528764)); - origPoints.append(QPointF(669.3860586912449, 594.8702688224456)); - origPoints.append(QPointF(669.8537241707239, 619.8499975627876)); - origPoints.append(QPointF(670.904422406071, 642.3178846003559)); - origPoints.append(QPointF(672.4760946214147, 662.4793325519112)); - origPoints.append(QPointF(674.5043075280212, 680.4882882996908)); - origPoints.append(QPointF(676.9236185537709, 696.5023899408525)); - origPoints.append(QPointF(679.6685049649096, 710.6850434378523)); - origPoints.append(QPointF(682.6751345782424, 723.2078546770477)); - origPoints.append(QPointF(685.8841825335202, 734.2530219317046)); - origPoints.append(QPointF(689.2446146317781, 744.0149891243127)); - origPoints.append(QPointF(692.7177992446996, 752.7004886151328)); - origPoints.append(QPointF(696.2448548679188, 760.4478278509594)); - origPoints.append(QPointF(701.8005387196029, 771.2301295961994)); - origPoints.append(QPointF(709.4908502689113, 784.4621360005407)); - origPoints.append(QPointF(713.2090350731621, 790.7616409320319)); - origPoints.append(QPointF(715.0121915355467, 793.763727920337)); - origPoints.append(QPointF(718.7808834775552, 799.1742815201673)); - origPoints.append(QPointF(722.5723522600899, 803.7317522627161)); - origPoints.append(QPointF(726.4900810611796, 807.6675956080389)); - origPoints.append(QPointF(730.558043384579, 811.0692054929614)); - origPoints.append(QPointF(734.8172463181712, 814.0137888810656)); - origPoints.append(QPointF(739.318992665584, 816.5616228424284)); - origPoints.append(QPointF(744.1159693320302, 818.7532201983325)); - origPoints.append(QPointF(749.2539447976853, 820.6109034502547)); - origPoints.append(QPointF(754.7662623591739, 822.1435546205067)); - origPoints.append(QPointF(760.6718473722125, 823.3525044481979)); - origPoints.append(QPointF(766.9761113390083, 824.236813134474)); - origPoints.append(QPointF(773.6735265709667, 824.7970381873482)); - origPoints.append(QPointF(780.6615727577812, 825.0343457026618)); - origPoints.append(QPointF(792.109995909239, 824.8480813766124)); - origPoints.append(QPointF(825.8211754072381, 821.4551806381257)); - origPoints.append(QPointF(828.6858753986579, 1697.305833468011)); - origPoints.append(QPointF(42.46405659601932, 415.2845470563871)); + origPoints.append(QPointF(42.46405659601942, 415.2845470563873)); + origPoints.append(QPointF(669.53545906065, 560.2060851721218)); + origPoints.append(QPointF(669.4001315082384, 584.8051149911265)); + origPoints.append(QPointF(669.3971506600346, 591.5358644500567)); + origPoints.append(QPointF(669.4350122627271, 598.0891335031142)); + origPoints.append(QPointF(669.512757618795, 604.4805090719773)); + origPoints.append(QPointF(669.6294287899757, 610.7123442956477)); + origPoints.append(QPointF(669.7840625660031, 616.7869939551731)); + origPoints.append(QPointF(669.9756903141416, 622.7068151490457)); + origPoints.append(QPointF(670.2033378543063, 628.4741680595723)); + origPoints.append(QPointF(670.4660253660076, 634.0914168000103)); + origPoints.append(QPointF(670.7627673353721, 639.5609303670992)); + origPoints.append(QPointF(671.0925725508636, 644.88508369749)); + origPoints.append(QPointF(671.4544441569424, 650.0662588248562)); + origPoints.append(QPointF(671.8473797781523, 655.1068461674331)); + origPoints.append(QPointF(672.2703717242233, 660.0092459230049)); + origPoints.append(QPointF(672.7224072914591, 664.7758696009033)); + origPoints.append(QPointF(673.2024691737167, 669.4091416739334)); + origPoints.append(QPointF(673.7095360004373, 673.9115013689292)); + origPoints.append(QPointF(674.2425830172843, 678.2854045794492)); + origPoints.append(QPointF(674.8005829289502, 682.5333259132697)); + origPoints.append(QPointF(675.3825069209878, 686.6577608536486)); + origPoints.append(QPointF(675.9873258816623, 690.6612280423046)); + origPoints.append(QPointF(676.6140118402975, 694.5462716540186)); + origPoints.append(QPointF(677.2615396418696, 698.3154638589637)); + origPoints.append(QPointF(677.9288888734632, 701.971407344139)); + origPoints.append(QPointF(678.615046057566, 705.5167378711579)); + origPoints.append(QPointF(679.3190071217258, 708.9541268298552)); + origPoints.append(QPointF(680.0397801538563, 712.2862837635739)); + origPoints.append(QPointF(680.7763884409013, 715.5159588051306)); + origPoints.append(QPointF(681.527873788316, 718.6459449906465)); + origPoints.append(QPointF(682.2933001036281, 721.6790803846292)); + origPoints.append(QPointF(683.0717572225838, 724.6182499679669)); + origPoints.append(QPointF(683.8623649413778, 727.4663872197892)); + origPoints.append(QPointF(684.6642772103369, 730.2264753386498)); + origPoints.append(QPointF(685.4688320979097, 732.8756855713231)); + origPoints.append(QPointF(686.7042297790314, 736.7448337001608)); + origPoints.append(QPointF(688.3922766601711, 741.6485656582661)); + origPoints.append(QPointF(690.1014239938168, 746.2438997099595)); + origPoints.append(QPointF(691.8365445991736, 750.5829691271946)); + origPoints.append(QPointF(693.5947375993189, 754.6929542771874)); + origPoints.append(QPointF(695.374143963642, 758.6015018634648)); + origPoints.append(QPointF(697.173895570668, 762.3365598413925)); + origPoints.append(QPointF(698.9939856776302, 765.9262007023783)); + origPoints.append(QPointF(700.8350559377793, 769.3984479446959)); + origPoints.append(QPointF(702.6981018570923, 772.781118895178)); + origPoints.append(QPointF(704.5751154394404, 776.0858639250417)); + origPoints.append(QPointF(707.471075434013, 781.0529292076153)); + origPoints.append(QPointF(711.3732953060202, 787.6314568397516)); + origPoints.append(QPointF(713.2933193388338, 790.9045911620659)); + origPoints.append(QPointF(713.7531687634975, 791.6875604681287)); + origPoints.append(QPointF(714.6678160659043, 793.1880160336813)); + origPoints.append(QPointF(715.5686285678618, 794.6014031881614)); + origPoints.append(QPointF(716.4776602288559, 795.9656869340208)); + origPoints.append(QPointF(717.3946261026655, 797.2821365366428)); + origPoints.append(QPointF(718.3193027545042, 798.5520602886423)); + origPoints.append(QPointF(719.2515331337012, 799.7768007322334)); + origPoints.append(QPointF(720.1912309193016, 800.9577290368121)); + origPoints.append(QPointF(721.1383841967548, 802.0962385692094)); + origPoints.append(QPointF(722.0930583323086, 803.1937377265572)); + origPoints.append(QPointF(723.0553979184381, 804.2516421248051)); + origPoints.append(QPointF(724.0256276824568, 805.2713662661918)); + origPoints.append(QPointF(725.0040522692885, 806.2543148301429)); + origPoints.append(QPointF(725.9910548373568, 807.2018737544394)); + origPoints.append(QPointF(726.9870944370721, 808.1154012887525)); + origPoints.append(QPointF(727.992702176212, 808.9962192129983)); + origPoints.append(QPointF(729.0084762114801, 809.8456044148575)); + origPoints.append(QPointF(730.0350756421151, 810.6647810168413)); + origPoints.append(QPointF(731.0732134148514, 811.4549132304943)); + origPoints.append(QPointF(732.1236483836559, 812.217099098663)); + origPoints.append(QPointF(733.1871766854633, 812.9523652550562)); + origPoints.append(QPointF(734.2646226265674, 813.6616628101706)); + origPoints.append(QPointF(735.3568292693044, 814.345864425637)); + origPoints.append(QPointF(736.4646489305214, 815.0057626152854)); + origPoints.append(QPointF(737.5889337869056, 815.6420692657007)); + origPoints.append(QPointF(738.7305267800202, 816.2554163399695)); + origPoints.append(QPointF(739.890252994274, 816.8463576948574)); + origPoints.append(QPointF(741.0689116577936, 817.4153719140883)); + origPoints.append(QPointF(742.2672688927632, 817.9628660401196)); + origPoints.append(QPointF(743.4860513115749, 818.4891800699529)); + origPoints.append(QPointF(744.7259405221598, 818.994592069369)); + origPoints.append(QPointF(745.9470287398851, 819.4637478954073)); + origPoints.append(QPointF(747.8833122349788, 820.1566508068018)); + origPoints.append(QPointF(750.5850392329681, 821.0169732509104)); + origPoints.append(QPointF(753.3408618817797, 821.7832053775238)); + origPoints.append(QPointF(756.1945063236712, 822.4686248864464)); + origPoints.append(QPointF(759.1474180444699, 823.0731242050008)); + origPoints.append(QPointF(762.2002204282861, 823.5965365148435)); + origPoints.append(QPointF(765.3528023393483, 824.0387539700189)); + origPoints.append(QPointF(768.6044162317405, 824.399818281789)); + origPoints.append(QPointF(771.9537790264915, 824.679985612587)); + origPoints.append(QPointF(775.3991699554742, 824.8797689928807)); + origPoints.append(QPointF(778.9385214242475, 824.999962059787)); + origPoints.append(QPointF(782.5695005442702, 825.041647992741)); + origPoints.append(QPointF(786.289580235633, 825.0061972612904)); + origPoints.append(QPointF(790.0960997334876, 824.8952573520692)); + origPoints.append(QPointF(793.9863149544959, 824.7107371151485)); + origPoints.append(QPointF(797.9907834493861, 824.4526387407261)); + origPoints.append(QPointF(826.0032661558732, 877.1274330708662)); + origPoints.append(QPointF(828.6858753986579, 1697.3058334680109)); + origPoints.append(QPointF(42.46405659601942, 415.2845470563873)); // Begin comparison Comparison(pointsEkv, origPoints); @@ -211,43 +277,118 @@ void TST_VPiece::Issue620() const QVector pointsEkv = detail.MainPathPoints(data.data()); QVector origPoints; - origPoints.append(QPointF(30.0, 39.999874015748034)); origPoints.append(QPointF(333.8010271540832, 37.24215812551862)); origPoints.append(QPointF(345.4352438583124, 572.5727590471124)); origPoints.append(QPointF(-43.77068412991705, 567.8446507439609)); - origPoints.append(QPointF(-35.87661251446703, 554.334665281764)); - origPoints.append(QPointF(-21.170117796937717, 530.280231438072)); - origPoints.append(QPointF(-7.679257977133303, 509.352260960953)); - origPoints.append(QPointF(4.687459520857305, 491.0705525945524)); - origPoints.append(QPointF(21.441835284502346, 467.3785713839818)); - origPoints.append(QPointF(40.52832726053379, 440.9303122452387)); - origPoints.append(QPointF(52.86115234049136, 422.54889846842264)); - origPoints.append(QPointF(60.404360001732, 410.06053639339046)); - origPoints.append(QPointF(67.46387337253645, 396.85702763809604)); - origPoints.append(QPointF(74.13118502881582, 382.4581709466849)); - origPoints.append(QPointF(80.49778754648119, 366.3837650633026)); - origPoints.append(QPointF(86.65517350144364, 348.15360873209477)); - origPoints.append(QPointF(92.69483546961428, 327.287500697207)); - origPoints.append(QPointF(98.70826602690417, 303.30523970278495)); + origPoints.append(QPointF(-41.776027573529674, 564.4070486713748)); + origPoints.append(QPointF(-37.85646185008852, 557.7284453106807)); + origPoints.append(QPointF(-34.019306379498914, 551.2790100611998)); + origPoints.append(QPointF(-30.263131590262248, 545.0512397783091)); + origPoints.append(QPointF(-26.586507910879927, 539.0376313173863)); + origPoints.append(QPointF(-22.98800576985332, 533.2306815338081)); + origPoints.append(QPointF(-19.466195595683825, 527.6228872829522)); + origPoints.append(QPointF(-16.019647816872833, 522.2067454201957)); + origPoints.append(QPointF(-10.978854893973825, 514.4038559090675)); + origPoints.append(QPointF(-4.520178850519514, 504.6314487766784)); + origPoints.append(QPointF(1.6631798984757897, 495.490594593478)); + origPoints.append(QPointF(7.58265792500097, 486.92126820248467)); + origPoints.append(QPointF(13.249691801044914, 478.8634444467164)); + origPoints.append(QPointF(18.67571809859651, 471.25709816919147)); + origPoints.append(QPointF(26.41443785504145, 460.525117170489)); + origPoints.append(QPointF(33.62211724018606, 450.5466726362586)); + origPoints.append(QPointF(38.19847894365711, 444.14598470188895)); + origPoints.append(QPointF(42.591015928580234, 437.89664846085356)); + origPoints.append(QPointF(46.811164766944344, 431.73863875617076)); + origPoints.append(QPointF(50.87036203073829, 425.6119304308587)); + origPoints.append(QPointF(53.81161102143449, 420.9990273759227)); + origPoints.append(QPointF(55.73121775864344, 417.9028756631243)); + origPoints.append(QPointF(57.61701967395359, 414.7807851443662)); + origPoints.append(QPointF(59.47044633886358, 411.6252526750258)); + origPoints.append(QPointF(61.292927324872, 408.42877511048044)); + origPoints.append(QPointF(63.085892203477464, 405.18384930610733)); + origPoints.append(QPointF(64.85077054617858, 401.88297211728377)); + origPoints.append(QPointF(66.58899192447396, 398.5186403993869)); + origPoints.append(QPointF(68.30198590986222, 395.0833510077942)); + origPoints.append(QPointF(69.99118207384197, 391.5696007978828)); + origPoints.append(QPointF(71.65800998791181, 387.96988662503003)); + origPoints.append(QPointF(73.30389922357037, 384.2767053446131)); + origPoints.append(QPointF(74.93027935231623, 380.48255381200937)); + origPoints.append(QPointF(76.53857994564802, 376.57992888259605)); + origPoints.append(QPointF(78.13023057506439, 372.56132741175054)); + origPoints.append(QPointF(79.70666081206386, 368.4192462548499)); + origPoints.append(QPointF(81.26930022814513, 364.14618226727157)); + origPoints.append(QPointF(82.81957839480675, 359.7346323043928)); + origPoints.append(QPointF(84.35892488354736, 355.1770932215909)); + origPoints.append(QPointF(85.88876926586558, 350.466061874243)); + origPoints.append(QPointF(87.41054111325998, 345.59403511772655)); + origPoints.append(QPointF(88.92566999722922, 340.55350980741866)); + origPoints.append(QPointF(90.43558548927187, 335.33698279869674)); + origPoints.append(QPointF(91.94171716088657, 329.93695094693794)); + origPoints.append(QPointF(93.44549458357191, 324.34591110751967)); + origPoints.append(QPointF(94.94834732882651, 318.55636013581915)); + origPoints.append(QPointF(96.45170496814899, 312.56079488721366)); + origPoints.append(QPointF(97.95699707303794, 306.35171221708043)); + origPoints.append(QPointF(99.46565321499199, 299.92160898079675)); + origPoints.append(QPointF(100.97910296550974, 293.26298203373995)); origPoints.append(QPointF(101.73836126698214, 289.83563666815587)); - origPoints.append(QPointF(100.33414592841483, 265.38578532087524)); - origPoints.append(QPointF(96.68026149584162, 212.73003048920282)); - origPoints.append(QPointF(93.50326130663731, 183.65468712210458)); - origPoints.append(QPointF(90.71558574640727, 163.99193793167092)); - origPoints.append(QPointF(87.25149211813451, 144.48122290748523)); - origPoints.append(QPointF(83.01539723892088, 125.48779016127345)); - origPoints.append(QPointF(77.91171792586823, 107.37688780476151)); - origPoints.append(QPointF(73.4247676790375, 94.64014475361638)); - origPoints.append(QPointF(70.13263046316489, 86.58901147237839)); - origPoints.append(QPointF(66.56983159845231, 78.96396285141125)); - origPoints.append(QPointF(62.72442318703749, 71.81065490468066)); - origPoints.append(QPointF(58.58445733105817, 65.17474364615236)); - origPoints.append(QPointF(54.13798613265208, 59.10188508979212)); - origPoints.append(QPointF(49.373061693956934, 53.63773524956568)); - origPoints.append(QPointF(44.277736117110486, 48.827950139438784)); - origPoints.append(QPointF(38.84006150425045, 44.71818577337716)); - origPoints.append(QPointF(33.04808995751456, 41.35409816534657)); + origPoints.append(QPointF(101.37719348141695, 284.37000549925995)); + origPoints.append(QPointF(100.64077948858204, 271.46526165758365)); + origPoints.append(QPointF(99.80144652509331, 256.5210633117996)); + origPoints.append(QPointF(99.03846354637537, 244.15048365420762)); + origPoints.append(QPointF(98.45199860267363, 235.49121370797783)); + origPoints.append(QPointF(97.78603837592823, 226.52753219856694)); + origPoints.append(QPointF(97.02863496827689, 217.3050951399407)); + origPoints.append(QPointF(96.16784048185737, 207.86955854606484)); + origPoints.append(QPointF(95.19170701880736, 198.26657843090516)); + origPoints.append(QPointF(94.08828668126463, 188.54181080842733)); + origPoints.append(QPointF(92.8456315713669, 178.7409116925971)); + origPoints.append(QPointF(91.8100755249774, 171.36785871320973)); + origPoints.append(QPointF(91.07312073651642, 166.45311304837324)); + origPoints.append(QPointF(90.29463656241913, 161.54501601805435)); + origPoints.append(QPointF(89.4731295154528, 156.6492746239989)); + origPoints.append(QPointF(88.60710610838458, 151.77159586795244)); + origPoints.append(QPointF(87.69507285398177, 146.91768675166082)); + origPoints.append(QPointF(86.73553626501155, 142.0932542768697)); + origPoints.append(QPointF(85.7270028542411, 137.3040054453248)); + origPoints.append(QPointF(84.6679791344377, 132.55564725877187)); + origPoints.append(QPointF(83.55697161836854, 127.85388671895657)); + origPoints.append(QPointF(82.39248681880082, 123.20443082762469)); + origPoints.append(QPointF(81.17303124850177, 118.61298658652187)); + origPoints.append(QPointF(79.8971114202386, 114.08526099739389)); + origPoints.append(QPointF(78.56323384677853, 109.62696106198644)); + origPoints.append(QPointF(77.1699050408888, 105.24379378204526)); + origPoints.append(QPointF(75.71563151533661, 100.94146615931604)); + origPoints.append(QPointF(74.19891978288913, 96.72568519554451)); + origPoints.append(QPointF(72.61827635631366, 92.60215789247638)); + origPoints.append(QPointF(70.97220774837734, 88.5765912518574)); + origPoints.append(QPointF(69.25922047184744, 84.65469227543325)); + origPoints.append(QPointF(67.47782103949115, 80.84216796494968)); + origPoints.append(QPointF(65.62651596407568, 77.14472532215238)); + origPoints.append(QPointF(63.703811758368275, 73.56807134878709)); + origPoints.append(QPointF(61.70821493513614, 70.11791304659951)); + origPoints.append(QPointF(59.63823200714647, 66.79995741733536)); + origPoints.append(QPointF(57.49236948716651, 63.61991146274037)); + origPoints.append(QPointF(55.8298252766917, 61.333435118024795)); + origPoints.append(QPointF(54.698584178428256, 59.852194710865774)); + origPoints.append(QPointF(53.5475330955988, 58.408641910856005)); + origPoints.append(QPointF(52.37648534229922, 57.00349009321371)); + origPoints.append(QPointF(51.18525423262544, 55.63745263315711)); + origPoints.append(QPointF(49.973653080673344, 54.31124290590439)); + origPoints.append(QPointF(48.741495200538836, 53.025574286673795)); + origPoints.append(QPointF(47.48859390631783, 51.78116015068352)); + origPoints.append(QPointF(46.21476251210622, 50.5787138731518)); + origPoints.append(QPointF(44.919814331999916, 49.41894882929684)); + origPoints.append(QPointF(43.60356268009479, 48.30257839433685)); + origPoints.append(QPointF(42.26582087048678, 47.23031594349004)); + origPoints.append(QPointF(40.906402217271776, 46.20287485197463)); + origPoints.append(QPointF(39.525120034545665, 45.22096849500884)); + origPoints.append(QPointF(38.12178763640438, 44.285310247810884)); + origPoints.append(QPointF(36.69621833694379, 43.39661348559898)); + origPoints.append(QPointF(35.24822545025982, 42.55559158359132)); + origPoints.append(QPointF(33.77762229044836, 41.76295791700616)); + origPoints.append(QPointF(32.28422217160532, 41.01942586106168)); + origPoints.append(QPointF(30.7678384078266, 40.32570879097611)); // Begin comparison Comparison(pointsEkv, origPoints); diff --git a/src/test/ValentinaTest/tst_vspline.cpp b/src/test/ValentinaTest/tst_vspline.cpp index 3937bf140..dac59edbe 100644 --- a/src/test/ValentinaTest/tst_vspline.cpp +++ b/src/test/ValentinaTest/tst_vspline.cpp @@ -54,37 +54,111 @@ void TST_VSpline::GetSegmentPoints() points << spl.GetSegmentPoints(begin, end, false); QVector origPoints; - origPoints.append(QPointF(957.698852334, 943.844820378)); - origPoints.append(QPointF(957.84724553, 975.602655091)); - origPoints.append(QPointF(957.728801633, 1035.13055094)); - origPoints.append(QPointF(956.808773853, 1094.37046246)); - origPoints.append(QPointF(955.328435862, 1138.53744981)); - origPoints.append(QPointF(953.925479436, 1167.84862152)); - origPoints.append(QPointF(952.117074266, 1197.03211968)); - origPoints.append(QPointF(949.857653068, 1226.07557151)); - origPoints.append(QPointF(947.101648559, 1254.96660424)); - origPoints.append(QPointF(943.803493456, 1283.6928451)); - origPoints.append(QPointF(939.917620476, 1312.24192132)); - origPoints.append(QPointF(935.398462336, 1340.60146013)); - origPoints.append(QPointF(930.200451752, 1368.75908875)); - origPoints.append(QPointF(924.278021443, 1396.70243441)); - origPoints.append(QPointF(917.585604124, 1424.41912434)); - origPoints.append(QPointF(910.077632512, 1451.89678578)); - origPoints.append(QPointF(901.708539325, 1479.12304594)); - origPoints.append(QPointF(892.432757279, 1506.08553207)); - origPoints.append(QPointF(882.204719092, 1532.77187137)); - origPoints.append(QPointF(870.978857479, 1559.1696911)); - origPoints.append(QPointF(858.709605159, 1585.26661847)); - origPoints.append(QPointF(845.351394848, 1611.05028071)); - origPoints.append(QPointF(830.858659262, 1636.50830504)); - origPoints.append(QPointF(815.18583112, 1661.62831871)); - origPoints.append(QPointF(798.287343137, 1686.39794894)); - origPoints.append(QPointF(780.117628031, 1710.80482295)); - origPoints.append(QPointF(760.631118518, 1734.83656798)); - origPoints.append(QPointF(739.782247316, 1758.48081125)); - origPoints.append(QPointF(717.525447141, 1781.72518)); - origPoints.append(QPointF(693.81515071, 1804.55730144)); - origPoints.append(QPointF(681.337291324, 1815.79695267)); + origPoints.append(QPointF(957.6988523336406, 943.8448203783314)); + origPoints.append(QPointF(957.7835033607208, 960.6821452672991)); + origPoints.append(QPointF(957.8563218900781, 990.4995347990275)); + origPoints.append(QPointF(957.8215788398634, 1012.8262256910826)); + origPoints.append(QPointF(957.7504105087676, 1027.6925228407606)); + origPoints.append(QPointF(957.6319911650569, 1042.5415942520012)); + origPoints.append(QPointF(957.4606249017198, 1057.371893324951)); + origPoints.append(QPointF(957.2306158117447, 1072.181873459756)); + origPoints.append(QPointF(956.9362679881198, 1086.9699880565609)); + origPoints.append(QPointF(956.5718855238333, 1101.7346905155123)); + origPoints.append(QPointF(956.1317725118738, 1116.4744342367562)); + origPoints.append(QPointF(955.6102330452296, 1131.1876726204378)); + origPoints.append(QPointF(955.0015712168888, 1145.8728590667038)); + origPoints.append(QPointF(954.3000911198401, 1160.5284469756996)); + origPoints.append(QPointF(953.5000968470716, 1175.152889747571)); + origPoints.append(QPointF(952.5958924915716, 1189.7446407824636)); + origPoints.append(QPointF(951.5817821463287, 1204.3021534805239)); + origPoints.append(QPointF(950.452069904331, 1218.8238812418977)); + origPoints.append(QPointF(949.2010598585669, 1233.3082774667305)); + origPoints.append(QPointF(947.8230561020247, 1247.7537955551684)); + origPoints.append(QPointF(946.3123627276927, 1262.1588889073569)); + origPoints.append(QPointF(944.6632838285595, 1276.5220109234424)); + origPoints.append(QPointF(943.3275966669323, 1287.2644821857812)); + origPoints.append(QPointF(942.3939281609411, 1294.4131147543828)); + origPoints.append(QPointF(941.4224593260558, 1301.5503845265412)); + origPoints.append(QPointF(940.4124781738992, 1308.6760981772736)); + origPoints.append(QPointF(939.3632727160957, 1315.790062381599)); + origPoints.append(QPointF(938.2741309642681, 1322.8920838145352)); + origPoints.append(QPointF(937.1443409300405, 1329.9819691511007)); + origPoints.append(QPointF(935.9731906250361, 1337.0595250663137)); + origPoints.append(QPointF(934.7599680608785, 1344.1245582351921)); + origPoints.append(QPointF(933.5039612491914, 1351.1768753327542)); + origPoints.append(QPointF(932.2044582015981, 1358.2162830340185)); + origPoints.append(QPointF(930.8607469297224, 1365.242588014003)); + origPoints.append(QPointF(929.4721154451878, 1372.2555969477262)); + origPoints.append(QPointF(928.0378517596175, 1379.2551165102063)); + origPoints.append(QPointF(926.5572438846355, 1386.2409533764612)); + origPoints.append(QPointF(925.029579831865, 1393.2129142215094)); + origPoints.append(QPointF(923.4541476129298, 1400.1708057203691)); + origPoints.append(QPointF(921.8302352394535, 1407.1144345480584)); + origPoints.append(QPointF(920.1571307230593, 1414.0436073795959)); + origPoints.append(QPointF(918.4341220753709, 1420.9581308899994)); + origPoints.append(QPointF(916.6604973080118, 1427.8578117542872)); + origPoints.append(QPointF(914.8355444326057, 1434.7424566474779)); + origPoints.append(QPointF(912.9585514607759, 1441.6118722445894)); + origPoints.append(QPointF(911.0288064041463, 1448.46586522064)); + origPoints.append(QPointF(909.0455972743401, 1455.3042422506478)); + origPoints.append(QPointF(907.0082120829811, 1462.1268100096313)); + origPoints.append(QPointF(904.9159388416924, 1468.9333751726085)); + origPoints.append(QPointF(902.7680655620982, 1475.7237444145978)); + origPoints.append(QPointF(900.5638802558215, 1482.4977244106174)); + origPoints.append(QPointF(898.3026709344861, 1489.2551218356857)); + origPoints.append(QPointF(895.9837256097155, 1495.99574336482)); + origPoints.append(QPointF(893.6063322931332, 1502.7193956730398)); + origPoints.append(QPointF(891.1697789963628, 1509.425885435363)); + origPoints.append(QPointF(888.6733537310278, 1516.1150193268072)); + origPoints.append(QPointF(886.1163445087515, 1522.7866040223912)); + origPoints.append(QPointF(883.4980393411579, 1529.440446197133)); + origPoints.append(QPointF(880.8177262398704, 1536.0763525260513)); + origPoints.append(QPointF(878.0746932165123, 1542.6941296841637)); + origPoints.append(QPointF(875.2682282827075, 1549.2935843464886)); + origPoints.append(QPointF(872.3976194500792, 1555.8745231880448)); + origPoints.append(QPointF(869.4621547302513, 1562.4367528838495)); + origPoints.append(QPointF(866.4611221348471, 1568.9800801089218)); + origPoints.append(QPointF(863.39380967549, 1575.5043115382791)); + origPoints.append(QPointF(860.259505363804, 1582.0092538469407)); + origPoints.append(QPointF(857.057497211412, 1588.4947137099243)); + origPoints.append(QPointF(853.7870732299382, 1594.960497802248)); + origPoints.append(QPointF(850.447521431006, 1601.40641279893)); + origPoints.append(QPointF(847.0381298262384, 1607.8322653749888)); + origPoints.append(QPointF(843.5581864272597, 1614.2378622054425)); + origPoints.append(QPointF(840.0069792456928, 1620.623009965309)); + origPoints.append(QPointF(836.3837962931617, 1626.9875153296075)); + origPoints.append(QPointF(832.6879255812897, 1633.3311849733554)); + origPoints.append(QPointF(828.9186551217003, 1639.653825571571)); + origPoints.append(QPointF(825.0752729260173, 1645.9552437992727)); + origPoints.append(QPointF(821.1570670058641, 1652.2352463314787)); + origPoints.append(QPointF(817.1633253728643, 1658.4936398432073)); + origPoints.append(QPointF(813.0933360386413, 1664.7302310094765)); + origPoints.append(QPointF(808.9463870148186, 1670.944826505305)); + origPoints.append(QPointF(804.72176631302, 1677.1372330057104)); + origPoints.append(QPointF(800.4187619448687, 1683.3072571857115)); + origPoints.append(QPointF(796.0366619219888, 1689.4547057203263)); + origPoints.append(QPointF(791.5747542560034, 1695.5793852845732)); + origPoints.append(QPointF(787.032326958536, 1701.6811025534698)); + origPoints.append(QPointF(782.4086680412104, 1707.7596642020349)); + origPoints.append(QPointF(777.70306551565, 1713.8148769052868)); + origPoints.append(QPointF(772.9148073934782, 1719.8465473382437)); + origPoints.append(QPointF(768.0431816863188, 1725.8544821759235)); + origPoints.append(QPointF(763.0874764057953, 1731.8384880933447)); + origPoints.append(QPointF(758.0469795635311, 1737.7983717655252)); + origPoints.append(QPointF(752.9209791711501, 1743.733939867484)); + origPoints.append(QPointF(747.7087632402752, 1749.6449990742383)); + origPoints.append(QPointF(742.4096197825304, 1755.531356060807)); + origPoints.append(QPointF(737.0228368095393, 1761.3928175022083)); + origPoints.append(QPointF(731.5477023329252, 1767.2291900734604)); + origPoints.append(QPointF(725.9835043643118, 1773.0402804495811)); + origPoints.append(QPointF(720.3295309153225, 1778.8258953055893)); + origPoints.append(QPointF(714.5850699975811, 1784.5858413165029)); + origPoints.append(QPointF(708.7494096227108, 1790.31992515734)); + origPoints.append(QPointF(702.8218378023353, 1796.027953503119)); + origPoints.append(QPointF(696.8016425480782, 1801.7097330288584)); + origPoints.append(QPointF(690.688111871563, 1807.365070409576)); + origPoints.append(QPointF(684.4805337844132, 1812.9937723202902)); + origPoints.append(QPointF(681.3372913240995, 1815.7969526662778)); // Begin comparison Comparison(points, origPoints); @@ -107,24 +181,72 @@ void TST_VSpline::GetSegmentPoints_issue412() points << spl.GetSegmentPoints(begin, end, false); QVector origPoints; - origPoints.append(QPointF(869.117480315, -61.1172283465)); - origPoints.append(QPointF(869.034855699, -51.3519540199)); - origPoints.append(QPointF(868.055234051, -32.0262592346)); - origPoints.append(QPointF(866.119738229, -12.967761819)); - origPoints.append(QPointF(863.252115711, 5.79979075097)); - origPoints.append(QPointF(859.476113972, 24.2526509993)); - origPoints.append(QPointF(854.815480488, 42.36707145)); - origPoints.append(QPointF(849.293962735, 60.1193046272)); - origPoints.append(QPointF(842.93530819, 77.4856030548)); - origPoints.append(QPointF(835.763264327, 94.4422192569)); - origPoints.append(QPointF(827.801578624, 110.965405758)); - origPoints.append(QPointF(819.073998555, 127.031415081)); - origPoints.append(QPointF(809.604271597, 142.616499751)); - origPoints.append(QPointF(799.416145227, 157.696912291)); - origPoints.append(QPointF(788.533366919, 172.248905226)); - origPoints.append(QPointF(776.97968415, 186.24873108)); - origPoints.append(QPointF(764.778844396, 199.672642377)); - origPoints.append(QPointF(758.417681078, 206.135728322)); + origPoints.append(QPointF(869.1174803149606, -61.11722834645669)); + origPoints.append(QPointF(869.1123162764883, -58.67229138738739)); + origPoints.append(QPointF(869.050533341976, -53.79466425451659)); + origPoints.append(QPointF(868.9273385272631, -48.93206721284792)); + origPoints.append(QPointF(868.743102886662, -44.08487131669338)); + origPoints.append(QPointF(868.4981974744846, -39.25344762036495)); + origPoints.append(QPointF(868.1929933450426, -34.43816717817464)); + origPoints.append(QPointF(867.8278615526483, -29.639401044434408)); + origPoints.append(QPointF(867.4031731516135, -24.85752027345624)); + origPoints.append(QPointF(866.9192991962501, -20.092895919552134)); + origPoints.append(QPointF(866.3766107408703, -15.345899037034071)); + origPoints.append(QPointF(865.775478839786, -10.616900680214039)); + origPoints.append(QPointF(865.1162745473094, -5.90627190340402)); + origPoints.append(QPointF(864.3993689177523, -1.214383760916003)); + origPoints.append(QPointF(863.6251330054265, 3.4583926929380264)); + origPoints.append(QPointF(862.7939378646442, 8.111686403846083)); + origPoints.append(QPointF(861.9061545497175, 12.74512631749618)); + origPoints.append(QPointF(860.9621541149579, 17.358341379576338)); + origPoints.append(QPointF(859.9623076146779, 21.95096053577456)); + origPoints.append(QPointF(858.9069861031894, 26.522612731778867)); + origPoints.append(QPointF(857.796560634804, 31.07292691327727)); + origPoints.append(QPointF(856.6314022638342, 35.60153202595778)); + origPoints.append(QPointF(855.4118820445917, 40.10805701550843)); + origPoints.append(QPointF(854.1383710313885, 44.59213082761722)); + origPoints.append(QPointF(852.8112402785367, 49.05338240797216)); + origPoints.append(QPointF(851.4308608403481, 53.49144070226127)); + origPoints.append(QPointF(849.997603771135, 57.90593465617256)); + origPoints.append(QPointF(848.5118401252091, 62.29649321539405)); + origPoints.append(QPointF(846.9739409568825, 66.66274532561374)); + origPoints.append(QPointF(845.384277320467, 71.00431993251965)); + origPoints.append(QPointF(843.743220270275, 75.32084598179983)); + origPoints.append(QPointF(842.0511408606181, 79.61195241914226)); + origPoints.append(QPointF(840.3084101458085, 83.87726819023496)); + origPoints.append(QPointF(838.5153991801578, 88.1164222407659)); + origPoints.append(QPointF(836.6724790179786, 92.32904351642317)); + origPoints.append(QPointF(834.7800207135825, 96.51476096289475)); + origPoints.append(QPointF(832.8383953212815, 100.67320352586866)); + origPoints.append(QPointF(830.8479738953877, 104.80400015103291)); + origPoints.append(QPointF(828.8091274902131, 108.9067797840755)); + origPoints.append(QPointF(826.7222271600695, 112.98117137068445)); + origPoints.append(QPointF(824.5876439592689, 117.0268038565478)); + origPoints.append(QPointF(822.4057489421236, 121.04330618735354)); + origPoints.append(QPointF(820.1769131629453, 125.03030730878969)); + origPoints.append(QPointF(817.9015076760461, 128.98743616654426)); + origPoints.append(QPointF(815.5799035357379, 132.91432170630523)); + origPoints.append(QPointF(813.2124717963329, 136.8105928737607)); + origPoints.append(QPointF(810.7995835121426, 140.67587861459862)); + origPoints.append(QPointF(808.3416097374795, 144.50980787450703)); + origPoints.append(QPointF(805.8389215266553, 148.3120095991739)); + origPoints.append(QPointF(803.2918899339824, 152.08211273428736)); + origPoints.append(QPointF(800.7008860137721, 155.8197462255353)); + origPoints.append(QPointF(798.0662808203368, 159.52453901860576)); + origPoints.append(QPointF(795.3884454079885, 163.19612005918677)); + origPoints.append(QPointF(792.667750831039, 166.83411829296637)); + origPoints.append(QPointF(789.9045681438006, 170.43816266563252)); + origPoints.append(QPointF(787.0992684005848, 174.00788212287327)); + origPoints.append(QPointF(784.2522226557041, 177.54290561037666)); + origPoints.append(QPointF(781.3638019634705, 181.0428620738306)); + origPoints.append(QPointF(778.4343773781953, 184.50738045892322)); + origPoints.append(QPointF(775.4643199541911, 187.9360897113425)); + origPoints.append(QPointF(772.4540007457698, 191.32861877677647)); + origPoints.append(QPointF(769.4037908072432, 194.6845966009131)); + origPoints.append(QPointF(766.3140611929234, 198.0036521294404)); + origPoints.append(QPointF(763.1851829571224, 201.28541430804643)); + origPoints.append(QPointF(760.0175271541522, 204.52951208241916)); + origPoints.append(QPointF(758.4176810783842, 206.13572832247544)); // Begin comparison Comparison(points, origPoints); @@ -148,33 +270,100 @@ void TST_VSpline::GetSegmentPoints_TestPuzzle() points << spl.GetSegmentPoints(begin, end, false); QVector origPoints; - origPoints.append(QPointF(1168.85828031, 39.9998740157)); - origPoints.append(QPointF(1158.40802126, 52.3497961203)); - origPoints.append(QPointF(1138.64676795, 77.3443304348)); - origPoints.append(QPointF(1120.21162184, 102.681357357)); - origPoints.append(QPointF(1103.0570157, 128.348504087)); - origPoints.append(QPointF(1087.13738226, 154.333397827)); - origPoints.append(QPointF(1072.40715426, 180.623665779)); - origPoints.append(QPointF(1058.82076446, 207.206935142)); - origPoints.append(QPointF(1046.33264559, 234.070833119)); - origPoints.append(QPointF(1034.8972304, 261.20298691)); - origPoints.append(QPointF(1024.46895163, 288.591023717)); - origPoints.append(QPointF(1015.00224202, 316.22257074)); - origPoints.append(QPointF(1006.45153433, 344.085255182)); - origPoints.append(QPointF(998.771261285, 372.166704242)); - origPoints.append(QPointF(991.915855642, 400.454545123)); - origPoints.append(QPointF(985.83975014, 428.936405026)); - origPoints.append(QPointF(980.497377524, 457.599911151)); - origPoints.append(QPointF(975.843170537, 486.432690699)); - origPoints.append(QPointF(971.831561923, 515.422370873)); - origPoints.append(QPointF(968.416984426, 544.556578873)); - origPoints.append(QPointF(965.55387079, 573.8229419)); - origPoints.append(QPointF(963.19665376, 603.209087156)); - origPoints.append(QPointF(961.299766078, 632.702641841)); - origPoints.append(QPointF(959.17457231, 677.107741373)); - origPoints.append(QPointF(957.595965967, 736.590833735)); - origPoints.append(QPointF(957.038466409, 796.280853437)); - origPoints.append(QPointF(957.305645106, 885.992413851)); + origPoints.append(QPointF(1168.8582803149607, 39.999874015748034)); + origPoints.append(QPointF(1166.223927144099, 43.081713107423184)); + origPoints.append(QPointF(1161.0274928341657, 49.26409940982961)); + origPoints.append(QPointF(1155.9171441728415, 55.46876146261986)); + origPoints.append(QPointF(1150.8921691717505, 61.695505940812126)); + origPoints.append(QPointF(1145.9518558425152, 67.94413951942465)); + origPoints.append(QPointF(1141.0954921967605, 74.21446887347568)); + origPoints.append(QPointF(1136.3223662461087, 80.50630067798342)); + origPoints.append(QPointF(1131.6317660021837, 86.8194416079661)); + origPoints.append(QPointF(1127.0229794766096, 93.15369833844201)); + origPoints.append(QPointF(1122.4952946810095, 99.50887754442931)); + origPoints.append(QPointF(1118.0479996270067, 105.88478590094627)); + origPoints.append(QPointF(1113.680382326225, 112.28123008301112)); + origPoints.append(QPointF(1109.3917307902882, 118.6980167656421)); + origPoints.append(QPointF(1105.1813330308196, 125.13495262385743)); + origPoints.append(QPointF(1101.048477059443, 131.5918443326753)); + origPoints.append(QPointF(1096.9924508877814, 138.06849856711403)); + origPoints.append(QPointF(1093.0125425274584, 144.56472200219181)); + origPoints.append(QPointF(1089.108039990098, 151.08032131292686)); + origPoints.append(QPointF(1085.2782312873235, 157.61510317433738)); + origPoints.append(QPointF(1081.5224044307583, 164.16887426144172)); + origPoints.append(QPointF(1077.8398474320263, 170.741441249258)); + origPoints.append(QPointF(1074.2298483027507, 177.3326108128045)); + origPoints.append(QPointF(1070.691695054555, 183.94218962709942)); + origPoints.append(QPointF(1067.2246756990635, 190.56998436716106)); + origPoints.append(QPointF(1063.8280782478992, 197.21580170800758)); + origPoints.append(QPointF(1060.5011907126852, 203.8794483246572)); + origPoints.append(QPointF(1057.2433011050455, 210.56073089212825)); + origPoints.append(QPointF(1054.0536974366037, 217.2594560854389)); + origPoints.append(QPointF(1050.9316677189831, 223.9754305796074)); + origPoints.append(QPointF(1047.8764999638074, 230.70846104965193)); + origPoints.append(QPointF(1044.8874821827003, 237.45835417059072)); + origPoints.append(QPointF(1041.9639023872846, 244.2249166174421)); + origPoints.append(QPointF(1039.1050485891847, 251.00795506522425)); + origPoints.append(QPointF(1036.3102088000242, 257.80727618895537)); + origPoints.append(QPointF(1033.5786710314258, 264.6226866636538)); + origPoints.append(QPointF(1030.909723295014, 271.4539931643376)); + origPoints.append(QPointF(1028.3026536024117, 278.30100236602505)); + origPoints.append(QPointF(1025.7567499652423, 285.1635209437345)); + origPoints.append(QPointF(1023.2713003951301, 292.0413555724841)); + origPoints.append(QPointF(1020.8455929036979, 298.9343129272922)); + origPoints.append(QPointF(1018.4789155025696, 305.84219968317683)); + origPoints.append(QPointF(1016.1705562033686, 312.7648225151563)); + origPoints.append(QPointF(1013.9198030177188, 319.7019880982489)); + origPoints.append(QPointF(1011.7259439572433, 326.6535031074728)); + origPoints.append(QPointF(1009.5882670335659, 333.61917421784625)); + origPoints.append(QPointF(1007.5060602583101, 340.59880810438744)); + origPoints.append(QPointF(1005.4786116430994, 347.5922114421147)); + origPoints.append(QPointF(1003.5052091995572, 354.59919090604626)); + origPoints.append(QPointF(1001.5851409393073, 361.6195531712002)); + origPoints.append(QPointF(999.7176948739731, 368.6531049125949)); + origPoints.append(QPointF(997.902159015178, 375.69965280524866)); + origPoints.append(QPointF(996.1378213745459, 382.75900352417943)); + origPoints.append(QPointF(994.4239699637, 389.8309637444057)); + origPoints.append(QPointF(992.759892794264, 396.91534014094555)); + origPoints.append(QPointF(991.1448778778615, 404.0119393888174)); + origPoints.append(QPointF(989.5782132261161, 411.12056816303925)); + origPoints.append(QPointF(988.0591868506513, 418.2410331386294)); + origPoints.append(QPointF(986.5870867630903, 425.3731409906063)); + origPoints.append(QPointF(985.161200975057, 432.5166983939879)); + origPoints.append(QPointF(983.7808174981748, 439.6715120237925)); + origPoints.append(QPointF(982.4452243440672, 446.8373885550384)); + origPoints.append(QPointF(981.1537095243581, 454.0141346627438)); + origPoints.append(QPointF(979.9055610506706, 461.201557021927)); + origPoints.append(QPointF(978.7000669346284, 468.3994623076061)); + origPoints.append(QPointF(977.536515187855, 475.6076571947994)); + origPoints.append(QPointF(976.4141938219741, 482.82594835852524)); + origPoints.append(QPointF(975.3323908486091, 490.0541424738017)); + origPoints.append(QPointF(974.2903942793837, 497.292046215647)); + origPoints.append(QPointF(973.2874921259213, 504.5394662590794)); + origPoints.append(QPointF(972.3229723998454, 511.7962092791172)); + origPoints.append(QPointF(970.9420270804521, 522.6972765338926)); + origPoints.append(QPointF(969.2347383321023, 537.2643805338191)); + origPoints.append(QPointF(967.6681635025225, 551.8652965904953)); + origPoints.append(QPointF(966.2366066847012, 566.4984781040671)); + origPoints.append(QPointF(964.9343719716264, 581.1623784746802)); + origPoints.append(QPointF(963.7557634562868, 595.8554511024805)); + origPoints.append(QPointF(962.6950852316704, 610.5761493876139)); + origPoints.append(QPointF(961.746641390766, 625.3229267302262)); + origPoints.append(QPointF(960.9047360265615, 640.0942365304633)); + origPoints.append(QPointF(960.1636732320455, 654.8885321884709)); + origPoints.append(QPointF(959.5177571002063, 669.7042671043953)); + origPoints.append(QPointF(958.9612917240322, 684.5398946783818)); + origPoints.append(QPointF(958.4885811965113, 699.3938683105766)); + origPoints.append(QPointF(958.0939296106322, 714.2646414011255)); + origPoints.append(QPointF(957.7716410593832, 729.1506673501743)); + origPoints.append(QPointF(957.5160196357529, 744.0503995578688)); + origPoints.append(QPointF(957.3213694327292, 758.9622914243553)); + origPoints.append(QPointF(957.1819945433006, 773.884796349779)); + origPoints.append(QPointF(957.0921990604554, 788.8163677342864)); + origPoints.append(QPointF(957.0335899720619, 811.2266912397164)); + origPoints.append(QPointF(957.0831245617323, 841.1256735649813)); + origPoints.append(QPointF(957.2284504515269, 871.0330829292052)); + origPoints.append(QPointF(957.5286354562604, 915.885745295907)); origPoints.append(QPointF(957.69883966, 943.844812978)); // Begin comparison @@ -201,70 +390,134 @@ void TST_VSpline::GetSegmentPoints_NullSegment() QVector origPoints; origPoints.append(QPointF(182.31062201967654, 383.8061713596471)); - origPoints.append(QPointF(173.5193148389493, 383.09473139115664)); - origPoints.append(QPointF(156.35256886351988, 381.27664737553243)); - origPoints.append(QPointF(139.68640422167817, 378.9987265205365)); - origPoints.append(QPointF(123.52253121382145, 376.2769777761686)); - origPoints.append(QPointF(107.862660140347, 373.127410092429)); - origPoints.append(QPointF(92.70850130165212, 369.5660324193175)); - origPoints.append(QPointF(78.06176499813408, 365.6088537068342)); - origPoints.append(QPointF(63.924161530190176, 361.2718829049793)); - origPoints.append(QPointF(50.29740119821767, 356.5711289637526)); - origPoints.append(QPointF(37.18319430261387, 351.5226008331541)); - origPoints.append(QPointF(24.583251143776067, 346.142307463184)); - origPoints.append(QPointF(12.499282022101543, 340.4462578038422)); - origPoints.append(QPointF(0.9329972379875793, 334.4504608051287)); - origPoints.append(QPointF(-10.113892908168534, 328.17092541704363)); - origPoints.append(QPointF(-20.63967811596951, 321.6236605895869)); - origPoints.append(QPointF(-30.64264808501806, 314.8246752727586)); - origPoints.append(QPointF(-40.121092514916896, 307.78997841655865)); - origPoints.append(QPointF(-49.07330110526874, 300.5355789709872)); - origPoints.append(QPointF(-57.49756355567631, 293.0774858860442)); - origPoints.append(QPointF(-65.39216956574231, 285.4317081117297)); - origPoints.append(QPointF(-72.75540883506945, 277.61425459804366)); - origPoints.append(QPointF(-79.58557106326043, 269.64113429498616)); - origPoints.append(QPointF(-85.88094594991799, 261.5283561525572)); - origPoints.append(QPointF(-91.63982319464486, 253.29192912075672)); - origPoints.append(QPointF(-96.86049249704371, 244.94786214958486)); - origPoints.append(QPointF(-101.54124355671726, 236.51216418904164)); - origPoints.append(QPointF(-105.68036607326823, 228.000844189127)); - origPoints.append(QPointF(-109.27614974629935, 219.42991109984098)); - origPoints.append(QPointF(-112.32688427541332, 210.81537387118362)); - origPoints.append(QPointF(-114.83085936021286, 202.1732414531549)); - origPoints.append(QPointF(-116.78636470030067, 193.51952279575488)); - origPoints.append(QPointF(-118.19168999527946, 184.8702268489836)); - origPoints.append(QPointF(-119.04512494475199, 176.24136256284103)); - origPoints.append(QPointF(-119.34495924832092, 167.64893888732718)); - origPoints.append(QPointF(-119.08948260558898, 159.10896477244216)); - origPoints.append(QPointF(-118.27698471615886, 150.63744916818587)); - origPoints.append(QPointF(-116.90575527963333, 142.2504010245584)); - origPoints.append(QPointF(-114.97408399561508, 133.96382929155976)); - origPoints.append(QPointF(-112.48026056370679, 125.79374291918995)); - origPoints.append(QPointF(-109.42257468351121, 117.756150857449)); - origPoints.append(QPointF(-105.79931605463103, 109.86706205633692)); - origPoints.append(QPointF(-101.608774376669, 102.14248546585374)); - origPoints.append(QPointF(-96.8492393492278, 94.59843003599951)); - origPoints.append(QPointF(-91.51900067191015, 87.25090471677419)); - origPoints.append(QPointF(-85.61634804431877, 80.11591845817783)); - origPoints.append(QPointF(-79.13957116605636, 73.20948021021047)); - origPoints.append(QPointF(-72.08695973672565, 66.54759892287208)); - origPoints.append(QPointF(-64.45680345592936, 60.14628354616272)); - origPoints.append(QPointF(-56.247392023270166, 54.0215430300824)); - origPoints.append(QPointF(-47.45701513835082, 48.189386324631116)); - origPoints.append(QPointF(-38.083962500774014, 42.66582237980891)); - origPoints.append(QPointF(-28.126523810142473, 37.4668601456158)); - origPoints.append(QPointF(-17.582988766058897, 32.608508572051804)); - origPoints.append(QPointF(-6.451647068126014, 28.106776609116928)); - origPoints.append(QPointF(5.269211584053471, 23.97767320681121)); - origPoints.append(QPointF(17.581297490876842, 20.23720731513466)); - origPoints.append(QPointF(30.486320952741384, 16.9013878840873)); - origPoints.append(QPointF(43.98599227004439, 13.986223863669146)); - origPoints.append(QPointF(58.082021743183134, 11.507724203880219)); - origPoints.append(QPointF(72.77611967255493, 9.481897854720536)); - origPoints.append(QPointF(88.069996358557, 7.92475376619012)); - origPoints.append(QPointF(103.96536210158672, 6.852300888288988)); - origPoints.append(QPointF(120.4639272020413, 6.280548171017158)); - origPoints.append(QPointF(137.5674019603181, 6.225504564374653)); + origPoints.append(QPointF(177.90459309841725, 383.4605315892429)); + origPoints.append(QPointF(169.19639545863012, 382.66945046939884)); + origPoints.append(QPointF(160.6130224709154, 381.76040846158674)); + origPoints.append(QPointF(152.1546879228228, 380.73540668455666)); + origPoints.append(QPointF(143.82160560190192, 379.5964462570587)); + origPoints.append(QPointF(135.61398929570254, 378.34552829784275)); + origPoints.append(QPointF(127.53205279177418, 376.98465392565885)); + origPoints.append(QPointF(119.57600987766655, 375.51582425925693)); + origPoints.append(QPointF(111.74607434092933, 373.9410404173871)); + origPoints.append(QPointF(104.04245996911216, 372.2623035187994)); + origPoints.append(QPointF(96.46538054976472, 370.4816146822436)); + origPoints.append(QPointF(89.01504987043666, 368.6009750264699)); + origPoints.append(QPointF(81.69168171867761, 366.62238567022825)); + origPoints.append(QPointF(74.4954898820373, 364.54784773226874)); + origPoints.append(QPointF(67.42668814806535, 362.3793623313413)); + origPoints.append(QPointF(60.485490304311426, 360.1189305861958)); + origPoints.append(QPointF(53.67211013832518, 357.7685536155825)); + origPoints.append(QPointF(46.98676143765628, 355.33023253825127)); + origPoints.append(QPointF(40.42965798985438, 352.805968472952)); + origPoints.append(QPointF(34.00101358246915, 350.19776253843486)); + origPoints.append(QPointF(27.70104200305024, 347.5076158534498)); + origPoints.append(QPointF(21.529957039147334, 344.7375295367468)); + origPoints.append(QPointF(15.48797247831007, 341.88950470707584)); + origPoints.append(QPointF(9.575302108088117, 338.96554248318705)); + origPoints.append(QPointF(3.7921597160311356, 335.96764398383027)); + origPoints.append(QPointF(-1.8612409103112126, 332.8978103277557)); + origPoints.append(QPointF(-7.38468598338927, 329.75804263371316)); + origPoints.append(QPointF(-12.777961715653369, 326.55034202045266)); + origPoints.append(QPointF(-18.04085431955386, 323.2767096067243)); + origPoints.append(QPointF(-23.173150007541068, 319.93914651127807)); + origPoints.append(QPointF(-28.174634992065343, 316.5396538528639)); + origPoints.append(QPointF(-33.04509548557702, 313.08023275023186)); + origPoints.append(QPointF(-37.784317700526444, 309.5628843221318)); + origPoints.append(QPointF(-42.392087849363946, 305.98960968731404)); + origPoints.append(QPointF(-46.86819214453986, 302.3624099645283)); + origPoints.append(QPointF(-51.21241679850455, 298.6832862725247)); + origPoints.append(QPointF(-55.424548023708326, 294.9542397300532)); + origPoints.append(QPointF(-59.50437203260155, 291.1772714558638)); + origPoints.append(QPointF(-63.45167503763454, 287.35438256870657)); + origPoints.append(QPointF(-67.26624325125766, 283.48757418733135)); + origPoints.append(QPointF(-70.94786288592123, 279.5788474304884)); + origPoints.append(QPointF(-74.49632015407558, 275.6302034169275)); + origPoints.append(QPointF(-77.91140126817108, 271.64364326539874)); + origPoints.append(QPointF(-81.19289244065806, 267.62116809465215)); + origPoints.append(QPointF(-84.34057988398683, 263.56477902343767)); + origPoints.append(QPointF(-87.35424981060777, 259.4764771705053)); + origPoints.append(QPointF(-90.2336884329712, 255.3582636546051)); + origPoints.append(QPointF(-92.97868196352746, 251.212139594487)); + origPoints.append(QPointF(-95.58901661472689, 247.0401061089011)); + origPoints.append(QPointF(-98.06447859901981, 242.84416431659736)); + origPoints.append(QPointF(-100.40485412885658, 238.62631533632572)); + origPoints.append(QPointF(-102.60992941668755, 234.38856028683622)); + origPoints.append(QPointF(-104.67949067496303, 230.1329002868789)); + origPoints.append(QPointF(-106.61332411613338, 225.86133645520374)); + origPoints.append(QPointF(-108.41121595264894, 221.57586991056075)); + origPoints.append(QPointF(-110.07295239696006, 217.2785017716999)); + origPoints.append(QPointF(-111.59831966151705, 212.97123315737122)); + origPoints.append(QPointF(-112.98710395877025, 208.65606518632472)); + origPoints.append(QPointF(-114.23909150117002, 204.33499897731036)); + origPoints.append(QPointF(-115.3540685011667, 200.0100356490782)); + origPoints.append(QPointF(-116.3318211712106, 195.68317632037815)); + origPoints.append(QPointF(-117.17213572375209, 191.35642210996033)); + origPoints.append(QPointF(-117.8747983712415, 187.03177413657468)); + origPoints.append(QPointF(-118.43959532612914, 182.71123351897123)); + origPoints.append(QPointF(-118.86631280086539, 178.39680137589994)); + origPoints.append(QPointF(-119.15473700790058, 174.09047882611083)); + origPoints.append(QPointF(-119.30465415968504, 169.7942669883539)); + origPoints.append(QPointF(-119.31585046866913, 165.5101669813792)); + origPoints.append(QPointF(-119.18811214730314, 161.2401799239367)); + origPoints.append(QPointF(-118.92122540803749, 156.98630693477634)); + origPoints.append(QPointF(-118.51497646332243, 152.7505491326482)); + origPoints.append(QPointF(-117.96915152560837, 148.53490763630228)); + origPoints.append(QPointF(-117.2835368073456, 144.34138356448852)); + origPoints.append(QPointF(-116.45791852098446, 140.171978035957)); + origPoints.append(QPointF(-115.49208287897534, 136.02869216945766)); + origPoints.append(QPointF(-114.38581609376854, 131.91352708374055)); + origPoints.append(QPointF(-113.13890437781438, 127.82848389755566)); + origPoints.append(QPointF(-111.75113394356325, 123.77556372965296)); + origPoints.append(QPointF(-110.22229100346546, 119.75676769878248)); + origPoints.append(QPointF(-108.55216176997135, 115.77409692369423)); + origPoints.append(QPointF(-106.74053245553128, 111.8295525231382)); + origPoints.append(QPointF(-104.78718927259555, 107.9251356158644)); + origPoints.append(QPointF(-102.69191843361452, 104.06284732062281)); + origPoints.append(QPointF(-100.45450615103854, 100.24468875616346)); + origPoints.append(QPointF(-98.07473863731795, 96.47266104123635)); + origPoints.append(QPointF(-95.55240210490308, 92.74876529459146)); + origPoints.append(QPointF(-92.88728276624425, 89.0750026349788)); + origPoints.append(QPointF(-90.07916683379182, 85.45337418114838)); + origPoints.append(QPointF(-87.12784051999613, 81.88588105185019)); + origPoints.append(QPointF(-84.03309003730749, 78.37452436583426)); + origPoints.append(QPointF(-80.79470159817629, 74.92130524185059)); + origPoints.append(QPointF(-77.41246141505286, 71.52822479864915)); + origPoints.append(QPointF(-73.88615570038749, 68.19728415497994)); + origPoints.append(QPointF(-70.21557066663057, 64.93048442959301)); + origPoints.append(QPointF(-66.40049252623243, 61.72982674123833)); + origPoints.append(QPointF(-62.440707491643394, 58.5973122086659)); + origPoints.append(QPointF(-58.336001775313804, 55.53494195062573)); + origPoints.append(QPointF(-54.086161589694, 52.54471708586783)); + origPoints.append(QPointF(-49.69097314723432, 49.628638733142196)); + origPoints.append(QPointF(-45.15022266038511, 46.78870801119882)); + origPoints.append(QPointF(-40.463696341596716, 44.026926038787714)); + origPoints.append(QPointF(-35.63118040331946, 41.34529393465888)); + origPoints.append(QPointF(-30.652461058003688, 38.745812817562324)); + origPoints.append(QPointF(-25.52732451809974, 36.23048380624805)); + origPoints.append(QPointF(-20.255556996057955, 33.80130801946605)); + origPoints.append(QPointF(-14.836944704328669, 31.46028657596633)); + origPoints.append(QPointF(-9.271273855362228, 29.209420594498894)); + origPoints.append(QPointF(-3.558330661608968, 27.050711193813743)); + origPoints.append(QPointF(2.3020986644807735, 24.98615949266088)); + origPoints.append(QPointF(8.310227910456657, 23.01776660979031)); + origPoints.append(QPointF(14.466270863868342, 21.147533663952032)); + origPoints.append(QPointF(20.77044131226549, 19.37746177389605)); + origPoints.append(QPointF(27.22295304319776, 17.709552058372367)); + origPoints.append(QPointF(33.82401984421482, 16.145805636130987)); + origPoints.append(QPointF(40.573855502866316, 14.688223625921907)); + origPoints.append(QPointF(47.472673806701934, 13.338807146495132)); + origPoints.append(QPointF(54.5206885432713, 12.099557316600663)); + origPoints.append(QPointF(61.718113500124105, 10.972475254988508)); + origPoints.append(QPointF(69.06516246480999, 9.959562080408663)); + origPoints.append(QPointF(76.56204922487862, 9.062818911611132)); + origPoints.append(QPointF(84.20898756787969, 8.28424686734592)); + origPoints.append(QPointF(92.00619128136279, 7.625847066363029)); + origPoints.append(QPointF(99.95387415287765, 7.08962062741246)); + origPoints.append(QPointF(108.0522499699739, 6.6775686692442155)); + origPoints.append(QPointF(116.30153252020119, 6.391692310608296)); + origPoints.append(QPointF(124.70193559110919, 6.233992670254708)); + origPoints.append(QPointF(133.2536729702476, 6.206470866933452)); + origPoints.append(QPointF(141.95695844516604, 6.311128019394529)); origPoints.append(QPointF(146.3718263928647, 6.419281580065625)); // Begin comparison @@ -292,25 +545,80 @@ void TST_VSpline::GetSegmentPoints_RotateTool() QVector origPoints; origPoints.append(QPointF(237.32422843061005, 485.80074940371367)); - origPoints.append(QPointF(224.47894722830574, 476.8115274500917)); - origPoints.append(QPointF(200.4405599713662, 458.9162132315404)); - origPoints.append(QPointF(178.3387458840754, 441.12004274890694)); - origPoints.append(QPointF(158.12235273581754, 423.422336123843)); - origPoints.append(QPointF(139.74022829597683, 405.8224134780004)); - origPoints.append(QPointF(123.1412203339375, 388.3195949330309)); - origPoints.append(QPointF(108.27417661908376, 370.91320061058616)); - origPoints.append(QPointF(95.08794492079983, 353.60255063231807)); - origPoints.append(QPointF(83.5313730084699, 336.38696511987837)); - origPoints.append(QPointF(73.55330865147822, 319.2657641949186)); - origPoints.append(QPointF(65.10259961920897, 302.2382679790908)); - origPoints.append(QPointF(58.12809368104641, 285.3037965940465)); - origPoints.append(QPointF(52.57863860637471, 268.4616701614375)); - origPoints.append(QPointF(48.40308216457812, 251.71120880291573)); - origPoints.append(QPointF(45.55027212504085, 235.05173264013274)); - origPoints.append(QPointF(43.9690562571471, 218.48256179474038)); - origPoints.append(QPointF(43.6082823302811, 202.00301638839034)); - origPoints.append(QPointF(44.416798113827056, 185.61241654273442)); - origPoints.append(QPointF(46.34345137716919, 169.31008237942433)); + origPoints.append(QPointF(234.08145029385315, 483.5518788597857)); + origPoints.append(QPointF(227.70035384747374, 479.05934931212175)); + origPoints.append(QPointF(221.44388986541253, 474.573064051899)); + origPoints.append(QPointF(215.31125909406614, 470.0930124560183)); + origPoints.append(QPointF(209.3016622798313, 465.61918390138055)); + origPoints.append(QPointF(203.41430016910454, 461.1515677648864)); + origPoints.append(QPointF(197.64837350828248, 456.69015342343664)); + origPoints.append(QPointF(192.00308304376176, 452.23493025393225)); + origPoints.append(QPointF(186.4776295219391, 447.7858876332739)); + origPoints.append(QPointF(181.071213689211, 443.34301493836244)); + origPoints.append(QPointF(175.78303629197416, 438.90630154609863)); + origPoints.append(QPointF(170.6122980766252, 434.4757368333833)); + origPoints.append(QPointF(165.55819978956072, 430.05131017711733)); + origPoints.append(QPointF(160.61994217717742, 425.6330109542015)); + origPoints.append(QPointF(155.79672598587183, 421.22082854153655)); + origPoints.append(QPointF(151.0877519620406, 416.8147523160234)); + origPoints.append(QPointF(146.4922208520805, 412.4147716545626)); + origPoints.append(QPointF(142.00933340238794, 408.0208759340553)); + origPoints.append(QPointF(137.63829035935967, 403.6330545314022)); + origPoints.append(QPointF(133.37829246939233, 399.25129682350405)); + origPoints.append(QPointF(129.2285404788825, 394.87559218726165)); + origPoints.append(QPointF(125.18823513422683, 390.50592999957587)); + origPoints.append(QPointF(121.25657718182194, 386.1422996373475)); + origPoints.append(QPointF(117.43276736806445, 381.78469047747734)); + origPoints.append(QPointF(113.71600643935099, 377.43309189686613)); + origPoints.append(QPointF(110.10549514207823, 373.0874932724148)); + origPoints.append(QPointF(106.60043422264278, 368.7478839810241)); + origPoints.append(QPointF(103.2000244274412, 364.4142533995948)); + origPoints.append(QPointF(99.90346650287023, 360.08659090502783)); + origPoints.append(QPointF(96.70996119532643, 355.76488587422386)); + origPoints.append(QPointF(93.61870925120647, 351.4491276840837)); + origPoints.append(QPointF(90.6289114169069, 347.1393057115083)); + origPoints.append(QPointF(87.7397684388244, 342.8354093333984)); + origPoints.append(QPointF(84.95048106335562, 338.5374279266548)); + origPoints.append(QPointF(82.26025003689719, 334.2453508681782)); + origPoints.append(QPointF(79.66827610584568, 329.95916753486955)); + origPoints.append(QPointF(77.17376001659775, 325.67886730362966)); + origPoints.append(QPointF(74.77590251555006, 321.4044395513592)); + origPoints.append(QPointF(72.47390434909917, 317.13587365495914)); + origPoints.append(QPointF(70.26696626364176, 312.87315899133023)); + origPoints.append(QPointF(68.15428900557446, 308.6162849373733)); + origPoints.append(QPointF(66.13507332129386, 304.36524086998907)); + origPoints.append(QPointF(64.20851995719663, 300.12001616607847)); + origPoints.append(QPointF(62.37382965967939, 295.88060020254215)); + origPoints.append(QPointF(60.630203175138746, 291.64698235628106)); + origPoints.append(QPointF(58.97684124997134, 287.419152004196)); + origPoints.append(QPointF(57.412944630573804, 283.1970985231878)); + origPoints.append(QPointF(55.93771406334275, 278.98081129015713)); + origPoints.append(QPointF(54.55035029467483, 274.7702796820048)); + origPoints.append(QPointF(53.250054070966655, 270.5654930756318)); + origPoints.append(QPointF(52.036026138614865, 266.36644084793886)); + origPoints.append(QPointF(50.907467244016075, 262.1731123758268)); + origPoints.append(QPointF(49.86357813356693, 257.9854970361963)); + origPoints.append(QPointF(48.90355955366405, 253.80358420594834)); + origPoints.append(QPointF(48.02661225070406, 249.62736326198362)); + origPoints.append(QPointF(47.2319369710836, 245.45682358120297)); + origPoints.append(QPointF(46.51873446119927, 241.29195454050725)); + origPoints.append(QPointF(45.88620546744774, 237.1327455167972)); + origPoints.append(QPointF(45.333550736225604, 232.97918588697368)); + origPoints.append(QPointF(44.859971013929496, 228.83126502793746)); + origPoints.append(QPointF(44.46466704695606, 224.68897231658934)); + origPoints.append(QPointF(44.14683958170191, 220.5522971298302)); + origPoints.append(QPointF(43.905689364563685, 216.42122884456074)); + origPoints.append(QPointF(43.740417141938, 212.2957568376819)); + origPoints.append(QPointF(43.650223660221506, 208.17587048609442)); + origPoints.append(QPointF(43.634309665810804, 204.06155916669906)); + origPoints.append(QPointF(43.69187590510255, 199.95281225639673)); + origPoints.append(QPointF(43.822123124493345, 195.8496191320881)); + origPoints.append(QPointF(44.02425207037983, 191.75196917067416)); + origPoints.append(QPointF(44.297463489158645, 187.65985174905558)); + origPoints.append(QPointF(44.64095812722639, 183.5732562441332)); + origPoints.append(QPointF(45.05393673097973, 179.49217203280784)); + origPoints.append(QPointF(45.53560004681526, 175.41658849198035)); + origPoints.append(QPointF(46.085148821129636, 171.34649499855146)); origPoints.append(QPointF(46.623829088412336, 167.78988631718659)); // Begin comparison