Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(351)

Side by Side Diff: tools/pathops_visualizer.htm

Issue 1111333002: compute initial winding from projected rays (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: add missing test reference Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tools/pathops_sorter.htm ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <html> 1 <html>
2 <head> 2 <head>
3 <div height="0" hidden="true"> 3 <div height="0" hidden="true">
4 4
5 <div id="loops59i"> 5 <div id="cubics45u_release">
6 SkDCubic::ComplexBreak 6 seg=-1 {{{1, 3}, {1.84861219f, 5.54583645f}, {3.41736698f, 3.77081728f}, {4.4840 2119f, 2.56391668f}}}
7 {{{1, 2}, {7.3333330154418945, 1.6666666269302368}, {-7.5, 2}, {0, 6}}}, 7 seg=-1 {{{4.48402119f, 2.56391668f}, {4.67430639f, 2.34861207f}, {4.84861231f, 2 .15138769f}, {5, 2}}}
8 inflectionsTs[0]=0.22755391 {{{5.6899562470344014, 1.5351137489099846}, {-0.5939 5324579271769, 2.2875990427916371}}}, 8 seg=-1 {{{5, 2}, {1, 3}}}
9 inflectionsTs[1]=0.134608255 {{{-1.7562572007939035, 2.2074401507711405}, {6.782 4037520473279, 1.6104549548102116}}}, 9 op union
10 maxCurvature[0]=0.184583395 {{{2.612965320628251, 1.8574526830515183}, {2.621321 0132912339, 1.9473982945574213}}}, 10 seg=-1 {{{3, 4}, {2.61882615f, 4.38117361f}, {2.52823925f, 4.03588009f}, {2.7282 393f, 3.51794004f}}}
11 maxCurvature[1]=0.764880287 {{{-0.3599143419711428, -3.5772335093952985}, {-3.94 35828934112642, 11.072562225478482}}}, 11 seg=-1 {{{2.7282393f, 3.51794004f}, {3.05293441f, 2.67707705f}, {4.14352131f, 1. 38117373f}, {6, 2}}}
12 maxCurvature[2]=0.500240448 {{{11.93379531543474, -0.87734455447864557}, {-11.81 4505983496176, 5.6289081865421942}}}, 12 seg=-1 {{{6, 2}, {3, 4}}}
13 seg=1 {{{0, 6}, {0.293506175f, 4.82597542f}, {1.04645705f, 3.96781874f}, {1.5888 1736f, 3.34967732f}}} 13 debugShowCubicIntersection wtTs[0]=1 {{{3,4}, {2.61882615,4.38117361}, {2.528239 25,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}}}
14 seg=2 {{{1.58881736f, 3.34967732f}, {2.89432383f, 1.86175978f}, {2.97965813f, 1. 76450205f}, {-7.5f, 2}}} 14 debugShowCubicLineIntersection wtTs[0]=0 {{{3,4}, {2.61882615,4.38117361}, {2.52 823925,4.03588009}, {2.7282393,3.51794004}}} {{3,4}} wnTs[0]=1 {{{6,2}, {3,4}}}
15 seg=3 {{{-7.5f, 2}, {0, 6}}} 15 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}}}
16 op sect 16 debugShowCubicIntersection wtTs[0]=0 {{{3,4}, {2.61882615,4.38117361}, {2.528239 25,4.03588009}, {2.7282393,3.51794004}}} {{3,4}} wtTs[1]=0.322114632 {{2.7221069 3,4.16072464}} wnTs[0]=0.589197 {{{1,3}, {1.84861219,5.54583645}, {3.41736698,3. 77081728}, {4.48402119,2.56391668}}} wnTs[1]=0.516302729
17 seg=4 {{{1, 2}, {2.16902828f, 1.93847215f}, {2.61688614f, 1.89965844f}, {2.61714 315f, 1.90242553f}}} 17 SkOpSegment::addT insert t=0.589197265 segID=-1 spanID=-1
18 seg=5 {{{2.61714315f, 1.90242553f}, {2.61827874f, 1.91464937f}, {-6.11562443f, 2 .7383337f}, {0, 6}}} 18 SkOpSegment::addT insert t=0.322114632 segID=-1 spanID=-1
19 seg=6 {{{0, 6}, {1, 2}}} 19 SkOpSegment::addT insert t=0.516302729 segID=-1 spanID=-1
20 debugShowCubicIntersection wtTs[0]=1 {{{0,6}, {0.293506175,4.82597542}, {1.04645 705,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}}} 20 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}}}
21 debugShowCubicLineIntersection wtTs[0]=0 {{{0,6}, {0.293506175,4.82597542}, {1.0 4645705,3.96781874}, {1.58881736,3.34967732}}} {{0,6}} wnTs[0]=1 {{{-7.5,2}, {0, 6}}} 21 debugShowCubicIntersection no intersect {{{2.7282393,3.51794004}, {3.05293441,2. 67707705}, {4.14352131,1.38117373}, {6,2}}} {{{4.48402119,2.56391668}, {4.674306 39,2.34861207}, {4.84861231,2.15138769}, {5,2}}}
22 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}}} 22 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}}}
23 debugShowCubicIntersection wtTs[0]=0 {{{0,6}, {0.293506175,4.82597542}, {1.04645 705,3.96781874}, {1.58881736,3.34967732}}} {{0,6}} wnTs[0]=1 {{{2.61714315,1.902 42553}, {2.61827874,1.91464937}, {-6.11562443,2.7383337}, {0,6}}} 23 SkOpSegment::addT insert t=0.437504678 segID=-1 spanID=-1
24 debugShowCubicLineIntersection wtTs[0]=0 {{{0,6}, {0.293506175,4.82597542}, {1.0 4645705,3.96781874}, {1.58881736,3.34967732}}} {{0,6}} wnTs[0]=0 {{{0,6}, {1,2}} } 24 SkOpSegment::addT insert t=0.351448746 segID=-1 spanID=-1
25 debugShowCubicIntersection wtTs[0]=0.538493706 {{{1.58881736,3.34967732}, {2.894 32383,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}}} 25 debugShowCubicLineIntersection wtTs[0]=0.589250227 {{{1,3}, {1.84861219,5.545836 45}, {3.41736698,3.77081728}, {4.48402119,2.56391668}}} {{3.00020218,3.99986529} } wnTs[0]=0.999933 {{{6,2}, {3,4}}}
26 SkOpSegment::addT insert t=0.538493706 segID=2 spanID=13 26 SkOpSegment::addT insert t=0.999932596 segID=-1 spanID=-1
27 SkOpSegment::addT insert t=0.0521913275 segID=4 spanID=14 27 SkOpSegment::addT insert t=0.589250227 segID=-1 spanID=-1
28 debugShowCubicIntersection wtTs[0]=0.481912781 {{{1.58881736,3.34967732}, {2.894 32383,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.115624 43,2.7383337}, {0,6}}} 28 debugShowCubicLineIntersection no intersect {{{4.48402119,2.56391668}, {4.674306 39,2.34861207}, {4.84861231,2.15138769}, {5,2}}} {{{6,2}, {3,4}}}
29 SkOpSegment::addT insert t=0.481912781 segID=2 spanID=15 29 debugShowLineIntersection no intersect {{{6,2}, {3,4}}} {{{5,2}, {1,3}}}
30 SkOpSegment::addT insert t=0.222514468 segID=5 spanID=16 30 debugShowCubicIntersection wtTs[0]=1 {{{1,3}, {1.84861219,5.54583645}, {3.417366 98,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} }}
31 debugShowCubicLineIntersection no intersect {{{1.58881736,3.34967732}, {2.894323 83,1.86175978}, {2.97965813,1.76450205}, {-7.5,2}}} {{{0,6}, {1,2}}} 31 debugShowCubicLineIntersection wtTs[0]=0 {{{1,3}, {1.84861219,5.54583645}, {3.41 736698,3.77081728}, {4.48402119,2.56391668}}} {{1,3}} wnTs[0]=1 {{{5,2}, {1,3}}}
32 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 }}} 32 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}}}
33 debugShowLineIntersection wtTs[0]=1 {{{-7.5,2}, {0,6}}} {{0,6}} wnTs[0]=0 {{{0,6 }, {1,2}}} 33 SkOpSegment::sortAngles [-1] tStart=0 [-1]
34 debugShowCubicIntersection wtTs[0]=1 {{{1,2}, {2.16902828,1.93847215}, {2.616886 14,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} }} 34 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
35 debugShowCubicLineIntersection wtTs[0]=0 {{{1,2}, {2.16902828,1.93847215}, {2.61 688614,1.89965844}, {2.61714315,1.90242553}}} {{1,2}} wnTs[0]=1 {{{0,6}, {1,2}}} 35 SkOpAngle::afterPart {{{3,4}, {2.87721833,4.1227816}, {2.78458726,4.17018661}, { 2.72210693,4.16072464}}} id=-1
36 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 36 SkOpAngle::afterPart {{{3,4}, {3.00006742,3.99995506}, {3.00013476,3.99991025}, {3.00020218,3.99986529}}} id=-1
37 SkOpSegment::addT insert t=0.293280033 segID=5 spanID=17 37 SkOpAngle::afterPart {{{3,4}, {2.9072112,4.06185918}, {2.81442231,4.11606536}, { 2.72210693,4.16072464}}} id=-1
38 SkOpSegment::addT insert t=0.959100004 segID=6 spanID=18 38 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
39 SkOpSegment::sortAngles [1] tStart=0 [1] 39 SkOpAngle::afterPart {{{3,4}, {2.87721833,4.1227816}, {2.78458726,4.17018661}, { 2.72210693,4.16072464}}} id=-1
40 SkOpAngle::after [1/1] 5/5 tStart=0 tEnd=1 < [5/13] 13/5 tStart=1 tEnd=0.2932800 33 < [6/14] 5/5 tStart=0 tEnd=0.959100004 F 7 40 SkOpAngle::afterPart {{{3,4}, {3.00020218,3.99986529}}} id=-1
41 SkOpAngle::afterPart {{{0,6}, {0.293506175,4.82597542}, {1.04645705,3.96781874}, {1.58881736,3.34967732}}} id=1 41 SkOpAngle::afterPart {{{3,4}, {3.00006742,3.99995506}, {3.00013476,3.99991025}, {3.00020218,3.99986529}}} id=-1
42 SkOpAngle::afterPart {{{0,6}, {-4.3220339,3.6949153}, {-1.22742501,2.60748826}, {0.959100008,2.16359997}}} id=5 42 SkOpAngle::after [-1/-1] 1/1 tStart=0.589197265 tEnd=0.589250227 < [-1/-1] 1/1 t Start=1 tEnd=0.999932596 < [-1/-1] 17/17 tStart=0.589197265 tEnd=0.516302729 T 12
43 SkOpAngle::afterPart {{{0,6}, {0.959100008,2.16359997}}} id=6 43 SkOpAngle::afterPart {{{3,4}, {3.00006742,3.99995506}, {3.00013476,3.99991025}, {3.00020218,3.99986529}}} id=-1
44 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 44 SkOpAngle::afterPart {{{3,4}, {3.00020218,3.99986529}}} id=-1
45 SkOpAngle::afterPart {{{0,6}, {0.293506175,4.82597542}, {1.04645705,3.96781874}, {1.58881736,3.34967732}}} id=1 45 SkOpAngle::afterPart {{{3,4}, {2.9072112,4.06185918}, {2.81442231,4.11606536}, { 2.72210693,4.16072464}}} id=-1
46 SkOpAngle::afterPart {{{0,6}, {-7.5,2}}} id=3 46 SkOpSegment::sortAngles [-1] tStart=0.322114632 [-1]
47 SkOpAngle::afterPart {{{0,6}, {0.959100008,2.16359997}}} id=6 47 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
48 SkOpAngle::after [6/14] 5/5 tStart=0 tEnd=0.959100004 < [3/6] 13/13 tStart=1 tEn d=0 < [5/13] 13/5 tStart=1 tEnd=0.293280033 F 7 48 SkOpAngle::afterPart {{{2.72210693,4.16072464}, {2.78458726,4.17018661}, {2.8772 1833,4.1227816}, {3,4}}} id=-1
49 SkOpAngle::afterPart {{{0,6}, {0.959100008,2.16359997}}} id=6 49 SkOpAngle::afterPart {{{2.72210693,4.16072464}, {2.06824885,4.47704065}, {1.4381 4079,4.31442231}, {1,3}}} id=-1
50 SkOpAngle::afterPart {{{0,6}, {-7.5,2}}} id=3 50 SkOpAngle::afterPart {{{2.72210693,4.16072464}, {2.59061803,4.14081206}, {2.5926 6219,3.86904402}, {2.7282393,3.51794004}}} id=-1
51 SkOpAngle::afterPart {{{0,6}, {-4.3220339,3.6949153}, {-1.22742501,2.60748826}, {0.959100008,2.16359997}}} id=5 51 SkOpAngle::after [-1/-1] 29/1 tStart=0.322114632 tEnd=0 < [-1/-1] 1/1 tStart=0.5 16302729 tEnd=0.589197265 < [-1/-1] 13/5 tStart=0.322114632 tEnd=1 T 12
52 SkOpAngle::after [5/13] 13/5 tStart=1 tEnd=0.293280033 < [3/6] 13/13 tStart=1 tE nd=0 < [1/1] 5/5 tStart=0 tEnd=1 T 7 52 SkOpAngle::afterPart {{{2.72210693,4.16072464}, {2.78458726,4.17018661}, {2.8772 1833,4.1227816}, {3,4}}} id=-1
53 SkOpAngle::afterPart {{{0,6}, {-4.3220339,3.6949153}, {-1.22742501,2.60748826}, {0.959100008,2.16359997}}} id=5 53 SkOpAngle::afterPart {{{2.72210693,4.16072464}, {2.81442231,4.11606536}, {2.9072 112,4.06185918}, {3,4}}} id=-1
54 SkOpAngle::afterPart {{{0,6}, {-7.5,2}}} id=3 54 SkOpAngle::afterPart {{{2.72210693,4.16072464}, {2.59061803,4.14081206}, {2.5926 6219,3.86904402}, {2.7282393,3.51794004}}} id=-1
55 SkOpAngle::afterPart {{{0,6}, {0.293506175,4.82597542}, {1.04645705,3.96781874}, {1.58881736,3.34967732}}} id=1 55 SkOpSegment::sortAngles [-1] tStart=0.437504678 [-1]
56 SkOpSegment::sortAngles [2] tStart=0.481912781 [15] 56 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
57 SkOpAngle::after [2/2] 29/25 tStart=0.481912781 tEnd=0 < [5/9] 1/1 tStart=0.2225 14468 tEnd=0 < [2/3] 13/13 tStart=0.481912781 tEnd=0.538493706 T 4 57 SkOpAngle::afterPart {{{3.5942049,2.35144877}, {3.15895005,2.69507766}, {2.87029 493,3.15005855}, {2.7282393,3.51794004}}} id=-1
58 SkOpAngle::afterPart {{{1.58025348,2.04903817}, {2.5637252,2.23855117}, {2.21795 761,2.63263084}, {1.58881736,3.34967732}}} id=2 58 SkOpAngle::afterPart {{{3.5942049,2.35144877}, {5,2}}} id=-1
59 SkOpAngle::afterPart {{{1.58025348,2.04903817}, {2.18515331,1.94804315}, {2.6173 9584,1.90514551}, {2.61714315,1.90242553}}} id=5 59 SkOpAngle::afterPart {{{3.5942049,2.35144877}, {4.15380764,1.9096486}, {4.955739 42,1.65191312}, {6,2}}} id=-1
60 SkOpAngle::afterPart {{{1.58025348,2.04903817}, {1.464785,2.02678763}, {1.330993 07,2.007357}, {1.17718506,1.99055469}}} id=2 60 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
61 SkOpAngle::after [2/2] 29/25 tStart=0.481912781 tEnd=0 < [5/10] 17/17 tStart=0.2 22514468 tEnd=0.293280033 < [5/9] 1/1 tStart=0.222514468 tEnd=0 F 4 61 SkOpAngle::afterPart {{{3.5942049,2.35144877}, {3.15895005,2.69507766}, {2.87029 493,3.15005855}, {2.7282393,3.51794004}}} id=-1
62 SkOpAngle::afterPart {{{1.58025348,2.04903817}, {2.5637252,2.23855117}, {2.21795 761,2.63263084}, {1.58881736,3.34967732}}} id=2 62 SkOpAngle::afterPart {{{3.5942049,2.35144877}, {1,3}}} id=-1
63 SkOpAngle::afterPart {{{1.58025348,2.04903817}, {1.38787913,2.0811573}, {1.17804 2,2.11915237}, {0.959100008,2.16359997}}} id=5 63 SkOpAngle::afterPart {{{3.5942049,2.35144877}, {5,2}}} id=-1
64 SkOpAngle::afterPart {{{1.58025348,2.04903817}, {2.18515331,1.94804315}, {2.6173 9584,1.90514551}, {2.61714315,1.90242553}}} id=5 64 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
65 SkOpAngle::after [5/9] 1/1 tStart=0.222514468 tEnd=0 < [5/10] 17/17 tStart=0.222 514468 tEnd=0.293280033 < [2/3] 13/13 tStart=0.481912781 tEnd=0.538493706 F 4 65 SkOpAngle::afterPart {{{3.5942049,2.35144877}, {5,2}}} id=-1
66 SkOpAngle::afterPart {{{1.58025348,2.04903817}, {2.18515331,1.94804315}, {2.6173 9584,1.90514551}, {2.61714315,1.90242553}}} id=5 66 SkOpAngle::afterPart {{{3.5942049,2.35144877}, {1,3}}} id=-1
67 SkOpAngle::afterPart {{{1.58025348,2.04903817}, {1.38787913,2.0811573}, {1.17804 2,2.11915237}, {0.959100008,2.16359997}}} id=5 67 SkOpAngle::afterPart {{{3.5942049,2.35144877}, {4.15380764,1.9096486}, {4.955739 42,1.65191312}, {6,2}}} id=-1
68 SkOpAngle::afterPart {{{1.58025348,2.04903817}, {1.464785,2.02678763}, {1.330993 07,2.007357}, {1.17718506,1.99055469}}} id=2 68 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
69 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 69 SkOpAngle::afterPart {{{3.5942049,2.35144877}, {4.15380764,1.9096486}, {4.955739 42,1.65191312}, {6,2}}} id=-1
70 SkOpAngle::afterPart {{{1.58025348,2.04903817}, {1.464785,2.02678763}, {1.330993 07,2.007357}, {1.17718506,1.99055469}}} id=2 70 SkOpAngle::afterPart {{{3.5942049,2.35144877}, {1,3}}} id=-1
71 SkOpAngle::afterPart {{{1.58025348,2.04903817}, {1.38787913,2.0811573}, {1.17804 2,2.11915237}, {0.959100008,2.16359997}}} id=5 71 SkOpAngle::afterPart {{{3.5942049,2.35144877}, {3.15895005,2.69507766}, {2.87029 493,3.15005855}, {2.7282393,3.51794004}}} id=-1
72 SkOpAngle::afterPart {{{1.58025348,2.04903817}, {2.5637252,2.23855117}, {2.21795 761,2.63263084}, {1.58881736,3.34967732}}} id=2 72 SkOpSegment::sortAngles [-1] tStart=0.999932596 [-1]
73 SkOpSegment::sortAngles [2] tStart=0.538493706 [13] 73 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
74 SkOpAngle::after [2/4] 29/29 tStart=0.538493706 tEnd=0.481912781 < [4/7] 17/17 t Start=0.0521913275 tEnd=0 < [2/5] 13/17 tStart=0.538493706 tEnd=1 F 11 74 SkOpAngle::afterPart {{{3.00020218,3.99986529}, {6,2}}} id=-1
75 SkOpAngle::afterPart {{{1.17718506,1.99055469}, {1.33099307,2.007357}, {1.464785 ,2.02678763}, {1.58025348,2.04903817}}} id=2 75 SkOpAngle::afterPart {{{3.00020218,3.99986529}, {3.00013476,3.99991025}, {3.0000 6742,3.99995506}, {3,4}}} id=-1
76 SkOpAngle::afterPart {{{1.17718506,1.99055469}, {1.12006187,1.99363948}, {1.0610 1314,1.99678878}, {1,2}}} id=4 76 SkOpAngle::afterPart {{{3.00020218,3.99986529}, {3,4}}} id=-1
77 SkOpAngle::afterPart {{{1.17718506,1.99055469}, {-0.0773608463,1.85350547}, {-2. 66357181,1.89131621}, {-7.5,2}}} id=2 77 SkOpAngle::after [-1/-1] 1/1 tStart=0.999932596 tEnd=0 < [-1/-1] 1/1 tStart=0.58 9250227 tEnd=1 < [-1/-1] 17/17 tStart=0.589250227 tEnd=0.589197265 T 12
78 SkOpAngle::after [2/4] 29/29 tStart=0.538493706 tEnd=0.481912781 < [4/8] 1/1 tSt art=0.0521913275 tEnd=1 < [2/5] 13/17 tStart=0.538493706 tEnd=1 T 4 78 SkOpAngle::afterPart {{{3.00020218,3.99986529}, {6,2}}} id=-1
79 SkOpAngle::afterPart {{{1.17718506,1.99055469}, {1.33099307,2.007357}, {1.464785 ,2.02678763}, {1.58025348,2.04903817}}} id=2 79 SkOpAngle::afterPart {{{3.00020218,3.99986529}, {3.52305312,3.65123542}, {4.0458 9321,3.05965083}, {4.48402119,2.56391668}}} id=-1
80 SkOpAngle::afterPart {{{1.17718506,1.99055469}, {2.21455765,1.93453399}, {2.6168 9955,1.89980286}, {2.61714315,1.90242553}}} id=4 80 SkOpAngle::afterPart {{{3.00020218,3.99986529}, {3.00013476,3.99991025}, {3.0000 6742,3.99995506}, {3,4}}} id=-1
81 SkOpAngle::afterPart {{{1.17718506,1.99055469}, {-0.0773608463,1.85350547}, {-2. 66357181,1.89131621}, {-7.5,2}}} id=2 81 SkOpSegment::sortAngles [-1] tStart=1 [-1]
82 SkOpSegment::sortAngles [3] tStart=1 [6] 82 SkOpSegment::sortAngles [-1] tStart=0.516302729 [-1]
83 SkOpSegment::sortAngles [4] tStart=0.0521913275 [14] 83 SkOpSegment::sortAngles [-1] tStart=0.589197265 [-1]
84 SkOpSegment::sortAngles [5] tStart=0.222514468 [16] 84 SkOpSegment::sortAngles [-1] tStart=0.589250227 [-1]
85 SkOpSegment::sortAngles [5] tStart=0.293280033 [17] 85 SkOpSegment::sortAngles [-1] tStart=0.351448746 [-1]
86 SkOpAngle::after [5/11] 1/1 tStart=0.293280033 tEnd=0.222514468 < [6/15] 21/21 t Start=0.959100004 tEnd=0 < [5/12] 17/21 tStart=0.293280033 tEnd=1 F 11 86 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
87 SkOpAngle::afterPart {{{0.959100008,2.16359997}, {1.178042,2.11915237}, {1.38787 913,2.0811573}, {1.58025348,2.04903817}}} id=5 87 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 wind Sum=? windValue=1
88 SkOpAngle::afterPart {{{0.959100008,2.16359997}, {0,6}}} id=6 88 SkOpSegment::debugShowActiveSpans id=-1 (2.7282393,3.51794004 3.05293441,2.67707 705 4.14352131,1.38117373 6,2) t=0 (2.7282393,3.51794004) tEnd=0.437504678 windS um=? windValue=1
89 SkOpAngle::afterPart {{{0.959100008,2.16359997}, {-1.22742501,2.60748826}, {-4.3 220339,3.6949153}, {0,6}}} id=5 89 SkOpSegment::debugShowActiveSpans id=-1 (2.7282393,3.51794004 3.05293441,2.67707 705 4.14352131,1.38117373 6,2) t=0.437504678 (3.5942049,2.35144877) tEnd=1 windS um=? windValue=1
90 SkOpAngle::after [5/11] 1/1 tStart=0.293280033 tEnd=0.222514468 < [6/16] 5/5 tSt art=0.959100004 tEnd=1 < [5/12] 17/21 tStart=0.293280033 tEnd=1 T 4 90 SkOpSegment::debugShowActiveSpans id=-1 (6,2 3,4) t=0 (6,2) tEnd=0.999932596 win dSum=? windValue=1
91 SkOpAngle::afterPart {{{0.959100008,2.16359997}, {1.178042,2.11915237}, {1.38787 913,2.0811573}, {1.58025348,2.04903817}}} id=5 91 SkOpSegment::debugShowActiveSpans id=-1 (6,2 3,4) t=0.999932596 (3.00020218,3.99 986529) tEnd=1 windSum=? windValue=1
92 SkOpAngle::afterPart {{{0.959100008,2.16359997}, {1,2}}} id=6 92 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
93 SkOpAngle::afterPart {{{0.959100008,2.16359997}, {-1.22742501,2.60748826}, {-4.3 220339,3.6949153}, {0,6}}} id=5 93 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.589 197265 windSum=? windValue=1
94 SkOpSegment::sortAngles [5] tStart=1 [10] 94 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=? w indValue=1
95 SkOpSegment::sortAngles [6] tStart=0 [11] 95 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 win dSum=? windValue=1
96 SkOpSegment::sortAngles [6] tStart=0.959100004 [18] 96 SkOpSegment::debugShowActiveSpans id=-1 (4.48402119,2.56391668 4.67430639,2.3486 1207 4.84861231,2.15138769 5,2) t=0 (4.48402119,2.56391668) tEnd=1 windSum=? win dValue=1
97 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 97 SkOpSegment::debugShowActiveSpans id=-1 (5,2 1,3) t=0 (5,2) tEnd=0.351448746 win dSum=? windValue=1
98 SkOpSegment::debugShowActiveSpans id=2 (1.58881736,3.34967732 2.89432383,1.86175 978 2.97965813,1.76450205 -7.5,2) t=0 (1.58881736,3.34967732) tEnd=0.481912781 w indSum=? windValue=1 oppValue=0 98 SkOpSegment::debugShowActiveSpans id=-1 (5,2 1,3) t=0.351448746 (3.5942049,2.351 44877) tEnd=1 windSum=? windValue=1
99 SkOpSegment::debugShowActiveSpans id=2 (1.58881736,3.34967732 2.89432383,1.86175 978 2.97965813,1.76450205 -7.5,2) t=0.481912781 (1.58025348,2.04903817) tEnd=0.5 38493706 windSum=? windValue=1 oppValue=0 99 SkOpSpan::sortableTop dir=kTop seg=-1 t=0.161057316 pt=(2.83844042,4.12995338)
100 SkOpSegment::debugShowActiveSpans id=2 (1.58881736,3.34967732 2.89432383,1.86175 978 2.97965813,1.76450205 -7.5,2) t=0.538493706 (1.17718506,1.99055469) tEnd=1 w indSum=? windValue=1 oppValue=0 100 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)
101 SkOpSegment::debugShowActiveSpans id=3 (-7.5,2 0,6) t=0 (-7.5,2) tEnd=1 windSum= ? windValue=1 oppValue=0 101 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)
102 SkOpSegment::debugShowActiveSpans id=4 (1,2 2.16902828,1.93847215 2.61688614,1.8 9965844 2.61714315,1.90242553) t=0 (1,2) tEnd=0.0521913275 windSum=? windValue=1 oppValue=0 102 SkOpSpan::sortableTop [2] valid=1 operand=0 span=-1 ccw=1 seg=-1 {{{1, 3}, {1.84 861219f, 5.54583645f}, {3.41736698f, 3.77081728f}, {4.48402119f, 2.56391668f}}} t=0.546866125 pt=(2.83844042,4.09965467) slope=(3.81218461,-2.15374068)
103 SkOpSegment::debugShowActiveSpans id=4 (1,2 2.16902828,1.93847215 2.61688614,1.8 9965844 2.61714315,1.90242553) t=0.0521913275 (1.17718506,1.99055469) tEnd=1 win dSum=? windValue=1 oppValue=0 103 SkOpSpan::sortableTop [3] valid=1 operand=1 span=-1 ccw=0 seg=-1 {{{3, 4}, {2.61 882615f, 4.38117361f}, {2.52823925f, 4.03588009f}, {2.7282393f, 3.51794004f}}} t =0.161057316 pt=(2.83844042,4.12995338) slope=(-0.862714624,0.484601174)
104 SkOpSegment::debugShowActiveSpans id=5 (2.61714315,1.90242553 2.61827874,1.91464 937 -6.11562443,2.7383337 0,6) t=0 (2.61714315,1.90242553) tEnd=0.222514468 wind Sum=? windValue=1 oppValue=0 104 SkOpSegment::markWinding id=-1 (5,2 1,3) t=0.351448746 [-1] (3.5942049,2.3514487 7) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
105 SkOpSegment::debugShowActiveSpans id=5 (2.61714315,1.90242553 2.61827874,1.91464 937 -6.11562443,2.7383337 0,6) t=0.222514468 (1.58025348,2.04903817) tEnd=0.2932 80033 windSum=? windValue=1 oppValue=0 105 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
106 SkOpSegment::debugShowActiveSpans id=5 (2.61714315,1.90242553 2.61827874,1.91464 937 -6.11562443,2.7383337 0,6) t=0.293280033 (0.959100008,2.16359997) tEnd=1 win dSum=? windValue=1 oppValue=0 106 SkOpSegment::markWinding id=-1 (5,2 1,3) t=0.351448746 [-1] (3.5942049,2.3514487 7) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
107 SkOpSegment::debugShowActiveSpans id=6 (0,6 1,2) t=0 (0,6) tEnd=0.959100004 wind Sum=? windValue=1 oppValue=0 107 SkOpSegment::markWinding id=-1 (2.7282393,3.51794004 3.05293441,2.67707705 4.143 52131,1.38117373 6,2) t=0 [-1] (2.7282393,3.51794004) tEnd=0.437504678 newWindSu m=-1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
108 SkOpSegment::debugShowActiveSpans id=6 (0,6 1,2) t=0.959100004 (0.959100008,2.16 359997) tEnd=1 windSum=? windValue=1 oppValue=0 108 SkOpSegment::markWinding id=-1 (2.7282393,3.51794004 3.05293441,2.67707705 4.143 52131,1.38117373 6,2) t=0 [-1] (2.7282393,3.51794004) tEnd=0.437504678 newWindSu m=-1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
109 -SkOpSegment::findTop- baseAngle 109 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 newWindS um=-1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
110 SkOpAngle::dumpOne [4/8] next=2/5 sect=1/1 s=0.0521913275 [14] e=1 [8] sgn=-1 w indVal=1 windSum=? operand 110 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.5891972 65 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
111 SkOpAngle::dumpOne [2/5] next=4/7 sect=13/17 s=0.538493706 [13] e=1 [4] sgn=-1 windVal=1 windSum=? stop 111 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.5891972 65 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
112 SkOpAngle::dumpOne [4/7] next=2/4 sect=17/17 s=0.0521913275 [14] e=0 [7] sgn=1 windVal=1 windSum=? operand 112 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
113 SkOpAngle::dumpOne [2/4] next=4/8 sect=29/29 s=0.538493706 [13] e=0.481912781 [ 15] sgn=1 windVal=1 windSum=? stop 113 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
114 -SkOpSegment::findTop- firstAngle 114 SkOpSegment::activeOp id=-1 t=0.322114632 tEnd=0 op=union miFrom=0 miTo=0 suFrom =0 suTo=1 result=1
115 SkOpAngle::dumpOne [4/8] next=2/5 sect=1/1 s=0.0521913275 [14] e=1 [8] sgn=-1 w indVal=1 windSum=? operand 115 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 ne wOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
116 SkOpAngle::dumpOne [2/5] next=4/7 sect=13/17 s=0.538493706 [13] e=1 [4] sgn=-1 windVal=1 windSum=? stop 116 SkOpSegment::markAngle last segment=-1 span=-1 windSum=?
117 SkOpAngle::dumpOne [4/7] next=2/4 sect=17/17 s=0.0521913275 [14] e=0 [7] sgn=1 windVal=1 windSum=? operand 117 SkOpSegment::markWinding id=-1 (6,2 3,4) t=0.999932596 [-1] (3.00020218,3.999865 29) tEnd=1 newWindSum=-1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
118 SkOpAngle::dumpOne [2/4] next=4/8 sect=29/29 s=0.538493706 [13] e=0.481912781 [ 15] sgn=1 windVal=1 windSum=? stop 118 SkOpSegment::markAngle last segment=-1 span=-1 windSum=-1
119 SkDCubic::clockwise pt1dist=0.00263265113 pt2dist=-0.00745519926 119 SkOpSegment::findNextOp
120 SkOpSegment::findTop id=4 s=1 e=0.0521913275 (+) cw=1 swap=0 inflections=1 monot onic=0 120 SkOpAngle::dumpOne [-1/-1] next=-1/-1 sect=18/17 s=0 [-1] e=0.322114632 [-1] sg n=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand
121 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 newWind Sum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 121 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
122 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 newWind Sum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0 122 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
123 SkOpSegment::markWinding id=5 (2.61714315,1.90242553 2.61827874,1.91464937 -6.11 562443,2.7383337 0,6) t=0 [9] (2.61714315,1.90242553) tEnd=0.222514468 newWindSu m=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 123 SkOpAngle::dumpOne [-1/-1] next=-1/-1 sect=17/17 s=0.589197265 [-1] e=0.5163027 29 [-1] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=-1
124 SkOpSegment::activeOp id=4 t=1 tEnd=0.0521913275 op=sect miFrom=0 miTo=0 suFrom= 1 suTo=0 result=0 124 SkOpSegment::activeOp id=-1 t=0.589197265 tEnd=0.589250227 op=union miFrom=0 miT o=1 suFrom=0 suTo=0 result=1
125 SkOpSegment::markDone id=4 (1,2 2.16902828,1.93847215 2.61688614,1.89965844 2.61 714315,1.90242553) t=0.0521913275 [14] (1.17718506,1.99055469) tEnd=1 newWindSum =1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0 125 SkOpSegment::findNextOp chase.append segment=-1 span=-1 windSum=-2147483647
126 bridgeOp chase.append id=4 windSum=1 126 SkOpSegment::activeOp id=-1 t=1 tEnd=0.999932596 op=union miFrom=1 miTo=1 suFrom =0 suTo=1 result=0
127 SkOpSegment::markWinding id=2 (1.58881736,3.34967732 2.89432383,1.86175978 2.979 65813,1.76450205 -7.5,2) t=0.538493706 [13] (1.17718506,1.99055469) tEnd=1 newWi ndSum=1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0 127 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
128 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 128 SkOpSegment::findNextOp chase.append segment=-1 span=-1 windSum=-1
129 SkOpSegment::markAngle last segment=3 span=6 129 SkOpSegment::activeOp id=-1 t=0.589197265 tEnd=0.516302729 op=union miFrom=1 miT o=0 suFrom=1 suTo=1 result=0
130 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 o ppSum=? windSum=? windValue=1 oppValue=0 130 SkOpSegment::markDone id=-1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.4 8402119,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
131 SkOpSegment::markWinding id=6 (0,6 1,2) t=0.959100004 [18] (0.959100008,2.163599 97) tEnd=1 newWindSum=1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0 131 SkOpSegment::markDone id=-1 (3,4 2.61882615,4.38117361 2.52823925,4.03588009 2.7 282393,3.51794004) t=0 [-1] (3,4) tEnd=0.322114632 newWindSum=-1 newOppSum=0 opp Sum=0 windSum=-1 windValue=1 oppValue=0
132 SkOpSegment::markAngle last segment=6 span=18 windSum=1 132 SkOpSegment::findNextOp from:[-1] to:[-1] start=7083452 end=7084028
133 SkOpSegment::markWinding id=2 (1.58881736,3.34967732 2.89432383,1.86175978 2.979 65813,1.76450205 -7.5,2) t=0.481912781 [15] (1.58025348,2.04903817) tEnd=0.53849 3706 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 133 bridgeOp current id=-1 from=(2.72210693,4.16072464) to=(3,4)
134 SkOpSegment::markAngle last segment=2 span=15 windSum=1 134 path.moveTo(2.72210693,4.16072464);
135 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 135 path.cubicTo(2.78458714,4.17018652, 2.87721825,4.12278175, 3,4);
136 SkOpSegment::debugShowActiveSpans id=2 (1.58881736,3.34967732 2.89432383,1.86175 978 2.97965813,1.76450205 -7.5,2) t=0 (1.58881736,3.34967732) tEnd=0.481912781 w indSum=? windValue=1 oppValue=0 136 SkOpSegment::markDone id=-1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.4 8402119,2.56391668) t=0.589197265 [-1] (3,4) tEnd=0.589250227 newWindSum=1 newOp pSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
137 SkOpSegment::debugShowActiveSpans id=2 (1.58881736,3.34967732 2.89432383,1.86175 978 2.97965813,1.76450205 -7.5,2) t=0.481912781 (1.58025348,2.04903817) tEnd=0.5 38493706 windSum=1 windValue=1 oppValue=0 137 SkOpSegment::markWinding id=-1 (6,2 3,4) t=0 [-1] (6,2) tEnd=0.999932596 newWind Sum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
138 SkOpSegment::debugShowActiveSpans id=2 (1.58881736,3.34967732 2.89432383,1.86175 978 2.97965813,1.76450205 -7.5,2) t=0.538493706 (1.17718506,1.99055469) tEnd=1 w indSum=1 windValue=1 oppValue=0 138 SkOpSegment::markWinding id=-1 (2.7282393,3.51794004 3.05293441,2.67707705 4.143 52131,1.38117373 6,2) t=0.437504678 [-1] (3.5942049,2.35144877) tEnd=1 newWindSu m=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
139 SkOpSegment::debugShowActiveSpans id=3 (-7.5,2 0,6) t=0 (-7.5,2) tEnd=1 windSum= 1 windValue=1 oppValue=0 139 SkOpSegment::markAngle last segment=-1 span=-1 windSum=1
140 SkOpSegment::debugShowActiveSpans id=4 (1,2 2.16902828,1.93847215 2.61688614,1.8 9965844 2.61714315,1.90242553) t=0 (1,2) tEnd=0.0521913275 windSum=1 windValue=1 oppValue=0 140 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 newWind Sum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
141 SkOpSegment::debugShowActiveSpans id=5 (2.61714315,1.90242553 2.61827874,1.91464 937 -6.11562443,2.7383337 0,6) t=0 (2.61714315,1.90242553) tEnd=0.222514468 wind Sum=1 windValue=1 oppValue=0 141 SkOpSegment::markWinding id=-1 (4.48402119,2.56391668 4.67430639,2.34861207 4.84 861231,2.15138769 5,2) t=0 [-1] (4.48402119,2.56391668) tEnd=1 newWindSum=1 newO ppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
142 SkOpSegment::debugShowActiveSpans id=5 (2.61714315,1.90242553 2.61827874,1.91464 937 -6.11562443,2.7383337 0,6) t=0.222514468 (1.58025348,2.04903817) tEnd=0.2932 80033 windSum=? windValue=1 oppValue=0 142 SkOpSegment::markWinding id=-1 (5,2 1,3) t=0 [-1] (5,2) tEnd=0.351448746 newWind Sum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
143 SkOpSegment::debugShowActiveSpans id=5 (2.61714315,1.90242553 2.61827874,1.91464 937 -6.11562443,2.7383337 0,6) t=0.293280033 (0.959100008,2.16359997) tEnd=1 win dSum=? windValue=1 oppValue=0 143 SkOpSegment::markAngle last segment=-1 span=-1 windSum=1
144 SkOpSegment::debugShowActiveSpans id=6 (0,6 1,2) t=0 (0,6) tEnd=0.959100004 wind Sum=? windValue=1 oppValue=0 144 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 wind Sum=-1 oppSum=1 windValue=1 oppValue=0
145 SkOpSegment::debugShowActiveSpans id=6 (0,6 1,2) t=0.959100004 (0.959100008,2.16 359997) tEnd=1 windSum=1 windValue=1 oppValue=0 145 SkOpSegment::debugShowActiveSpans id=-1 (2.7282393,3.51794004 3.05293441,2.67707 705 4.14352131,1.38117373 6,2) t=0 (2.7282393,3.51794004) tEnd=0.437504678 windS um=-1 oppSum=1 windValue=1 oppValue=0
146 SkOpSegment::activeOp id=2 t=0.538493706 tEnd=1 op=sect miFrom=0 miTo=1 suFrom=1 suTo=1 result=1 146 SkOpSegment::debugShowActiveSpans id=-1 (2.7282393,3.51794004 3.05293441,2.67707 705 4.14352131,1.38117373 6,2) t=0.437504678 (3.5942049,2.35144877) tEnd=1 windS um=1 oppSum=0 windValue=1 oppValue=0
147 SkOpSegment::findNextOp simple 147 SkOpSegment::debugShowActiveSpans id=-1 (6,2 3,4) t=0 (6,2) tEnd=0.999932596 win dSum=1 oppSum=0 windValue=1 oppValue=0
148 SkOpSegment::markDone id=2 (1.58881736,3.34967732 2.89432383,1.86175978 2.979658 13,1.76450205 -7.5,2) t=0.538493706 [13] (1.17718506,1.99055469) tEnd=1 newWindS um=1 newOppSum=1 oppSum=1 windSum=1 windValue=1 oppValue=0 148 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 wi ndValue=1 oppValue=0
149 bridgeOp current id=2 from=(1.17718506,1.99055469) to=(-7.5,2) 149 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 win dSum=1 oppSum=0 windValue=1 oppValue=0
150 path.moveTo(1.17718506,1.99055469); 150 SkOpSegment::debugShowActiveSpans id=-1 (4.48402119,2.56391668 4.67430639,2.3486 1207 4.84861231,2.15138769 5,2) t=0 (4.48402119,2.56391668) tEnd=1 windSum=1 opp Sum=0 windValue=1 oppValue=0
151 path.cubicTo(-0.0773608461,1.85350549, -2.66357183,1.89131618, -7.5,2); 151 SkOpSegment::debugShowActiveSpans id=-1 (5,2 1,3) t=0 (5,2) tEnd=0.351448746 win dSum=1 oppSum=0 windValue=1 oppValue=0
152 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=? wi ndSum=? windValue=1 oppValue=0 152 SkOpSegment::debugShowActiveSpans id=-1 (5,2 1,3) t=0.351448746 (3.5942049,2.351 44877) tEnd=1 windSum=1 oppSum=0 windValue=1 oppValue=0
153 SkOpSegment::markWinding id=2 (1.58881736,3.34967732 2.89432383,1.86175978 2.979 65813,1.76450205 -7.5,2) t=0 [3] (1.58881736,3.34967732) tEnd=0.481912781 newWin dSum=1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0 153 SkOpSegment::activeOp id=-1 t=0.999932596 tEnd=0 op=union miFrom=0 miTo=0 suFrom =1 suTo=0 result=1
154 SkOpSegment::markAngle last segment=2 span=15 windSum=1 154 SkOpSegment::findNextOp simple
155 SkOpSegment::markWinding id=6 (0,6 1,2) t=0 [11] (0,6) tEnd=0.959100004 newWindS um=2 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0 155 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
156 SkOpSegment::markAngle last segment=6 span=18 windSum=1 156 bridgeOp current id=-1 from=(3.00020218,3.99986529) to=(6,2)
157 SkOpSegment::markWinding id=5 (2.61714315,1.90242553 2.61827874,1.91464937 -6.11 562443,2.7383337 0,6) t=0.293280033 [17] (0.959100008,2.16359997) tEnd=1 newWind Sum=2 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0 157 SkOpSegment::findNextOp
158 SkOpSegment::markAngle last segment=5 span=17 windSum=2 158 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
159 SkOpSegment::findNextOp 159 SkOpAngle::dumpOne [-1/-1] next=-1/-1 sect=17/17 s=0.351448746 [-1] e=1 [-1] sg n=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
160 SkOpAngle::dumpOne [3/6] next=1/1 sect=13/13 s=1 [6] e=0 [5] sgn=1 windVal=1 wi ndSum=1 oppVal=0 oppSum=1 160 SkOpAngle::dumpOne [-1/-1] next=-1/-1 sect=17/21 s=0.437504678 [-1] e=0 [-1] sg n=1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
161 SkOpAngle::dumpOne [1/1] next=6/14 sect=5/5 s=0 [1] e=1 [2] sgn=-1 windVal=1 wi ndSum=1 oppVal=0 oppSum=1 161 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
162 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 162 SkOpSegment::activeOp id=-1 t=0.351448746 tEnd=1 op=union miFrom=0 miTo=1 suFrom =1 suTo=1 result=0
163 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 163 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
164 SkOpSegment::activeOp id=1 t=0 tEnd=1 op=sect miFrom=0 miTo=1 suFrom=1 suTo=1 re sult=1 164 SkOpSegment::markDone id=-1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.4 8402119,2.56391668) t=0 [-1] (1,3) tEnd=0.516302729 newWindSum=1 newOppSum=0 opp Sum=0 windSum=1 windValue=1 oppValue=0
165 SkOpSegment::findNextOp chase.append segment=2 span=15 windSum=1 165 SkOpSegment::activeOp id=-1 t=0.437504678 tEnd=0 op=union miFrom=1 miTo=1 suFrom =1 suTo=0 result=0
166 SkOpSegment::activeOp id=6 t=0 tEnd=0.959100004 op=sect miFrom=1 miTo=1 suFrom=1 suTo=1 result=0 166 SkOpSegment::markDone id=-1 (2.7282393,3.51794004 3.05293441,2.67707705 4.143521 31,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
167 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 167 SkOpSegment::markDone id=-1 (3,4 2.61882615,4.38117361 2.52823925,4.03588009 2.7 282393,3.51794004) t=0.322114632 [-1] (2.72210693,4.16072464) tEnd=1 newWindSum= -1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
168 SkOpSegment::findNextOp chase.append segment=6 span=18 windSum=1 168 SkOpSegment::activeOp id=-1 t=0.351448746 tEnd=0 op=union miFrom=1 miTo=0 suFrom =0 suTo=0 result=1
169 SkOpSegment::activeOp id=5 t=1 tEnd=0.293280033 op=sect miFrom=1 miTo=1 suFrom=1 suTo=1 result=0 169 SkOpSegment::markDone id=-1 (2.7282393,3.51794004 3.05293441,2.67707705 4.143521 31,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
170 SkOpSegment::markDone id=5 (2.61714315,1.90242553 2.61827874,1.91464937 -6.11562 443,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 170 SkOpSegment::findNextOp from:[-1] to:[-1] start=7083836 end=7082508
171 SkOpSegment::findNextOp chase.append segment=5 span=17 windSum=2 171 bridgeOp current id=-1 from=(6,2) to=(3.5942049,2.35144877)
172 SkOpSegment::markDone id=3 (-7.5,2 0,6) t=0 [5] (-7.5,2) tEnd=1 newWindSum=1 new OppSum=1 oppSum=1 windSum=1 windValue=1 oppValue=0 172 path.moveTo(3.00020218,3.99986529);
173 SkOpSegment::findNextOp from:[3] to:[1] start=43971536 end=43971632 173 path.lineTo(6,2);
174 bridgeOp current id=3 from=(-7.5,2) to=(0,6) 174 path.cubicTo(4.9557395,1.65191317, 4.15380764,1.90964866, 3.5942049,2.35144877);
175 SkOpSegment::findNextOp simple 175 SkOpSegment::findNextOp simple
176 SkOpSegment::markDone id=1 (0,6 0.293506175,4.82597542 1.04645705,3.96781874 1.5 8881736,3.34967732) t=0 [1] (0,6) tEnd=1 newWindSum=1 newOppSum=1 oppSum=1 windS um=1 windValue=1 oppValue=0 176 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
177 bridgeOp current id=1 from=(0,6) to=(1.58881736,3.34967732) 177 bridgeOp current id=-1 from=(3.5942049,2.35144877) to=(5,2)
178 path.lineTo(0,6); 178 SkOpSegment::findNextOp simple
179 path.cubicTo(0.293506175,4.82597542, 1.04645705,3.96781874, 1.58881736,3.3496773 2); 179 SkOpSegment::markDone id=-1 (4.48402119,2.56391668 4.67430639,2.34861207 4.84861 231,2.15138769 5,2) t=0 [-1] (4.48402119,2.56391668) tEnd=1 newWindSum=1 newOppS um=0 oppSum=0 windSum=1 windValue=1 oppValue=0
180 SkOpSegment::markWinding id=5 (2.61714315,1.90242553 2.61827874,1.91464937 -6.11 562443,2.7383337 0,6) t=0.222514468 [16] (1.58025348,2.04903817) tEnd=0.29328003 3 newWindSum=1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0 180 bridgeOp current id=-1 from=(5,2) to=(4.48402119,2.56391668)
181 SkOpSegment::markAngle last segment=5 span=17 windSum=2 181 path.lineTo(5,2);
182 SkOpSegment::findNextOp 182 path.cubicTo(4.84861231,2.15138769, 4.67430639,2.34861207, 4.48402119,2.56391668 );
183 SkOpAngle::dumpOne [2/2] next=5/9 sect=29/25 s=0.481912781 [15] e=0 [3] sgn=1 w indVal=1 windSum=1 oppVal=0 oppSum=1 183 SkOpSegment::findNextOp
184 SkOpAngle::dumpOne [5/9] next=2/3 sect=1/1 s=0.222514468 [16] e=0 [9] sgn=1 win dVal=1 windSum=1 oppVal=0 oppSum=0 operand 184 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
185 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 185 SkOpAngle::dumpOne [-1/-1] next=-1/-1 sect=17/17 s=0.589250227 [-1] e=0.5891972 65 [-1] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0 done unorderable
186 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 186 SkOpAngle::dumpOne [-1/-1] next=-1/-1 sect=17/17 s=0.999932596 [-1] e=1 [-1] sg n=-1 windVal=1 windSum=-1 oppVal=0 oppSum=1 done unorderable operand
187 SkOpSegment::activeOp id=5 t=0.222514468 tEnd=0 op=sect miFrom=0 miTo=0 suFrom=1 suTo=0 result=0 187 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
188 SkOpSegment::markDone id=5 (2.61714315,1.90242553 2.61827874,1.91464937 -6.11562 443,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 188 SkOpSegment::activeOp id=-1 t=0.589250227 tEnd=0.589197265 op=union miFrom=1 miT o=0 suFrom=0 suTo=0 result=1
189 SkOpSegment::activeOp id=2 t=0.481912781 tEnd=0.538493706 op=sect miFrom=0 miTo= 1 suFrom=0 suTo=0 result=0 189 SkOpSegment::activeOp id=-1 t=0.999932596 tEnd=1 op=union miFrom=0 miTo=0 suFrom =0 suTo=1 result=1
190 SkOpSegment::markDone id=2 (1.58881736,3.34967732 2.89432383,1.86175978 2.979658 13,1.76450205 -7.5,2) t=0.481912781 [15] (1.58025348,2.04903817) tEnd=0.53849370 6 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0 190 SkOpSegment::activeOp id=-1 t=0.999932596 tEnd=0 op=union miFrom=0 miTo=0 suFrom =1 suTo=0 result=1
191 SkOpSegment::activeOp id=5 t=0.222514468 tEnd=0.293280033 op=sect miFrom=1 miTo= 1 suFrom=0 suTo=1 result=1 191 SkOpSegment::markDone id=-1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.4 8402119,2.56391668) t=0.589250227 [-1] (3.00020218,3.99986529) tEnd=1 newWindSum =1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
192 SkOpSegment::markDone id=2 (1.58881736,3.34967732 2.89432383,1.86175978 2.979658 13,1.76450205 -7.5,2) t=0 [3] (1.58881736,3.34967732) tEnd=0.481912781 newWindSu m=1 newOppSum=1 oppSum=1 windSum=1 windValue=1 oppValue=0 192 SkOpSegment::findNextOp from:[-1] to:[-1] start=7083932 end=7083244
193 SkOpSegment::findNextOp from:[2] to:[5] start=2579180 end=2579276 193 bridgeOp current id=-1 from=(4.48402119,2.56391668) to=(3.00020218,3.99986529)
194 bridgeOp current id=2 from=(1.58881736,3.34967732) to=(1.58025348,2.04903817) 194 path.cubicTo(4.04589319,3.0596509, 3.52305317,3.65123534, 3.00020218,3.99986529) ;
195 path.cubicTo(2.2179575,2.63263083, 2.56372523,2.23855114, 1.58025348,2.04903817) ;
196 SkOpSegment::findNextOp
197 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
198 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
199 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
200 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
201 SkOpSegment::activeOp id=6 t=0.959100004 tEnd=1 op=sect miFrom=1 miTo=1 suFrom=0 suTo=1 result=1
202 SkOpSegment::activeOp id=5 t=0.293280033 tEnd=1 op=sect miFrom=1 miTo=1 suFrom=1 suTo=1 result=0
203 SkOpSegment::activeOp id=6 t=0.959100004 tEnd=0 op=sect miFrom=1 miTo=1 suFrom=1 suTo=1 result=0
204 SkOpSegment::markDone id=5 (2.61714315,1.90242553 2.61827874,1.91464937 -6.11562 443,2.7383337 0,6) t=0.222514468 [16] (1.58025348,2.04903817) tEnd=0.293280033 n ewWindSum=1 newOppSum=1 oppSum=1 windSum=1 windValue=1 oppValue=0
205 SkOpSegment::findNextOp from:[5] to:[6] start=2579372 end=2578764
206 bridgeOp current id=5 from=(1.58025348,2.04903817) to=(0.959100008,2.16359997)
207 path.cubicTo(1.38787913,2.08115721, 1.17804205,2.11915231, 0.959100008,2.1635999 7);
208 SkOpSegment::findNextOp simple
209 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
210 bridgeOp current id=6 from=(0.959100008,2.16359997) to=(1,2)
211 SkOpSegment::findNextOp
212 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
213 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
214 SkOpAngle::dumpOne [4/8] next=2/5 sect=1/1 s=0.0521913275 [14] e=1 [8] sgn=-1 w indVal=1 windSum=1 oppVal=0 oppSum=0 done operand
215 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
216 SkOpSegment::activeOp id=2 t=0.538493706 tEnd=0.481912781 op=sect miFrom=1 miTo= 0 suFrom=0 suTo=0 result=0
217 SkOpSegment::activeOp id=4 t=0.0521913275 tEnd=1 op=sect miFrom=0 miTo=0 suFrom= 0 suTo=1 result=0
218 SkOpSegment::activeOp id=2 t=0.538493706 tEnd=1 op=sect miFrom=0 miTo=1 suFrom=1 suTo=1 result=1
219 SkOpSegment::markDone id=4 (1,2 2.16902828,1.93847215 2.61688614,1.89965844 2.61 714315,1.90242553) t=0 [7] (1,2) tEnd=0.0521913275 newWindSum=1 newOppSum=1 oppS um=1 windSum=1 windValue=1 oppValue=0
220 SkOpSegment::findNextOp from:[4] to:[2] start=2578892 end=2577740
221 bridgeOp current id=4 from=(1,2) to=(1.17718506,1.99055469)
222 path.lineTo(1,2);
223 path.cubicTo(1.0610131,1.99678874, 1.12006187,1.99363947, 1.17718506,1.99055469) ;
224 path.close(); 195 path.close();
225 </div> 196 </div>
226 197
198 <div id="cubics45u_debug">
199 seg=1 {{{1, 3}, {1.84861219f, 5.54583645f}, {3.41736698f, 3.77081728f}, {4.48402 119f, 2.56391668f}}}
200 seg=2 {{{4.48402119f, 2.56391668f}, {4.67430639f, 2.34861207f}, {4.84861231f, 2. 15138769f}, {5, 2}}}
201 seg=3 {{{5, 2}, {1, 3}}}
202 op union
203 seg=4 {{{3, 4}, {2.61882615f, 4.38117361f}, {2.52823925f, 4.03588009f}, {2.72823 93f, 3.51794004f}}}
204 seg=5 {{{2.7282393f, 3.51794004f}, {3.05293441f, 2.67707705f}, {4.14352131f, 1.3 8117373f}, {6, 2}}}
205 seg=6 {{{6, 2}, {3, 4}}}
206 debugShowCubicIntersection wtTs[0]=1 {{{3,4}, {2.61882615,4.38117361}, {2.528239 25,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}}}
207 debugShowCubicLineIntersection wtTs[0]=0 {{{3,4}, {2.61882615,4.38117361}, {2.52 823925,4.03588009}, {2.7282393,3.51794004}}} {{3,4}} wnTs[0]=1 {{{6,2}, {3,4}}}
208 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}}}
209 debugShowCubicIntersection wtTs[0]=0 {{{3,4}, {2.61882615,4.38117361}, {2.528239 25,4.03588009}, {2.7282393,3.51794004}}} {{3,4}} wtTs[1]=0.322114632 {{2.7221069 3,4.16072464}} wnTs[0]=0.589197 {{{1,3}, {1.84861219,5.54583645}, {3.41736698,3. 77081728}, {4.48402119,2.56391668}}} wnTs[1]=0.516302729
210 SkOpSegment::addT insert t=0.589197265 segID=1 spanID=13
211 SkOpSegment::addT insert t=0.322114632 segID=4 spanID=14
212 SkOpSegment::addT insert t=0.516302729 segID=1 spanID=15
213 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}}}
214 debugShowCubicIntersection no intersect {{{2.7282393,3.51794004}, {3.05293441,2. 67707705}, {4.14352131,1.38117373}, {6,2}}} {{{4.48402119,2.56391668}, {4.674306 39,2.34861207}, {4.84861231,2.15138769}, {5,2}}}
215 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}}}
216 SkOpSegment::addT insert t=0.437504678 segID=5 spanID=16
217 SkOpSegment::addT insert t=0.351448746 segID=3 spanID=17
218 debugShowCubicLineIntersection wtTs[0]=0.589250227 {{{1,3}, {1.84861219,5.545836 45}, {3.41736698,3.77081728}, {4.48402119,2.56391668}}} {{3.00020218,3.99986529} } wnTs[0]=0.999933 {{{6,2}, {3,4}}}
219 SkOpSegment::addT insert t=0.999932596 segID=6 spanID=18
220 SkOpSegment::addT insert t=0.589250227 segID=1 spanID=19
221 debugShowCubicLineIntersection no intersect {{{4.48402119,2.56391668}, {4.674306 39,2.34861207}, {4.84861231,2.15138769}, {5,2}}} {{{6,2}, {3,4}}}
222 debugShowLineIntersection no intersect {{{6,2}, {3,4}}} {{{5,2}, {1,3}}}
223 debugShowCubicIntersection wtTs[0]=1 {{{1,3}, {1.84861219,5.54583645}, {3.417366 98,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} }}
224 debugShowCubicLineIntersection wtTs[0]=0 {{{1,3}, {1.84861219,5.54583645}, {3.41 736698,3.77081728}, {4.48402119,2.56391668}}} {{1,3}} wnTs[0]=1 {{{5,2}, {1,3}}}
225 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}}}
226 SkOpSegment::sortAngles [4] tStart=0 [7]
227 SkOpAngle::after [4/1] 18/17 tStart=0 tEnd=0.322114632 < [1/12] 1/1 tStart=0.589 197265 tEnd=0.589250227 < [1/11] 17/17 tStart=0.589197265 tEnd=0.516302729 T 5
228 SkOpAngle::afterPart {{{3,4}, {2.87721833,4.1227816}, {2.78458726,4.17018661}, { 2.72210693,4.16072464}}} id=4
229 SkOpAngle::afterPart {{{3,4}, {3.00006742,3.99995506}, {3.00013476,3.99991025}, {3.00020218,3.99986529}}} id=1
230 SkOpAngle::afterPart {{{3,4}, {2.9072112,4.06185918}, {2.81442231,4.11606536}, { 2.72210693,4.16072464}}} id=1
231 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
232 SkOpAngle::afterPart {{{3,4}, {2.87721833,4.1227816}, {2.78458726,4.17018661}, { 2.72210693,4.16072464}}} id=4
233 SkOpAngle::afterPart {{{3,4}, {3.00020218,3.99986529}}} id=6
234 SkOpAngle::afterPart {{{3,4}, {3.00006742,3.99995506}, {3.00013476,3.99991025}, {3.00020218,3.99986529}}} id=1
235 SkOpAngle::after [1/12] 1/1 tStart=0.589197265 tEnd=0.589250227 < [6/8] 1/1 tSta rt=1 tEnd=0.999932596 < [1/11] 17/17 tStart=0.589197265 tEnd=0.516302729 T 12
236 SkOpAngle::afterPart {{{3,4}, {3.00006742,3.99995506}, {3.00013476,3.99991025}, {3.00020218,3.99986529}}} id=1
237 SkOpAngle::afterPart {{{3,4}, {3.00020218,3.99986529}}} id=6
238 SkOpAngle::afterPart {{{3,4}, {2.9072112,4.06185918}, {2.81442231,4.11606536}, { 2.72210693,4.16072464}}} id=1
239 SkOpSegment::sortAngles [4] tStart=0.322114632 [14]
240 SkOpAngle::after [4/2] 29/1 tStart=0.322114632 tEnd=0 < [1/9] 17/13 tStart=0.516 302729 tEnd=0 < [4/3] 13/5 tStart=0.322114632 tEnd=1 F 11
241 SkOpAngle::afterPart {{{2.72210693,4.16072464}, {2.78458726,4.17018661}, {2.8772 1833,4.1227816}, {3,4}}} id=4
242 SkOpAngle::afterPart {{{2.72210693,4.16072464}, {2.06824885,4.47704065}, {1.4381 4079,4.31442231}, {1,3}}} id=1
243 SkOpAngle::afterPart {{{2.72210693,4.16072464}, {2.59061803,4.14081206}, {2.5926 6219,3.86904402}, {2.7282393,3.51794004}}} id=4
244 SkOpAngle::after [4/2] 29/1 tStart=0.322114632 tEnd=0 < [1/10] 1/1 tStart=0.5163 02729 tEnd=0.589197265 < [4/3] 13/5 tStart=0.322114632 tEnd=1 T 12
245 SkOpAngle::afterPart {{{2.72210693,4.16072464}, {2.78458726,4.17018661}, {2.8772 1833,4.1227816}, {3,4}}} id=4
246 SkOpAngle::afterPart {{{2.72210693,4.16072464}, {2.81442231,4.11606536}, {2.9072 112,4.06185918}, {3,4}}} id=1
247 SkOpAngle::afterPart {{{2.72210693,4.16072464}, {2.59061803,4.14081206}, {2.5926 6219,3.86904402}, {2.7282393,3.51794004}}} id=4
248 SkOpSegment::sortAngles [5] tStart=0.437504678 [16]
249 SkOpAngle::after [5/4] 17/21 tStart=0.437504678 tEnd=0 < [3/15] 1/1 tStart=0.351 448746 tEnd=0 < [5/5] 1/1 tStart=0.437504678 tEnd=1 T 11
250 SkOpAngle::afterPart {{{3.5942049,2.35144877}, {3.15895005,2.69507766}, {2.87029 493,3.15005855}, {2.7282393,3.51794004}}} id=5
251 SkOpAngle::afterPart {{{3.5942049,2.35144877}, {5,2}}} id=3
252 SkOpAngle::afterPart {{{3.5942049,2.35144877}, {4.15380764,1.9096486}, {4.955739 42,1.65191312}, {6,2}}} id=5
253 SkOpAngle::after [5/4] 17/21 tStart=0.437504678 tEnd=0 < [3/16] 17/17 tStart=0.3 51448746 tEnd=1 < [3/15] 1/1 tStart=0.351448746 tEnd=0 F 12
254 SkOpAngle::afterPart {{{3.5942049,2.35144877}, {3.15895005,2.69507766}, {2.87029 493,3.15005855}, {2.7282393,3.51794004}}} id=5
255 SkOpAngle::afterPart {{{3.5942049,2.35144877}, {1,3}}} id=3
256 SkOpAngle::afterPart {{{3.5942049,2.35144877}, {5,2}}} id=3
257 SkOpAngle::after [3/15] 1/1 tStart=0.351448746 tEnd=0 < [3/16] 17/17 tStart=0.35 1448746 tEnd=1 < [5/5] 1/1 tStart=0.437504678 tEnd=1 F 5
258 SkOpAngle::afterPart {{{3.5942049,2.35144877}, {5,2}}} id=3
259 SkOpAngle::afterPart {{{3.5942049,2.35144877}, {1,3}}} id=3
260 SkOpAngle::afterPart {{{3.5942049,2.35144877}, {4.15380764,1.9096486}, {4.955739 42,1.65191312}, {6,2}}} id=5
261 SkOpAngle::after [5/5] 1/1 tStart=0.437504678 tEnd=1 < [3/16] 17/17 tStart=0.351 448746 tEnd=1 < [5/4] 17/21 tStart=0.437504678 tEnd=0 T 11
262 SkOpAngle::afterPart {{{3.5942049,2.35144877}, {4.15380764,1.9096486}, {4.955739 42,1.65191312}, {6,2}}} id=5
263 SkOpAngle::afterPart {{{3.5942049,2.35144877}, {1,3}}} id=3
264 SkOpAngle::afterPart {{{3.5942049,2.35144877}, {3.15895005,2.69507766}, {2.87029 493,3.15005855}, {2.7282393,3.51794004}}} id=5
265 SkOpSegment::sortAngles [6] tStart=0.999932596 [18]
266 SkOpAngle::after [6/6] 1/1 tStart=0.999932596 tEnd=0 < [1/13] 17/17 tStart=0.589 250227 tEnd=0.589197265 < [6/7] 17/17 tStart=0.999932596 tEnd=1 T 11
267 SkOpAngle::afterPart {{{3.00020218,3.99986529}, {6,2}}} id=6
268 SkOpAngle::afterPart {{{3.00020218,3.99986529}, {3.00013476,3.99991025}, {3.0000 6742,3.99995506}, {3,4}}} id=1
269 SkOpAngle::afterPart {{{3.00020218,3.99986529}, {3,4}}} id=6
270 SkOpAngle::after [6/6] 1/1 tStart=0.999932596 tEnd=0 < [1/14] 1/1 tStart=0.58925 0227 tEnd=1 < [1/13] 17/17 tStart=0.589250227 tEnd=0.589197265 T 12
271 SkOpAngle::afterPart {{{3.00020218,3.99986529}, {6,2}}} id=6
272 SkOpAngle::afterPart {{{3.00020218,3.99986529}, {3.52305312,3.65123542}, {4.0458 9321,3.05965083}, {4.48402119,2.56391668}}} id=1
273 SkOpAngle::afterPart {{{3.00020218,3.99986529}, {3.00013476,3.99991025}, {3.0000 6742,3.99995506}, {3,4}}} id=1
274 SkOpSegment::sortAngles [6] tStart=1 [12]
275 SkOpSegment::sortAngles [1] tStart=0.516302729 [15]
276 SkOpSegment::sortAngles [1] tStart=0.589197265 [13]
277 SkOpSegment::sortAngles [1] tStart=0.589250227 [19]
278 SkOpSegment::sortAngles [3] tStart=0.351448746 [17]
279 SkOpSegment::debugShowActiveSpans id=4 (3,4 2.61882615,4.38117361 2.52823925,4.0 3588009 2.7282393,3.51794004) t=0 (3,4) tEnd=0.322114632 windSum=? windValue=1
280 SkOpSegment::debugShowActiveSpans id=4 (3,4 2.61882615,4.38117361 2.52823925,4.0 3588009 2.7282393,3.51794004) t=0.322114632 (2.72210693,4.16072464) tEnd=1 windS um=? windValue=1
281 SkOpSegment::debugShowActiveSpans id=5 (2.7282393,3.51794004 3.05293441,2.677077 05 4.14352131,1.38117373 6,2) t=0 (2.7282393,3.51794004) tEnd=0.437504678 windSu m=? windValue=1
282 SkOpSegment::debugShowActiveSpans id=5 (2.7282393,3.51794004 3.05293441,2.677077 05 4.14352131,1.38117373 6,2) t=0.437504678 (3.5942049,2.35144877) tEnd=1 windSu m=? windValue=1
283 SkOpSegment::debugShowActiveSpans id=6 (6,2 3,4) t=0 (6,2) tEnd=0.999932596 wind Sum=? windValue=1
284 SkOpSegment::debugShowActiveSpans id=6 (6,2 3,4) t=0.999932596 (3.00020218,3.999 86529) tEnd=1 windSum=? windValue=1
285 SkOpSegment::debugShowActiveSpans id=1 (1,3 1.84861219,5.54583645 3.41736698,3.7 7081728 4.48402119,2.56391668) t=0 (1,3) tEnd=0.516302729 windSum=? windValue=1
286 SkOpSegment::debugShowActiveSpans id=1 (1,3 1.84861219,5.54583645 3.41736698,3.7 7081728 4.48402119,2.56391668) t=0.516302729 (2.72210693,4.16072464) tEnd=0.5891 97265 windSum=? windValue=1
287 SkOpSegment::debugShowActiveSpans id=1 (1,3 1.84861219,5.54583645 3.41736698,3.7 7081728 4.48402119,2.56391668) t=0.589197265 (3,4) tEnd=0.589250227 windSum=? wi ndValue=1
288 SkOpSegment::debugShowActiveSpans id=1 (1,3 1.84861219,5.54583645 3.41736698,3.7 7081728 4.48402119,2.56391668) t=0.589250227 (3.00020218,3.99986529) tEnd=1 wind Sum=? windValue=1
289 SkOpSegment::debugShowActiveSpans id=2 (4.48402119,2.56391668 4.67430639,2.34861 207 4.84861231,2.15138769 5,2) t=0 (4.48402119,2.56391668) tEnd=1 windSum=? wind Value=1
290 SkOpSegment::debugShowActiveSpans id=3 (5,2 1,3) t=0 (5,2) tEnd=0.351448746 wind Sum=? windValue=1
291 SkOpSegment::debugShowActiveSpans id=3 (5,2 1,3) t=0.351448746 (3.5942049,2.3514 4877) tEnd=1 windSum=? windValue=1
292 SkOpSpan::sortableTop dir=kTop seg=4 t=0.161057316 pt=(2.83844042,4.12995338)
293 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)
294 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)
295 SkOpSpan::sortableTop [2] valid=1 operand=0 span=15 ccw=1 seg=1 {{{1, 3}, {1.848 61219f, 5.54583645f}, {3.41736698f, 3.77081728f}, {4.48402119f, 2.56391668f}}} t =0.546866125 pt=(2.83844042,4.09965467) slope=(3.81218461,-2.15374068)
296 SkOpSpan::sortableTop [3] valid=1 operand=1 span=7 ccw=0 seg=4 {{{3, 4}, {2.6188 2615f, 4.38117361f}, {2.52823925f, 4.03588009f}, {2.7282393f, 3.51794004f}}} t=0 .161057316 pt=(2.83844042,4.12995338) slope=(-0.862714624,0.484601174)
297 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
298 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 op pSum=? windSum=? windValue=1 oppValue=0
299 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
300 SkOpSegment::markWinding id=5 (2.7282393,3.51794004 3.05293441,2.67707705 4.1435 2131,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
301 SkOpSegment::markWinding id=5 (2.7282393,3.51794004 3.05293441,2.67707705 4.1435 2131,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
302 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 newWindSu m=-1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
303 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.58919726 5 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
304 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.58919726 5 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
305 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 op pSum=0 windSum=-1 windValue=1 oppValue=0
306 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 op pSum=0 windSum=-1 windValue=1 oppValue=0
307 SkOpSegment::activeOp id=4 t=0.322114632 tEnd=0 op=union miFrom=0 miTo=0 suFrom= 0 suTo=1 result=1
308 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 new OppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
309 SkOpSegment::markAngle last segment=1 span=19 windSum=?
310 SkOpSegment::markWinding id=6 (6,2 3,4) t=0.999932596 [18] (3.00020218,3.9998652 9) tEnd=1 newWindSum=-1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
311 SkOpSegment::markAngle last segment=6 span=18 windSum=-1
312 SkOpSegment::findNextOp
313 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
314 SkOpAngle::dumpOne [1/12] next=6/8 sect=1/1 s=0.589197265 [13] e=0.589250227 [1 9] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
315 SkOpAngle::dumpOne [6/8] next=1/11 sect=1/1 s=1 [12] e=0.999932596 [18] sgn=1 w indVal=1 windSum=-1 oppVal=0 oppSum=1 operand
316 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
317 SkOpSegment::activeOp id=1 t=0.589197265 tEnd=0.589250227 op=union miFrom=0 miTo =1 suFrom=0 suTo=0 result=1
318 SkOpSegment::findNextOp chase.append segment=1 span=19 windSum=-2147483647
319 SkOpSegment::activeOp id=6 t=1 tEnd=0.999932596 op=union miFrom=1 miTo=1 suFrom= 0 suTo=1 result=0
320 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
321 SkOpSegment::findNextOp chase.append segment=6 span=18 windSum=-1
322 SkOpSegment::activeOp id=1 t=0.589197265 tEnd=0.516302729 op=union miFrom=1 miTo =0 suFrom=1 suTo=1 result=0
323 SkOpSegment::markDone id=1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48 402119,2.56391668) t=0.516302729 [15] (2.72210693,4.16072464) tEnd=0.589197265 n ewWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
324 SkOpSegment::markDone id=4 (3,4 2.61882615,4.38117361 2.52823925,4.03588009 2.72 82393,3.51794004) t=0 [7] (3,4) tEnd=0.322114632 newWindSum=-1 newOppSum=0 oppSu m=0 windSum=-1 windValue=1 oppValue=0
325 SkOpSegment::findNextOp from:[4] to:[1] start=11952148 end=11952772
326 bridgeOp current id=4 from=(2.72210693,4.16072464) to=(3,4)
327 path.moveTo(2.72210693,4.16072464);
328 path.cubicTo(2.78458714,4.17018652, 2.87721825,4.12278175, 3,4);
329 SkOpSegment::markDone id=1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48 402119,2.56391668) t=0.589197265 [13] (3,4) tEnd=0.589250227 newWindSum=1 newOpp Sum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
330 SkOpSegment::markWinding id=6 (6,2 3,4) t=0 [11] (6,2) tEnd=0.999932596 newWindS um=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
331 SkOpSegment::markWinding id=5 (2.7282393,3.51794004 3.05293441,2.67707705 4.1435 2131,1.38117373 6,2) t=0.437504678 [16] (3.5942049,2.35144877) tEnd=1 newWindSum =1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
332 SkOpSegment::markAngle last segment=5 span=16 windSum=1
333 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 newWindS um=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
334 SkOpSegment::markWinding id=2 (4.48402119,2.56391668 4.67430639,2.34861207 4.848 61231,2.15138769 5,2) t=0 [3] (4.48402119,2.56391668) tEnd=1 newWindSum=1 newOpp Sum=0 oppSum=? windSum=? windValue=1 oppValue=0
335 SkOpSegment::markWinding id=3 (5,2 1,3) t=0 [5] (5,2) tEnd=0.351448746 newWindSu m=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
336 SkOpSegment::markAngle last segment=3 span=17 windSum=1
337 SkOpSegment::debugShowActiveSpans id=4 (3,4 2.61882615,4.38117361 2.52823925,4.0 3588009 2.7282393,3.51794004) t=0.322114632 (2.72210693,4.16072464) tEnd=1 windS um=-1 oppSum=1 windValue=1 oppValue=0
338 SkOpSegment::debugShowActiveSpans id=5 (2.7282393,3.51794004 3.05293441,2.677077 05 4.14352131,1.38117373 6,2) t=0 (2.7282393,3.51794004) tEnd=0.437504678 windSu m=-1 oppSum=1 windValue=1 oppValue=0
339 SkOpSegment::debugShowActiveSpans id=5 (2.7282393,3.51794004 3.05293441,2.677077 05 4.14352131,1.38117373 6,2) t=0.437504678 (3.5942049,2.35144877) tEnd=1 windSu m=1 oppSum=0 windValue=1 oppValue=0
340 SkOpSegment::debugShowActiveSpans id=6 (6,2 3,4) t=0 (6,2) tEnd=0.999932596 wind Sum=1 oppSum=0 windValue=1 oppValue=0
341 SkOpSegment::debugShowActiveSpans id=1 (1,3 1.84861219,5.54583645 3.41736698,3.7 7081728 4.48402119,2.56391668) t=0 (1,3) tEnd=0.516302729 windSum=1 oppSum=0 win dValue=1 oppValue=0
342 SkOpSegment::debugShowActiveSpans id=1 (1,3 1.84861219,5.54583645 3.41736698,3.7 7081728 4.48402119,2.56391668) t=0.589250227 (3.00020218,3.99986529) tEnd=1 wind Sum=1 oppSum=0 windValue=1 oppValue=0
343 SkOpSegment::debugShowActiveSpans id=2 (4.48402119,2.56391668 4.67430639,2.34861 207 4.84861231,2.15138769 5,2) t=0 (4.48402119,2.56391668) tEnd=1 windSum=1 oppS um=0 windValue=1 oppValue=0
344 SkOpSegment::debugShowActiveSpans id=3 (5,2 1,3) t=0 (5,2) tEnd=0.351448746 wind Sum=1 oppSum=0 windValue=1 oppValue=0
345 SkOpSegment::debugShowActiveSpans id=3 (5,2 1,3) t=0.351448746 (3.5942049,2.3514 4877) tEnd=1 windSum=1 oppSum=0 windValue=1 oppValue=0
346 SkOpSegment::activeOp id=6 t=0.999932596 tEnd=0 op=union miFrom=0 miTo=0 suFrom= 1 suTo=0 result=1
347 SkOpSegment::findNextOp simple
348 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
349 bridgeOp current id=6 from=(3.00020218,3.99986529) to=(6,2)
350 SkOpSegment::findNextOp
351 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
352 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
353 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
354 SkOpAngle::dumpOne [3/15] next=5/5 sect=1/1 s=0.351448746 [17] e=0 [5] sgn=1 wi ndVal=1 windSum=1 oppVal=0 oppSum=0
355 SkOpSegment::activeOp id=3 t=0.351448746 tEnd=1 op=union miFrom=0 miTo=1 suFrom= 1 suTo=1 result=0
356 SkOpSegment::markDone id=3 (5,2 1,3) t=0.351448746 [17] (3.5942049,2.35144877) t End=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
357 SkOpSegment::markDone id=1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48 402119,2.56391668) t=0 [1] (1,3) tEnd=0.516302729 newWindSum=1 newOppSum=0 oppSu m=0 windSum=1 windValue=1 oppValue=0
358 SkOpSegment::activeOp id=5 t=0.437504678 tEnd=0 op=union miFrom=1 miTo=1 suFrom= 1 suTo=0 result=0
359 SkOpSegment::markDone id=5 (2.7282393,3.51794004 3.05293441,2.67707705 4.1435213 1,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
360 SkOpSegment::markDone id=4 (3,4 2.61882615,4.38117361 2.52823925,4.03588009 2.72 82393,3.51794004) t=0.322114632 [14] (2.72210693,4.16072464) tEnd=1 newWindSum=- 1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
361 SkOpSegment::activeOp id=3 t=0.351448746 tEnd=0 op=union miFrom=1 miTo=0 suFrom= 0 suTo=0 result=1
362 SkOpSegment::markDone id=5 (2.7282393,3.51794004 3.05293441,2.67707705 4.1435213 1,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
363 SkOpSegment::findNextOp from:[5] to:[3] start=11952564 end=11951100
364 bridgeOp current id=5 from=(6,2) to=(3.5942049,2.35144877)
365 path.moveTo(3.00020218,3.99986529);
366 path.lineTo(6,2);
367 path.cubicTo(4.9557395,1.65191317, 4.15380764,1.90964866, 3.5942049,2.35144877);
368 SkOpSegment::findNextOp simple
369 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
370 bridgeOp current id=3 from=(3.5942049,2.35144877) to=(5,2)
371 SkOpSegment::findNextOp simple
372 SkOpSegment::markDone id=2 (4.48402119,2.56391668 4.67430639,2.34861207 4.848612 31,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
373 bridgeOp current id=2 from=(5,2) to=(4.48402119,2.56391668)
374 path.lineTo(5,2);
375 path.cubicTo(4.84861231,2.15138769, 4.67430639,2.34861207, 4.48402119,2.56391668 );
376 SkOpSegment::findNextOp
377 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
378 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
379 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
380 SkOpAngle::dumpOne [6/6] next=1/14 sect=1/1 s=0.999932596 [18] e=0 [11] sgn=1 w indVal=1 windSum=1 oppVal=0 oppSum=0 done operand
381 SkOpSegment::activeOp id=1 t=0.589250227 tEnd=0.589197265 op=union miFrom=1 miTo =0 suFrom=0 suTo=0 result=1
382 SkOpSegment::activeOp id=6 t=0.999932596 tEnd=1 op=union miFrom=0 miTo=0 suFrom= 0 suTo=1 result=1
383 SkOpSegment::activeOp id=6 t=0.999932596 tEnd=0 op=union miFrom=0 miTo=0 suFrom= 1 suTo=0 result=1
384 SkOpSegment::markDone id=1 (1,3 1.84861219,5.54583645 3.41736698,3.77081728 4.48 402119,2.56391668) t=0.589250227 [19] (3.00020218,3.99986529) tEnd=1 newWindSum= 1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
385 SkOpSegment::findNextOp from:[1] to:[6] start=11952668 end=11951916
386 bridgeOp current id=1 from=(4.48402119,2.56391668) to=(3.00020218,3.99986529)
387 path.cubicTo(4.04589319,3.0596509, 3.52305317,3.65123534, 3.00020218,3.99986529) ;
388 path.close();
227 </div> 389 </div>
228 390
391 </div>
392
229 <script type="text/javascript"> 393 <script type="text/javascript">
230 394
231 var testDivs = [ 395 var testDivs = [
232 loops59i, 396 cubics45u_release,
397 cubics45u_debug,
233 ]; 398 ];
234 399
235 var decimal_places = 3; // make this 3 to show more precision 400 var decimal_places = 3; // make this 3 to show more precision
236 401
237 var tests = []; 402 var tests = [];
238 var testLines = []; 403 var testLines = [];
239 var testTitles = []; 404 var testTitles = [];
240 var testIndex = 0; 405 var testIndex = 0;
241 var ctx; 406 var ctx;
242 407
(...skipping 10 matching lines...) Expand all
253 var collect_bounds = false; 418 var collect_bounds = false;
254 var control_lines = 0; 419 var control_lines = 0;
255 var curve_t = false; 420 var curve_t = false;
256 var debug_xy = 1; 421 var debug_xy = 1;
257 var focus_enabled = false; 422 var focus_enabled = false;
258 var focus_on_selection = false; 423 var focus_on_selection = false;
259 var step_limit = 0; 424 var step_limit = 0;
260 var draw_active = false; 425 var draw_active = false;
261 var draw_add = false; 426 var draw_add = false;
262 var draw_angle = 0; 427 var draw_angle = 0;
428 var draw_coincidence = false;
263 var draw_deriviatives = 0; 429 var draw_deriviatives = 0;
264 var draw_hints = false; 430 var draw_hints = false;
265 var draw_id = false; 431 var draw_id = false;
266 var draw_intersection = 0; 432 var draw_intersection = 0;
267 var draw_intersectT = false; 433 var draw_intersectT = false;
268 var draw_legend = true; 434 var draw_legend = true;
269 var draw_log = false; 435 var draw_log = false;
270 var draw_mark = false; 436 var draw_mark = false;
271 var draw_midpoint = false; 437 var draw_midpoint = false;
272 var draw_op = 0; 438 var draw_op = 0;
273 var draw_sequence = false; 439 var draw_sequence = false;
274 var draw_sort = 0; 440 var draw_sort = 0;
275 var draw_top = false; 441 var draw_top = false;
276 var draw_path = 3; 442 var draw_path = 3;
277 var draw_computed = 0; 443 var draw_computed = 0;
278 var retina_scale = !!window.devicePixelRatio; 444 var retina_scale = !!window.devicePixelRatio;
279 445
280 var activeCount = 0; 446 var activeCount = 0;
281 var addCount = 0; 447 var addCount = 0;
282 var angleCount = 0; 448 var angleCount = 0;
449 var coinCount = 0;
283 var opCount = 0; 450 var opCount = 0;
284 var sectCount = 0; 451 var sectCount = 0;
285 var sortCount = 0; 452 var sortCount = 0;
286 var topCount = 0; 453 var topCount = 0;
287 var markCount = 0; 454 var markCount = 0;
288 var activeMax = 0; 455 var activeMax = 0;
289 var addMax = 0; 456 var addMax = 0;
290 var angleMax = 0; 457 var angleMax = 0;
458 var coinMax = 0;
291 var sectMax = 0; 459 var sectMax = 0;
292 var sectMax2 = 0; 460 var sectMax2 = 0;
293 var sortMax = 0; 461 var sortMax = 0;
294 var topMax = 0; 462 var topMax = 0;
295 var markMax = 0; 463 var markMax = 0;
296 var opMax = 0; 464 var opMax = 0;
297 var stepMax = 0; 465 var stepMax = 0;
298 var lastIndex = 0; 466 var lastIndex = 0;
299 var hasPath = false; 467 var hasPath = false;
300 var hasComputedPath = false; 468 var hasComputedPath = false;
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
443 var MARK_SIMPLE_DONE_CUBIC = MARK_SIMPLE_DONE_CONIC + 1; 611 var MARK_SIMPLE_DONE_CUBIC = MARK_SIMPLE_DONE_CONIC + 1;
444 var MARK_DONE_UNARY_LINE = MARK_SIMPLE_DONE_CUBIC + 1; 612 var MARK_DONE_UNARY_LINE = MARK_SIMPLE_DONE_CUBIC + 1;
445 var MARK_DONE_UNARY_QUAD = MARK_DONE_UNARY_LINE + 1; 613 var MARK_DONE_UNARY_QUAD = MARK_DONE_UNARY_LINE + 1;
446 var MARK_DONE_UNARY_CONIC = MARK_DONE_UNARY_QUAD + 1; 614 var MARK_DONE_UNARY_CONIC = MARK_DONE_UNARY_QUAD + 1;
447 var MARK_DONE_UNARY_CUBIC = MARK_DONE_UNARY_CONIC + 1; 615 var MARK_DONE_UNARY_CUBIC = MARK_DONE_UNARY_CONIC + 1;
448 var MARK_ANGLE_LAST = MARK_DONE_UNARY_CUBIC + 1; 616 var MARK_ANGLE_LAST = MARK_DONE_UNARY_CUBIC + 1;
449 617
450 var COMPUTED_SET_1 = MARK_ANGLE_LAST + 1; 618 var COMPUTED_SET_1 = MARK_ANGLE_LAST + 1;
451 var COMPUTED_SET_2 = COMPUTED_SET_1 + 1; 619 var COMPUTED_SET_2 = COMPUTED_SET_1 + 1;
452 620
453 var ANGLE_AFTER = COMPUTED_SET_2; 621 var ANGLE_AFTER = COMPUTED_SET_2 + 1;
454 var ANGLE_AFTERPART = ANGLE_AFTER + 1; 622 var ANGLE_AFTERPART = ANGLE_AFTER + 1;
455 623
456 var ACTIVE_OP = ANGLE_AFTERPART + 1; 624 var ACTIVE_OP = ANGLE_AFTERPART + 1;
457 625
458 var FRAG_TYPE_LAST = ACTIVE_OP; 626 var COIN_MAIN_SPAN = ACTIVE_OP + 1;
627 var COIN_OPP_SPAN = COIN_MAIN_SPAN + 1;
628
629 var FRAG_TYPE_LAST = COIN_OPP_SPAN;
459 630
460 var REC_TYPE_UNKNOWN = -1; 631 var REC_TYPE_UNKNOWN = -1;
461 var REC_TYPE_PATH = 0; 632 var REC_TYPE_PATH = 0;
462 var REC_TYPE_PATH2 = 1; 633 var REC_TYPE_PATH2 = 1;
463 var REC_TYPE_SECT = 2; 634 var REC_TYPE_SECT = 2;
464 var REC_TYPE_ACTIVE = 3; 635 var REC_TYPE_ACTIVE = 3;
465 var REC_TYPE_ADD = 4; 636 var REC_TYPE_ADD = 4;
466 var REC_TYPE_SORT = 5; 637 var REC_TYPE_SORT = 5;
467 var REC_TYPE_OP = 6; 638 var REC_TYPE_OP = 6;
468 var REC_TYPE_MARK = 7; 639 var REC_TYPE_MARK = 7;
469 var REC_TYPE_COMPUTED = 8; 640 var REC_TYPE_COMPUTED = 8;
470 var REC_TYPE_COIN = 9; 641 var REC_TYPE_COIN = 9;
471 var REC_TYPE_ANGLE = 10; 642 var REC_TYPE_ANGLE = 10;
472 var REC_TYPE_ACTIVE_OP = 11; 643 var REC_TYPE_ACTIVE_OP = 11;
473 var REC_TYPE_AFTERPART = 12; 644 var REC_TYPE_AFTERPART = 12;
474 var REC_TYPE_TOP = 13; 645 var REC_TYPE_TOP = 13;
475 var REC_TYPE_LAST = REC_TYPE_TOP; 646 var REC_TYPE_COINCIDENCE = 14;
647 var REC_TYPE_LAST = REC_TYPE_COINCIDENCE;
476 648
477 function strs_to_nums(strs) { 649 function strs_to_nums(strs) {
478 var result = []; 650 var result = [];
479 for (var idx = 1; idx < strs.length; ++idx) { 651 for (var idx = 1; idx < strs.length; ++idx) {
480 var str = strs[idx]; 652 var str = strs[idx];
481 var num = parseFloat(str); 653 var num = parseFloat(str);
482 if (isNaN(num)) { 654 if (isNaN(num)) {
483 result.push(str); 655 result.push(str);
484 } else { 656 } else {
485 result.push(num); 657 result.push(num);
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
567 continue; 739 continue;
568 } 740 }
569 var opStart = "SkOpSegment::"; 741 var opStart = "SkOpSegment::";
570 if (line.lastIndexOf(opStart, 0) === 0) { 742 if (line.lastIndexOf(opStart, 0) === 0) {
571 line = line.substr(opStart.length); 743 line = line.substr(opStart.length);
572 } 744 }
573 var angleStart = "SkOpAngle::"; 745 var angleStart = "SkOpAngle::";
574 if (line.lastIndexOf(angleStart, 0) === 0) { 746 if (line.lastIndexOf(angleStart, 0) === 0) {
575 line = line.substr(angleStart.length); 747 line = line.substr(angleStart.length);
576 } 748 }
749 var coinStart = "SkOpCoincidence::";
750 if (line.lastIndexOf(coinStart, 0) === 0) {
751 line = line.substr(coinStart.length);
752 }
577 var type = line.lastIndexOf("debugShowActiveSpans", 0) === 0 ? REC_TYPE_ ACTIVE 753 var type = line.lastIndexOf("debugShowActiveSpans", 0) === 0 ? REC_TYPE_ ACTIVE
754 : line.lastIndexOf("debugShowCoincidence", 0) === 0 ? REC_TYPE_C OINCIDENCE
578 : line.lastIndexOf("((SkOpSegment*)", 0) === 0 ? REC_TYPE_PATH2 755 : line.lastIndexOf("((SkOpSegment*)", 0) === 0 ? REC_TYPE_PATH2
579 : line.lastIndexOf("debugShowTs", 0) === 0 ? REC_TYPE_COIN 756 : line.lastIndexOf("debugShowTs", 0) === 0 ? REC_TYPE_COIN
580 : line.lastIndexOf("afterPart", 0) === 0 ? REC_TYPE_AFTERPART 757 : line.lastIndexOf("afterPart", 0) === 0 ? REC_TYPE_AFTERPART
581 : line.lastIndexOf("debugShow", 0) === 0 ? REC_TYPE_SECT 758 : line.lastIndexOf("debugShow", 0) === 0 ? REC_TYPE_SECT
582 : line.lastIndexOf("activeOp", 0) === 0 ? REC_TYPE_ACTIVE_OP 759 : line.lastIndexOf("activeOp", 0) === 0 ? REC_TYPE_ACTIVE_OP
583 : line.lastIndexOf("computed", 0) === 0 ? REC_TYPE_COMPUTED 760 : line.lastIndexOf("computed", 0) === 0 ? REC_TYPE_COMPUTED
584 : line.lastIndexOf("debugOne", 0) === 0 ? REC_TYPE_SORT 761 : line.lastIndexOf("debugOne", 0) === 0 ? REC_TYPE_SORT
585 : line.lastIndexOf("dumpOne", 0) === 0 ? REC_TYPE_SORT 762 : line.lastIndexOf("dumpOne", 0) === 0 ? REC_TYPE_SORT
586 : line.lastIndexOf("findTop", 0) === 0 ? REC_TYPE_TOP 763 : line.lastIndexOf("findTop", 0) === 0 ? REC_TYPE_TOP
587 : line.lastIndexOf("pathB.", 0) === 0 ? REC_TYPE_ADD 764 : line.lastIndexOf("pathB.", 0) === 0 ? REC_TYPE_ADD
(...skipping 13 matching lines...) Expand all
601 records.push(record); 778 records.push(record);
602 } 779 }
603 record = []; 780 record = [];
604 recType = type; 781 recType = type;
605 lastLineNo = lineNo; 782 lastLineNo = lineNo;
606 } 783 }
607 var found = false; 784 var found = false;
608 switch (recType) { 785 switch (recType) {
609 case REC_TYPE_ACTIVE: 786 case REC_TYPE_ACTIVE:
610 found = match_regexp(line, lineNo, record, ACTIVE_LINE_SPAN, "de bugShowActiveSpans" + 787 found = match_regexp(line, lineNo, record, ACTIVE_LINE_SPAN, "de bugShowActiveSpans" +
611 " id=IDX LINE_VAL t=T_VAL PT_VAL tEnd=T_VAL windSum=OPT windValue=IDX oppValue=N UM" 788 " id=IDX LINE_VAL t=T_VAL PT_VAL tEnd=T_VAL windSum=OPT windValue=IDX"
612 ) || match_regexp(line, lineNo, record, ACTIVE_QUAD_SPAN, "debug ShowActiveSpans" + 789 ) || match_regexp(line, lineNo, record, ACTIVE_QUAD_SPAN, "debug ShowActiveSpans" +
613 " id=IDX QUAD_VAL t=T_VAL PT_VAL tEnd=T_VAL windSum=OPT windValue=IDX oppValue=N UM" 790 " id=IDX QUAD_VAL t=T_VAL PT_VAL tEnd=T_VAL windSum=OPT windValue=IDX"
614 ) || match_regexp(line, lineNo, record, ACTIVE_CONIC_SPAN, "debu gShowActiveSpans" + 791 ) || match_regexp(line, lineNo, record, ACTIVE_CONIC_SPAN, "debu gShowActiveSpans" +
615 " id=IDX CONIC_VAL t=T_VAL PT_VAL tEnd=T_VAL windSum=OPT windValue=IDX oppValue= NUM" 792 " id=IDX CONIC_VAL t=T_VAL PT_VAL tEnd=T_VAL windSum=OPT windValue=IDX"
616 ) || match_regexp(line, lineNo, record, ACTIVE_CUBIC_SPAN, "debu gShowActiveSpans" + 793 ) || match_regexp(line, lineNo, record, ACTIVE_CUBIC_SPAN, "debu gShowActiveSpans" +
617 " id=IDX CUBIC_VAL t=T_VAL PT_VAL tEnd=T_VAL windSum=OPT windValue=IDX oppValue= NUM" 794 " id=IDX CUBIC_VAL t=T_VAL PT_VAL tEnd=T_VAL windSum=OPT windValue=IDX"
795 ) || match_regexp(line, lineNo, record, ACTIVE_LINE_SPAN, "debug ShowActiveSpans" +
796 " id=IDX LINE_VAL t=T_VAL PT_VAL tEnd=T_VAL windSum=OPT oppSum=OPT windValue=IDX oppValue=NUM"
797 ) || match_regexp(line, lineNo, record, ACTIVE_QUAD_SPAN, "debug ShowActiveSpans" +
798 " id=IDX QUAD_VAL t=T_VAL PT_VAL tEnd=T_VAL windSum=OPT oppSum=OPT windValue=IDX oppValue=NUM"
799 ) || match_regexp(line, lineNo, record, ACTIVE_CONIC_SPAN, "debu gShowActiveSpans" +
800 " id=IDX CONIC_VAL t=T_VAL PT_VAL tEnd=T_VAL windSum=OPT oppSum=OPT windValue=ID X oppValue=NUM"
801 ) || match_regexp(line, lineNo, record, ACTIVE_CUBIC_SPAN, "debu gShowActiveSpans" +
802 " id=IDX CUBIC_VAL t=T_VAL PT_VAL tEnd=T_VAL windSum=OPT oppSum=OPT windValue=ID X oppValue=NUM"
618 ); 803 );
619 break; 804 break;
620 case REC_TYPE_ACTIVE_OP: 805 case REC_TYPE_ACTIVE_OP:
621 found = match_regexp(line, lineNo, record, ACTIVE_OP, "activeOp" + 806 found = match_regexp(line, lineNo, record, ACTIVE_OP, "activeOp" +
622 " id=IDX t=T_VAL tEnd=T_VAL op=OPER miFrom=NUM miTo=NUM suFrom=NUM suTo=NUM resu lt=IDX" 807 " id=IDX t=T_VAL tEnd=T_VAL op=OPER miFrom=NUM miTo=NUM suFrom=NUM suTo=NUM resu lt=IDX"
623 ); 808 );
624 break; 809 break;
625 case REC_TYPE_ADD: 810 case REC_TYPE_ADD:
626 if (match_regexp(line, lineNo, record, ADD_MOVETO, "PATH.moveTo( P_VAL);")) { 811 if (match_regexp(line, lineNo, record, ADD_MOVETO, "PATH.moveTo( P_VAL);")) {
627 moveX = record[1][0]; 812 moveX = record[1][0];
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
663 || match_regexp(line, lineNo, record, PATH_CONIC, "afterPart CONIC_VAL") 848 || match_regexp(line, lineNo, record, PATH_CONIC, "afterPart CONIC_VAL")
664 || match_regexp(line, lineNo, record, PATH_CUBIC, "afterPart CUBIC_VAL") 849 || match_regexp(line, lineNo, record, PATH_CUBIC, "afterPart CUBIC_VAL")
665 break; 850 break;
666 case REC_TYPE_ANGLE: 851 case REC_TYPE_ANGLE:
667 found = match_regexp(line, lineNo, record, ANGLE_AFTER, "after " + 852 found = match_regexp(line, lineNo, record, ANGLE_AFTER, "after " +
668 "[IDX/IDX] NUM/NUM tStart=T_VAL tEnd=T_VAL < [IDX/IDX] NUM/NUM tStart=T_VAL tEnd =T_VAL < [IDX/IDX] NUM/NUM tStart=T_VAL tEnd=T_VAL T_F IDX"); 853 "[IDX/IDX] NUM/NUM tStart=T_VAL tEnd=T_VAL < [IDX/IDX] NUM/NUM tStart=T_VAL tEnd =T_VAL < [IDX/IDX] NUM/NUM tStart=T_VAL tEnd=T_VAL T_F IDX");
669 break; 854 break;
670 case REC_TYPE_COIN: 855 case REC_TYPE_COIN:
671 found = true; 856 found = true;
672 break; 857 break;
858 case REC_TYPE_COINCIDENCE:
859 found = match_regexp(line, lineNo, record, COIN_MAIN_SPAN, "debu gShowCoincidence" +
860 " + id=IDX t=T_VAL tEnd=T_VAL"
861 ) || match_regexp(line, lineNo, record, COIN_OPP_SPAN, "debugSho wCoincidence" +
862 " - id=IDX t=T_VAL tEnd=T_VAL"
863 );
864 break;
673 case REC_TYPE_COMPUTED: 865 case REC_TYPE_COMPUTED:
674 found = line == "computed quadratics given" 866 found = line == "computed quadratics given"
675 || match_regexp(line, lineNo, record, COMPUTED_SET_1, "compute d quadratics set 1" 867 || match_regexp(line, lineNo, record, COMPUTED_SET_1, "compute d quadratics set 1"
676 ) || match_regexp(line, lineNo, record, COMPUTED_SET_2, "compute d quadratics set 2" 868 ) || match_regexp(line, lineNo, record, COMPUTED_SET_2, "compute d quadratics set 2"
677 ) || match_regexp(line, lineNo, record, PATH_QUAD, " QUAD_VAL," 869 ) || match_regexp(line, lineNo, record, PATH_QUAD, " QUAD_VAL,"
678 ) || match_regexp(line, lineNo, record, PATH_CONIC, " CONIC_VAL ," 870 ) || match_regexp(line, lineNo, record, PATH_CONIC, " CONIC_VAL ,"
679 ) || match_regexp(line, lineNo, record, PATH_CUBIC, " CUBIC_VAL ," 871 ) || match_regexp(line, lineNo, record, PATH_CUBIC, " CUBIC_VAL ,"
680 ); 872 );
681 break; 873 break;
682 case REC_TYPE_PATH: 874 case REC_TYPE_PATH:
(...skipping 461 matching lines...) Expand 10 before | Expand all | Expand 10 after
1144 break; 1336 break;
1145 } 1337 }
1146 { 1338 {
1147 var curve = curvePartialByID(test, frags[0], frags[4], f rags[5]); 1339 var curve = curvePartialByID(test, frags[0], frags[4], f rags[5]);
1148 curve_extremes(curve, angleBounds); 1340 curve_extremes(curve, angleBounds);
1149 curve = curvePartialByID(test, frags[6], frags[10], frag s[11]); 1341 curve = curvePartialByID(test, frags[6], frags[10], frag s[11]);
1150 curve_extremes(curve, angleBounds); 1342 curve_extremes(curve, angleBounds);
1151 curve = curvePartialByID(test, frags[12], frags[16], fra gs[17]); 1343 curve = curvePartialByID(test, frags[12], frags[16], fra gs[17]);
1152 } 1344 }
1153 break; 1345 break;
1346 case REC_TYPE_COINCIDENCE:
1347 if (!draw_coincidence) {
1348 break;
1349 }
1350 {
1351 var curve = curvePartialByID(test, frags[0], frags[1], f rags[2]);
1352 curve_extremes(curve, angleBounds);
1353 }
1354 break;
1154 case REC_TYPE_SORT: 1355 case REC_TYPE_SORT:
1155 if (!draw_sort) { 1356 if (!draw_sort) {
1156 break; 1357 break;
1157 } 1358 }
1158 if (fragType == SORT_UNARY || fragType == SORT_BINARY) { 1359 if (fragType == SORT_UNARY || fragType == SORT_BINARY) {
1159 var curve = curvePartialByID(test, frags[0], frags[6], f rags[8]); 1360 var curve = curvePartialByID(test, frags[0], frags[6], f rags[8]);
1160 curve_extremes(curve, angleBounds); 1361 curve_extremes(curve, angleBounds);
1161 } 1362 }
1162 break; 1363 break;
1163 case REC_TYPE_TOP: 1364 case REC_TYPE_TOP:
(...skipping 1246 matching lines...) Expand 10 before | Expand all | Expand 10 after
2410 var secondPath = test.length; 2611 var secondPath = test.length;
2411 var closeCount = 0; 2612 var closeCount = 0;
2412 logStart = -1; 2613 logStart = -1;
2413 logRange = 0; 2614 logRange = 0;
2414 // find last active rec type at this step 2615 // find last active rec type at this step
2415 var curType = test[0]; 2616 var curType = test[0];
2416 var curStep = 0; 2617 var curStep = 0;
2417 var hasOp = false; 2618 var hasOp = false;
2418 var lastActive = 0; 2619 var lastActive = 0;
2419 var lastAdd = 0; 2620 var lastAdd = 0;
2621 var lastCoin = 0;
2420 var lastSect = 0; 2622 var lastSect = 0;
2421 var lastSort = 0; 2623 var lastSort = 0;
2422 var lastMark = 0; 2624 var lastMark = 0;
2423 var lastTop = 0; 2625 var lastTop = 0;
2424 activeCount = 0; 2626 activeCount = 0;
2425 addCount = 0; 2627 addCount = 0;
2426 angleCount = 0; 2628 angleCount = 0;
2427 opCount = 0; 2629 opCount = 0;
2428 sectCount = 0; 2630 sectCount = 0;
2429 sortCount = 0; 2631 sortCount = 0;
2430 topCount = 0; 2632 topCount = 0;
2431 markCount = 0; 2633 markCount = 0;
2432 activeMax = 0; 2634 activeMax = 0;
2433 addMax = 0; 2635 addMax = 0;
2434 angleMax = 0; 2636 angleMax = 0;
2637 coinMax = 0;
2435 opMax = 0; 2638 opMax = 0;
2436 sectMax = 0; 2639 sectMax = 0;
2437 sectMax2 = 0; 2640 sectMax2 = 0;
2438 sortMax = 0; 2641 sortMax = 0;
2439 topMax = 0; 2642 topMax = 0;
2440 markMax = 0; 2643 markMax = 0;
2441 lastIndex = test.length - 3; 2644 lastIndex = test.length - 3;
2442 for (var tIndex = 0; tIndex < test.length; tIndex += 3) { 2645 for (var tIndex = 0; tIndex < test.length; tIndex += 3) {
2443 var recType = test[tIndex]; 2646 var recType = test[tIndex];
2444 if (!typeof recType == 'number' || recType < REC_TYPE_UNKNOWN || recType > REC_TYPE_LAST) { 2647 if (!typeof recType == 'number' || recType < REC_TYPE_UNKNOWN || recType > REC_TYPE_LAST) {
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
2511 } 2714 }
2512 if (recType == REC_TYPE_ANGLE) { 2715 if (recType == REC_TYPE_ANGLE) {
2513 ++angleMax; 2716 ++angleMax;
2514 if (draw_angle == 0 || draw_angle == 3 || !inStepRange) { 2717 if (draw_angle == 0 || draw_angle == 3 || !inStepRange) {
2515 continue; 2718 continue;
2516 } 2719 }
2517 lastAngle = tIndex; 2720 lastAngle = tIndex;
2518 ++angleCount; 2721 ++angleCount;
2519 bumpStep = true; 2722 bumpStep = true;
2520 } 2723 }
2724 if (recType == REC_TYPE_COINCIDENCE) {
2725 ++coinMax;
2726 if (!draw_coincidence || !inStepRange) {
2727 continue;
2728 }
2729 lastCoin = tIndex;
2730 ++coinCount;
2731 bumpStep = true;
2732 }
2521 if (recType == REC_TYPE_SECT) { 2733 if (recType == REC_TYPE_SECT) {
2522 if (records.length != 2) { 2734 if (records.length != 2) {
2523 console.log("expect only two elements: " + records.length); 2735 console.log("expect only two elements: " + records.length);
2524 throw "stop execution"; 2736 throw "stop execution";
2525 } 2737 }
2526 ++sectMax; 2738 ++sectMax;
2527 var sectBump = 1; 2739 var sectBump = 1;
2528 switch (fragType) { 2740 switch (fragType) {
2529 case INTERSECT_LINE: 2741 case INTERSECT_LINE:
2530 case INTERSECT_QUAD_LINE: 2742 case INTERSECT_QUAD_LINE:
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
2609 if (bumpStep) { 2821 if (bumpStep) {
2610 lastIndex = tIndex; 2822 lastIndex = tIndex;
2611 logStart = test[tIndex + 1]; 2823 logStart = test[tIndex + 1];
2612 logRange = records.length / 2; 2824 logRange = records.length / 2;
2613 ++curStep; 2825 ++curStep;
2614 } 2826 }
2615 } 2827 }
2616 stepMax = (draw_add ? addMax : 0) 2828 stepMax = (draw_add ? addMax : 0)
2617 + (draw_active ? activeMax : 0) 2829 + (draw_active ? activeMax : 0)
2618 + (draw_angle ? angleMax : 0) 2830 + (draw_angle ? angleMax : 0)
2831 + (draw_coincidence ? coinMax : 0)
2619 + (draw_op ? opMax : 0) 2832 + (draw_op ? opMax : 0)
2620 + (draw_sort ? sortMax : 0) 2833 + (draw_sort ? sortMax : 0)
2621 + (draw_top ? topMax : 0) 2834 + (draw_top ? topMax : 0)
2622 + (draw_mark ? markMax : 0) 2835 + (draw_mark ? markMax : 0)
2623 + (draw_intersection == 2 ? sectMax : draw_intersection == 3 ? sectM ax2 : 0); 2836 + (draw_intersection == 2 ? sectMax : draw_intersection == 3 ? sectM ax2 : 0);
2624 if (stepMax == 0) { 2837 if (stepMax == 0) {
2625 stepMax = addMax + activeMax + angleMax + opMax + sortMax + topMax + mar kMax; 2838 stepMax = addMax + activeMax + angleMax + coinMax + opMax + sortMax + to pMax + markMax;
2626 } 2839 }
2627 drawnPts = []; 2840 drawnPts = [];
2628 drawnLines = []; 2841 drawnLines = [];
2629 drawnQuads = []; 2842 drawnQuads = [];
2630 drawnConics = []; 2843 drawnConics = [];
2631 drawnCubics = []; 2844 drawnCubics = [];
2632 focusXmin = focusYmin = Infinity; 2845 focusXmin = focusYmin = Infinity;
2633 focusXmax = focusYmax = -Infinity; 2846 focusXmax = focusYmax = -Infinity;
2634 var pathIndex = 0; 2847 var pathIndex = 0;
2635 var opLetter = 'S'; 2848 var opLetter = 'S';
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after
2910 case PATH_CUBIC: 3123 case PATH_CUBIC:
2911 drawCubic(frags[0], frags[1], frags[2], frags[3], 3124 drawCubic(frags[0], frags[1], frags[2], frags[3],
2912 frags[4], frags[5], frags[6], frags[7]); 3125 frags[4], frags[5], frags[6], frags[7]);
2913 break; 3126 break;
2914 default: 3127 default:
2915 console.log("unknown REC_TYPE_AFTERPART frag type: " + fragType); 3128 console.log("unknown REC_TYPE_AFTERPART frag type: " + fragType);
2916 throw "stop execution"; 3129 throw "stop execution";
2917 } 3130 }
2918 ++afterIndex; 3131 ++afterIndex;
2919 break; 3132 break;
3133 case REC_TYPE_COINCIDENCE:
3134 if (!draw_coincidence || (step_limit > 0 && tIndex < lastCoi n)) {
3135 continue;
3136 }
3137 focus_enabled = true;
3138 ctx.lineWidth = 3;
3139 ctx.strokeStyle = "rgba(127,45,63, 0.3)";
3140 var curve = curvePartialByID(test, frags[0], frags[1], frags [2]);
3141 drawCurve(curve);
3142 break;
2920 case REC_TYPE_SECT: 3143 case REC_TYPE_SECT:
2921 if (!draw_intersection) { 3144 if (!draw_intersection) {
2922 continue; 3145 continue;
2923 } 3146 }
2924 if (draw_intersection != 1 && (step_limit > 0 && tIndex < la stSect)) { 3147 if (draw_intersection != 1 && (step_limit > 0 && tIndex < la stSect)) {
2925 continue; 3148 continue;
2926 } 3149 }
2927 // draw_intersection == 1 : show all 3150 // draw_intersection == 1 : show all
2928 // draw_intersection == 2 : step == 0 ? show all : show inte rsection line #step 3151 // draw_intersection == 2 : step == 0 ? show all : show inte rsection line #step
2929 // draw_intersection == 3 : step == 0 ? show all : show inte rsection #step 3152 // draw_intersection == 3 : step == 0 ? show all : show inte rsection #step
(...skipping 434 matching lines...) Expand 10 before | Expand all | Expand 10 after
3364 for (var idx = 0; idx < logRange; ++idx) { 3587 for (var idx = 0; idx < logRange; ++idx) {
3365 ctx.fillText(lines[logStart + idx], 50, top + 18 + 10 * idx); 3588 ctx.fillText(lines[logStart + idx], 50, top + 18 + 10 * idx);
3366 } 3589 }
3367 ctx.fillStyle = "rgba(0,0,0, 0.5)"; 3590 ctx.fillStyle = "rgba(0,0,0, 0.5)";
3368 if (logStart + logRange < lines.length) { 3591 if (logStart + logRange < lines.length) {
3369 ctx.fillText(lines[logStart + logRange], 50, top + 18 + 10 * logRang e); 3592 ctx.fillText(lines[logStart + logRange], 50, top + 18 + 10 * logRang e);
3370 } 3593 }
3371 } 3594 }
3372 if (draw_legend) { 3595 if (draw_legend) {
3373 var pos = 0; 3596 var pos = 0;
3374 var drawSomething = draw_add | draw_active | draw_angle | draw_sort | dr aw_mark; 3597 var drawSomething = draw_add | draw_active | draw_angle | draw_coinciden ce | draw_sort | draw_mark;
3375 // drawBox(pos++, "yellow", "black", opLetter, true, ''); 3598 // drawBox(pos++, "yellow", "black", opLetter, true, '');
3376 drawBox(pos++, "rgba(0,0,255, 0.3)", "black", draw_intersection > 1 ? se ctCount : sectMax2, draw_intersection, intersectionKey); 3599 drawBox(pos++, "rgba(0,0,255, 0.3)", "black", draw_intersection > 1 ? se ctCount : sectMax2, draw_intersection, intersectionKey);
3377 drawBox(pos++, "rgba(0,0,255, 0.3)", "black", draw_add ? addCount : addM ax, draw_add, addKey); 3600 drawBox(pos++, "rgba(0,0,255, 0.3)", "black", draw_add ? addCount : addM ax, draw_add, addKey);
3378 drawBox(pos++, "rgba(0,0,255, 0.3)", "black", draw_active ? activeCount : activeMax, draw_active, activeKey); 3601 drawBox(pos++, "rgba(0,0,255, 0.3)", "black", draw_active ? activeCount : activeMax, draw_active, activeKey);
3379 drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_angle ? angleCount : angleMax, draw_angle, angleKey); 3602 drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_angle ? angleCount : angleMax, draw_angle, angleKey);
3603 drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_coincidence ? coinC ount : coinMax, draw_coincidence, coincidenceKey);
3380 drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_op ? opCount : opMa x, draw_op, opKey); 3604 drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_op ? opCount : opMa x, draw_op, opKey);
3381 drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_sort ? sortCount : sortMax, draw_sort, sortKey); 3605 drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_sort ? sortCount : sortMax, draw_sort, sortKey);
3382 drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_top ? topCount : to pMax, draw_top, topKey); 3606 drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_top ? topCount : to pMax, draw_top, topKey);
3383 drawBox(pos++, "rgba(127,0,127, 0.3)", "black", draw_mark ? markCount : markMax, draw_mark, markKey); 3607 drawBox(pos++, "rgba(127,0,127, 0.3)", "black", draw_mark ? markCount : markMax, draw_mark, markKey);
3384 drawBox(pos++, "black", "white", 3608 drawBox(pos++, "black", "white",
3385 (new Array('P', 'P1', 'P2', 'P'))[draw_path], draw_path != 0, pa thKey); 3609 (new Array('P', 'P1', 'P2', 'P'))[draw_path], draw_path != 0, pa thKey);
3386 drawBox(pos++, "rgba(0,63,0, 0.7)", "white", 3610 drawBox(pos++, "rgba(0,63,0, 0.7)", "white",
3387 (new Array('Q', 'Q', 'C', 'QC', 'Qc', 'Cq'))[draw_computed], 3611 (new Array('Q', 'Q', 'C', 'QC', 'Qc', 'Cq'))[draw_computed],
3388 draw_computed != 0, computedKey); 3612 draw_computed != 0, computedKey);
3389 drawBox(pos++, "green", "black", step_limit, drawSomething, ''); 3613 drawBox(pos++, "green", "black", step_limit, drawSomething, '');
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
3553 console.log("}; //"); 3777 console.log("}; //");
3554 } 3778 }
3555 } 3779 }
3556 } 3780 }
3557 } 3781 }
3558 3782
3559 var activeKey = 'a'; 3783 var activeKey = 'a';
3560 var pathKey = 'b'; 3784 var pathKey = 'b';
3561 var pathBackKey = 'B'; 3785 var pathBackKey = 'B';
3562 var centerKey = 'c'; 3786 var centerKey = 'c';
3787 var coincidenceKey = 'C';
3563 var addKey = 'd'; 3788 var addKey = 'd';
3564 var deriviativesKey = 'f'; 3789 var deriviativesKey = 'f';
3565 var angleKey = 'g'; 3790 var angleKey = 'g';
3566 var angleBackKey = 'G'; 3791 var angleBackKey = 'G';
3567 var intersectionKey = 'i'; 3792 var intersectionKey = 'i';
3568 var intersectionBackKey = 'I'; 3793 var intersectionBackKey = 'I';
3569 var sequenceKey = 'j'; 3794 var sequenceKey = 'j';
3570 var midpointKey = 'k'; 3795 var midpointKey = 'k';
3571 var logKey = 'l'; 3796 var logKey = 'l';
3572 var logToConsoleKey = 'L'; 3797 var logToConsoleKey = 'L';
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
3620 redraw(); 3845 redraw();
3621 break; 3846 break;
3622 case angleBackKey: 3847 case angleBackKey:
3623 draw_angle = (draw_angle + 2) % 3; 3848 draw_angle = (draw_angle + 2) % 3;
3624 redraw(); 3849 redraw();
3625 break; 3850 break;
3626 case centerKey: 3851 case centerKey:
3627 setScale(xmin, xmax, ymin, ymax); 3852 setScale(xmin, xmax, ymin, ymax);
3628 redraw(); 3853 redraw();
3629 break; 3854 break;
3855 case coincidenceKey:
3856 draw_coincidence ^= true;
3857 redraw();
3858 break;
3630 case controlLinesBackKey: 3859 case controlLinesBackKey:
3631 control_lines = (control_lines + 3) % 4; 3860 control_lines = (control_lines + 3) % 4;
3632 redraw(); 3861 redraw();
3633 break; 3862 break;
3634 case controlLinesKey: 3863 case controlLinesKey:
3635 control_lines = (control_lines + 1) % 4; 3864 control_lines = (control_lines + 1) % 4;
3636 redraw(); 3865 redraw();
3637 break; 3866 break;
3638 case computedBackKey: 3867 case computedBackKey:
3639 draw_computed = (draw_computed + 5) % 6; 3868 draw_computed = (draw_computed + 5) % 6;
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after
3923 </script> 4152 </script>
3924 </head> 4153 </head>
3925 4154
3926 <body onLoad="start();"> 4155 <body onLoad="start();">
3927 <canvas id="canvas" width="750" height="500" 4156 <canvas id="canvas" width="750" height="500"
3928 onmousemove="handleMouseOver()" 4157 onmousemove="handleMouseOver()"
3929 onclick="handleMouseClick()" 4158 onclick="handleMouseClick()"
3930 ></canvas > 4159 ></canvas >
3931 </body> 4160 </body>
3932 </html> 4161 </html>
OLDNEW
« no previous file with comments | « tools/pathops_sorter.htm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698