| Index: tools/pathops_visualizer.htm
|
| diff --git a/tools/pathops_visualizer.htm b/tools/pathops_visualizer.htm
|
| index f1288f0fe8454ae1ddc7b2844a0f525e435c9cc3..a95b1cf9cdf2a895cbd61ff3286afdbbfb4970b0 100644
|
| --- a/tools/pathops_visualizer.htm
|
| +++ b/tools/pathops_visualizer.htm
|
| @@ -2,234 +2,399 @@
|
| <head>
|
| <div height="0" hidden="true">
|
|
|
| -<div id="loops59i">
|
| -SkDCubic::ComplexBreak
|
| -{{{1, 2}, {7.3333330154418945, 1.6666666269302368}, {-7.5, 2}, {0, 6}}},
|
| -inflectionsTs[0]=0.22755391 {{{5.6899562470344014, 1.5351137489099846}, {-0.59395324579271769, 2.2875990427916371}}},
|
| -inflectionsTs[1]=0.134608255 {{{-1.7562572007939035, 2.2074401507711405}, {6.7824037520473279, 1.6104549548102116}}},
|
| -maxCurvature[0]=0.184583395 {{{2.612965320628251, 1.8574526830515183}, {2.6213210132912339, 1.9473982945574213}}},
|
| -maxCurvature[1]=0.764880287 {{{-0.3599143419711428, -3.5772335093952985}, {-3.9435828934112642, 11.072562225478482}}},
|
| -maxCurvature[2]=0.500240448 {{{11.93379531543474, -0.87734455447864557}, {-11.814505983496176, 5.6289081865421942}}},
|
| -seg=1 {{{0, 6}, {0.293506175f, 4.82597542f}, {1.04645705f, 3.96781874f}, {1.58881736f, 3.34967732f}}}
|
| -seg=2 {{{1.58881736f, 3.34967732f}, {2.89432383f, 1.86175978f}, {2.97965813f, 1.76450205f}, {-7.5f, 2}}}
|
| -seg=3 {{{-7.5f, 2}, {0, 6}}}
|
| -op sect
|
| -seg=4 {{{1, 2}, {2.16902828f, 1.93847215f}, {2.61688614f, 1.89965844f}, {2.61714315f, 1.90242553f}}}
|
| -seg=5 {{{2.61714315f, 1.90242553f}, {2.61827874f, 1.91464937f}, {-6.11562443f, 2.7383337f}, {0, 6}}}
|
| -seg=6 {{{0, 6}, {1, 2}}}
|
| -debugShowCubicIntersection wtTs[0]=1 {{{0,6}, {0.293506175,4.82597542}, {1.04645705,3.96781874}, {1.58881736,3.34967732}}} {{1.58881736,3.34967732}} wnTs[0]=0 {{{1.58881736,3.34967732}, {2.89432383,1.86175978}, {2.97965813,1.76450205}, {-7.5,2}}}
|
| -debugShowCubicLineIntersection wtTs[0]=0 {{{0,6}, {0.293506175,4.82597542}, {1.04645705,3.96781874}, {1.58881736,3.34967732}}} {{0,6}} wnTs[0]=1 {{{-7.5,2}, {0,6}}}
|
| -debugShowCubicLineIntersection wtTs[0]=1 {{{1.58881736,3.34967732}, {2.89432383,1.86175978}, {2.97965813,1.76450205}, {-7.5,2}}} {{-7.5,2}} wnTs[0]=0 {{{-7.5,2}, {0,6}}}
|
| -debugShowCubicIntersection wtTs[0]=0 {{{0,6}, {0.293506175,4.82597542}, {1.04645705,3.96781874}, {1.58881736,3.34967732}}} {{0,6}} wnTs[0]=1 {{{2.61714315,1.90242553}, {2.61827874,1.91464937}, {-6.11562443,2.7383337}, {0,6}}}
|
| -debugShowCubicLineIntersection wtTs[0]=0 {{{0,6}, {0.293506175,4.82597542}, {1.04645705,3.96781874}, {1.58881736,3.34967732}}} {{0,6}} wnTs[0]=0 {{{0,6}, {1,2}}}
|
| -debugShowCubicIntersection wtTs[0]=0.538493706 {{{1.58881736,3.34967732}, {2.89432383,1.86175978}, {2.97965813,1.76450205}, {-7.5,2}}} {{1.17718506,1.99055469}} wnTs[0]=0.0521913 {{{1,2}, {2.16902828,1.93847215}, {2.61688614,1.89965844}, {2.61714315,1.90242553}}}
|
| -SkOpSegment::addT insert t=0.538493706 segID=2 spanID=13
|
| -SkOpSegment::addT insert t=0.0521913275 segID=4 spanID=14
|
| -debugShowCubicIntersection wtTs[0]=0.481912781 {{{1.58881736,3.34967732}, {2.89432383,1.86175978}, {2.97965813,1.76450205}, {-7.5,2}}} {{1.58025348,2.04903817}} wnTs[0]=0.222514 {{{2.61714315,1.90242553}, {2.61827874,1.91464937}, {-6.11562443,2.7383337}, {0,6}}}
|
| -SkOpSegment::addT insert t=0.481912781 segID=2 spanID=15
|
| -SkOpSegment::addT insert t=0.222514468 segID=5 spanID=16
|
| -debugShowCubicLineIntersection no intersect {{{1.58881736,3.34967732}, {2.89432383,1.86175978}, {2.97965813,1.76450205}, {-7.5,2}}} {{{0,6}, {1,2}}}
|
| -debugShowCubicLineIntersection wtTs[0]=1 {{{2.61714315,1.90242553}, {2.61827874,1.91464937}, {-6.11562443,2.7383337}, {0,6}}} {{0,6}} wnTs[0]=1 {{{-7.5,2}, {0,6}}}
|
| -debugShowLineIntersection wtTs[0]=1 {{{-7.5,2}, {0,6}}} {{0,6}} wnTs[0]=0 {{{0,6}, {1,2}}}
|
| -debugShowCubicIntersection wtTs[0]=1 {{{1,2}, {2.16902828,1.93847215}, {2.61688614,1.89965844}, {2.61714315,1.90242553}}} {{2.61714315,1.90242553}} wnTs[0]=0 {{{2.61714315,1.90242553}, {2.61827874,1.91464937}, {-6.11562443,2.7383337}, {0,6}}}
|
| -debugShowCubicLineIntersection wtTs[0]=0 {{{1,2}, {2.16902828,1.93847215}, {2.61688614,1.89965844}, {2.61714315,1.90242553}}} {{1,2}} wnTs[0]=1 {{{0,6}, {1,2}}}
|
| -debugShowCubicLineIntersection wtTs[0]=0.293280033 {{{2.61714315,1.90242553}, {2.61827874,1.91464937}, {-6.11562443,2.7383337}, {0,6}}} {{0.959100008,2.16359997}} wtTs[1]=1 {{0,6}} wnTs[0]=0.9591 {{{0,6}, {1,2}}} wnTs[1]=0
|
| -SkOpSegment::addT insert t=0.293280033 segID=5 spanID=17
|
| -SkOpSegment::addT insert t=0.959100004 segID=6 spanID=18
|
| -SkOpSegment::sortAngles [1] tStart=0 [1]
|
| -SkOpAngle::after [1/1] 5/5 tStart=0 tEnd=1 < [5/13] 13/5 tStart=1 tEnd=0.293280033 < [6/14] 5/5 tStart=0 tEnd=0.959100004 F 7
|
| -SkOpAngle::afterPart {{{0,6}, {0.293506175,4.82597542}, {1.04645705,3.96781874}, {1.58881736,3.34967732}}} id=1
|
| -SkOpAngle::afterPart {{{0,6}, {-4.3220339,3.6949153}, {-1.22742501,2.60748826}, {0.959100008,2.16359997}}} id=5
|
| -SkOpAngle::afterPart {{{0,6}, {0.959100008,2.16359997}}} id=6
|
| -SkOpAngle::after [1/1] 5/5 tStart=0 tEnd=1 < [3/6] 13/13 tStart=1 tEnd=0 < [6/14] 5/5 tStart=0 tEnd=0.959100004 F 5
|
| -SkOpAngle::afterPart {{{0,6}, {0.293506175,4.82597542}, {1.04645705,3.96781874}, {1.58881736,3.34967732}}} id=1
|
| -SkOpAngle::afterPart {{{0,6}, {-7.5,2}}} id=3
|
| -SkOpAngle::afterPart {{{0,6}, {0.959100008,2.16359997}}} id=6
|
| -SkOpAngle::after [6/14] 5/5 tStart=0 tEnd=0.959100004 < [3/6] 13/13 tStart=1 tEnd=0 < [5/13] 13/5 tStart=1 tEnd=0.293280033 F 7
|
| -SkOpAngle::afterPart {{{0,6}, {0.959100008,2.16359997}}} id=6
|
| -SkOpAngle::afterPart {{{0,6}, {-7.5,2}}} id=3
|
| -SkOpAngle::afterPart {{{0,6}, {-4.3220339,3.6949153}, {-1.22742501,2.60748826}, {0.959100008,2.16359997}}} id=5
|
| -SkOpAngle::after [5/13] 13/5 tStart=1 tEnd=0.293280033 < [3/6] 13/13 tStart=1 tEnd=0 < [1/1] 5/5 tStart=0 tEnd=1 T 7
|
| -SkOpAngle::afterPart {{{0,6}, {-4.3220339,3.6949153}, {-1.22742501,2.60748826}, {0.959100008,2.16359997}}} id=5
|
| -SkOpAngle::afterPart {{{0,6}, {-7.5,2}}} id=3
|
| -SkOpAngle::afterPart {{{0,6}, {0.293506175,4.82597542}, {1.04645705,3.96781874}, {1.58881736,3.34967732}}} id=1
|
| -SkOpSegment::sortAngles [2] tStart=0.481912781 [15]
|
| -SkOpAngle::after [2/2] 29/25 tStart=0.481912781 tEnd=0 < [5/9] 1/1 tStart=0.222514468 tEnd=0 < [2/3] 13/13 tStart=0.481912781 tEnd=0.538493706 T 4
|
| -SkOpAngle::afterPart {{{1.58025348,2.04903817}, {2.5637252,2.23855117}, {2.21795761,2.63263084}, {1.58881736,3.34967732}}} id=2
|
| -SkOpAngle::afterPart {{{1.58025348,2.04903817}, {2.18515331,1.94804315}, {2.61739584,1.90514551}, {2.61714315,1.90242553}}} id=5
|
| -SkOpAngle::afterPart {{{1.58025348,2.04903817}, {1.464785,2.02678763}, {1.33099307,2.007357}, {1.17718506,1.99055469}}} id=2
|
| -SkOpAngle::after [2/2] 29/25 tStart=0.481912781 tEnd=0 < [5/10] 17/17 tStart=0.222514468 tEnd=0.293280033 < [5/9] 1/1 tStart=0.222514468 tEnd=0 F 4
|
| -SkOpAngle::afterPart {{{1.58025348,2.04903817}, {2.5637252,2.23855117}, {2.21795761,2.63263084}, {1.58881736,3.34967732}}} id=2
|
| -SkOpAngle::afterPart {{{1.58025348,2.04903817}, {1.38787913,2.0811573}, {1.178042,2.11915237}, {0.959100008,2.16359997}}} id=5
|
| -SkOpAngle::afterPart {{{1.58025348,2.04903817}, {2.18515331,1.94804315}, {2.61739584,1.90514551}, {2.61714315,1.90242553}}} id=5
|
| -SkOpAngle::after [5/9] 1/1 tStart=0.222514468 tEnd=0 < [5/10] 17/17 tStart=0.222514468 tEnd=0.293280033 < [2/3] 13/13 tStart=0.481912781 tEnd=0.538493706 F 4
|
| -SkOpAngle::afterPart {{{1.58025348,2.04903817}, {2.18515331,1.94804315}, {2.61739584,1.90514551}, {2.61714315,1.90242553}}} id=5
|
| -SkOpAngle::afterPart {{{1.58025348,2.04903817}, {1.38787913,2.0811573}, {1.178042,2.11915237}, {0.959100008,2.16359997}}} id=5
|
| -SkOpAngle::afterPart {{{1.58025348,2.04903817}, {1.464785,2.02678763}, {1.33099307,2.007357}, {1.17718506,1.99055469}}} id=2
|
| -SkOpAngle::after [2/3] 13/13 tStart=0.481912781 tEnd=0.538493706 < [5/10] 17/17 tStart=0.222514468 tEnd=0.293280033 < [2/2] 29/25 tStart=0.481912781 tEnd=0 T 4
|
| -SkOpAngle::afterPart {{{1.58025348,2.04903817}, {1.464785,2.02678763}, {1.33099307,2.007357}, {1.17718506,1.99055469}}} id=2
|
| -SkOpAngle::afterPart {{{1.58025348,2.04903817}, {1.38787913,2.0811573}, {1.178042,2.11915237}, {0.959100008,2.16359997}}} id=5
|
| -SkOpAngle::afterPart {{{1.58025348,2.04903817}, {2.5637252,2.23855117}, {2.21795761,2.63263084}, {1.58881736,3.34967732}}} id=2
|
| -SkOpSegment::sortAngles [2] tStart=0.538493706 [13]
|
| -SkOpAngle::after [2/4] 29/29 tStart=0.538493706 tEnd=0.481912781 < [4/7] 17/17 tStart=0.0521913275 tEnd=0 < [2/5] 13/17 tStart=0.538493706 tEnd=1 F 11
|
| -SkOpAngle::afterPart {{{1.17718506,1.99055469}, {1.33099307,2.007357}, {1.464785,2.02678763}, {1.58025348,2.04903817}}} id=2
|
| -SkOpAngle::afterPart {{{1.17718506,1.99055469}, {1.12006187,1.99363948}, {1.06101314,1.99678878}, {1,2}}} id=4
|
| -SkOpAngle::afterPart {{{1.17718506,1.99055469}, {-0.0773608463,1.85350547}, {-2.66357181,1.89131621}, {-7.5,2}}} id=2
|
| -SkOpAngle::after [2/4] 29/29 tStart=0.538493706 tEnd=0.481912781 < [4/8] 1/1 tStart=0.0521913275 tEnd=1 < [2/5] 13/17 tStart=0.538493706 tEnd=1 T 4
|
| -SkOpAngle::afterPart {{{1.17718506,1.99055469}, {1.33099307,2.007357}, {1.464785,2.02678763}, {1.58025348,2.04903817}}} id=2
|
| -SkOpAngle::afterPart {{{1.17718506,1.99055469}, {2.21455765,1.93453399}, {2.61689955,1.89980286}, {2.61714315,1.90242553}}} id=4
|
| -SkOpAngle::afterPart {{{1.17718506,1.99055469}, {-0.0773608463,1.85350547}, {-2.66357181,1.89131621}, {-7.5,2}}} id=2
|
| -SkOpSegment::sortAngles [3] tStart=1 [6]
|
| -SkOpSegment::sortAngles [4] tStart=0.0521913275 [14]
|
| -SkOpSegment::sortAngles [5] tStart=0.222514468 [16]
|
| -SkOpSegment::sortAngles [5] tStart=0.293280033 [17]
|
| -SkOpAngle::after [5/11] 1/1 tStart=0.293280033 tEnd=0.222514468 < [6/15] 21/21 tStart=0.959100004 tEnd=0 < [5/12] 17/21 tStart=0.293280033 tEnd=1 F 11
|
| -SkOpAngle::afterPart {{{0.959100008,2.16359997}, {1.178042,2.11915237}, {1.38787913,2.0811573}, {1.58025348,2.04903817}}} id=5
|
| -SkOpAngle::afterPart {{{0.959100008,2.16359997}, {0,6}}} id=6
|
| -SkOpAngle::afterPart {{{0.959100008,2.16359997}, {-1.22742501,2.60748826}, {-4.3220339,3.6949153}, {0,6}}} id=5
|
| -SkOpAngle::after [5/11] 1/1 tStart=0.293280033 tEnd=0.222514468 < [6/16] 5/5 tStart=0.959100004 tEnd=1 < [5/12] 17/21 tStart=0.293280033 tEnd=1 T 4
|
| -SkOpAngle::afterPart {{{0.959100008,2.16359997}, {1.178042,2.11915237}, {1.38787913,2.0811573}, {1.58025348,2.04903817}}} id=5
|
| -SkOpAngle::afterPart {{{0.959100008,2.16359997}, {1,2}}} id=6
|
| -SkOpAngle::afterPart {{{0.959100008,2.16359997}, {-1.22742501,2.60748826}, {-4.3220339,3.6949153}, {0,6}}} id=5
|
| -SkOpSegment::sortAngles [5] tStart=1 [10]
|
| -SkOpSegment::sortAngles [6] tStart=0 [11]
|
| -SkOpSegment::sortAngles [6] tStart=0.959100004 [18]
|
| -SkOpSegment::debugShowActiveSpans id=1 (0,6 0.293506175,4.82597542 1.04645705,3.96781874 1.58881736,3.34967732) t=0 (0,6) tEnd=1 windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::debugShowActiveSpans id=2 (1.58881736,3.34967732 2.89432383,1.86175978 2.97965813,1.76450205 -7.5,2) t=0 (1.58881736,3.34967732) tEnd=0.481912781 windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::debugShowActiveSpans id=2 (1.58881736,3.34967732 2.89432383,1.86175978 2.97965813,1.76450205 -7.5,2) t=0.481912781 (1.58025348,2.04903817) tEnd=0.538493706 windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::debugShowActiveSpans id=2 (1.58881736,3.34967732 2.89432383,1.86175978 2.97965813,1.76450205 -7.5,2) t=0.538493706 (1.17718506,1.99055469) tEnd=1 windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::debugShowActiveSpans id=3 (-7.5,2 0,6) t=0 (-7.5,2) tEnd=1 windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::debugShowActiveSpans id=4 (1,2 2.16902828,1.93847215 2.61688614,1.89965844 2.61714315,1.90242553) t=0 (1,2) tEnd=0.0521913275 windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::debugShowActiveSpans id=4 (1,2 2.16902828,1.93847215 2.61688614,1.89965844 2.61714315,1.90242553) t=0.0521913275 (1.17718506,1.99055469) tEnd=1 windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::debugShowActiveSpans id=5 (2.61714315,1.90242553 2.61827874,1.91464937 -6.11562443,2.7383337 0,6) t=0 (2.61714315,1.90242553) tEnd=0.222514468 windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::debugShowActiveSpans id=5 (2.61714315,1.90242553 2.61827874,1.91464937 -6.11562443,2.7383337 0,6) t=0.222514468 (1.58025348,2.04903817) tEnd=0.293280033 windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::debugShowActiveSpans id=5 (2.61714315,1.90242553 2.61827874,1.91464937 -6.11562443,2.7383337 0,6) t=0.293280033 (0.959100008,2.16359997) tEnd=1 windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::debugShowActiveSpans id=6 (0,6 1,2) t=0 (0,6) tEnd=0.959100004 windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::debugShowActiveSpans id=6 (0,6 1,2) t=0.959100004 (0.959100008,2.16359997) tEnd=1 windSum=? windValue=1 oppValue=0
|
| --SkOpSegment::findTop- baseAngle
|
| -SkOpAngle::dumpOne [4/8] next=2/5 sect=1/1 s=0.0521913275 [14] e=1 [8] sgn=-1 windVal=1 windSum=? operand
|
| -SkOpAngle::dumpOne [2/5] next=4/7 sect=13/17 s=0.538493706 [13] e=1 [4] sgn=-1 windVal=1 windSum=? stop
|
| -SkOpAngle::dumpOne [4/7] next=2/4 sect=17/17 s=0.0521913275 [14] e=0 [7] sgn=1 windVal=1 windSum=? operand
|
| -SkOpAngle::dumpOne [2/4] next=4/8 sect=29/29 s=0.538493706 [13] e=0.481912781 [15] sgn=1 windVal=1 windSum=? stop
|
| --SkOpSegment::findTop- firstAngle
|
| -SkOpAngle::dumpOne [4/8] next=2/5 sect=1/1 s=0.0521913275 [14] e=1 [8] sgn=-1 windVal=1 windSum=? operand
|
| -SkOpAngle::dumpOne [2/5] next=4/7 sect=13/17 s=0.538493706 [13] e=1 [4] sgn=-1 windVal=1 windSum=? stop
|
| -SkOpAngle::dumpOne [4/7] next=2/4 sect=17/17 s=0.0521913275 [14] e=0 [7] sgn=1 windVal=1 windSum=? operand
|
| -SkOpAngle::dumpOne [2/4] next=4/8 sect=29/29 s=0.538493706 [13] e=0.481912781 [15] sgn=1 windVal=1 windSum=? stop
|
| -SkDCubic::clockwise pt1dist=0.00263265113 pt2dist=-0.00745519926
|
| -SkOpSegment::findTop id=4 s=1 e=0.0521913275 (+) cw=1 swap=0 inflections=1 monotonic=0
|
| -SkOpSegment::markWinding id=4 (1,2 2.16902828,1.93847215 2.61688614,1.89965844 2.61714315,1.90242553) t=0.0521913275 [14] (1.17718506,1.99055469) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::markWinding id=4 (1,2 2.16902828,1.93847215 2.61688614,1.89965844 2.61714315,1.90242553) t=0.0521913275 [14] (1.17718506,1.99055469) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
|
| -SkOpSegment::markWinding id=5 (2.61714315,1.90242553 2.61827874,1.91464937 -6.11562443,2.7383337 0,6) t=0 [9] (2.61714315,1.90242553) tEnd=0.222514468 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::activeOp id=4 t=1 tEnd=0.0521913275 op=sect miFrom=0 miTo=0 suFrom=1 suTo=0 result=0
|
| -SkOpSegment::markDone id=4 (1,2 2.16902828,1.93847215 2.61688614,1.89965844 2.61714315,1.90242553) t=0.0521913275 [14] (1.17718506,1.99055469) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
|
| -bridgeOp chase.append id=4 windSum=1
|
| -SkOpSegment::markWinding id=2 (1.58881736,3.34967732 2.89432383,1.86175978 2.97965813,1.76450205 -7.5,2) t=0.538493706 [13] (1.17718506,1.99055469) tEnd=1 newWindSum=1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::markWinding id=3 (-7.5,2 0,6) t=0 [5] (-7.5,2) tEnd=1 newWindSum=1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::markAngle last segment=3 span=6
|
| -SkOpSegment::markWinding id=4 (1,2 2.16902828,1.93847215 2.61688614,1.89965844 2.61714315,1.90242553) t=0 [7] (1,2) tEnd=0.0521913275 newWindSum=1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::markWinding id=6 (0,6 1,2) t=0.959100004 [18] (0.959100008,2.16359997) tEnd=1 newWindSum=1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::markAngle last segment=6 span=18 windSum=1
|
| -SkOpSegment::markWinding id=2 (1.58881736,3.34967732 2.89432383,1.86175978 2.97965813,1.76450205 -7.5,2) t=0.481912781 [15] (1.58025348,2.04903817) tEnd=0.538493706 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::markAngle last segment=2 span=15 windSum=1
|
| -SkOpSegment::debugShowActiveSpans id=1 (0,6 0.293506175,4.82597542 1.04645705,3.96781874 1.58881736,3.34967732) t=0 (0,6) tEnd=1 windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::debugShowActiveSpans id=2 (1.58881736,3.34967732 2.89432383,1.86175978 2.97965813,1.76450205 -7.5,2) t=0 (1.58881736,3.34967732) tEnd=0.481912781 windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::debugShowActiveSpans id=2 (1.58881736,3.34967732 2.89432383,1.86175978 2.97965813,1.76450205 -7.5,2) t=0.481912781 (1.58025348,2.04903817) tEnd=0.538493706 windSum=1 windValue=1 oppValue=0
|
| -SkOpSegment::debugShowActiveSpans id=2 (1.58881736,3.34967732 2.89432383,1.86175978 2.97965813,1.76450205 -7.5,2) t=0.538493706 (1.17718506,1.99055469) tEnd=1 windSum=1 windValue=1 oppValue=0
|
| -SkOpSegment::debugShowActiveSpans id=3 (-7.5,2 0,6) t=0 (-7.5,2) tEnd=1 windSum=1 windValue=1 oppValue=0
|
| -SkOpSegment::debugShowActiveSpans id=4 (1,2 2.16902828,1.93847215 2.61688614,1.89965844 2.61714315,1.90242553) t=0 (1,2) tEnd=0.0521913275 windSum=1 windValue=1 oppValue=0
|
| -SkOpSegment::debugShowActiveSpans id=5 (2.61714315,1.90242553 2.61827874,1.91464937 -6.11562443,2.7383337 0,6) t=0 (2.61714315,1.90242553) tEnd=0.222514468 windSum=1 windValue=1 oppValue=0
|
| -SkOpSegment::debugShowActiveSpans id=5 (2.61714315,1.90242553 2.61827874,1.91464937 -6.11562443,2.7383337 0,6) t=0.222514468 (1.58025348,2.04903817) tEnd=0.293280033 windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::debugShowActiveSpans id=5 (2.61714315,1.90242553 2.61827874,1.91464937 -6.11562443,2.7383337 0,6) t=0.293280033 (0.959100008,2.16359997) tEnd=1 windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::debugShowActiveSpans id=6 (0,6 1,2) t=0 (0,6) tEnd=0.959100004 windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::debugShowActiveSpans id=6 (0,6 1,2) t=0.959100004 (0.959100008,2.16359997) tEnd=1 windSum=1 windValue=1 oppValue=0
|
| -SkOpSegment::activeOp id=2 t=0.538493706 tEnd=1 op=sect miFrom=0 miTo=1 suFrom=1 suTo=1 result=1
|
| -SkOpSegment::findNextOp simple
|
| -SkOpSegment::markDone id=2 (1.58881736,3.34967732 2.89432383,1.86175978 2.97965813,1.76450205 -7.5,2) t=0.538493706 [13] (1.17718506,1.99055469) tEnd=1 newWindSum=1 newOppSum=1 oppSum=1 windSum=1 windValue=1 oppValue=0
|
| -bridgeOp current id=2 from=(1.17718506,1.99055469) to=(-7.5,2)
|
| -path.moveTo(1.17718506,1.99055469);
|
| -path.cubicTo(-0.0773608461,1.85350549, -2.66357183,1.89131618, -7.5,2);
|
| -SkOpSegment::markWinding id=1 (0,6 0.293506175,4.82597542 1.04645705,3.96781874 1.58881736,3.34967732) t=0 [1] (0,6) tEnd=1 newWindSum=1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::markWinding id=2 (1.58881736,3.34967732 2.89432383,1.86175978 2.97965813,1.76450205 -7.5,2) t=0 [3] (1.58881736,3.34967732) tEnd=0.481912781 newWindSum=1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::markAngle last segment=2 span=15 windSum=1
|
| -SkOpSegment::markWinding id=6 (0,6 1,2) t=0 [11] (0,6) tEnd=0.959100004 newWindSum=2 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::markAngle last segment=6 span=18 windSum=1
|
| -SkOpSegment::markWinding id=5 (2.61714315,1.90242553 2.61827874,1.91464937 -6.11562443,2.7383337 0,6) t=0.293280033 [17] (0.959100008,2.16359997) tEnd=1 newWindSum=2 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::markAngle last segment=5 span=17 windSum=2
|
| -SkOpSegment::findNextOp
|
| -SkOpAngle::dumpOne [3/6] next=1/1 sect=13/13 s=1 [6] e=0 [5] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=1
|
| -SkOpAngle::dumpOne [1/1] next=6/14 sect=5/5 s=0 [1] e=1 [2] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=1
|
| -SkOpAngle::dumpOne [6/14] next=5/13 sect=5/5 s=0 [11] e=0.959100004 [18] sgn=-1 windVal=1 windSum=2 oppVal=0 oppSum=1 operand
|
| -SkOpAngle::dumpOne [5/13] next=3/6 sect=13/5 s=1 [10] e=0.293280033 [17] sgn=1 windVal=1 windSum=2 oppVal=0 oppSum=1 operand
|
| -SkOpSegment::activeOp id=1 t=0 tEnd=1 op=sect miFrom=0 miTo=1 suFrom=1 suTo=1 result=1
|
| -SkOpSegment::findNextOp chase.append segment=2 span=15 windSum=1
|
| -SkOpSegment::activeOp id=6 t=0 tEnd=0.959100004 op=sect miFrom=1 miTo=1 suFrom=1 suTo=1 result=0
|
| -SkOpSegment::markDone id=6 (0,6 1,2) t=0 [11] (0,6) tEnd=0.959100004 newWindSum=2 newOppSum=1 oppSum=1 windSum=2 windValue=1 oppValue=0
|
| -SkOpSegment::findNextOp chase.append segment=6 span=18 windSum=1
|
| -SkOpSegment::activeOp id=5 t=1 tEnd=0.293280033 op=sect miFrom=1 miTo=1 suFrom=1 suTo=1 result=0
|
| -SkOpSegment::markDone id=5 (2.61714315,1.90242553 2.61827874,1.91464937 -6.11562443,2.7383337 0,6) t=0.293280033 [17] (0.959100008,2.16359997) tEnd=1 newWindSum=2 newOppSum=1 oppSum=1 windSum=2 windValue=1 oppValue=0
|
| -SkOpSegment::findNextOp chase.append segment=5 span=17 windSum=2
|
| -SkOpSegment::markDone id=3 (-7.5,2 0,6) t=0 [5] (-7.5,2) tEnd=1 newWindSum=1 newOppSum=1 oppSum=1 windSum=1 windValue=1 oppValue=0
|
| -SkOpSegment::findNextOp from:[3] to:[1] start=43971536 end=43971632
|
| -bridgeOp current id=3 from=(-7.5,2) to=(0,6)
|
| -SkOpSegment::findNextOp simple
|
| -SkOpSegment::markDone id=1 (0,6 0.293506175,4.82597542 1.04645705,3.96781874 1.58881736,3.34967732) t=0 [1] (0,6) tEnd=1 newWindSum=1 newOppSum=1 oppSum=1 windSum=1 windValue=1 oppValue=0
|
| -bridgeOp current id=1 from=(0,6) to=(1.58881736,3.34967732)
|
| -path.lineTo(0,6);
|
| -path.cubicTo(0.293506175,4.82597542, 1.04645705,3.96781874, 1.58881736,3.34967732);
|
| -SkOpSegment::markWinding id=5 (2.61714315,1.90242553 2.61827874,1.91464937 -6.11562443,2.7383337 0,6) t=0.222514468 [16] (1.58025348,2.04903817) tEnd=0.293280033 newWindSum=1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
|
| -SkOpSegment::markAngle last segment=5 span=17 windSum=2
|
| -SkOpSegment::findNextOp
|
| -SkOpAngle::dumpOne [2/2] next=5/9 sect=29/25 s=0.481912781 [15] e=0 [3] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=1
|
| -SkOpAngle::dumpOne [5/9] next=2/3 sect=1/1 s=0.222514468 [16] e=0 [9] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0 operand
|
| -SkOpAngle::dumpOne [2/3] next=5/10 sect=13/13 s=0.481912781 [15] e=0.538493706 [13] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
|
| -SkOpAngle::dumpOne [5/10] next=2/2 sect=17/17 s=0.222514468 [16] e=0.293280033 [17] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=1 operand
|
| -SkOpSegment::activeOp id=5 t=0.222514468 tEnd=0 op=sect miFrom=0 miTo=0 suFrom=1 suTo=0 result=0
|
| -SkOpSegment::markDone id=5 (2.61714315,1.90242553 2.61827874,1.91464937 -6.11562443,2.7383337 0,6) t=0 [9] (2.61714315,1.90242553) tEnd=0.222514468 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
|
| -SkOpSegment::activeOp id=2 t=0.481912781 tEnd=0.538493706 op=sect miFrom=0 miTo=1 suFrom=0 suTo=0 result=0
|
| -SkOpSegment::markDone id=2 (1.58881736,3.34967732 2.89432383,1.86175978 2.97965813,1.76450205 -7.5,2) t=0.481912781 [15] (1.58025348,2.04903817) tEnd=0.538493706 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
|
| -SkOpSegment::activeOp id=5 t=0.222514468 tEnd=0.293280033 op=sect miFrom=1 miTo=1 suFrom=0 suTo=1 result=1
|
| -SkOpSegment::markDone id=2 (1.58881736,3.34967732 2.89432383,1.86175978 2.97965813,1.76450205 -7.5,2) t=0 [3] (1.58881736,3.34967732) tEnd=0.481912781 newWindSum=1 newOppSum=1 oppSum=1 windSum=1 windValue=1 oppValue=0
|
| -SkOpSegment::findNextOp from:[2] to:[5] start=2579180 end=2579276
|
| -bridgeOp current id=2 from=(1.58881736,3.34967732) to=(1.58025348,2.04903817)
|
| -path.cubicTo(2.2179575,2.63263083, 2.56372523,2.23855114, 1.58025348,2.04903817);
|
| -SkOpSegment::findNextOp
|
| -SkOpAngle::dumpOne [5/11] next=6/16 sect=1/1 s=0.293280033 [17] e=0.222514468 [16] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=1 operand
|
| -SkOpAngle::dumpOne [6/16] next=5/12 sect=5/5 s=0.959100004 [18] e=1 [12] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=1 operand
|
| -SkOpAngle::dumpOne [5/12] next=6/15 sect=17/21 s=0.293280033 [17] e=1 [10] sgn=-1 windVal=1 windSum=2 oppVal=0 oppSum=1 done operand
|
| -SkOpAngle::dumpOne [6/15] next=5/11 sect=21/21 s=0.959100004 [18] e=0 [11] sgn=1 windVal=1 windSum=2 oppVal=0 oppSum=1 done operand
|
| -SkOpSegment::activeOp id=6 t=0.959100004 tEnd=1 op=sect miFrom=1 miTo=1 suFrom=0 suTo=1 result=1
|
| -SkOpSegment::activeOp id=5 t=0.293280033 tEnd=1 op=sect miFrom=1 miTo=1 suFrom=1 suTo=1 result=0
|
| -SkOpSegment::activeOp id=6 t=0.959100004 tEnd=0 op=sect miFrom=1 miTo=1 suFrom=1 suTo=1 result=0
|
| -SkOpSegment::markDone id=5 (2.61714315,1.90242553 2.61827874,1.91464937 -6.11562443,2.7383337 0,6) t=0.222514468 [16] (1.58025348,2.04903817) tEnd=0.293280033 newWindSum=1 newOppSum=1 oppSum=1 windSum=1 windValue=1 oppValue=0
|
| -SkOpSegment::findNextOp from:[5] to:[6] start=2579372 end=2578764
|
| -bridgeOp current id=5 from=(1.58025348,2.04903817) to=(0.959100008,2.16359997)
|
| -path.cubicTo(1.38787913,2.08115721, 1.17804205,2.11915231, 0.959100008,2.16359997);
|
| -SkOpSegment::findNextOp simple
|
| -SkOpSegment::markDone id=6 (0,6 1,2) t=0.959100004 [18] (0.959100008,2.16359997) tEnd=1 newWindSum=1 newOppSum=1 oppSum=1 windSum=1 windValue=1 oppValue=0
|
| -bridgeOp current id=6 from=(0.959100008,2.16359997) to=(1,2)
|
| -SkOpSegment::findNextOp
|
| -SkOpAngle::dumpOne [4/7] next=2/4 sect=17/17 s=0.0521913275 [14] e=0 [7] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=1 operand
|
| -SkOpAngle::dumpOne [2/4] next=4/8 sect=29/29 s=0.538493706 [13] e=0.481912781 [15] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0 done stop
|
| -SkOpAngle::dumpOne [4/8] next=2/5 sect=1/1 s=0.0521913275 [14] e=1 [8] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0 done operand
|
| -SkOpAngle::dumpOne [2/5] next=4/7 sect=13/17 s=0.538493706 [13] e=1 [4] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=1 done stop
|
| -SkOpSegment::activeOp id=2 t=0.538493706 tEnd=0.481912781 op=sect miFrom=1 miTo=0 suFrom=0 suTo=0 result=0
|
| -SkOpSegment::activeOp id=4 t=0.0521913275 tEnd=1 op=sect miFrom=0 miTo=0 suFrom=0 suTo=1 result=0
|
| -SkOpSegment::activeOp id=2 t=0.538493706 tEnd=1 op=sect miFrom=0 miTo=1 suFrom=1 suTo=1 result=1
|
| -SkOpSegment::markDone id=4 (1,2 2.16902828,1.93847215 2.61688614,1.89965844 2.61714315,1.90242553) t=0 [7] (1,2) tEnd=0.0521913275 newWindSum=1 newOppSum=1 oppSum=1 windSum=1 windValue=1 oppValue=0
|
| -SkOpSegment::findNextOp from:[4] to:[2] start=2578892 end=2577740
|
| -bridgeOp current id=4 from=(1,2) to=(1.17718506,1.99055469)
|
| -path.lineTo(1,2);
|
| -path.cubicTo(1.0610131,1.99678874, 1.12006187,1.99363947, 1.17718506,1.99055469);
|
| -path.close();
|
| -</div>
|
| -
|
| -</div>
|
| -
|
| -<script type="text/javascript">
|
| -
|
| -var testDivs = [
|
| - loops59i,
|
| +<div id="cubics45u_release">
|
| +seg=-1 {{{1, 3}, {1.84861219f, 5.54583645f}, {3.41736698f, 3.77081728f}, {4.48402119f, 2.56391668f}}}
|
| +seg=-1 {{{4.48402119f, 2.56391668f}, {4.67430639f, 2.34861207f}, {4.84861231f, 2.15138769f}, {5, 2}}}
|
| +seg=-1 {{{5, 2}, {1, 3}}}
|
| +op union
|
| +seg=-1 {{{3, 4}, {2.61882615f, 4.38117361f}, {2.52823925f, 4.03588009f}, {2.7282393f, 3.51794004f}}}
|
| +seg=-1 {{{2.7282393f, 3.51794004f}, {3.05293441f, 2.67707705f}, {4.14352131f, 1.38117373f}, {6, 2}}}
|
| +seg=-1 {{{6, 2}, {3, 4}}}
|
| +debugShowCubicIntersection wtTs[0]=1 {{{3,4}, {2.61882615,4.38117361}, {2.52823925,4.03588009}, {2.7282393,3.51794004}}} {{2.7282393,3.51794004}} wnTs[0]=0 {{{2.7282393,3.51794004}, {3.05293441,2.67707705}, {4.14352131,1.38117373}, {6,2}}}
|
| +debugShowCubicLineIntersection wtTs[0]=0 {{{3,4}, {2.61882615,4.38117361}, {2.52823925,4.03588009}, {2.7282393,3.51794004}}} {{3,4}} wnTs[0]=1 {{{6,2}, {3,4}}}
|
| +debugShowCubicLineIntersection wtTs[0]=1 {{{2.7282393,3.51794004}, {3.05293441,2.67707705}, {4.14352131,1.38117373}, {6,2}}} {{6,2}} wnTs[0]=0 {{{6,2}, {3,4}}}
|
| +debugShowCubicIntersection wtTs[0]=0 {{{3,4}, {2.61882615,4.38117361}, {2.52823925,4.03588009}, {2.7282393,3.51794004}}} {{3,4}} wtTs[1]=0.322114632 {{2.72210693,4.16072464}} wnTs[0]=0.589197 {{{1,3}, {1.84861219,5.54583645}, {3.41736698,3.77081728}, {4.48402119,2.56391668}}} wnTs[1]=0.516302729
|
| +SkOpSegment::addT insert t=0.589197265 segID=-1 spanID=-1
|
| +SkOpSegment::addT insert t=0.322114632 segID=-1 spanID=-1
|
| +SkOpSegment::addT insert t=0.516302729 segID=-1 spanID=-1
|
| +debugShowCubicIntersection no intersect {{{2.7282393,3.51794004}, {3.05293441,2.67707705}, {4.14352131,1.38117373}, {6,2}}} {{{1,3}, {1.84861219,5.54583645}, {3.41736698,3.77081728}, {4.48402119,2.56391668}}}
|
| +debugShowCubicIntersection no intersect {{{2.7282393,3.51794004}, {3.05293441,2.67707705}, {4.14352131,1.38117373}, {6,2}}} {{{4.48402119,2.56391668}, {4.67430639,2.34861207}, {4.84861231,2.15138769}, {5,2}}}
|
| +debugShowCubicLineIntersection wtTs[0]=0.437504678 {{{2.7282393,3.51794004}, {3.05293441,2.67707705}, {4.14352131,1.38117373}, {6,2}}} {{3.5942049,2.35144877}} wnTs[0]=0.351449 {{{5,2}, {1,3}}}
|
| +SkOpSegment::addT insert t=0.437504678 segID=-1 spanID=-1
|
| +SkOpSegment::addT insert t=0.351448746 segID=-1 spanID=-1
|
| +debugShowCubicLineIntersection wtTs[0]=0.589250227 {{{1,3}, {1.84861219,5.54583645}, {3.41736698,3.77081728}, {4.48402119,2.56391668}}} {{3.00020218,3.99986529}} wnTs[0]=0.999933 {{{6,2}, {3,4}}}
|
| +SkOpSegment::addT insert t=0.999932596 segID=-1 spanID=-1
|
| +SkOpSegment::addT insert t=0.589250227 segID=-1 spanID=-1
|
| +debugShowCubicLineIntersection no intersect {{{4.48402119,2.56391668}, {4.67430639,2.34861207}, {4.84861231,2.15138769}, {5,2}}} {{{6,2}, {3,4}}}
|
| +debugShowLineIntersection no intersect {{{6,2}, {3,4}}} {{{5,2}, {1,3}}}
|
| +debugShowCubicIntersection wtTs[0]=1 {{{1,3}, {1.84861219,5.54583645}, {3.41736698,3.77081728}, {4.48402119,2.56391668}}} {{4.48402119,2.56391668}} wnTs[0]=0 {{{4.48402119,2.56391668}, {4.67430639,2.34861207}, {4.84861231,2.15138769}, {5,2}}}
|
| +debugShowCubicLineIntersection wtTs[0]=0 {{{1,3}, {1.84861219,5.54583645}, {3.41736698,3.77081728}, {4.48402119,2.56391668}}} {{1,3}} wnTs[0]=1 {{{5,2}, {1,3}}}
|
| +debugShowCubicLineIntersection wtTs[0]=1 {{{4.48402119,2.56391668}, {4.67430639,2.34861207}, {4.84861231,2.15138769}, {5,2}}} {{5,2}} wnTs[0]=0 {{{5,2}, {1,3}}}
|
| +SkOpSegment::sortAngles [-1] tStart=0 [-1]
|
| +SkOpAngle::after [-1/-1] 18/17 tStart=0 tEnd=0.322114632 < [-1/-1] 1/1 tStart=0.589197265 tEnd=0.589250227 < [-1/-1] 17/17 tStart=0.589197265 tEnd=0.516302729 T 5
|
| +SkOpAngle::afterPart {{{3,4}, {2.87721833,4.1227816}, {2.78458726,4.17018661}, {2.72210693,4.16072464}}} id=-1
|
| +SkOpAngle::afterPart {{{3,4}, {3.00006742,3.99995506}, {3.00013476,3.99991025}, {3.00020218,3.99986529}}} id=-1
|
| +SkOpAngle::afterPart {{{3,4}, {2.9072112,4.06185918}, {2.81442231,4.11606536}, {2.72210693,4.16072464}}} id=-1
|
| +SkOpAngle::after [-1/-1] 18/17 tStart=0 tEnd=0.322114632 < [-1/-1] 1/1 tStart=1 tEnd=0.999932596 < [-1/-1] 1/1 tStart=0.589197265 tEnd=0.589250227 F 11
|
| +SkOpAngle::afterPart {{{3,4}, {2.87721833,4.1227816}, {2.78458726,4.17018661}, {2.72210693,4.16072464}}} id=-1
|
| +SkOpAngle::afterPart {{{3,4}, {3.00020218,3.99986529}}} id=-1
|
| +SkOpAngle::afterPart {{{3,4}, {3.00006742,3.99995506}, {3.00013476,3.99991025}, {3.00020218,3.99986529}}} id=-1
|
| +SkOpAngle::after [-1/-1] 1/1 tStart=0.589197265 tEnd=0.589250227 < [-1/-1] 1/1 tStart=1 tEnd=0.999932596 < [-1/-1] 17/17 tStart=0.589197265 tEnd=0.516302729 T 12
|
| +SkOpAngle::afterPart {{{3,4}, {3.00006742,3.99995506}, {3.00013476,3.99991025}, {3.00020218,3.99986529}}} id=-1
|
| +SkOpAngle::afterPart {{{3,4}, {3.00020218,3.99986529}}} id=-1
|
| +SkOpAngle::afterPart {{{3,4}, {2.9072112,4.06185918}, {2.81442231,4.11606536}, {2.72210693,4.16072464}}} id=-1
|
| +SkOpSegment::sortAngles [-1] tStart=0.322114632 [-1]
|
| +SkOpAngle::after [-1/-1] 29/1 tStart=0.322114632 tEnd=0 < [-1/-1] 17/13 tStart=0.516302729 tEnd=0 < [-1/-1] 13/5 tStart=0.322114632 tEnd=1 F 11
|
| +SkOpAngle::afterPart {{{2.72210693,4.16072464}, {2.78458726,4.17018661}, {2.87721833,4.1227816}, {3,4}}} id=-1
|
| +SkOpAngle::afterPart {{{2.72210693,4.16072464}, {2.06824885,4.47704065}, {1.43814079,4.31442231}, {1,3}}} id=-1
|
| +SkOpAngle::afterPart {{{2.72210693,4.16072464}, {2.59061803,4.14081206}, {2.59266219,3.86904402}, {2.7282393,3.51794004}}} id=-1
|
| +SkOpAngle::after [-1/-1] 29/1 tStart=0.322114632 tEnd=0 < [-1/-1] 1/1 tStart=0.516302729 tEnd=0.589197265 < [-1/-1] 13/5 tStart=0.322114632 tEnd=1 T 12
|
| +SkOpAngle::afterPart {{{2.72210693,4.16072464}, {2.78458726,4.17018661}, {2.87721833,4.1227816}, {3,4}}} id=-1
|
| +SkOpAngle::afterPart {{{2.72210693,4.16072464}, {2.81442231,4.11606536}, {2.9072112,4.06185918}, {3,4}}} id=-1
|
| +SkOpAngle::afterPart {{{2.72210693,4.16072464}, {2.59061803,4.14081206}, {2.59266219,3.86904402}, {2.7282393,3.51794004}}} id=-1
|
| +SkOpSegment::sortAngles [-1] tStart=0.437504678 [-1]
|
| +SkOpAngle::after [-1/-1] 17/21 tStart=0.437504678 tEnd=0 < [-1/-1] 1/1 tStart=0.351448746 tEnd=0 < [-1/-1] 1/1 tStart=0.437504678 tEnd=1 T 11
|
| +SkOpAngle::afterPart {{{3.5942049,2.35144877}, {3.15895005,2.69507766}, {2.87029493,3.15005855}, {2.7282393,3.51794004}}} id=-1
|
| +SkOpAngle::afterPart {{{3.5942049,2.35144877}, {5,2}}} id=-1
|
| +SkOpAngle::afterPart {{{3.5942049,2.35144877}, {4.15380764,1.9096486}, {4.95573942,1.65191312}, {6,2}}} id=-1
|
| +SkOpAngle::after [-1/-1] 17/21 tStart=0.437504678 tEnd=0 < [-1/-1] 17/17 tStart=0.351448746 tEnd=1 < [-1/-1] 1/1 tStart=0.351448746 tEnd=0 F 12
|
| +SkOpAngle::afterPart {{{3.5942049,2.35144877}, {3.15895005,2.69507766}, {2.87029493,3.15005855}, {2.7282393,3.51794004}}} id=-1
|
| +SkOpAngle::afterPart {{{3.5942049,2.35144877}, {1,3}}} id=-1
|
| +SkOpAngle::afterPart {{{3.5942049,2.35144877}, {5,2}}} id=-1
|
| +SkOpAngle::after [-1/-1] 1/1 tStart=0.351448746 tEnd=0 < [-1/-1] 17/17 tStart=0.351448746 tEnd=1 < [-1/-1] 1/1 tStart=0.437504678 tEnd=1 F 5
|
| +SkOpAngle::afterPart {{{3.5942049,2.35144877}, {5,2}}} id=-1
|
| +SkOpAngle::afterPart {{{3.5942049,2.35144877}, {1,3}}} id=-1
|
| +SkOpAngle::afterPart {{{3.5942049,2.35144877}, {4.15380764,1.9096486}, {4.95573942,1.65191312}, {6,2}}} id=-1
|
| +SkOpAngle::after [-1/-1] 1/1 tStart=0.437504678 tEnd=1 < [-1/-1] 17/17 tStart=0.351448746 tEnd=1 < [-1/-1] 17/21 tStart=0.437504678 tEnd=0 T 11
|
| +SkOpAngle::afterPart {{{3.5942049,2.35144877}, {4.15380764,1.9096486}, {4.95573942,1.65191312}, {6,2}}} id=-1
|
| +SkOpAngle::afterPart {{{3.5942049,2.35144877}, {1,3}}} id=-1
|
| +SkOpAngle::afterPart {{{3.5942049,2.35144877}, {3.15895005,2.69507766}, {2.87029493,3.15005855}, {2.7282393,3.51794004}}} id=-1
|
| +SkOpSegment::sortAngles [-1] tStart=0.999932596 [-1]
|
| +SkOpAngle::after [-1/-1] 1/1 tStart=0.999932596 tEnd=0 < [-1/-1] 17/17 tStart=0.589250227 tEnd=0.589197265 < [-1/-1] 17/17 tStart=0.999932596 tEnd=1 T 11
|
| +SkOpAngle::afterPart {{{3.00020218,3.99986529}, {6,2}}} id=-1
|
| +SkOpAngle::afterPart {{{3.00020218,3.99986529}, {3.00013476,3.99991025}, {3.00006742,3.99995506}, {3,4}}} id=-1
|
| +SkOpAngle::afterPart {{{3.00020218,3.99986529}, {3,4}}} id=-1
|
| +SkOpAngle::after [-1/-1] 1/1 tStart=0.999932596 tEnd=0 < [-1/-1] 1/1 tStart=0.589250227 tEnd=1 < [-1/-1] 17/17 tStart=0.589250227 tEnd=0.589197265 T 12
|
| +SkOpAngle::afterPart {{{3.00020218,3.99986529}, {6,2}}} id=-1
|
| +SkOpAngle::afterPart {{{3.00020218,3.99986529}, {3.52305312,3.65123542}, {4.04589321,3.05965083}, {4.48402119,2.56391668}}} id=-1
|
| +SkOpAngle::afterPart {{{3.00020218,3.99986529}, {3.00013476,3.99991025}, {3.00006742,3.99995506}, {3,4}}} id=-1
|
| +SkOpSegment::sortAngles [-1] tStart=1 [-1]
|
| +SkOpSegment::sortAngles [-1] tStart=0.516302729 [-1]
|
| +SkOpSegment::sortAngles [-1] tStart=0.589197265 [-1]
|
| +SkOpSegment::sortAngles [-1] tStart=0.589250227 [-1]
|
| +SkOpSegment::sortAngles [-1] tStart=0.351448746 [-1]
|
| +SkOpSegment::debugShowActiveSpans id=-1 (3,4 2.61882615,4.38117361 2.52823925,4.03588009 2.7282393,3.51794004) t=0 (3,4) tEnd=0.322114632 windSum=? windValue=1
|
| +SkOpSegment::debugShowActiveSpans id=-1 (3,4 2.61882615,4.38117361 2.52823925,4.03588009 2.7282393,3.51794004) t=0.322114632 (2.72210693,4.16072464) tEnd=1 windSum=? windValue=1
|
| +SkOpSegment::debugShowActiveSpans id=-1 (2.7282393,3.51794004 3.05293441,2.67707705 4.14352131,1.38117373 6,2) t=0 (2.7282393,3.51794004) tEnd=0.437504678 windSum=? windValue=1
|
| +SkOpSegment::debugShowActiveSpans id=-1 (2.7282393,3.51794004 3.05293441,2.67707705 4.14352131,1.38117373 6,2) t=0.437504678 (3.5942049,2.35144877) tEnd=1 windSum=? windValue=1
|
| +SkOpSegment::debugShowActiveSpans id=-1 (6,2 3,4) t=0 (6,2) tEnd=0.999932596 windSum=? windValue=1
|
| +SkOpSegment::debugShowActiveSpans id=-1 (6,2 3,4) t=0.999932596 (3.00020218,3.99986529) tEnd=1 windSum=? windValue=1
|
| +SkOpSegment::debugShowActiveSpans id=-1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0 (1,3) tEnd=0.516302729 windSum=? windValue=1
|
| +SkOpSegment::debugShowActiveSpans id=-1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0.516302729 (2.72210693,4.16072464) tEnd=0.589197265 windSum=? windValue=1
|
| +SkOpSegment::debugShowActiveSpans id=-1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0.589197265 (3,4) tEnd=0.589250227 windSum=? windValue=1
|
| +SkOpSegment::debugShowActiveSpans id=-1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0.589250227 (3.00020218,3.99986529) tEnd=1 windSum=? windValue=1
|
| +SkOpSegment::debugShowActiveSpans id=-1 (4.48402119,2.56391668 4.67430639,2.34861207 4.84861231,2.15138769 5,2) t=0 (4.48402119,2.56391668) tEnd=1 windSum=? windValue=1
|
| +SkOpSegment::debugShowActiveSpans id=-1 (5,2 1,3) t=0 (5,2) tEnd=0.351448746 windSum=? windValue=1
|
| +SkOpSegment::debugShowActiveSpans id=-1 (5,2 1,3) t=0.351448746 (3.5942049,2.35144877) tEnd=1 windSum=? windValue=1
|
| +SkOpSpan::sortableTop dir=kTop seg=-1 t=0.161057316 pt=(2.83844042,4.12995338)
|
| +SkOpSpan::sortableTop [0] valid=1 operand=0 span=-1 ccw=0 seg=-1 {{{5, 2}, {1, 3}}} t=0.540389895 pt=(2.83844042,2.54039001) slope=(-4,1)
|
| +SkOpSpan::sortableTop [1] valid=1 operand=1 span=-1 ccw=1 seg=-1 {{{2.7282393f, 3.51794004f}, {3.05293441f, 2.67707705f}, {4.14352131f, 1.38117373f}, {6, 2}}} t=0.0928134153 pt=(2.83844042,3.27394509) slope=(1.40059553,-2.71475011)
|
| +SkOpSpan::sortableTop [2] valid=1 operand=0 span=-1 ccw=1 seg=-1 {{{1, 3}, {1.84861219f, 5.54583645f}, {3.41736698f, 3.77081728f}, {4.48402119f, 2.56391668f}}} t=0.546866125 pt=(2.83844042,4.09965467) slope=(3.81218461,-2.15374068)
|
| +SkOpSpan::sortableTop [3] valid=1 operand=1 span=-1 ccw=0 seg=-1 {{{3, 4}, {2.61882615f, 4.38117361f}, {2.52823925f, 4.03588009f}, {2.7282393f, 3.51794004f}}} t=0.161057316 pt=(2.83844042,4.12995338) slope=(-0.862714624,0.484601174)
|
| +SkOpSegment::markWinding id=-1 (5,2 1,3) t=0.351448746 [-1] (3.5942049,2.35144877) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=-1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0 [-1] (1,3) tEnd=0.516302729 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=-1 (5,2 1,3) t=0.351448746 [-1] (3.5942049,2.35144877) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=-1 (2.7282393,3.51794004 3.05293441,2.67707705 4.14352131,1.38117373 6,2) t=0 [-1] (2.7282393,3.51794004) tEnd=0.437504678 newWindSum=-1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=-1 (2.7282393,3.51794004 3.05293441,2.67707705 4.14352131,1.38117373 6,2) t=0 [-1] (2.7282393,3.51794004) tEnd=0.437504678 newWindSum=-1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=-1 (3,4 2.61882615,4.38117361 2.52823925,4.03588009 2.7282393,3.51794004) t=0.322114632 [-1] (2.72210693,4.16072464) tEnd=1 newWindSum=-1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=-1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0.516302729 [-1] (2.72210693,4.16072464) tEnd=0.589197265 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=-1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0.516302729 [-1] (2.72210693,4.16072464) tEnd=0.589197265 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=-1 (3,4 2.61882615,4.38117361 2.52823925,4.03588009 2.7282393,3.51794004) t=0 [-1] (3,4) tEnd=0.322114632 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=-1 (3,4 2.61882615,4.38117361 2.52823925,4.03588009 2.7282393,3.51794004) t=0 [-1] (3,4) tEnd=0.322114632 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
|
| +SkOpSegment::activeOp id=-1 t=0.322114632 tEnd=0 op=union miFrom=0 miTo=0 suFrom=0 suTo=1 result=1
|
| +SkOpSegment::markWinding id=-1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0.589197265 [-1] (3,4) tEnd=0.589250227 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
|
| +SkOpSegment::markAngle last segment=-1 span=-1 windSum=?
|
| +SkOpSegment::markWinding id=-1 (6,2 3,4) t=0.999932596 [-1] (3.00020218,3.99986529) tEnd=1 newWindSum=-1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
|
| +SkOpSegment::markAngle last segment=-1 span=-1 windSum=-1
|
| +SkOpSegment::findNextOp
|
| +SkOpAngle::dumpOne [-1/-1] next=-1/-1 sect=18/17 s=0 [-1] e=0.322114632 [-1] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand
|
| +SkOpAngle::dumpOne [-1/-1] next=-1/-1 sect=1/1 s=0.589197265 [-1] e=0.589250227 [-1] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
|
| +SkOpAngle::dumpOne [-1/-1] next=-1/-1 sect=1/1 s=1 [-1] e=0.999932596 [-1] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
|
| +SkOpAngle::dumpOne [-1/-1] next=-1/-1 sect=17/17 s=0.589197265 [-1] e=0.516302729 [-1] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=-1
|
| +SkOpSegment::activeOp id=-1 t=0.589197265 tEnd=0.589250227 op=union miFrom=0 miTo=1 suFrom=0 suTo=0 result=1
|
| +SkOpSegment::findNextOp chase.append segment=-1 span=-1 windSum=-2147483647
|
| +SkOpSegment::activeOp id=-1 t=1 tEnd=0.999932596 op=union miFrom=1 miTo=1 suFrom=0 suTo=1 result=0
|
| +SkOpSegment::markDone id=-1 (6,2 3,4) t=0.999932596 [-1] (3.00020218,3.99986529) tEnd=1 newWindSum=-1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
|
| +SkOpSegment::findNextOp chase.append segment=-1 span=-1 windSum=-1
|
| +SkOpSegment::activeOp id=-1 t=0.589197265 tEnd=0.516302729 op=union miFrom=1 miTo=0 suFrom=1 suTo=1 result=0
|
| +SkOpSegment::markDone id=-1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0.516302729 [-1] (2.72210693,4.16072464) tEnd=0.589197265 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
|
| +SkOpSegment::markDone id=-1 (3,4 2.61882615,4.38117361 2.52823925,4.03588009 2.7282393,3.51794004) t=0 [-1] (3,4) tEnd=0.322114632 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
|
| +SkOpSegment::findNextOp from:[-1] to:[-1] start=7083452 end=7084028
|
| +bridgeOp current id=-1 from=(2.72210693,4.16072464) to=(3,4)
|
| +path.moveTo(2.72210693,4.16072464);
|
| +path.cubicTo(2.78458714,4.17018652, 2.87721825,4.12278175, 3,4);
|
| +SkOpSegment::markDone id=-1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0.589197265 [-1] (3,4) tEnd=0.589250227 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=-1 (6,2 3,4) t=0 [-1] (6,2) tEnd=0.999932596 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=-1 (2.7282393,3.51794004 3.05293441,2.67707705 4.14352131,1.38117373 6,2) t=0.437504678 [-1] (3.5942049,2.35144877) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
|
| +SkOpSegment::markAngle last segment=-1 span=-1 windSum=1
|
| +SkOpSegment::markWinding id=-1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0.589250227 [-1] (3.00020218,3.99986529) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=-1 (4.48402119,2.56391668 4.67430639,2.34861207 4.84861231,2.15138769 5,2) t=0 [-1] (4.48402119,2.56391668) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=-1 (5,2 1,3) t=0 [-1] (5,2) tEnd=0.351448746 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
|
| +SkOpSegment::markAngle last segment=-1 span=-1 windSum=1
|
| +SkOpSegment::debugShowActiveSpans id=-1 (3,4 2.61882615,4.38117361 2.52823925,4.03588009 2.7282393,3.51794004) t=0.322114632 (2.72210693,4.16072464) tEnd=1 windSum=-1 oppSum=1 windValue=1 oppValue=0
|
| +SkOpSegment::debugShowActiveSpans id=-1 (2.7282393,3.51794004 3.05293441,2.67707705 4.14352131,1.38117373 6,2) t=0 (2.7282393,3.51794004) tEnd=0.437504678 windSum=-1 oppSum=1 windValue=1 oppValue=0
|
| +SkOpSegment::debugShowActiveSpans id=-1 (2.7282393,3.51794004 3.05293441,2.67707705 4.14352131,1.38117373 6,2) t=0.437504678 (3.5942049,2.35144877) tEnd=1 windSum=1 oppSum=0 windValue=1 oppValue=0
|
| +SkOpSegment::debugShowActiveSpans id=-1 (6,2 3,4) t=0 (6,2) tEnd=0.999932596 windSum=1 oppSum=0 windValue=1 oppValue=0
|
| +SkOpSegment::debugShowActiveSpans id=-1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0 (1,3) tEnd=0.516302729 windSum=1 oppSum=0 windValue=1 oppValue=0
|
| +SkOpSegment::debugShowActiveSpans id=-1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0.589250227 (3.00020218,3.99986529) tEnd=1 windSum=1 oppSum=0 windValue=1 oppValue=0
|
| +SkOpSegment::debugShowActiveSpans id=-1 (4.48402119,2.56391668 4.67430639,2.34861207 4.84861231,2.15138769 5,2) t=0 (4.48402119,2.56391668) tEnd=1 windSum=1 oppSum=0 windValue=1 oppValue=0
|
| +SkOpSegment::debugShowActiveSpans id=-1 (5,2 1,3) t=0 (5,2) tEnd=0.351448746 windSum=1 oppSum=0 windValue=1 oppValue=0
|
| +SkOpSegment::debugShowActiveSpans id=-1 (5,2 1,3) t=0.351448746 (3.5942049,2.35144877) tEnd=1 windSum=1 oppSum=0 windValue=1 oppValue=0
|
| +SkOpSegment::activeOp id=-1 t=0.999932596 tEnd=0 op=union miFrom=0 miTo=0 suFrom=1 suTo=0 result=1
|
| +SkOpSegment::findNextOp simple
|
| +SkOpSegment::markDone id=-1 (6,2 3,4) t=0 [-1] (6,2) tEnd=0.999932596 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
|
| +bridgeOp current id=-1 from=(3.00020218,3.99986529) to=(6,2)
|
| +SkOpSegment::findNextOp
|
| +SkOpAngle::dumpOne [-1/-1] next=-1/-1 sect=1/1 s=0.437504678 [-1] e=1 [-1] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0 operand
|
| +SkOpAngle::dumpOne [-1/-1] next=-1/-1 sect=17/17 s=0.351448746 [-1] e=1 [-1] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
|
| +SkOpAngle::dumpOne [-1/-1] next=-1/-1 sect=17/21 s=0.437504678 [-1] e=0 [-1] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
|
| +SkOpAngle::dumpOne [-1/-1] next=-1/-1 sect=1/1 s=0.351448746 [-1] e=0 [-1] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0
|
| +SkOpSegment::activeOp id=-1 t=0.351448746 tEnd=1 op=union miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
|
| +SkOpSegment::markDone id=-1 (5,2 1,3) t=0.351448746 [-1] (3.5942049,2.35144877) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
|
| +SkOpSegment::markDone id=-1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0 [-1] (1,3) tEnd=0.516302729 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
|
| +SkOpSegment::activeOp id=-1 t=0.437504678 tEnd=0 op=union miFrom=1 miTo=1 suFrom=1 suTo=0 result=0
|
| +SkOpSegment::markDone id=-1 (2.7282393,3.51794004 3.05293441,2.67707705 4.14352131,1.38117373 6,2) t=0 [-1] (2.7282393,3.51794004) tEnd=0.437504678 newWindSum=-1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
|
| +SkOpSegment::markDone id=-1 (3,4 2.61882615,4.38117361 2.52823925,4.03588009 2.7282393,3.51794004) t=0.322114632 [-1] (2.72210693,4.16072464) tEnd=1 newWindSum=-1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
|
| +SkOpSegment::activeOp id=-1 t=0.351448746 tEnd=0 op=union miFrom=1 miTo=0 suFrom=0 suTo=0 result=1
|
| +SkOpSegment::markDone id=-1 (2.7282393,3.51794004 3.05293441,2.67707705 4.14352131,1.38117373 6,2) t=0.437504678 [-1] (3.5942049,2.35144877) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
|
| +SkOpSegment::findNextOp from:[-1] to:[-1] start=7083836 end=7082508
|
| +bridgeOp current id=-1 from=(6,2) to=(3.5942049,2.35144877)
|
| +path.moveTo(3.00020218,3.99986529);
|
| +path.lineTo(6,2);
|
| +path.cubicTo(4.9557395,1.65191317, 4.15380764,1.90964866, 3.5942049,2.35144877);
|
| +SkOpSegment::findNextOp simple
|
| +SkOpSegment::markDone id=-1 (5,2 1,3) t=0 [-1] (5,2) tEnd=0.351448746 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
|
| +bridgeOp current id=-1 from=(3.5942049,2.35144877) to=(5,2)
|
| +SkOpSegment::findNextOp simple
|
| +SkOpSegment::markDone id=-1 (4.48402119,2.56391668 4.67430639,2.34861207 4.84861231,2.15138769 5,2) t=0 [-1] (4.48402119,2.56391668) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
|
| +bridgeOp current id=-1 from=(5,2) to=(4.48402119,2.56391668)
|
| +path.lineTo(5,2);
|
| +path.cubicTo(4.84861231,2.15138769, 4.67430639,2.34861207, 4.48402119,2.56391668);
|
| +SkOpSegment::findNextOp
|
| +SkOpAngle::dumpOne [-1/-1] next=-1/-1 sect=1/1 s=0.589250227 [-1] e=1 [-1] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
|
| +SkOpAngle::dumpOne [-1/-1] next=-1/-1 sect=17/17 s=0.589250227 [-1] e=0.589197265 [-1] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0 done unorderable
|
| +SkOpAngle::dumpOne [-1/-1] next=-1/-1 sect=17/17 s=0.999932596 [-1] e=1 [-1] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=1 done unorderable operand
|
| +SkOpAngle::dumpOne [-1/-1] next=-1/-1 sect=1/1 s=0.999932596 [-1] e=0 [-1] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0 done operand
|
| +SkOpSegment::activeOp id=-1 t=0.589250227 tEnd=0.589197265 op=union miFrom=1 miTo=0 suFrom=0 suTo=0 result=1
|
| +SkOpSegment::activeOp id=-1 t=0.999932596 tEnd=1 op=union miFrom=0 miTo=0 suFrom=0 suTo=1 result=1
|
| +SkOpSegment::activeOp id=-1 t=0.999932596 tEnd=0 op=union miFrom=0 miTo=0 suFrom=1 suTo=0 result=1
|
| +SkOpSegment::markDone id=-1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0.589250227 [-1] (3.00020218,3.99986529) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
|
| +SkOpSegment::findNextOp from:[-1] to:[-1] start=7083932 end=7083244
|
| +bridgeOp current id=-1 from=(4.48402119,2.56391668) to=(3.00020218,3.99986529)
|
| +path.cubicTo(4.04589319,3.0596509, 3.52305317,3.65123534, 3.00020218,3.99986529);
|
| +path.close();
|
| +</div>
|
| +
|
| +<div id="cubics45u_debug">
|
| +seg=1 {{{1, 3}, {1.84861219f, 5.54583645f}, {3.41736698f, 3.77081728f}, {4.48402119f, 2.56391668f}}}
|
| +seg=2 {{{4.48402119f, 2.56391668f}, {4.67430639f, 2.34861207f}, {4.84861231f, 2.15138769f}, {5, 2}}}
|
| +seg=3 {{{5, 2}, {1, 3}}}
|
| +op union
|
| +seg=4 {{{3, 4}, {2.61882615f, 4.38117361f}, {2.52823925f, 4.03588009f}, {2.7282393f, 3.51794004f}}}
|
| +seg=5 {{{2.7282393f, 3.51794004f}, {3.05293441f, 2.67707705f}, {4.14352131f, 1.38117373f}, {6, 2}}}
|
| +seg=6 {{{6, 2}, {3, 4}}}
|
| +debugShowCubicIntersection wtTs[0]=1 {{{3,4}, {2.61882615,4.38117361}, {2.52823925,4.03588009}, {2.7282393,3.51794004}}} {{2.7282393,3.51794004}} wnTs[0]=0 {{{2.7282393,3.51794004}, {3.05293441,2.67707705}, {4.14352131,1.38117373}, {6,2}}}
|
| +debugShowCubicLineIntersection wtTs[0]=0 {{{3,4}, {2.61882615,4.38117361}, {2.52823925,4.03588009}, {2.7282393,3.51794004}}} {{3,4}} wnTs[0]=1 {{{6,2}, {3,4}}}
|
| +debugShowCubicLineIntersection wtTs[0]=1 {{{2.7282393,3.51794004}, {3.05293441,2.67707705}, {4.14352131,1.38117373}, {6,2}}} {{6,2}} wnTs[0]=0 {{{6,2}, {3,4}}}
|
| +debugShowCubicIntersection wtTs[0]=0 {{{3,4}, {2.61882615,4.38117361}, {2.52823925,4.03588009}, {2.7282393,3.51794004}}} {{3,4}} wtTs[1]=0.322114632 {{2.72210693,4.16072464}} wnTs[0]=0.589197 {{{1,3}, {1.84861219,5.54583645}, {3.41736698,3.77081728}, {4.48402119,2.56391668}}} wnTs[1]=0.516302729
|
| +SkOpSegment::addT insert t=0.589197265 segID=1 spanID=13
|
| +SkOpSegment::addT insert t=0.322114632 segID=4 spanID=14
|
| +SkOpSegment::addT insert t=0.516302729 segID=1 spanID=15
|
| +debugShowCubicIntersection no intersect {{{2.7282393,3.51794004}, {3.05293441,2.67707705}, {4.14352131,1.38117373}, {6,2}}} {{{1,3}, {1.84861219,5.54583645}, {3.41736698,3.77081728}, {4.48402119,2.56391668}}}
|
| +debugShowCubicIntersection no intersect {{{2.7282393,3.51794004}, {3.05293441,2.67707705}, {4.14352131,1.38117373}, {6,2}}} {{{4.48402119,2.56391668}, {4.67430639,2.34861207}, {4.84861231,2.15138769}, {5,2}}}
|
| +debugShowCubicLineIntersection wtTs[0]=0.437504678 {{{2.7282393,3.51794004}, {3.05293441,2.67707705}, {4.14352131,1.38117373}, {6,2}}} {{3.5942049,2.35144877}} wnTs[0]=0.351449 {{{5,2}, {1,3}}}
|
| +SkOpSegment::addT insert t=0.437504678 segID=5 spanID=16
|
| +SkOpSegment::addT insert t=0.351448746 segID=3 spanID=17
|
| +debugShowCubicLineIntersection wtTs[0]=0.589250227 {{{1,3}, {1.84861219,5.54583645}, {3.41736698,3.77081728}, {4.48402119,2.56391668}}} {{3.00020218,3.99986529}} wnTs[0]=0.999933 {{{6,2}, {3,4}}}
|
| +SkOpSegment::addT insert t=0.999932596 segID=6 spanID=18
|
| +SkOpSegment::addT insert t=0.589250227 segID=1 spanID=19
|
| +debugShowCubicLineIntersection no intersect {{{4.48402119,2.56391668}, {4.67430639,2.34861207}, {4.84861231,2.15138769}, {5,2}}} {{{6,2}, {3,4}}}
|
| +debugShowLineIntersection no intersect {{{6,2}, {3,4}}} {{{5,2}, {1,3}}}
|
| +debugShowCubicIntersection wtTs[0]=1 {{{1,3}, {1.84861219,5.54583645}, {3.41736698,3.77081728}, {4.48402119,2.56391668}}} {{4.48402119,2.56391668}} wnTs[0]=0 {{{4.48402119,2.56391668}, {4.67430639,2.34861207}, {4.84861231,2.15138769}, {5,2}}}
|
| +debugShowCubicLineIntersection wtTs[0]=0 {{{1,3}, {1.84861219,5.54583645}, {3.41736698,3.77081728}, {4.48402119,2.56391668}}} {{1,3}} wnTs[0]=1 {{{5,2}, {1,3}}}
|
| +debugShowCubicLineIntersection wtTs[0]=1 {{{4.48402119,2.56391668}, {4.67430639,2.34861207}, {4.84861231,2.15138769}, {5,2}}} {{5,2}} wnTs[0]=0 {{{5,2}, {1,3}}}
|
| +SkOpSegment::sortAngles [4] tStart=0 [7]
|
| +SkOpAngle::after [4/1] 18/17 tStart=0 tEnd=0.322114632 < [1/12] 1/1 tStart=0.589197265 tEnd=0.589250227 < [1/11] 17/17 tStart=0.589197265 tEnd=0.516302729 T 5
|
| +SkOpAngle::afterPart {{{3,4}, {2.87721833,4.1227816}, {2.78458726,4.17018661}, {2.72210693,4.16072464}}} id=4
|
| +SkOpAngle::afterPart {{{3,4}, {3.00006742,3.99995506}, {3.00013476,3.99991025}, {3.00020218,3.99986529}}} id=1
|
| +SkOpAngle::afterPart {{{3,4}, {2.9072112,4.06185918}, {2.81442231,4.11606536}, {2.72210693,4.16072464}}} id=1
|
| +SkOpAngle::after [4/1] 18/17 tStart=0 tEnd=0.322114632 < [6/8] 1/1 tStart=1 tEnd=0.999932596 < [1/12] 1/1 tStart=0.589197265 tEnd=0.589250227 F 11
|
| +SkOpAngle::afterPart {{{3,4}, {2.87721833,4.1227816}, {2.78458726,4.17018661}, {2.72210693,4.16072464}}} id=4
|
| +SkOpAngle::afterPart {{{3,4}, {3.00020218,3.99986529}}} id=6
|
| +SkOpAngle::afterPart {{{3,4}, {3.00006742,3.99995506}, {3.00013476,3.99991025}, {3.00020218,3.99986529}}} id=1
|
| +SkOpAngle::after [1/12] 1/1 tStart=0.589197265 tEnd=0.589250227 < [6/8] 1/1 tStart=1 tEnd=0.999932596 < [1/11] 17/17 tStart=0.589197265 tEnd=0.516302729 T 12
|
| +SkOpAngle::afterPart {{{3,4}, {3.00006742,3.99995506}, {3.00013476,3.99991025}, {3.00020218,3.99986529}}} id=1
|
| +SkOpAngle::afterPart {{{3,4}, {3.00020218,3.99986529}}} id=6
|
| +SkOpAngle::afterPart {{{3,4}, {2.9072112,4.06185918}, {2.81442231,4.11606536}, {2.72210693,4.16072464}}} id=1
|
| +SkOpSegment::sortAngles [4] tStart=0.322114632 [14]
|
| +SkOpAngle::after [4/2] 29/1 tStart=0.322114632 tEnd=0 < [1/9] 17/13 tStart=0.516302729 tEnd=0 < [4/3] 13/5 tStart=0.322114632 tEnd=1 F 11
|
| +SkOpAngle::afterPart {{{2.72210693,4.16072464}, {2.78458726,4.17018661}, {2.87721833,4.1227816}, {3,4}}} id=4
|
| +SkOpAngle::afterPart {{{2.72210693,4.16072464}, {2.06824885,4.47704065}, {1.43814079,4.31442231}, {1,3}}} id=1
|
| +SkOpAngle::afterPart {{{2.72210693,4.16072464}, {2.59061803,4.14081206}, {2.59266219,3.86904402}, {2.7282393,3.51794004}}} id=4
|
| +SkOpAngle::after [4/2] 29/1 tStart=0.322114632 tEnd=0 < [1/10] 1/1 tStart=0.516302729 tEnd=0.589197265 < [4/3] 13/5 tStart=0.322114632 tEnd=1 T 12
|
| +SkOpAngle::afterPart {{{2.72210693,4.16072464}, {2.78458726,4.17018661}, {2.87721833,4.1227816}, {3,4}}} id=4
|
| +SkOpAngle::afterPart {{{2.72210693,4.16072464}, {2.81442231,4.11606536}, {2.9072112,4.06185918}, {3,4}}} id=1
|
| +SkOpAngle::afterPart {{{2.72210693,4.16072464}, {2.59061803,4.14081206}, {2.59266219,3.86904402}, {2.7282393,3.51794004}}} id=4
|
| +SkOpSegment::sortAngles [5] tStart=0.437504678 [16]
|
| +SkOpAngle::after [5/4] 17/21 tStart=0.437504678 tEnd=0 < [3/15] 1/1 tStart=0.351448746 tEnd=0 < [5/5] 1/1 tStart=0.437504678 tEnd=1 T 11
|
| +SkOpAngle::afterPart {{{3.5942049,2.35144877}, {3.15895005,2.69507766}, {2.87029493,3.15005855}, {2.7282393,3.51794004}}} id=5
|
| +SkOpAngle::afterPart {{{3.5942049,2.35144877}, {5,2}}} id=3
|
| +SkOpAngle::afterPart {{{3.5942049,2.35144877}, {4.15380764,1.9096486}, {4.95573942,1.65191312}, {6,2}}} id=5
|
| +SkOpAngle::after [5/4] 17/21 tStart=0.437504678 tEnd=0 < [3/16] 17/17 tStart=0.351448746 tEnd=1 < [3/15] 1/1 tStart=0.351448746 tEnd=0 F 12
|
| +SkOpAngle::afterPart {{{3.5942049,2.35144877}, {3.15895005,2.69507766}, {2.87029493,3.15005855}, {2.7282393,3.51794004}}} id=5
|
| +SkOpAngle::afterPart {{{3.5942049,2.35144877}, {1,3}}} id=3
|
| +SkOpAngle::afterPart {{{3.5942049,2.35144877}, {5,2}}} id=3
|
| +SkOpAngle::after [3/15] 1/1 tStart=0.351448746 tEnd=0 < [3/16] 17/17 tStart=0.351448746 tEnd=1 < [5/5] 1/1 tStart=0.437504678 tEnd=1 F 5
|
| +SkOpAngle::afterPart {{{3.5942049,2.35144877}, {5,2}}} id=3
|
| +SkOpAngle::afterPart {{{3.5942049,2.35144877}, {1,3}}} id=3
|
| +SkOpAngle::afterPart {{{3.5942049,2.35144877}, {4.15380764,1.9096486}, {4.95573942,1.65191312}, {6,2}}} id=5
|
| +SkOpAngle::after [5/5] 1/1 tStart=0.437504678 tEnd=1 < [3/16] 17/17 tStart=0.351448746 tEnd=1 < [5/4] 17/21 tStart=0.437504678 tEnd=0 T 11
|
| +SkOpAngle::afterPart {{{3.5942049,2.35144877}, {4.15380764,1.9096486}, {4.95573942,1.65191312}, {6,2}}} id=5
|
| +SkOpAngle::afterPart {{{3.5942049,2.35144877}, {1,3}}} id=3
|
| +SkOpAngle::afterPart {{{3.5942049,2.35144877}, {3.15895005,2.69507766}, {2.87029493,3.15005855}, {2.7282393,3.51794004}}} id=5
|
| +SkOpSegment::sortAngles [6] tStart=0.999932596 [18]
|
| +SkOpAngle::after [6/6] 1/1 tStart=0.999932596 tEnd=0 < [1/13] 17/17 tStart=0.589250227 tEnd=0.589197265 < [6/7] 17/17 tStart=0.999932596 tEnd=1 T 11
|
| +SkOpAngle::afterPart {{{3.00020218,3.99986529}, {6,2}}} id=6
|
| +SkOpAngle::afterPart {{{3.00020218,3.99986529}, {3.00013476,3.99991025}, {3.00006742,3.99995506}, {3,4}}} id=1
|
| +SkOpAngle::afterPart {{{3.00020218,3.99986529}, {3,4}}} id=6
|
| +SkOpAngle::after [6/6] 1/1 tStart=0.999932596 tEnd=0 < [1/14] 1/1 tStart=0.589250227 tEnd=1 < [1/13] 17/17 tStart=0.589250227 tEnd=0.589197265 T 12
|
| +SkOpAngle::afterPart {{{3.00020218,3.99986529}, {6,2}}} id=6
|
| +SkOpAngle::afterPart {{{3.00020218,3.99986529}, {3.52305312,3.65123542}, {4.04589321,3.05965083}, {4.48402119,2.56391668}}} id=1
|
| +SkOpAngle::afterPart {{{3.00020218,3.99986529}, {3.00013476,3.99991025}, {3.00006742,3.99995506}, {3,4}}} id=1
|
| +SkOpSegment::sortAngles [6] tStart=1 [12]
|
| +SkOpSegment::sortAngles [1] tStart=0.516302729 [15]
|
| +SkOpSegment::sortAngles [1] tStart=0.589197265 [13]
|
| +SkOpSegment::sortAngles [1] tStart=0.589250227 [19]
|
| +SkOpSegment::sortAngles [3] tStart=0.351448746 [17]
|
| +SkOpSegment::debugShowActiveSpans id=4 (3,4 2.61882615,4.38117361 2.52823925,4.03588009 2.7282393,3.51794004) t=0 (3,4) tEnd=0.322114632 windSum=? windValue=1
|
| +SkOpSegment::debugShowActiveSpans id=4 (3,4 2.61882615,4.38117361 2.52823925,4.03588009 2.7282393,3.51794004) t=0.322114632 (2.72210693,4.16072464) tEnd=1 windSum=? windValue=1
|
| +SkOpSegment::debugShowActiveSpans id=5 (2.7282393,3.51794004 3.05293441,2.67707705 4.14352131,1.38117373 6,2) t=0 (2.7282393,3.51794004) tEnd=0.437504678 windSum=? windValue=1
|
| +SkOpSegment::debugShowActiveSpans id=5 (2.7282393,3.51794004 3.05293441,2.67707705 4.14352131,1.38117373 6,2) t=0.437504678 (3.5942049,2.35144877) tEnd=1 windSum=? windValue=1
|
| +SkOpSegment::debugShowActiveSpans id=6 (6,2 3,4) t=0 (6,2) tEnd=0.999932596 windSum=? windValue=1
|
| +SkOpSegment::debugShowActiveSpans id=6 (6,2 3,4) t=0.999932596 (3.00020218,3.99986529) tEnd=1 windSum=? windValue=1
|
| +SkOpSegment::debugShowActiveSpans id=1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0 (1,3) tEnd=0.516302729 windSum=? windValue=1
|
| +SkOpSegment::debugShowActiveSpans id=1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0.516302729 (2.72210693,4.16072464) tEnd=0.589197265 windSum=? windValue=1
|
| +SkOpSegment::debugShowActiveSpans id=1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0.589197265 (3,4) tEnd=0.589250227 windSum=? windValue=1
|
| +SkOpSegment::debugShowActiveSpans id=1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0.589250227 (3.00020218,3.99986529) tEnd=1 windSum=? windValue=1
|
| +SkOpSegment::debugShowActiveSpans id=2 (4.48402119,2.56391668 4.67430639,2.34861207 4.84861231,2.15138769 5,2) t=0 (4.48402119,2.56391668) tEnd=1 windSum=? windValue=1
|
| +SkOpSegment::debugShowActiveSpans id=3 (5,2 1,3) t=0 (5,2) tEnd=0.351448746 windSum=? windValue=1
|
| +SkOpSegment::debugShowActiveSpans id=3 (5,2 1,3) t=0.351448746 (3.5942049,2.35144877) tEnd=1 windSum=? windValue=1
|
| +SkOpSpan::sortableTop dir=kTop seg=4 t=0.161057316 pt=(2.83844042,4.12995338)
|
| +SkOpSpan::sortableTop [0] valid=1 operand=0 span=17 ccw=0 seg=3 {{{5, 2}, {1, 3}}} t=0.540389895 pt=(2.83844042,2.54039001) slope=(-4,1)
|
| +SkOpSpan::sortableTop [1] valid=1 operand=1 span=9 ccw=1 seg=5 {{{2.7282393f, 3.51794004f}, {3.05293441f, 2.67707705f}, {4.14352131f, 1.38117373f}, {6, 2}}} t=0.0928134153 pt=(2.83844042,3.27394509) slope=(1.40059553,-2.71475011)
|
| +SkOpSpan::sortableTop [2] valid=1 operand=0 span=15 ccw=1 seg=1 {{{1, 3}, {1.84861219f, 5.54583645f}, {3.41736698f, 3.77081728f}, {4.48402119f, 2.56391668f}}} t=0.546866125 pt=(2.83844042,4.09965467) slope=(3.81218461,-2.15374068)
|
| +SkOpSpan::sortableTop [3] valid=1 operand=1 span=7 ccw=0 seg=4 {{{3, 4}, {2.61882615f, 4.38117361f}, {2.52823925f, 4.03588009f}, {2.7282393f, 3.51794004f}}} t=0.161057316 pt=(2.83844042,4.12995338) slope=(-0.862714624,0.484601174)
|
| +SkOpSegment::markWinding id=3 (5,2 1,3) t=0.351448746 [17] (3.5942049,2.35144877) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0 [1] (1,3) tEnd=0.516302729 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=3 (5,2 1,3) t=0.351448746 [17] (3.5942049,2.35144877) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=5 (2.7282393,3.51794004 3.05293441,2.67707705 4.14352131,1.38117373 6,2) t=0 [9] (2.7282393,3.51794004) tEnd=0.437504678 newWindSum=-1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=5 (2.7282393,3.51794004 3.05293441,2.67707705 4.14352131,1.38117373 6,2) t=0 [9] (2.7282393,3.51794004) tEnd=0.437504678 newWindSum=-1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=4 (3,4 2.61882615,4.38117361 2.52823925,4.03588009 2.7282393,3.51794004) t=0.322114632 [14] (2.72210693,4.16072464) tEnd=1 newWindSum=-1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0.516302729 [15] (2.72210693,4.16072464) tEnd=0.589197265 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0.516302729 [15] (2.72210693,4.16072464) tEnd=0.589197265 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=4 (3,4 2.61882615,4.38117361 2.52823925,4.03588009 2.7282393,3.51794004) t=0 [7] (3,4) tEnd=0.322114632 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=4 (3,4 2.61882615,4.38117361 2.52823925,4.03588009 2.7282393,3.51794004) t=0 [7] (3,4) tEnd=0.322114632 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
|
| +SkOpSegment::activeOp id=4 t=0.322114632 tEnd=0 op=union miFrom=0 miTo=0 suFrom=0 suTo=1 result=1
|
| +SkOpSegment::markWinding id=1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0.589197265 [13] (3,4) tEnd=0.589250227 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
|
| +SkOpSegment::markAngle last segment=1 span=19 windSum=?
|
| +SkOpSegment::markWinding id=6 (6,2 3,4) t=0.999932596 [18] (3.00020218,3.99986529) tEnd=1 newWindSum=-1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
|
| +SkOpSegment::markAngle last segment=6 span=18 windSum=-1
|
| +SkOpSegment::findNextOp
|
| +SkOpAngle::dumpOne [4/1] next=1/12 sect=18/17 s=0 [7] e=0.322114632 [14] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand
|
| +SkOpAngle::dumpOne [1/12] next=6/8 sect=1/1 s=0.589197265 [13] e=0.589250227 [19] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
|
| +SkOpAngle::dumpOne [6/8] next=1/11 sect=1/1 s=1 [12] e=0.999932596 [18] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
|
| +SkOpAngle::dumpOne [1/11] next=4/1 sect=17/17 s=0.589197265 [13] e=0.516302729 [15] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=-1
|
| +SkOpSegment::activeOp id=1 t=0.589197265 tEnd=0.589250227 op=union miFrom=0 miTo=1 suFrom=0 suTo=0 result=1
|
| +SkOpSegment::findNextOp chase.append segment=1 span=19 windSum=-2147483647
|
| +SkOpSegment::activeOp id=6 t=1 tEnd=0.999932596 op=union miFrom=1 miTo=1 suFrom=0 suTo=1 result=0
|
| +SkOpSegment::markDone id=6 (6,2 3,4) t=0.999932596 [18] (3.00020218,3.99986529) tEnd=1 newWindSum=-1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
|
| +SkOpSegment::findNextOp chase.append segment=6 span=18 windSum=-1
|
| +SkOpSegment::activeOp id=1 t=0.589197265 tEnd=0.516302729 op=union miFrom=1 miTo=0 suFrom=1 suTo=1 result=0
|
| +SkOpSegment::markDone id=1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0.516302729 [15] (2.72210693,4.16072464) tEnd=0.589197265 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
|
| +SkOpSegment::markDone id=4 (3,4 2.61882615,4.38117361 2.52823925,4.03588009 2.7282393,3.51794004) t=0 [7] (3,4) tEnd=0.322114632 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
|
| +SkOpSegment::findNextOp from:[4] to:[1] start=11952148 end=11952772
|
| +bridgeOp current id=4 from=(2.72210693,4.16072464) to=(3,4)
|
| +path.moveTo(2.72210693,4.16072464);
|
| +path.cubicTo(2.78458714,4.17018652, 2.87721825,4.12278175, 3,4);
|
| +SkOpSegment::markDone id=1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0.589197265 [13] (3,4) tEnd=0.589250227 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=6 (6,2 3,4) t=0 [11] (6,2) tEnd=0.999932596 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=5 (2.7282393,3.51794004 3.05293441,2.67707705 4.14352131,1.38117373 6,2) t=0.437504678 [16] (3.5942049,2.35144877) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
|
| +SkOpSegment::markAngle last segment=5 span=16 windSum=1
|
| +SkOpSegment::markWinding id=1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0.589250227 [19] (3.00020218,3.99986529) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=2 (4.48402119,2.56391668 4.67430639,2.34861207 4.84861231,2.15138769 5,2) t=0 [3] (4.48402119,2.56391668) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
|
| +SkOpSegment::markWinding id=3 (5,2 1,3) t=0 [5] (5,2) tEnd=0.351448746 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
|
| +SkOpSegment::markAngle last segment=3 span=17 windSum=1
|
| +SkOpSegment::debugShowActiveSpans id=4 (3,4 2.61882615,4.38117361 2.52823925,4.03588009 2.7282393,3.51794004) t=0.322114632 (2.72210693,4.16072464) tEnd=1 windSum=-1 oppSum=1 windValue=1 oppValue=0
|
| +SkOpSegment::debugShowActiveSpans id=5 (2.7282393,3.51794004 3.05293441,2.67707705 4.14352131,1.38117373 6,2) t=0 (2.7282393,3.51794004) tEnd=0.437504678 windSum=-1 oppSum=1 windValue=1 oppValue=0
|
| +SkOpSegment::debugShowActiveSpans id=5 (2.7282393,3.51794004 3.05293441,2.67707705 4.14352131,1.38117373 6,2) t=0.437504678 (3.5942049,2.35144877) tEnd=1 windSum=1 oppSum=0 windValue=1 oppValue=0
|
| +SkOpSegment::debugShowActiveSpans id=6 (6,2 3,4) t=0 (6,2) tEnd=0.999932596 windSum=1 oppSum=0 windValue=1 oppValue=0
|
| +SkOpSegment::debugShowActiveSpans id=1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0 (1,3) tEnd=0.516302729 windSum=1 oppSum=0 windValue=1 oppValue=0
|
| +SkOpSegment::debugShowActiveSpans id=1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0.589250227 (3.00020218,3.99986529) tEnd=1 windSum=1 oppSum=0 windValue=1 oppValue=0
|
| +SkOpSegment::debugShowActiveSpans id=2 (4.48402119,2.56391668 4.67430639,2.34861207 4.84861231,2.15138769 5,2) t=0 (4.48402119,2.56391668) tEnd=1 windSum=1 oppSum=0 windValue=1 oppValue=0
|
| +SkOpSegment::debugShowActiveSpans id=3 (5,2 1,3) t=0 (5,2) tEnd=0.351448746 windSum=1 oppSum=0 windValue=1 oppValue=0
|
| +SkOpSegment::debugShowActiveSpans id=3 (5,2 1,3) t=0.351448746 (3.5942049,2.35144877) tEnd=1 windSum=1 oppSum=0 windValue=1 oppValue=0
|
| +SkOpSegment::activeOp id=6 t=0.999932596 tEnd=0 op=union miFrom=0 miTo=0 suFrom=1 suTo=0 result=1
|
| +SkOpSegment::findNextOp simple
|
| +SkOpSegment::markDone id=6 (6,2 3,4) t=0 [11] (6,2) tEnd=0.999932596 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
|
| +bridgeOp current id=6 from=(3.00020218,3.99986529) to=(6,2)
|
| +SkOpSegment::findNextOp
|
| +SkOpAngle::dumpOne [5/5] next=3/16 sect=1/1 s=0.437504678 [16] e=1 [10] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0 operand
|
| +SkOpAngle::dumpOne [3/16] next=5/4 sect=17/17 s=0.351448746 [17] e=1 [6] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
|
| +SkOpAngle::dumpOne [5/4] next=3/15 sect=17/21 s=0.437504678 [16] e=0 [9] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
|
| +SkOpAngle::dumpOne [3/15] next=5/5 sect=1/1 s=0.351448746 [17] e=0 [5] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0
|
| +SkOpSegment::activeOp id=3 t=0.351448746 tEnd=1 op=union miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
|
| +SkOpSegment::markDone id=3 (5,2 1,3) t=0.351448746 [17] (3.5942049,2.35144877) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
|
| +SkOpSegment::markDone id=1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0 [1] (1,3) tEnd=0.516302729 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
|
| +SkOpSegment::activeOp id=5 t=0.437504678 tEnd=0 op=union miFrom=1 miTo=1 suFrom=1 suTo=0 result=0
|
| +SkOpSegment::markDone id=5 (2.7282393,3.51794004 3.05293441,2.67707705 4.14352131,1.38117373 6,2) t=0 [9] (2.7282393,3.51794004) tEnd=0.437504678 newWindSum=-1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
|
| +SkOpSegment::markDone id=4 (3,4 2.61882615,4.38117361 2.52823925,4.03588009 2.7282393,3.51794004) t=0.322114632 [14] (2.72210693,4.16072464) tEnd=1 newWindSum=-1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
|
| +SkOpSegment::activeOp id=3 t=0.351448746 tEnd=0 op=union miFrom=1 miTo=0 suFrom=0 suTo=0 result=1
|
| +SkOpSegment::markDone id=5 (2.7282393,3.51794004 3.05293441,2.67707705 4.14352131,1.38117373 6,2) t=0.437504678 [16] (3.5942049,2.35144877) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
|
| +SkOpSegment::findNextOp from:[5] to:[3] start=11952564 end=11951100
|
| +bridgeOp current id=5 from=(6,2) to=(3.5942049,2.35144877)
|
| +path.moveTo(3.00020218,3.99986529);
|
| +path.lineTo(6,2);
|
| +path.cubicTo(4.9557395,1.65191317, 4.15380764,1.90964866, 3.5942049,2.35144877);
|
| +SkOpSegment::findNextOp simple
|
| +SkOpSegment::markDone id=3 (5,2 1,3) t=0 [5] (5,2) tEnd=0.351448746 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
|
| +bridgeOp current id=3 from=(3.5942049,2.35144877) to=(5,2)
|
| +SkOpSegment::findNextOp simple
|
| +SkOpSegment::markDone id=2 (4.48402119,2.56391668 4.67430639,2.34861207 4.84861231,2.15138769 5,2) t=0 [3] (4.48402119,2.56391668) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
|
| +bridgeOp current id=2 from=(5,2) to=(4.48402119,2.56391668)
|
| +path.lineTo(5,2);
|
| +path.cubicTo(4.84861231,2.15138769, 4.67430639,2.34861207, 4.48402119,2.56391668);
|
| +SkOpSegment::findNextOp
|
| +SkOpAngle::dumpOne [1/14] next=1/13 sect=1/1 s=0.589250227 [19] e=1 [2] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
|
| +SkOpAngle::dumpOne [1/13] next=6/7 sect=17/17 s=0.589250227 [19] e=0.589197265 [13] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0 done unorderable
|
| +SkOpAngle::dumpOne [6/7] next=6/6 sect=17/17 s=0.999932596 [18] e=1 [12] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=1 done unorderable operand
|
| +SkOpAngle::dumpOne [6/6] next=1/14 sect=1/1 s=0.999932596 [18] e=0 [11] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0 done operand
|
| +SkOpSegment::activeOp id=1 t=0.589250227 tEnd=0.589197265 op=union miFrom=1 miTo=0 suFrom=0 suTo=0 result=1
|
| +SkOpSegment::activeOp id=6 t=0.999932596 tEnd=1 op=union miFrom=0 miTo=0 suFrom=0 suTo=1 result=1
|
| +SkOpSegment::activeOp id=6 t=0.999932596 tEnd=0 op=union miFrom=0 miTo=0 suFrom=1 suTo=0 result=1
|
| +SkOpSegment::markDone id=1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48402119,2.56391668) t=0.589250227 [19] (3.00020218,3.99986529) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
|
| +SkOpSegment::findNextOp from:[1] to:[6] start=11952668 end=11951916
|
| +bridgeOp current id=1 from=(4.48402119,2.56391668) to=(3.00020218,3.99986529)
|
| +path.cubicTo(4.04589319,3.0596509, 3.52305317,3.65123534, 3.00020218,3.99986529);
|
| +path.close();
|
| +</div>
|
| +
|
| +</div>
|
| +
|
| +<script type="text/javascript">
|
| +
|
| +var testDivs = [
|
| + cubics45u_release,
|
| + cubics45u_debug,
|
| ];
|
|
|
| var decimal_places = 3; // make this 3 to show more precision
|
| @@ -260,6 +425,7 @@ var step_limit = 0;
|
| var draw_active = false;
|
| var draw_add = false;
|
| var draw_angle = 0;
|
| +var draw_coincidence = false;
|
| var draw_deriviatives = 0;
|
| var draw_hints = false;
|
| var draw_id = false;
|
| @@ -280,6 +446,7 @@ var retina_scale = !!window.devicePixelRatio;
|
| var activeCount = 0;
|
| var addCount = 0;
|
| var angleCount = 0;
|
| +var coinCount = 0;
|
| var opCount = 0;
|
| var sectCount = 0;
|
| var sortCount = 0;
|
| @@ -288,6 +455,7 @@ var markCount = 0;
|
| var activeMax = 0;
|
| var addMax = 0;
|
| var angleMax = 0;
|
| +var coinMax = 0;
|
| var sectMax = 0;
|
| var sectMax2 = 0;
|
| var sortMax = 0;
|
| @@ -450,12 +618,15 @@ var MARK_ANGLE_LAST = MARK_DONE_UNARY_CUBIC + 1;
|
| var COMPUTED_SET_1 = MARK_ANGLE_LAST + 1;
|
| var COMPUTED_SET_2 = COMPUTED_SET_1 + 1;
|
|
|
| -var ANGLE_AFTER = COMPUTED_SET_2;
|
| +var ANGLE_AFTER = COMPUTED_SET_2 + 1;
|
| var ANGLE_AFTERPART = ANGLE_AFTER + 1;
|
|
|
| var ACTIVE_OP = ANGLE_AFTERPART + 1;
|
|
|
| -var FRAG_TYPE_LAST = ACTIVE_OP;
|
| +var COIN_MAIN_SPAN = ACTIVE_OP + 1;
|
| +var COIN_OPP_SPAN = COIN_MAIN_SPAN + 1;
|
| +
|
| +var FRAG_TYPE_LAST = COIN_OPP_SPAN;
|
|
|
| var REC_TYPE_UNKNOWN = -1;
|
| var REC_TYPE_PATH = 0;
|
| @@ -472,7 +643,8 @@ var REC_TYPE_ANGLE = 10;
|
| var REC_TYPE_ACTIVE_OP = 11;
|
| var REC_TYPE_AFTERPART = 12;
|
| var REC_TYPE_TOP = 13;
|
| -var REC_TYPE_LAST = REC_TYPE_TOP;
|
| +var REC_TYPE_COINCIDENCE = 14;
|
| +var REC_TYPE_LAST = REC_TYPE_COINCIDENCE;
|
|
|
| function strs_to_nums(strs) {
|
| var result = [];
|
| @@ -574,7 +746,12 @@ function parse_all(test) {
|
| if (line.lastIndexOf(angleStart, 0) === 0) {
|
| line = line.substr(angleStart.length);
|
| }
|
| + var coinStart = "SkOpCoincidence::";
|
| + if (line.lastIndexOf(coinStart, 0) === 0) {
|
| + line = line.substr(coinStart.length);
|
| + }
|
| var type = line.lastIndexOf("debugShowActiveSpans", 0) === 0 ? REC_TYPE_ACTIVE
|
| + : line.lastIndexOf("debugShowCoincidence", 0) === 0 ? REC_TYPE_COINCIDENCE
|
| : line.lastIndexOf("((SkOpSegment*)", 0) === 0 ? REC_TYPE_PATH2
|
| : line.lastIndexOf("debugShowTs", 0) === 0 ? REC_TYPE_COIN
|
| : line.lastIndexOf("afterPart", 0) === 0 ? REC_TYPE_AFTERPART
|
| @@ -608,13 +785,21 @@ function parse_all(test) {
|
| switch (recType) {
|
| case REC_TYPE_ACTIVE:
|
| found = match_regexp(line, lineNo, record, ACTIVE_LINE_SPAN, "debugShowActiveSpans" +
|
| -" id=IDX LINE_VAL t=T_VAL PT_VAL tEnd=T_VAL windSum=OPT windValue=IDX oppValue=NUM"
|
| +" id=IDX LINE_VAL t=T_VAL PT_VAL tEnd=T_VAL windSum=OPT windValue=IDX"
|
| ) || match_regexp(line, lineNo, record, ACTIVE_QUAD_SPAN, "debugShowActiveSpans" +
|
| -" id=IDX QUAD_VAL t=T_VAL PT_VAL tEnd=T_VAL windSum=OPT windValue=IDX oppValue=NUM"
|
| +" id=IDX QUAD_VAL t=T_VAL PT_VAL tEnd=T_VAL windSum=OPT windValue=IDX"
|
| ) || match_regexp(line, lineNo, record, ACTIVE_CONIC_SPAN, "debugShowActiveSpans" +
|
| -" id=IDX CONIC_VAL t=T_VAL PT_VAL tEnd=T_VAL windSum=OPT windValue=IDX oppValue=NUM"
|
| +" id=IDX CONIC_VAL t=T_VAL PT_VAL tEnd=T_VAL windSum=OPT windValue=IDX"
|
| ) || match_regexp(line, lineNo, record, ACTIVE_CUBIC_SPAN, "debugShowActiveSpans" +
|
| -" id=IDX CUBIC_VAL t=T_VAL PT_VAL tEnd=T_VAL windSum=OPT windValue=IDX oppValue=NUM"
|
| +" id=IDX CUBIC_VAL t=T_VAL PT_VAL tEnd=T_VAL windSum=OPT windValue=IDX"
|
| + ) || match_regexp(line, lineNo, record, ACTIVE_LINE_SPAN, "debugShowActiveSpans" +
|
| +" id=IDX LINE_VAL t=T_VAL PT_VAL tEnd=T_VAL windSum=OPT oppSum=OPT windValue=IDX oppValue=NUM"
|
| + ) || match_regexp(line, lineNo, record, ACTIVE_QUAD_SPAN, "debugShowActiveSpans" +
|
| +" id=IDX QUAD_VAL t=T_VAL PT_VAL tEnd=T_VAL windSum=OPT oppSum=OPT windValue=IDX oppValue=NUM"
|
| + ) || match_regexp(line, lineNo, record, ACTIVE_CONIC_SPAN, "debugShowActiveSpans" +
|
| +" id=IDX CONIC_VAL t=T_VAL PT_VAL tEnd=T_VAL windSum=OPT oppSum=OPT windValue=IDX oppValue=NUM"
|
| + ) || match_regexp(line, lineNo, record, ACTIVE_CUBIC_SPAN, "debugShowActiveSpans" +
|
| +" id=IDX CUBIC_VAL t=T_VAL PT_VAL tEnd=T_VAL windSum=OPT oppSum=OPT windValue=IDX oppValue=NUM"
|
| );
|
| break;
|
| case REC_TYPE_ACTIVE_OP:
|
| @@ -670,6 +855,13 @@ function parse_all(test) {
|
| case REC_TYPE_COIN:
|
| found = true;
|
| break;
|
| + case REC_TYPE_COINCIDENCE:
|
| + found = match_regexp(line, lineNo, record, COIN_MAIN_SPAN, "debugShowCoincidence" +
|
| +" + id=IDX t=T_VAL tEnd=T_VAL"
|
| + ) || match_regexp(line, lineNo, record, COIN_OPP_SPAN, "debugShowCoincidence" +
|
| +" - id=IDX t=T_VAL tEnd=T_VAL"
|
| + );
|
| + break;
|
| case REC_TYPE_COMPUTED:
|
| found = line == "computed quadratics given"
|
| || match_regexp(line, lineNo, record, COMPUTED_SET_1, "computed quadratics set 1"
|
| @@ -1151,6 +1343,15 @@ function init(test) {
|
| curve = curvePartialByID(test, frags[12], frags[16], frags[17]);
|
| }
|
| break;
|
| + case REC_TYPE_COINCIDENCE:
|
| + if (!draw_coincidence) {
|
| + break;
|
| + }
|
| + {
|
| + var curve = curvePartialByID(test, frags[0], frags[1], frags[2]);
|
| + curve_extremes(curve, angleBounds);
|
| + }
|
| + break;
|
| case REC_TYPE_SORT:
|
| if (!draw_sort) {
|
| break;
|
| @@ -2417,6 +2618,7 @@ function draw(test, lines, title) {
|
| var hasOp = false;
|
| var lastActive = 0;
|
| var lastAdd = 0;
|
| + var lastCoin = 0;
|
| var lastSect = 0;
|
| var lastSort = 0;
|
| var lastMark = 0;
|
| @@ -2432,6 +2634,7 @@ function draw(test, lines, title) {
|
| activeMax = 0;
|
| addMax = 0;
|
| angleMax = 0;
|
| + coinMax = 0;
|
| opMax = 0;
|
| sectMax = 0;
|
| sectMax2 = 0;
|
| @@ -2518,6 +2721,15 @@ function draw(test, lines, title) {
|
| ++angleCount;
|
| bumpStep = true;
|
| }
|
| + if (recType == REC_TYPE_COINCIDENCE) {
|
| + ++coinMax;
|
| + if (!draw_coincidence || !inStepRange) {
|
| + continue;
|
| + }
|
| + lastCoin = tIndex;
|
| + ++coinCount;
|
| + bumpStep = true;
|
| + }
|
| if (recType == REC_TYPE_SECT) {
|
| if (records.length != 2) {
|
| console.log("expect only two elements: " + records.length);
|
| @@ -2616,13 +2828,14 @@ function draw(test, lines, title) {
|
| stepMax = (draw_add ? addMax : 0)
|
| + (draw_active ? activeMax : 0)
|
| + (draw_angle ? angleMax : 0)
|
| + + (draw_coincidence ? coinMax : 0)
|
| + (draw_op ? opMax : 0)
|
| + (draw_sort ? sortMax : 0)
|
| + (draw_top ? topMax : 0)
|
| + (draw_mark ? markMax : 0)
|
| + (draw_intersection == 2 ? sectMax : draw_intersection == 3 ? sectMax2 : 0);
|
| if (stepMax == 0) {
|
| - stepMax = addMax + activeMax + angleMax + opMax + sortMax + topMax + markMax;
|
| + stepMax = addMax + activeMax + angleMax + coinMax + opMax + sortMax + topMax + markMax;
|
| }
|
| drawnPts = [];
|
| drawnLines = [];
|
| @@ -2917,6 +3130,16 @@ function draw(test, lines, title) {
|
| }
|
| ++afterIndex;
|
| break;
|
| + case REC_TYPE_COINCIDENCE:
|
| + if (!draw_coincidence || (step_limit > 0 && tIndex < lastCoin)) {
|
| + continue;
|
| + }
|
| + focus_enabled = true;
|
| + ctx.lineWidth = 3;
|
| + ctx.strokeStyle = "rgba(127,45,63, 0.3)";
|
| + var curve = curvePartialByID(test, frags[0], frags[1], frags[2]);
|
| + drawCurve(curve);
|
| + break;
|
| case REC_TYPE_SECT:
|
| if (!draw_intersection) {
|
| continue;
|
| @@ -3371,12 +3594,13 @@ function draw(test, lines, title) {
|
| }
|
| if (draw_legend) {
|
| var pos = 0;
|
| - var drawSomething = draw_add | draw_active | draw_angle | draw_sort | draw_mark;
|
| + var drawSomething = draw_add | draw_active | draw_angle | draw_coincidence | draw_sort | draw_mark;
|
| // drawBox(pos++, "yellow", "black", opLetter, true, '');
|
| drawBox(pos++, "rgba(0,0,255, 0.3)", "black", draw_intersection > 1 ? sectCount : sectMax2, draw_intersection, intersectionKey);
|
| drawBox(pos++, "rgba(0,0,255, 0.3)", "black", draw_add ? addCount : addMax, draw_add, addKey);
|
| drawBox(pos++, "rgba(0,0,255, 0.3)", "black", draw_active ? activeCount : activeMax, draw_active, activeKey);
|
| drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_angle ? angleCount : angleMax, draw_angle, angleKey);
|
| + drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_coincidence ? coinCount : coinMax, draw_coincidence, coincidenceKey);
|
| drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_op ? opCount : opMax, draw_op, opKey);
|
| drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_sort ? sortCount : sortMax, draw_sort, sortKey);
|
| drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_top ? topCount : topMax, draw_top, topKey);
|
| @@ -3560,6 +3784,7 @@ var activeKey = 'a';
|
| var pathKey = 'b';
|
| var pathBackKey = 'B';
|
| var centerKey = 'c';
|
| +var coincidenceKey = 'C';
|
| var addKey = 'd';
|
| var deriviativesKey = 'f';
|
| var angleKey = 'g';
|
| @@ -3627,6 +3852,10 @@ function doKeyPress(evt) {
|
| setScale(xmin, xmax, ymin, ymax);
|
| redraw();
|
| break;
|
| + case coincidenceKey:
|
| + draw_coincidence ^= true;
|
| + redraw();
|
| + break;
|
| case controlLinesBackKey:
|
| control_lines = (control_lines + 3) % 4;
|
| redraw();
|
|
|