OLD | NEW |
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="battleOp183"> | 5 <div id="skpwww_gorcraft_ru_1"> |
6 seg=1 {{{6.31801322e-006f, -60}, {0, -83}}} | 6 seg=1 {{{{1170, 4559}, {1176, 4559}, {1176, 4565}}}, 0.707106769f} |
7 seg=2 {{{0, -83}, {32.0712242f, -83}, {61.2726326f, -64.5230865f}, {75.0056381f,
-35.5408783f}}} | 7 seg=2 {{{1176, 4565}, {1176, 4590}}} |
8 seg=3 {{{75.0056381f, -35.5408783f}, {88.7386475f, -6.55867052f}, {84.545517f, 2
7.7420006f}, {64.2353287f, 52.562561f}}} | 8 seg=3 {{{{1176, 4590}, {1176, 4595}, {1171, 4595}}}, 0.707106769f} |
9 seg=4 {{{64.2353287f, 52.562561f}, {60.2773972f, 57.3994484f}, {55.7858162f, 61.
773819f}, {50.8459854f, 65.6024933f}}} | 9 seg=4 {{{1171, 4595}, {83, 4595}}} |
10 seg=5 {{{50.8459854f, 65.6024933f}, {36.756134f, 47.423481f}}} | 10 seg=5 {{{{83, 4595}, {78.0086746f, 4595}, {78, 4590.00586f}}}, 0.707720578f} |
11 seg=6 {{{36.756134f, 47.423481f}, {40.3270988f, 44.6557693f}, {43.5740242f, 41.4
93576f}, {46.4351768f, 37.9970322f}}} | 11 seg=6 {{{78, 4590.00586f}, {78, 4565}}} |
12 seg=7 {{{46.4351768f, 37.9970322f}, {61.1172447f, 20.0544662f}, {64.1484222f, -4
.74120331f}, {54.2209473f, -25.6921959f}}} | 12 seg=7 {{{{78, 4565}, {78, 4559}, {84, 4559}}}, 0.707106769f} |
13 seg=8 {{{54.2209473f, -25.6921959f}, {44.2934723f, -46.6431847f}, {23.1840267f,
-60}, {6.31801322e-006f, -60}}} | 13 seg=8 {{{84, 4559}, {1170, 4559}}} |
14 op union | 14 op union |
15 seg=9 {{{50.8459854f, 65.6024857f}, {23.334074f, 86.9259186f}, {-14.5602179f, 88
.8177719f}, {-44.0591507f, 70.3405457f}}} | 15 seg=9 {{{78, 4590}, {78, 4565}}} |
16 seg=10 {{{-44.0591507f, 70.3405457f}, {-73.5580902f, 51.8633156f}, {-88.3942261f
, 16.9427452f}, {-81.2158127f, -17.116993f}}} | 16 seg=10 {{{{78, 4565}, {78, 4559}, {84, 4559}}}, 0.707106769f} |
17 seg=11 {{{-81.2158127f, -17.116993f}, {-74.0374069f, -51.1767159f}, {-46.3696136
f, -77.1391754f}, {-11.9226456f, -82.1392059f}}} | 17 seg=11 {{{84, 4559}, {158, 4559}}} |
18 seg=12 {{{-11.9226456f, -82.1392059f}, {-8.61876869f, -59.3777466f}}} | 18 seg=12 {{{158, 4559}, {158, 4596}}} |
19 seg=13 {{{-8.61876869f, -59.3777466f}, {-33.5202026f, -55.7632599f}, {-53.521015
2f, -36.9952087f}, {-58.7102203f, -12.3737135f}}} | 19 seg=13 {{{158, 4596}, {84, 4596}}} |
20 seg=14 {{{-58.7102203f, -12.3737135f}, {-63.8994179f, 12.2477798f}, {-53.1744957
f, 37.4915581f}, {-31.849966f, 50.8485832f}}} | 20 seg=14 {{{{84, 4596}, {78, 4596}, {78, 4590}}}, 0.707106769f} |
21 seg=15 {{{-31.849966f, 50.8485832f}, {-10.5254354f, 64.2056046f}, {16.8680305f,
62.8380051f}, {36.7561607f, 47.4234695f}}} | 21 debugShowConicLineIntersection wtTs[0]=1 {{{{1170,4559}, {1176,4559}, {1176,4565
}}}, 0.707106769} {{1176,4565}} wnTs[0]=0 {{{1176,4565}, {1176,4590}}} |
22 seg=16 {{{36.7561607f, 47.4234695f}, {50.8459854f, 65.6024857f}}} | 22 debugShowConicLineIntersection wtTs[0]=0 {{{{1170,4559}, {1176,4559}, {1176,4565
}}}, 0.707106769} {{1170,4559}} wnTs[0]=1 {{{84,4559}, {1170,4559}}} |
23 debugShowCubicLineIntersection wtTs[0]=0 {{{0,-83}, {32.0712242,-83}, {61.272632
6,-64.5230865}, {75.0056381,-35.5408783}}} {{0,-83}} wnTs[0]=1 {{{6.31801322e-00
6,-60}, {0,-83}}} | 23 debugShowConicLineIntersection wtTs[0]=0 {{{{1176,4590}, {1176,4595}, {1171,4595
}}}, 0.707106769} {{1176,4590}} wnTs[0]=1 {{{1176,4565}, {1176,4590}}} |
24 debugShowCubicLineIntersection wtTs[0]=1 {{{54.2209473,-25.6921959}, {44.2934723
,-46.6431847}, {23.1840267,-60}, {6.31801322e-006,-60}}} {{6.31801322e-006,-60}}
wnTs[0]=0 {{{6.31801322e-006,-60}, {0,-83}}} | 24 debugShowConicLineIntersection wtTs[0]=1 {{{{1176,4590}, {1176,4595}, {1171,4595
}}}, 0.707106769} {{1171,4595}} wnTs[0]=0 {{{1171,4595}, {83,4595}}} |
25 debugShowCubicIntersection wtTs[0]=1 {{{0,-83}, {32.0712242,-83}, {61.2726326,-6
4.5230865}, {75.0056381,-35.5408783}}} {{75.0056381,-35.5408783}} wnTs[0]=0 {{{7
5.0056381,-35.5408783}, {88.7386475,-6.55867052}, {84.545517,27.7420006}, {64.23
53287,52.562561}}} | 25 debugShowConicLineIntersection wtTs[0]=0 {{{{83,4595}, {78.0086746,4595}, {78,45
90.00586}}}, 0.707720578} {{83,4595}} wnTs[0]=1 {{{1171,4595}, {83,4595}}} |
26 debugShowCubicIntersection no intersect {{{0,-83}, {32.0712242,-83}, {61.2726326
,-64.5230865}, {75.0056381,-35.5408783}}} {{{54.2209473,-25.6921959}, {44.293472
3,-46.6431847}, {23.1840267,-60}, {6.31801322e-006,-60}}} | 26 debugShowConicLineIntersection wtTs[0]=1 {{{{83,4595}, {78.0086746,4595}, {78,45
90.00586}}}, 0.707720578} {{78,4590.00586}} wnTs[0]=0 {{{78,4590.00586}, {78,456
5}}} |
27 debugShowCubicIntersection wtTs[0]=1 {{{75.0056381,-35.5408783}, {88.7386475,-6.
55867052}, {84.545517,27.7420006}, {64.2353287,52.562561}}} {{64.2353287,52.5625
61}} wnTs[0]=0 {{{64.2353287,52.562561}, {60.2773972,57.3994484}, {55.7858162,61
.773819}, {50.8459854,65.6024933}}} | 27 debugShowConicLineIntersection wtTs[0]=0 {{{{78,4565}, {78,4559}, {84,4559}}}, 0
.707106769} {{78,4565}} wnTs[0]=1 {{{78,4590.00586}, {78,4565}}} |
28 debugShowCubicLineIntersection wtTs[0]=1 {{{64.2353287,52.562561}, {60.2773972,5
7.3994484}, {55.7858162,61.773819}, {50.8459854,65.6024933}}} {{50.8459854,65.60
24933}} wnTs[0]=0 {{{50.8459854,65.6024933}, {36.756134,47.423481}}} | 28 debugShowConicLineIntersection wtTs[0]=1 {{{{78,4565}, {78,4559}, {84,4559}}}, 0
.707106769} {{84,4559}} wnTs[0]=0 {{{84,4559}, {1170,4559}}} |
29 debugShowCubicLineIntersection wtTs[0]=0 {{{36.756134,47.423481}, {40.3270988,44
.6557693}, {43.5740242,41.493576}, {46.4351768,37.9970322}}} {{36.756134,47.4234
81}} wnTs[0]=1 {{{50.8459854,65.6024933}, {36.756134,47.423481}}} | 29 debugShowLineIntersection wtTs[0]=0.972972973 {{{158,4559}, {158,4596}}} {{158,4
595}} wnTs[0]=0.931066 {{{1171,4595}, {83,4595}}} |
30 debugShowCubicIntersection wtTs[0]=1 {{{36.756134,47.423481}, {40.3270988,44.655
7693}, {43.5740242,41.493576}, {46.4351768,37.9970322}}} {{46.4351768,37.9970322
}} wnTs[0]=0 {{{46.4351768,37.9970322}, {61.1172447,20.0544662}, {64.1484222,-4.
74120331}, {54.2209473,-25.6921959}}} | 30 SkOpSegment::addT insert t=0.931066176 segID=4 spanID=29 |
31 debugShowCubicIntersection wtTs[0]=1 {{{46.4351768,37.9970322}, {61.1172447,20.0
544662}, {64.1484222,-4.74120331}, {54.2209473,-25.6921959}}} {{54.2209473,-25.6
921959}} wnTs[0]=0 {{{54.2209473,-25.6921959}, {44.2934723,-46.6431847}, {23.184
0267,-60}, {6.31801322e-006,-60}}} | 31 SkOpSegment::addT insert t=0.972972973 segID=12 spanID=30 |
32 debugShowCubicIntersection no intersect {{{64.2353287,52.562561}, {60.2773972,57
.3994484}, {55.7858162,61.773819}, {50.8459854,65.6024933}}} {{{50.8459854,65.60
24857}, {23.334074,86.9259186}, {-14.5602179,88.8177719}, {-44.0591507,70.340545
7}}} | 32 debugShowConicLineIntersection no intersect {{{{84,4596}, {78,4596}, {78,4590}}}
, 0.707106769} {{{1171,4595}, {83,4595}}} |
33 debugShowCubicLineIntersection no intersect {{{64.2353287,52.562561}, {60.277397
2,57.3994484}, {55.7858162,61.773819}, {50.8459854,65.6024933}}} {{{36.7561607,4
7.4234695}, {50.8459854,65.6024857}}} | 33 debugShowConicLineIntersection no intersect {{{{83,4595}, {78.0086746,4595}, {78
,4590.00586}}}, 0.707720578} {{{78,4590}, {78,4565}}} |
34 debugShowCubicLineIntersection wtTs[0]=0 {{{50.8459854,65.6024857}, {23.334074,8
6.9259186}, {-14.5602179,88.8177719}, {-44.0591507,70.3405457}}} {{50.8459854,65
.6024857}} wnTs[0]=2.62183e-007 {{{50.8459854,65.6024933}, {36.756134,47.423481}
}} | 34 id=1 1=(0,1) [4,2] id=2 2=(0,0.5) [1] 4=(0.5,1) [1] |
35 SkOpSegment::addT alias t=2.62182896e-007 segID=5 spanID=9 | 35 id=1 1=(0,0.5) [4,2] 3=(0.5,1) [4] id=2 2=(0,0.5) [1] 4=(0.5,1) [3,1] |
36 debugShowCubicLineIntersection wtTs[0]=0.999999628 {{{-31.849966,50.8485832}, {-
10.5254354,64.2056046}, {16.8680305,62.8380051}, {36.7561607,47.4234695}}} {{36.
7561378,47.4234886}} wnTs[0]=1 {{{50.8459854,65.6024933}, {36.756134,47.423481}}
} | 36 id=1 1=(0,0.5) [2] 3=(0.5,1) [6,4] id=2 2=(0,0.5) [1] 4=(0.5,0.75) [3] 6=(0.75,1
) [3] |
37 SkOpSegment::addT alias t=0.999999682 segID=5 spanID=10 | 37 id=1 3=(0.5,1) [6,4] id=2 4=(0.5,0.75) [3] 6=(0.75,1) [3] |
38 SkOpSegment::addT insert t=0.999999628 segID=15 spanID=33 | 38 id=1 3=(0.5,0.75) [6,4] 5=(0.75,1) [6] id=2 4=(0.5,0.75) [3] 6=(0.75,1) [5,3] |
39 debugShowLineIntersection wtTs[0]=2.62182896e-007 {{{50.8459854,65.6024933}, {36
.756134,47.423481}}} {{50.8459854,65.6024857}} wnTs[0]=1 {{{36.7561607,47.423469
5}, {50.8459854,65.6024857}}} | 39 id=1 3=(0.5,0.75) [4] 5=(0.75,1) [10,6] id=2 4=(0.5,0.75) [3] 6=(0.75,0.875) [5]
10=(0.875,1) [5] |
40 debugShowCubicIntersection no intersect {{{36.756134,47.423481}, {40.3270988,44.
6557693}, {43.5740242,41.493576}, {46.4351768,37.9970322}}} {{{-31.849966,50.848
5832}, {-10.5254354,64.2056046}, {16.8680305,62.8380051}, {36.7561607,47.4234695
}}} | 40 id=1 5=(0.75,1) [10,6] id=2 6=(0.75,0.875) [5] 10=(0.875,1) [5] |
41 debugShowCubicLineIntersection no intersect {{{36.756134,47.423481}, {40.3270988
,44.6557693}, {43.5740242,41.493576}, {46.4351768,37.9970322}}} {{{36.7561607,47
.4234695}, {50.8459854,65.6024857}}} | 41 id=1 5=(0.75,0.875) [10,6] 7=(0.875,1) [10] id=2 6=(0.75,0.875) [5] 10=(0.875,1)
[7,5] |
42 debugShowCubicIntersection wtTs[0]=1 {{{50.8459854,65.6024857}, {23.334074,86.92
59186}, {-14.5602179,88.8177719}, {-44.0591507,70.3405457}}} {{-44.0591507,70.34
05457}} wnTs[0]=0 {{{-44.0591507,70.3405457}, {-73.5580902,51.8633156}, {-88.394
2261,16.9427452}, {-81.2158127,-17.116993}}} | 42 id=1 5=(0.75,0.875) [10] 7=(0.875,1) [10] id=2 10=(0.875,1) [7,5] |
43 debugShowCubicLineIntersection wtTs[0]=0 {{{50.8459854,65.6024857}, {23.334074,8
6.9259186}, {-14.5602179,88.8177719}, {-44.0591507,70.3405457}}} {{50.8459854,65
.6024857}} wnTs[0]=1 {{{36.7561607,47.4234695}, {50.8459854,65.6024857}}} | 43 id=1 7=(0.875,1) [16,10] id=2 10=(0.875,0.9375) [7] 16=(0.9375,1) [7] |
44 debugShowCubicIntersection wtTs[0]=1 {{{-44.0591507,70.3405457}, {-73.5580902,51
.8633156}, {-88.3942261,16.9427452}, {-81.2158127,-17.116993}}} {{-81.2158127,-1
7.116993}} wnTs[0]=0 {{{-81.2158127,-17.116993}, {-74.0374069,-51.1767159}, {-46
.3696136,-77.1391754}, {-11.9226456,-82.1392059}}} | 44 id=1 7=(0.875,0.9375) [16,10] 9=(0.9375,1) [16] id=2 10=(0.875,0.9375) [7] 16=(0
.9375,1) [9,7] |
45 debugShowCubicIntersection no intersect {{{-44.0591507,70.3405457}, {-73.5580902
,51.8633156}, {-88.3942261,16.9427452}, {-81.2158127,-17.116993}}} {{{-8.6187686
9,-59.3777466}, {-33.5202026,-55.7632599}, {-53.5210152,-36.9952087}, {-58.71022
03,-12.3737135}}} | 45 id=1 7=(0.875,0.9375) [16] 9=(0.9375,1) [16] id=2 16=(0.9375,1) [9,7] |
46 debugShowCubicIntersection no intersect {{{-44.0591507,70.3405457}, {-73.5580902
,51.8633156}, {-88.3942261,16.9427452}, {-81.2158127,-17.116993}}} {{{-58.710220
3,-12.3737135}, {-63.8994179,12.2477798}, {-53.1744957,37.4915581}, {-31.849966,
50.8485832}}} | 46 id=1 9=(0.9375,1) [20,16] id=2 16=(0.9375,0.96875) [9] 20=(0.96875,1) [9] |
47 debugShowCubicLineIntersection wtTs[0]=1 {{{-81.2158127,-17.116993}, {-74.037406
9,-51.1767159}, {-46.3696136,-77.1391754}, {-11.9226456,-82.1392059}}} {{-11.922
6456,-82.1392059}} wnTs[0]=0 {{{-11.9226456,-82.1392059}, {-8.61876869,-59.37774
66}}} | 47 id=1 9=(0.9375,0.96875) [20,16] 11=(0.96875,1) [20] id=2 16=(0.9375,0.96875) [9]
20=(0.96875,1) [11,9] |
48 debugShowCubicIntersection no intersect {{{-81.2158127,-17.116993}, {-74.0374069
,-51.1767159}, {-46.3696136,-77.1391754}, {-11.9226456,-82.1392059}}} {{{-8.6187
6869,-59.3777466}, {-33.5202026,-55.7632599}, {-53.5210152,-36.9952087}, {-58.71
02203,-12.3737135}}} | 48 id=1 9=(0.9375,0.96875) [20] 11=(0.96875,1) [20] id=2 20=(0.96875,1) [11,9] |
49 debugShowCubicLineIntersection wtTs[0]=0 {{{-8.61876869,-59.3777466}, {-33.52020
26,-55.7632599}, {-53.5210152,-36.9952087}, {-58.7102203,-12.3737135}}} {{-8.618
76869,-59.3777466}} wnTs[0]=1 {{{-11.9226456,-82.1392059}, {-8.61876869,-59.3777
466}}} | 49 id=1 11=(0.96875,1) [24,20] id=2 20=(0.96875,0.984375) [11] 24=(0.984375,1) [11] |
50 debugShowCubicIntersection wtTs[0]=1 {{{-8.61876869,-59.3777466}, {-33.5202026,-
55.7632599}, {-53.5210152,-36.9952087}, {-58.7102203,-12.3737135}}} {{-58.710220
3,-12.3737135}} wnTs[0]=0 {{{-58.7102203,-12.3737135}, {-63.8994179,12.2477798},
{-53.1744957,37.4915581}, {-31.849966,50.8485832}}} | 50 id=1 11=(0.96875,0.984375) [24,20] 13=(0.984375,1) [24] id=2 20=(0.96875,0.98437
5) [11] 24=(0.984375,1) [13,11] |
51 debugShowCubicIntersection wtTs[0]=1 {{{-58.7102203,-12.3737135}, {-63.8994179,1
2.2477798}, {-53.1744957,37.4915581}, {-31.849966,50.8485832}}} {{-31.849966,50.
8485832}} wnTs[0]=0 {{{-31.849966,50.8485832}, {-10.5254354,64.2056046}, {16.868
0305,62.8380051}, {36.7561607,47.4234695}}} | 51 id=1 11=(0.96875,0.984375) [24] 13=(0.984375,1) [24] id=2 24=(0.984375,1) [13,11
] |
52 debugShowCubicLineIntersection wtTs[0]=1 {{{-31.849966,50.8485832}, {-10.5254354
,64.2056046}, {16.8680305,62.8380051}, {36.7561607,47.4234695}}} {{36.7561607,47
.4234695}} wnTs[0]=0 {{{36.7561607,47.4234695}, {50.8459854,65.6024857}}} | 52 id=1 13=(0.984375,1) [28,24] id=2 24=(0.984375,0.992188) [13] 28=(0.992188,1) [1
3] |
53 SkOpSegment::sortAngles [4] tStart=1 [8] | 53 id=1 13=(0.984375,0.992188) [24] 15=(0.992188,1) [28] id=2 24=(0.984375,0.992188
) [13] 28=(0.992188,1) [15] |
54 SkOpAngle::after [4/1] 1/1 tStart=1 tEnd=0 < [16/8] 9/9 tStart=1 tEnd=0 < [5/2]
9/9 tStart=0 tEnd=1 T 7 | 54 id=1 15=(0.992188,1) [28] id=2 28=(0.992188,1) [15] |
55 SkOpAngle::afterPart {{{50.8459854,65.6024933}, {55.7858162,61.773819}, {60.2773
972,57.3994484}, {64.2353287,52.562561}}} id=4 | 55 id=1 15=(0.992188,1) [32,28] id=2 28=(0.992188,0.996094) [15] 32=(0.996094,1) [1
5] |
56 SkOpAngle::afterPart {{{50.8459854,65.6024933}, {36.7561607,47.4234695}}} id=16 | 56 id=1 15=(0.992188,0.996094) [28] 17=(0.996094,1) [28,32] id=2 28=(0.992188,0.996
094) [17,15] 32=(0.996094,1) [17] |
57 SkOpAngle::afterPart {{{50.8459854,65.6024933}, {36.756134,47.423481}}} id=5 | 57 id=1 17=(0.996094,1) [32] id=2 32=(0.996094,1) [17] |
58 SkOpAngle::after [4/1] 1/1 tStart=1 tEnd=0 < [9/5] 17/17 tStart=0 tEnd=1 < [16/8
] 9/9 tStart=1 tEnd=0 F 4 | 58 id=1 17=(0.996094,1) [36,32] id=2 32=(0.996094,0.998047) [17] 36=(0.998047,1) [1
7] |
59 SkOpAngle::afterPart {{{50.8459854,65.6024933}, {55.7858162,61.773819}, {60.2773
972,57.3994484}, {64.2353287,52.562561}}} id=4 | 59 id=1 19=(0.998047,1) [36] id=2 36=(0.998047,1) [19] |
60 SkOpAngle::afterPart {{{50.8459854,65.6024933}, {23.334074,86.9259186}, {-14.560
2179,88.8177719}, {-44.0591507,70.3405457}}} id=9 | 60 id=1 19=(0.998047,1) [38,36] id=2 36=(0.998047,0.999023) [19] 38=(0.999023,1) [1
9] |
61 SkOpAngle::afterPart {{{50.8459854,65.6024933}, {36.7561607,47.4234695}}} id=16 | 61 setPerp t=0.998046875 cPt=(78.0000229,4590.01658) == oppT=0.998483762 fPerpPt=(7
8.0000301,4590.01658) |
62 SkOpAngle::after [16/8] 9/9 tStart=1 tEnd=0 < [9/5] 17/17 tStart=0 tEnd=1 < [5/2
] 9/9 tStart=0 tEnd=1 F 5 | 62 setPerp t=0.999023438 cPt=(78.0000057,4590.00829) == oppT=0.99965636 fPerpPt=(78
.0000048,4590.00829) |
63 SkOpAngle::afterPart {{{50.8459854,65.6024933}, {36.7561607,47.4234695}}} id=16 | 63 setPerp t=0.999023438 cPt=(78.0000168,4590.01276) == oppT=0.998496341 fPerpPt=(7
8.0000136,4590.01276) |
64 SkOpAngle::afterPart {{{50.8459854,65.6024933}, {23.334074,86.9259186}, {-14.560
2179,88.8177719}, {-44.0591507,70.3405457}}} id=9 | 64 setPerp t=0.998046875 cPt=(78.0000229,4590.01658) == oppT=0.998483762 fPerpPt=(7
8.0000301,4590.01658) |
65 SkOpAngle::afterPart {{{50.8459854,65.6024933}, {36.756134,47.423481}}} id=5 | 65 setPerp t=0.999023438 cPt=(78.0000057,4590.00829) == oppT=0.99965636 fPerpPt=(78
.0000048,4590.00829) |
66 SkOpAngle::after [5/2] 9/9 tStart=0 tEnd=1 < [9/5] 17/17 tStart=0 tEnd=1 < [4/1]
1/1 tStart=1 tEnd=0 T 4 | 66 setPerp t=0.999023438 cPt=(78.0000168,4590.01276) == oppT=0.998496341 fPerpPt=(7
8.0000136,4590.01276) |
67 SkOpAngle::afterPart {{{50.8459854,65.6024933}, {36.756134,47.423481}}} id=5 | 67 setPerp t=0.999339899 cPt=(78.0000103,4590.01053) == oppT=0.998759893 fPerpPt=(7
8.0000092,4590.01053) |
68 SkOpAngle::afterPart {{{50.8459854,65.6024933}, {23.334074,86.9259186}, {-14.560
2179,88.8177719}, {-44.0591507,70.3405457}}} id=9 | 68 id=1 21=(0.99934,0.99934) [36] id=2 36=(0.99876,0.99876) [21] |
69 SkOpAngle::afterPart {{{50.8459854,65.6024933}, {55.7858162,61.773819}, {60.2773
972,57.3994484}, {64.2353287,52.562561}}} id=4 | 69 debugShowConicIntersection wtTs[0]=0.999339899 {{{{83,4595}, {78.0086746,4595},
{78,4590.00586}}}, 0.707720578} {{78.0000076,4590.01074}} wnTs[0]=0.99876 {{{{84
,4596}, {78,4596}, {78,4590}}}, 0.707106769} |
70 SkOpSegment::sortAngles [5] tStart=0 [9] | 70 SkOpSegment::addT insert t=0.999339899 segID=5 spanID=31 |
71 SkOpSegment::sortAngles [5] tStart=1 [10] | 71 SkOpSegment::addT insert t=0.998759893 segID=14 spanID=32 |
72 SkOpAngle::after [5/3] 25/25 tStart=1 tEnd=0 < [15/7] 1/1 tStart=0.999999628 tEn
d=1 < [15/6] 17/17 tStart=0.999999628 tEnd=0 T 4 | 72 debugShowLineIntersection wtTs[0]=0 {{{78,4590}, {78,4565}}} {{78,4590}} wtTs[1]
=1 {{78,4565}} wnTs[0]=0.00023432 {{{78,4590.00586}, {78,4565}}} wnTs[1]=1 |
73 SkOpAngle::afterPart {{{36.756134,47.423481}, {50.8459854,65.6024933}}} id=5 | 73 SkOpSegment::addT insert t=0.000234320081 segID=6 spanID=33 |
74 SkOpAngle::afterPart {{{36.756134,47.423481}, {36.7561414,47.4234752}, {36.75615
33,47.4234753}, {36.7561607,47.4234695}}} id=15 | 74 debugShowConicLineIntersection wtTs[0]=0 {{{{78,4565}, {78,4559}, {84,4559}}}, 0
.707106769} {{78,4565}} wnTs[0]=1 {{{78,4590.00586}, {78,4565}}} |
75 SkOpAngle::afterPart {{{36.756134,47.423481}, {16.8680057,62.8380003}, {-10.5254
434,64.2055996}, {-31.849966,50.8485832}}} id=15 | 75 debugShowConicLineIntersection wtTs[0]=1 {{{{84,4596}, {78,4596}, {78,4590}}}, 0
.707106769} {{78,4590}} wnTs[0]=0.00023432 {{{78,4590.00586}, {78,4565}}} |
76 SkOpAngle::after [5/3] 25/25 tStart=1 tEnd=0 < [6/4] 1/1 tStart=0 tEnd=1 < [15/7
] 1/1 tStart=0.999999628 tEnd=1 T 7 | 76 debugShowConicLineIntersection wtTs[0]=0 {{{{78,4565}, {78,4559}, {84,4559}}}, 0
.707106769} {{78,4565}} wnTs[0]=1 {{{78,4590}, {78,4565}}} |
77 SkOpAngle::afterPart {{{36.756134,47.423481}, {50.8459854,65.6024933}}} id=5 | 77 id=1 1=(0,1) [4,2] id=2 2=(0,0.5) [1] 4=(0.5,1) [1] |
78 SkOpAngle::afterPart {{{36.756134,47.423481}, {40.3270988,44.6557693}, {43.57402
42,41.493576}, {46.4351768,37.9970322}}} id=6 | 78 id=1 1=(0,0.5) [4,2] 3=(0.5,1) [2,4] id=2 2=(0,0.5) [3,1] 4=(0.5,1) [3,1] |
79 SkOpAngle::afterPart {{{36.756134,47.423481}, {36.7561414,47.4234752}, {36.75615
33,47.4234753}, {36.7561607,47.4234695}}} id=15 | 79 id=1 1=(0,0.5) [6,4,2] 3=(0.5,1) [6,4] id=2 2=(0,0.25) [1] 6=(0.25,0.5) [1,3] 4=
(0.5,1) [3,1] |
80 SkOpSegment::sortAngles [6] tStart=0 [11] | 80 id=1 1=(0,0.25) [6,2] 5=(0.25,0.5) [2,4,6] 3=(0.5,1) [6,4] id=2 2=(0,0.25) [5,1]
6=(0.25,0.5) [5,1,3] 4=(0.5,1) [5,3] |
| 81 id=1 1=(0,0.25) [6,2] 5=(0.25,0.5) [2,4,6] 3=(0.5,1) [8,6,4] id=2 2=(0,0.25) [5,
1] 6=(0.25,0.5) [5,1,3] 4=(0.5,0.75) [5,3] 8=(0.75,1) [3] |
| 82 id=1 1=(0,0.25) [6,2] 5=(0.25,0.5) [2,4,6] 3=(0.5,0.75) [8,6,4] 7=(0.75,1) [4,8]
id=2 2=(0,0.25) [5,1] 6=(0.25,0.5) [5,1,3] 4=(0.5,0.75) [7,5,3] 8=(0.75,1) [7,3
] |
| 83 id=1 1=(0,0.25) [6,2] 5=(0.25,0.5) [2,4,6] 3=(0.5,0.75) [8,6,4] 7=(0.75,1) [10,4
,8] id=2 2=(0,0.25) [5,1] 6=(0.25,0.5) [5,1,3] 4=(0.5,0.75) [7,5,3] 8=(0.75,0.87
5) [7,3] 10=(0.875,1) [7] |
| 84 id=1 1=(0,0.25) [6,2] 5=(0.25,0.5) [2,4,6] 3=(0.5,0.75) [8,6,4] 7=(0.75,0.875) [
10,4,8] 9=(0.875,1) [8,10] id=2 2=(0,0.25) [5,1] 6=(0.25,0.5) [5,1,3] 4=(0.5,0.7
5) [7,5,3] 8=(0.75,0.875) [9,7,3] 10=(0.875,1) [9,7] |
| 85 id=1 1=(0,0.25) [12,6,2] 5=(0.25,0.5) [12,4,6] 3=(0.5,0.75) [8,6,4] 7=(0.75,0.87
5) [10,4,8] 9=(0.875,1) [8,10] id=2 2=(0,0.125) [1] 12=(0.125,0.25) [1,5] 6=(0.2
5,0.5) [5,1,3] 4=(0.5,0.75) [7,5,3] 8=(0.75,0.875) [9,7,3] 10=(0.875,1) [9,7] |
| 86 id=1 1=(0,0.125) [12,2] 11=(0.125,0.25) [2,6,12] 5=(0.25,0.5) [12,4,6] 3=(0.5,0.
75) [8,6,4] 7=(0.75,0.875) [10,4,8] 9=(0.875,1) [8,10] id=2 2=(0,0.125) [11,1] 1
2=(0.125,0.25) [11,1,5] 6=(0.25,0.5) [11,5,3] 4=(0.5,0.75) [7,5,3] 8=(0.75,0.875
) [9,7,3] 10=(0.875,1) [9,7] |
| 87 id=1 1=(0,0.125) [12,2] 11=(0.125,0.25) [2,6,12] 5=(0.25,0.5) [14,12,4,6] 3=(0.5
,0.75) [14,8,4] 7=(0.75,0.875) [10,4,8] 9=(0.875,1) [8,10] id=2 2=(0,0.125) [11,
1] 12=(0.125,0.25) [11,1,5] 6=(0.25,0.375) [11,5] 14=(0.375,0.5) [3,5] 4=(0.5,0.
75) [7,5,3] 8=(0.75,0.875) [9,7,3] 10=(0.875,1) [9,7] |
| 88 id=1 1=(0,0.125) [12,2] 11=(0.125,0.25) [2,6,12] 5=(0.25,0.375) [14,12,6] 13=(0.
375,0.5) [6,4,14] 3=(0.5,0.75) [14,8,4] 7=(0.75,0.875) [10,4,8] 9=(0.875,1) [8,1
0] id=2 2=(0,0.125) [11,1] 12=(0.125,0.25) [11,1,5] 6=(0.25,0.375) [13,11,5] 14=
(0.375,0.5) [13,3,5] 4=(0.5,0.75) [13,7,3] 8=(0.75,0.875) [9,7,3] 10=(0.875,1) [
9,7] |
| 89 id=1 1=(0,0.125) [12,2] 11=(0.125,0.25) [2,6,12] 5=(0.25,0.375) [14,12,6] 13=(0.
375,0.5) [6,4,14] 3=(0.5,0.75) [16,14,8,4] 7=(0.75,0.875) [16,10,8] 9=(0.875,1)
[8,10] id=2 2=(0,0.125) [11,1] 12=(0.125,0.25) [11,1,5] 6=(0.25,0.375) [13,11,5]
14=(0.375,0.5) [13,3,5] 4=(0.5,0.625) [13,3] 16=(0.625,0.75) [3,7] 8=(0.75,0.87
5) [9,7,3] 10=(0.875,1) [9,7] |
| 90 id=1 1=(0,0.125) [12,2] 11=(0.125,0.25) [2,6,12] 5=(0.25,0.375) [14,12,6] 13=(0.
375,0.5) [6,4,14] 3=(0.5,0.625) [16,14,4] 15=(0.625,0.75) [4,8,16] 7=(0.75,0.875
) [16,10,8] 9=(0.875,1) [8,10] id=2 2=(0,0.125) [11,1] 12=(0.125,0.25) [11,1,5]
6=(0.25,0.375) [13,11,5] 14=(0.375,0.5) [13,3,5] 4=(0.5,0.625) [15,13,3] 16=(0.6
25,0.75) [15,3,7] 8=(0.75,0.875) [15,9,7] 10=(0.875,1) [9,7] |
| 91 id=1 1=(0,0.125) [12,2] 11=(0.125,0.25) [18,2,6,12] 5=(0.25,0.375) [18,14,6] 13=
(0.375,0.5) [6,4,14] 3=(0.5,0.625) [16,14,4] 15=(0.625,0.75) [4,8,16] 7=(0.75,0.
875) [16,10,8] 9=(0.875,1) [8,10] id=2 2=(0,0.125) [11,1] 12=(0.125,0.1875) [11,
1] 18=(0.1875,0.25) [5,11] 6=(0.25,0.375) [13,11,5] 14=(0.375,0.5) [13,3,5] 4=(0
.5,0.625) [15,13,3] 16=(0.625,0.75) [15,3,7] 8=(0.75,0.875) [15,9,7] 10=(0.875,1
) [9,7] |
| 92 setPerp t=0 cPt=(78,4565) == oppT=0 fPerpPt=(78,4565) |
| 93 setPerp t=0.125 cPt=(78.1001678,4563.90822) == oppT=0.125 fPerpPt=(78.1001678,45
63.90822) |
| 94 setPerp t=0.1875 cPt=(78.2316063,4563.34905) == oppT=0.1875 fPerpPt=(78.2316063,
4563.34905) |
| 95 setPerp t=0.25 cPt=(78.4212702,4562.79143) == oppT=0.25 fPerpPt=(78.4212702,4562
.79143) |
| 96 setPerp t=0.375 cPt=(78.9780269,4561.71674) == oppT=0.375 fPerpPt=(78.9780269,45
61.71674) |
| 97 setPerp t=0.5 cPt=(79.7573593,4560.75736) == oppT=0.5 fPerpPt=(79.7573593,4560.7
5736) |
| 98 setPerp t=0.625 cPt=(80.7167415,4559.97803) == oppT=0.625 fPerpPt=(80.7167415,45
59.97803) |
| 99 setPerp t=0.75 cPt=(81.7914318,4559.42127) == oppT=0.75 fPerpPt=(81.7914318,4559
.42127) |
| 100 setPerp t=0.875 cPt=(82.9082217,4559.10017) == oppT=0.875 fPerpPt=(82.9082217,45
59.10017) |
| 101 setPerp t=1 cPt=(84,4559) == oppT=1 fPerpPt=(84,4559) |
| 102 setPerp t=0 cPt=(78,4565) == oppT=0 fPerpPt=(78,4565) |
| 103 setPerp t=1 cPt=(84,4559) == oppT=1 fPerpPt=(84,4559) |
| 104 id=1 (empty) id=2 (empty) |
| 105 debugShowConicIntersection wtTs[0]=0 {{{{78,4565}, {78,4559}, {84,4559}}}, 0.707
106769} {{78,4565}} wtTs[1]=1 {{84,4559}} wnTs[0]=0 {{{{78,4565}, {78,4559}, {84
,4559}}}, 0.707106769} wnTs[1]=1 |
| 106 debugShowConicLineIntersection wtTs[0]=1 {{{{78,4565}, {78,4559}, {84,4559}}}, 0
.707106769} {{84,4559}} wnTs[0]=0 {{{84,4559}, {158,4559}}} |
| 107 debugShowConicLineIntersection wtTs[0]=1 {{{{78,4565}, {78,4559}, {84,4559}}}, 0
.707106769} {{84,4559}} wnTs[0]=0 {{{84,4559}, {1170,4559}}} |
| 108 debugShowLineIntersection wtTs[0]=0 {{{84,4559}, {158,4559}}} {{84,4559}} wtTs[1
]=1 {{158,4559}} wnTs[0]=0 {{{84,4559}, {1170,4559}}} wnTs[1]=0.0681399632 |
| 109 SkOpSegment::addT insert t=0.0681399632 segID=8 spanID=34 |
| 110 debugShowLineIntersection wtTs[0]=0 {{{158,4559}, {158,4596}}} {{158,4559}} wnTs
[0]=0.06814 {{{84,4559}, {1170,4559}}} |
| 111 debugShowConicLineIntersection wtTs[0]=0 {{{{78,4565}, {78,4559}, {84,4559}}}, 0
.707106769} {{78,4565}} wnTs[0]=1 {{{78,4590}, {78,4565}}} |
| 112 debugShowConicLineIntersection wtTs[0]=1 {{{{84,4596}, {78,4596}, {78,4590}}}, 0
.707106769} {{78,4590}} wnTs[0]=0 {{{78,4590}, {78,4565}}} |
| 113 debugShowConicLineIntersection wtTs[0]=1 {{{{78,4565}, {78,4559}, {84,4559}}}, 0
.707106769} {{84,4559}} wnTs[0]=0 {{{84,4559}, {158,4559}}} |
| 114 debugShowLineIntersection wtTs[0]=0 {{{158,4559}, {158,4596}}} {{158,4559}} wnTs
[0]=1 {{{84,4559}, {158,4559}}} |
| 115 debugShowLineIntersection wtTs[0]=0 {{{158,4596}, {84,4596}}} {{158,4596}} wnTs[
0]=1 {{{158,4559}, {158,4596}}} |
| 116 debugShowConicLineIntersection wtTs[0]=0 {{{{84,4596}, {78,4596}, {78,4590}}}, 0
.707106769} {{84,4596}} wnTs[0]=1 {{{158,4596}, {84,4596}}} |
| 117 ------------x-------- start |
| 118 ------------x-------- moveMultiples |
| 119 ------------x-------- findCollapsed |
| 120 ------------x-------- moveNearby |
| 121 ------------x-------- align |
| 122 ------------x-------- fixAligned |
| 123 ------------x-------- addAlignIntersections |
| 124 ------------x-------- expand2 |
| 125 ------------x-------- mark1 |
| 126 ------------x-------- missingCoincidence1 |
| 127 ------------x-------- expand3 |
| 128 ------------x-------- addExpanded2 |
| 129 ------------x-------- missingCoincidence2 |
| 130 SkOpSegment::markDone id=8 (84,4559 1170,4559) t=0 [15] (84,4559) tEnd=0.0681399
632 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0 |
| 131 SkOpSegment::markDone id=10 (78,4565 78,4559 84,4559) t=0 [19] (78,4565) tEnd=1
newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0 |
| 132 SkOpSegment::markDone id=6 (78,4590.00586 78,4565) t=0.000234320081 [33] (78,459
0) tEnd=1 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0 |
| 133 ------------x-------- pairs->apply |
| 134 ------------x-------- pairs->findOverlaps |
| 135 SkOpSegment::sortAngles [4] tStart=0.931066176 [29] |
| 136 SkOpAngle::after [4/1] 31/31 tStart=0.931066176 tEnd=0 < [12/14] 7/7 tStart=0.97
2972973 tEnd=0 < [4/2] 15/15 tStart=0.931066176 tEnd=1 T 4 |
| 137 SkOpAngle::afterPart {{{158,4595}, {1171,4595}}} id=4 |
| 138 SkOpAngle::afterPart {{{158,4595}, {158,4559}}} id=12 |
| 139 SkOpAngle::afterPart {{{158,4595}, {83,4595}}} id=4 |
| 140 SkOpAngle::after [4/1] 31/31 tStart=0.931066176 tEnd=0 < [12/15] 23/23 tStart=0.
972972973 tEnd=1 < [12/14] 7/7 tStart=0.972972973 tEnd=0 F 4 |
| 141 SkOpAngle::afterPart {{{158,4595}, {1171,4595}}} id=4 |
| 142 SkOpAngle::afterPart {{{158,4595}, {158,4596}}} id=12 |
| 143 SkOpAngle::afterPart {{{158,4595}, {158,4559}}} id=12 |
| 144 SkOpAngle::after [12/14] 7/7 tStart=0.972972973 tEnd=0 < [12/15] 23/23 tStart=0.
972972973 tEnd=1 < [4/2] 15/15 tStart=0.931066176 tEnd=1 F 4 |
| 145 SkOpAngle::afterPart {{{158,4595}, {158,4559}}} id=12 |
| 146 SkOpAngle::afterPart {{{158,4595}, {158,4596}}} id=12 |
| 147 SkOpAngle::afterPart {{{158,4595}, {83,4595}}} id=4 |
| 148 SkOpAngle::after [4/2] 15/15 tStart=0.931066176 tEnd=1 < [12/15] 23/23 tStart=0.
972972973 tEnd=1 < [4/1] 31/31 tStart=0.931066176 tEnd=0 T 4 |
| 149 SkOpAngle::afterPart {{{158,4595}, {83,4595}}} id=4 |
| 150 SkOpAngle::afterPart {{{158,4595}, {158,4596}}} id=12 |
| 151 SkOpAngle::afterPart {{{158,4595}, {1171,4595}}} id=4 |
| 152 SkOpSegment::sortAngles [5] tStart=0.999339899 [31] |
| 153 SkOpAngle::after [5/3] 25/29 tStart=0.999339899 tEnd=0 < [14/16] 25/29 tStart=0.
998759893 tEnd=0 < [5/4] 9/9 tStart=0.999339899 tEnd=1 F 12 |
| 154 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78.0133288,4595}, {83,4595}}},
0.877537966} id=5 |
| 155 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78.0105173,4596}, {84,4596}}},
0.877548993} id=14 |
| 156 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78.0000041,4590.00819}, {78,45
90.00586}}}, 0.999999881} id=5 |
| 157 SkOpAngle::after [5/3] 25/29 tStart=0.999339899 tEnd=0 < [14/17] 9/9 tStart=0.99
8759893 tEnd=1 < [5/4] 9/9 tStart=0.999339899 tEnd=1 T 11 |
| 158 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78.0133288,4595}, {83,4595}}},
0.877537966} id=5 |
| 159 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78,4590.00526}, {78,4590}}}, 0
.999999642} id=14 |
| 160 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78.0000041,4590.00819}, {78,45
90.00586}}}, 0.999999881} id=5 |
| 161 SkOpSegment::sortAngles [6] tStart=0.000234320081 [33] |
| 162 SkOpAngle::after [6/5] 23/23 tStart=0.000234320081 tEnd=0 < [9/9] 7/7 tStart=0 t
End=1 < [14/18] 21/21 tStart=1 tEnd=0.998759893 T 4 |
| 163 SkOpAngle::afterPart {{{78,4590}, {78,4590.00586}}} id=6 |
| 164 SkOpAngle::afterPart {{{78,4590}, {78,4565}}} id=9 |
| 165 SkOpAngle::afterPart {{{{78,4590}, {78,4590.00526}, {78.0000076,4590.01074}}}, 0
.999999642} id=14 |
| 166 SkOpSegment::sortAngles [7] tStart=0 [13] |
| 167 SkOpSegment::sortAngles [7] tStart=1 [14] |
| 168 SkOpSegment::sortAngles [8] tStart=0.0681399632 [34] |
| 169 SkOpAngle::after [8/8] 31/31 tStart=0.0681399632 tEnd=1 < [11/12] 15/15 tStart=1
tEnd=0 < [12/13] 23/23 tStart=0 tEnd=0.972972973 T 4 |
| 170 SkOpAngle::afterPart {{{158,4559}, {1170,4559}}} id=8 |
| 171 SkOpAngle::afterPart {{{158,4559}, {84,4559}}} id=11 |
| 172 SkOpAngle::afterPart {{{158,4559}, {158,4595}}} id=12 |
81 SkOpSegment::sortAngles [9] tStart=0 [17] | 173 SkOpSegment::sortAngles [9] tStart=0 [17] |
82 SkOpSegment::sortAngles [15] tStart=0.999999628 [33] | 174 SkOpSegment::sortAngles [9] tStart=1 [18] |
83 SkOpSegment::sortAngles [16] tStart=1 [32] | 175 SkOpSegment::sortAngles [11] tStart=0 [21] |
84 SkOpSegment::debugShowActiveSpans id=1 (6.31801322e-006,-60 0,-83) t=0 (6.318013
22e-006,-60) tEnd=1 windSum=? windValue=1 | 176 SkOpSegment::sortAngles [11] tStart=1 [22] |
85 SkOpSegment::debugShowActiveSpans id=2 (0,-83 32.0712242,-83 61.2726326,-64.5230
865 75.0056381,-35.5408783) t=0 (0,-83) tEnd=1 windSum=? windValue=1 | 177 SkOpSegment::sortAngles [12] tStart=0 [23] |
86 SkOpSegment::debugShowActiveSpans id=3 (75.0056381,-35.5408783 88.7386475,-6.558
67052 84.545517,27.7420006 64.2353287,52.562561) t=0 (75.0056381,-35.5408783) tE
nd=1 windSum=? windValue=1 | 178 SkOpSegment::sortAngles [12] tStart=0.972972973 [30] |
87 SkOpSegment::debugShowActiveSpans id=4 (64.2353287,52.562561 60.2773972,57.39944
84 55.7858162,61.773819 50.8459854,65.6024933) t=0 (64.2353287,52.562561) tEnd=1
windSum=? windValue=1 | 179 SkOpSegment::sortAngles [14] tStart=0.998759893 [32] |
88 SkOpSegment::debugShowActiveSpans id=5 (50.8459854,65.6024933 36.756134,47.42348
1) t=0 (50.8459854,65.6024933) tEnd=1 windSum=? windValue=1 | 180 SkOpSegment::sortAngles [14] tStart=1 [28] |
89 SkOpSegment::debugShowActiveSpans id=6 (36.756134,47.423481 40.3270988,44.655769
3 43.5740242,41.493576 46.4351768,37.9970322) t=0 (36.756134,47.423481) tEnd=1 w
indSum=? windValue=1 | 181 SkOpCoincidence::debugShowCoincidence - id=11 t=0 tEnd=1 |
90 SkOpSegment::debugShowActiveSpans id=7 (46.4351768,37.9970322 61.1172447,20.0544
662 64.1484222,-4.74120331 54.2209473,-25.6921959) t=0 (46.4351768,37.9970322) t
End=1 windSum=? windValue=1 | 182 SkOpCoincidence::debugShowCoincidence + id=8 t=0 tEnd=0.0681399632 |
91 SkOpSegment::debugShowActiveSpans id=8 (54.2209473,-25.6921959 44.2934723,-46.64
31847 23.1840267,-60 6.31801322e-006,-60) t=0 (54.2209473,-25.6921959) tEnd=1 wi
ndSum=? windValue=1 | 183 SkOpCoincidence::debugShowCoincidence - id=7 t=0 tEnd=1 |
92 SkOpSegment::debugShowActiveSpans id=9 (50.8459854,65.6024933 23.334074,86.92591
86 -14.5602179,88.8177719 -44.0591507,70.3405457) t=0 (50.8459854,65.6024933) tE
nd=1 windSum=? windValue=1 | 184 SkOpCoincidence::debugShowCoincidence + id=10 t=0 tEnd=1 |
93 SkOpSegment::debugShowActiveSpans id=10 (-44.0591507,70.3405457 -73.5580902,51.8
633156 -88.3942261,16.9427452 -81.2158127,-17.116993) t=0 (-44.0591507,70.340545
7) tEnd=1 windSum=? windValue=1 | 185 SkOpCoincidence::debugShowCoincidence - id=9 t=0 tEnd=1 |
94 SkOpSegment::debugShowActiveSpans id=11 (-81.2158127,-17.116993 -74.0374069,-51.
1767159 -46.3696136,-77.1391754 -11.9226456,-82.1392059) t=0 (-81.2158127,-17.11
6993) tEnd=1 windSum=? windValue=1 | 186 SkOpCoincidence::debugShowCoincidence + id=6 t=0.000234320081 tEnd=1 |
95 SkOpSegment::debugShowActiveSpans id=12 (-11.9226456,-82.1392059 -8.61876869,-59
.3777466) t=0 (-11.9226456,-82.1392059) tEnd=1 windSum=? windValue=1 | 187 SkOpSegment::debugShowActiveSpans id=1 (1170,4559 1176,4559 1176,4565 0.70710676
9f) t=0 (1170,4559) tEnd=1 windSum=? windValue=1 |
96 SkOpSegment::debugShowActiveSpans id=13 (-8.61876869,-59.3777466 -33.5202026,-55
.7632599 -53.5210152,-36.9952087 -58.7102203,-12.3737135) t=0 (-8.61876869,-59.3
777466) tEnd=1 windSum=? windValue=1 | 188 SkOpSegment::debugShowActiveSpans id=2 (1176,4565 1176,4590) t=0 (1176,4565) tEn
d=1 windSum=? windValue=1 |
97 SkOpSegment::debugShowActiveSpans id=14 (-58.7102203,-12.3737135 -63.8994179,12.
2477798 -53.1744957,37.4915581 -31.849966,50.8485832) t=0 (-58.7102203,-12.37371
35) tEnd=1 windSum=? windValue=1 | 189 SkOpSegment::debugShowActiveSpans id=3 (1176,4590 1176,4595 1171,4595 0.70710676
9f) t=0 (1176,4590) tEnd=1 windSum=? windValue=1 |
98 SkOpSegment::debugShowActiveSpans id=15 (-31.849966,50.8485832 -10.5254354,64.20
56046 16.8680305,62.8380051 36.7561607,47.4234695) t=0 (-31.849966,50.8485832) t
End=0.999999628 windSum=? windValue=1 | 190 SkOpSegment::debugShowActiveSpans id=4 (1171,4595 83,4595) t=0 (1171,4595) tEnd=
0.931066176 windSum=? windValue=1 |
99 SkOpSegment::debugShowActiveSpans id=15 (-31.849966,50.8485832 -10.5254354,64.20
56046 16.8680305,62.8380051 36.7561607,47.4234695) t=0.999999628 (36.756134,47.4
23481) tEnd=1 windSum=? windValue=1 | 191 SkOpSegment::debugShowActiveSpans id=4 (1171,4595 83,4595) t=0.931066176 (158,45
95) tEnd=1 windSum=? windValue=1 |
100 SkOpSegment::debugShowActiveSpans id=16 (36.7561607,47.4234695 50.8459854,65.602
4933) t=0 (36.7561607,47.4234695) tEnd=1 windSum=? windValue=1 | 192 SkOpSegment::debugShowActiveSpans id=5 (83,4595 78.0086746,4595 78,4590.00586 0.
707720578f) t=0 (83,4595) tEnd=0.999339899 windSum=? windValue=1 |
101 SkOpSpan::sortableTop dir=kLeft seg=1 t=0.5 pt=(3.15900661e-006,-71.5) | 193 SkOpSegment::debugShowActiveSpans id=5 (83,4595 78.0086746,4595 78,4590.00586 0.
707720578f) t=0.999339899 (78.0000076,4590.01074) tEnd=1 windSum=? windValue=1 |
102 SkOpSpan::sortableTop [0] valid=1 operand=1 span=21 ccw=1 seg=11 {{{-81.2158127f
, -17.116993f}, {-74.0374069f, -51.1767159f}, {-46.3696136f, -77.1391754f}, {-11
.9226456f, -82.1392059f}}} t=0.683500004 pt=(-42.1581116,-71.5) slope=(86.347103
,-50.9415461) | 194 SkOpSegment::debugShowActiveSpans id=6 (78,4590.00586 78,4565) t=0 (78,4590.0058
6) tEnd=0.000234320081 windSum=? windValue=1 |
103 SkOpSpan::sortableTop [1] valid=1 operand=1 span=23 ccw=0 seg=12 {{{-11.9226456f
, -82.1392059f}, {-8.61876869f, -59.3777466f}}} t=0.46742196 pt=(-10.3783407,-71
.5) slope=(3.30387688,22.7614594) | 195 SkOpSegment::debugShowActiveSpans id=7 (78,4565 78,4559 84,4559 0.707106769f) t=
0 (78,4565) tEnd=1 windSum=? oppSum=? windValue=1 oppValue=1 |
104 SkOpSpan::sortableTop [2] valid=1 operand=0 span=1 ccw=1 seg=1 {{{6.31801322e-00
6f, -60}, {0, -83}}} t=0.5 pt=(3.15900661e-006,-71.5) slope=(-6.31801322e-006,-2
3) | 196 SkOpSegment::debugShowActiveSpans id=8 (84,4559 1170,4559) t=0.0681399632 (158,4
559) tEnd=1 windSum=? windValue=1 |
105 SkOpSegment::markWinding id=11 (-81.2158127,-17.116993 -74.0374069,-51.1767159 -
46.3696136,-77.1391754 -11.9226456,-82.1392059) t=0 [21] (-81.2158127,-17.116993
) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 | 197 SkOpSegment::debugShowActiveSpans id=9 (78,4590 78,4565) t=0 (78,4590) tEnd=1 wi
ndSum=? oppSum=? windValue=1 oppValue=1 |
106 SkOpSegment::markWinding id=12 (-11.9226456,-82.1392059 -8.61876869,-59.3777466)
t=0 [23] (-11.9226456,-82.1392059) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? wi
ndSum=? windValue=1 oppValue=0 | 198 SkOpSegment::debugShowActiveSpans id=11 (84,4559 158,4559) t=0 (84,4559) tEnd=1
windSum=? oppSum=? windValue=1 oppValue=1 |
107 SkOpSegment::markWinding id=13 (-8.61876869,-59.3777466 -33.5202026,-55.7632599
-53.5210152,-36.9952087 -58.7102203,-12.3737135) t=0 [25] (-8.61876869,-59.37774
66) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 | 199 SkOpSegment::debugShowActiveSpans id=12 (158,4559 158,4596) t=0 (158,4559) tEnd=
0.972972973 windSum=? windValue=1 |
108 SkOpSegment::markWinding id=14 (-58.7102203,-12.3737135 -63.8994179,12.2477798 -
53.1744957,37.4915581 -31.849966,50.8485832) t=0 [27] (-58.7102203,-12.3737135)
tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 | 200 SkOpSegment::debugShowActiveSpans id=12 (158,4559 158,4596) t=0.972972973 (158,4
595) tEnd=1 windSum=? windValue=1 |
109 SkOpSegment::markWinding id=15 (-31.849966,50.8485832 -10.5254354,64.2056046 16.
8680305,62.8380051 36.7561607,47.4234695) t=0 [29] (-31.849966,50.8485832) tEnd=
0.999999628 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 | 201 SkOpSegment::debugShowActiveSpans id=13 (158,4596 84,4596) t=0 (158,4596) tEnd=1
windSum=? windValue=1 |
110 SkOpSegment::markWinding id=11 (-81.2158127,-17.116993 -74.0374069,-51.1767159 -
46.3696136,-77.1391754 -11.9226456,-82.1392059) t=0 [21] (-81.2158127,-17.116993
) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 | 202 SkOpSegment::debugShowActiveSpans id=14 (84,4596 78,4596 78,4590 0.707106769f) t
=0 (84,4596) tEnd=0.998759893 windSum=? windValue=1 |
111 SkOpSegment::markWinding id=10 (-44.0591507,70.3405457 -73.5580902,51.8633156 -8
8.3942261,16.9427452 -81.2158127,-17.116993) t=0 [19] (-44.0591507,70.3405457) t
End=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 | 203 SkOpSegment::debugShowActiveSpans id=14 (84,4596 78,4596 78,4590 0.707106769f) t
=0.998759893 (78.0000076,4590.01074) tEnd=1 windSum=? windValue=1 |
112 SkOpSegment::markWinding id=9 (50.8459854,65.6024933 23.334074,86.9259186 -14.56
02179,88.8177719 -44.0591507,70.3405457) t=0 [17] (50.8459854,65.6024933) tEnd=1
newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 | 204 SkOpSpan::sortableTop dir=kTop seg=1 t=0.5 pt=(1174.24268,4560.75732) |
113 SkOpSegment::markWinding id=1 (6.31801322e-006,-60 0,-83) t=0 [1] (6.31801322e-0
06,-60) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValu
e=0 | 205 SkOpSpan::sortableTop [0] valid=1 operand=0 span=1 ccw=1 seg=1 {{{{1170, 4559},
{1176, 4559}, {1176, 4565}}}, 0.707106769f} t=0.5 pt=(1174.24268,4560.75732) slo
pe=(2.56066015,2.56066015) |
114 SkOpSegment::markWinding id=2 (0,-83 32.0712242,-83 61.2726326,-64.5230865 75.00
56381,-35.5408783) t=0 [3] (0,-83) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? win
dSum=? windValue=1 oppValue=0 | 206 SkOpSegment::markWinding id=1 (1170,4559 1176,4559 1176,4565) t=0 [1] (1170,4559
) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 |
115 SkOpSegment::markWinding id=3 (75.0056381,-35.5408783 88.7386475,-6.55867052 84.
545517,27.7420006 64.2353287,52.562561) t=0 [5] (75.0056381,-35.5408783) tEnd=1
newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 | 207 SkOpSegment::markWinding id=2 (1176,4565 1176,4590) t=0 [3] (1176,4565) tEnd=1 n
ewWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 |
116 SkOpSegment::markWinding id=4 (64.2353287,52.562561 60.2773972,57.3994484 55.785
8162,61.773819 50.8459854,65.6024933) t=0 [7] (64.2353287,52.562561) tEnd=1 newW
indSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 | 208 SkOpSegment::markWinding id=3 (1176,4590 1176,4595 1171,4595) t=0 [5] (1176,4590
) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 |
117 SkOpSegment::markWinding id=1 (6.31801322e-006,-60 0,-83) t=0 [1] (6.31801322e-0
06,-60) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValu
e=0 | 209 SkOpSegment::markWinding id=4 (1171,4595 83,4595) t=0 [7] (1171,4595) tEnd=0.931
066176 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 |
118 SkOpSegment::markWinding id=8 (54.2209473,-25.6921959 44.2934723,-46.6431847 23.
1840267,-60 6.31801322e-006,-60) t=0 [15] (54.2209473,-25.6921959) tEnd=1 newWin
dSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 | 210 SkOpSegment::markWinding id=1 (1170,4559 1176,4559 1176,4565) t=0 [1] (1170,4559
) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 |
119 SkOpSegment::markWinding id=7 (46.4351768,37.9970322 61.1172447,20.0544662 64.14
84222,-4.74120331 54.2209473,-25.6921959) t=0 [13] (46.4351768,37.9970322) tEnd=
1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 | 211 SkOpSegment::markWinding id=8 (84,4559 1170,4559) t=0.0681399632 [34] (158,4559)
tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 |
120 SkOpSegment::markWinding id=6 (36.756134,47.423481 40.3270988,44.6557693 43.5740
242,41.493576 46.4351768,37.9970322) t=0 [11] (36.756134,47.423481) tEnd=1 newWi
ndSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 | |
121 SkOpSegment::activeOp id=1 t=1 tEnd=0 op=union miFrom=0 miTo=1 suFrom=0 suTo=0 r
esult=1 | 212 SkOpSegment::activeOp id=1 t=1 tEnd=0 op=union miFrom=0 miTo=1 suFrom=0 suTo=0 r
esult=1 |
122 SkOpSegment::findNextOp simple | 213 SkOpSegment::findNextOp simple |
123 SkOpSegment::markDone id=1 (6.31801322e-006,-60 0,-83) t=0 [1] (6.31801322e-006,
-60) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 | 214 SkOpSegment::markDone id=1 (1170,4559 1176,4559 1176,4565) t=0 [1] (1170,4559) t
End=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 |
124 bridgeOp current id=1 from=(0,-83) to=(6.31801322e-006,-60) | 215 bridgeOp current id=1 from=(1176,4565) to=(1170,4559) |
125 SkOpSegment::findNextOp simple | 216 path.moveTo(1176,4565); |
126 SkOpSegment::markDone id=8 (54.2209473,-25.6921959 44.2934723,-46.6431847 23.184
0267,-60 6.31801322e-006,-60) t=0 [15] (54.2209473,-25.6921959) tEnd=1 newWindSu
m=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 | 217 path.conicTo(1176,4559, 1170,4559, 0.707106769); |
127 bridgeOp current id=8 from=(6.31801322e-006,-60) to=(54.2209473,-25.6921959) | 218 SkOpSegment::markWinding id=11 (84,4559 158,4559) t=0 [21] (84,4559) tEnd=1 newW
indSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=1 |
128 path.moveTo(0,-83); | 219 SkOpSegment::markWinding id=7 (78,4565 78,4559 84,4559) t=0 [13] (78,4565) tEnd=
1 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=1 |
129 path.lineTo(6.31801322e-006,-60); | 220 SkOpSegment::markWinding id=9 (78,4590 78,4565) t=0 [17] (78,4590) tEnd=1 newWin
dSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=1 |
130 path.cubicTo(23.1840267,-60, 44.2934723,-46.6431847, 54.2209473,-25.6921959); | 221 SkOpSegment::markAngle last segment=9 span=17 windSum=-1 |
131 SkOpSegment::findNextOp simple | 222 SkOpSegment::markWinding id=12 (158,4559 158,4596) t=0 [23] (158,4559) tEnd=0.97
2972973 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0 |
132 SkOpSegment::markDone id=7 (46.4351768,37.9970322 61.1172447,20.0544662 64.14842
22,-4.74120331 54.2209473,-25.6921959) t=0 [13] (46.4351768,37.9970322) tEnd=1 n
ewWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 | 223 SkOpSegment::markAngle last segment=12 span=30 windSum=? |
133 bridgeOp current id=7 from=(54.2209473,-25.6921959) to=(46.4351768,37.9970322) | |
134 path.cubicTo(64.1484222,-4.74120331, 61.1172447,20.0544662, 46.4351768,37.997032
2); | |
135 SkOpSegment::markWinding id=15 (-31.849966,50.8485832 -10.5254354,64.2056046 16.
8680305,62.8380051 36.7561607,47.4234695) t=0.999999628 [33] (36.756134,47.42348
1) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 | |
136 SkOpSegment::markWinding id=16 (36.7561607,47.4234695 50.8459854,65.6024933) t=0
[31] (36.7561607,47.4234695) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=?
windValue=1 oppValue=0 | |
137 SkOpSegment::markAngle last segment=16 span=32 | |
138 SkOpSegment::markWinding id=5 (50.8459854,65.6024933 36.756134,47.423481) t=0 [9
] (50.8459854,65.6024933) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? w
indValue=1 oppValue=0 | |
139 SkOpSegment::markAngle last segment=5 span=9 windSum=-1 | |
140 SkOpSegment::findNextOp | 224 SkOpSegment::findNextOp |
141 SkOpAngle::dumpOne [6/4] next=15/7 sect=1/1 s=0 [11] e=1 [12] sgn=-1 windVal=1
windSum=-1 oppVal=0 oppSum=0 | 225 SkOpAngle::dumpOne [8/8] next=11/12 sect=31/31 s=0.0681399632 [34] e=1 [16] sgn
=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 |
142 SkOpAngle::dumpOne [15/7] next=15/6 sect=1/1 s=0.999999628 [33] e=1 [30] sgn=-1
windVal=1 windSum=1 oppVal=0 oppSum=0 operand | 226 SkOpAngle::dumpOne [11/12] next=12/13 sect=15/15 s=1 [22] e=0 [21] sgn=1 windVa
l=1 windSum=-1 oppVal=1 oppSum=-1 operand |
143 SkOpAngle::dumpOne [15/6] next=5/3 sect=17/17 s=0.999999628 [33] e=0 [29] sgn=1
windVal=1 windSum=-1 oppVal=0 oppSum=0 operand | 227 SkOpAngle::dumpOne [12/13] next=8/8 sect=23/23 s=0 [23] e=0.972972973 [30] sgn=
-1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 operand |
144 SkOpAngle::dumpOne [5/3] next=6/4 sect=25/25 s=1 [10] e=0 [9] sgn=1 windVal=1 w
indSum=-1 oppVal=0 oppSum=-1 | 228 SkOpSegment::activeOp id=11 t=1 tEnd=0 op=union miFrom=0 miTo=1 suFrom=0 suTo=1
result=1 |
145 SkOpSegment::activeOp id=15 t=0.999999628 tEnd=1 op=union miFrom=0 miTo=0 suFrom
=0 suTo=1 result=1 | 229 SkOpSegment::findNextOp chase.append segment=9 span=17 windSum=-1 |
146 SkOpSegment::findNextOp chase.append segment=16 span=32 | 230 SkOpSegment::activeOp id=12 t=0 tEnd=0.972972973 op=union miFrom=1 miTo=1 suFrom
=1 suTo=0 result=0 |
147 SkOpSegment::activeOp id=15 t=0.999999628 tEnd=0 op=union miFrom=0 miTo=0 suFrom
=1 suTo=0 result=1 | 231 SkOpSegment::markDone id=12 (158,4559 158,4596) t=0 [23] (158,4559) tEnd=0.97297
2973 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0 |
148 SkOpSegment::activeOp id=5 t=1 tEnd=0 op=union miFrom=0 miTo=1 suFrom=0 suTo=0 r
esult=1 | 232 SkOpSegment::findNextOp chase.append segment=12 span=30 windSum=-2147483647 |
149 SkOpSegment::findNextOp chase.append segment=5 span=9 windSum=-1 | 233 SkOpSegment::markDone id=8 (84,4559 1170,4559) t=0.0681399632 [34] (158,4559) tE
nd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 |
150 SkOpSegment::markDone id=6 (36.756134,47.423481 40.3270988,44.6557693 43.5740242
,41.493576 46.4351768,37.9970322) t=0 [11] (36.756134,47.423481) tEnd=1 newWindS
um=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 | 234 SkOpSegment::findNextOp from:[8] to:[11] start=8985900 end=8985796 |
151 SkOpSegment::findNextOp from:[6] to:[15] start=13585868 end=13585412 | 235 bridgeOp current id=8 from=(1170,4559) to=(158,4559) |
152 bridgeOp current id=6 from=(46.4351768,37.9970322) to=(36.756134,47.423481) | 236 SkOpSegment::findNextOp simple |
153 path.cubicTo(43.5740242,41.493576, 40.3270988,44.6557693, 36.756134,47.423481); | 237 SkOpSegment::markDone id=11 (84,4559 158,4559) t=0 [21] (84,4559) tEnd=1 newWind
Sum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=1 |
154 SkOpSegment::findNextOp simple | 238 bridgeOp current id=11 from=(158,4559) to=(84,4559) |
155 SkOpSegment::markDone id=15 (-31.849966,50.8485832 -10.5254354,64.2056046 16.868
0305,62.8380051 36.7561607,47.4234695) t=0.999999628 [33] (36.756134,47.423481)
tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0 | 239 SkOpSegment::findNextOp simple |
156 bridgeOp current id=15 from=(36.756134,47.423481) to=(36.7561607,47.4234695) | 240 SkOpSegment::markDone id=7 (78,4565 78,4559 84,4559) t=0 [13] (78,4565) tEnd=1 n
ewWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=1 |
157 path.cubicTo(36.7561417,47.4234734, 36.7561531,47.4234772, 36.7561607,47.4234695
); | 241 bridgeOp current id=7 from=(84,4559) to=(78,4565) |
| 242 path.lineTo(84,4559); |
| 243 path.conicTo(78,4559, 78,4565, 0.707106769); |
| 244 SkOpSegment::markWinding id=14 (84,4596 78,4596 78,4590) t=0.998759893 [32] (78.
0000076,4590.01074) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValu
e=1 oppValue=0 |
| 245 SkOpSegment::markAngle last segment=14 span=32 windSum=-1 |
| 246 SkOpSegment::markWinding id=6 (78,4590.00586 78,4565) t=0 [11] (78,4590.00586) t
End=0.000234320081 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 opp
Value=0 |
| 247 SkOpSegment::markWinding id=5 (83,4595 78.0086746,4595 78,4590.00586) t=0.999339
899 [31] (78.0000076,4590.01074) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=? wind
Sum=? windValue=1 oppValue=0 |
| 248 SkOpSegment::markAngle last segment=5 span=31 windSum=-1 |
158 SkOpSegment::findNextOp | 249 SkOpSegment::findNextOp |
159 SkOpAngle::dumpOne [16/8] next=5/2 sect=9/9 s=1 [32] e=0 [31] sgn=1 windVal=1 w
indSum=1 oppVal=0 oppSum=0 operand | 250 SkOpAngle::dumpOne [9/9] next=14/18 sect=7/7 s=0 [17] e=1 [18] sgn=-1 windVal=1
windSum=-1 oppVal=1 oppSum=-1 operand |
160 SkOpAngle::dumpOne [5/2] next=9/5 sect=9/9 s=0 [9] e=1 [10] sgn=-1 windVal=1 wi
ndSum=-1 oppVal=0 oppSum=-1 | 251 SkOpAngle::dumpOne [14/18] next=6/5 sect=21/21 s=1 [28] e=0.998759893 [32] sgn=
1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand |
161 SkOpAngle::dumpOne [9/5] next=4/1 sect=17/17 s=0 [17] e=1 [18] sgn=-1 windVal=1
windSum=-1 oppVal=0 oppSum=0 operand | 252 SkOpAngle::dumpOne [6/5] next=9/9 sect=23/23 s=0.000234320081 [33] e=0 [11] sgn
=1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 |
162 SkOpAngle::dumpOne [4/1] next=16/8 sect=1/1 s=1 [8] e=0 [7] sgn=1 windVal=1 win
dSum=-1 oppVal=0 oppSum=0 | 253 SkOpSegment::activeOp id=14 t=1 tEnd=0.998759893 op=union miFrom=0 miTo=0 suFrom
=0 suTo=1 result=1 |
163 SkOpSegment::activeOp id=5 t=0 tEnd=1 op=union miFrom=0 miTo=1 suFrom=0 suTo=0 r
esult=1 | 254 SkOpSegment::findNextOp chase.append segment=14 span=32 windSum=-1 |
164 SkOpSegment::activeOp id=9 t=0 tEnd=1 op=union miFrom=1 miTo=1 suFrom=0 suTo=1 r
esult=0 | 255 SkOpSegment::activeOp id=6 t=0.000234320081 tEnd=0 op=union miFrom=0 miTo=1 suFr
om=1 suTo=1 result=0 |
165 SkOpSegment::markDone id=9 (50.8459854,65.6024933 23.334074,86.9259186 -14.56021
79,88.8177719 -44.0591507,70.3405457) t=0 [17] (50.8459854,65.6024933) tEnd=1 ne
wWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 | 256 SkOpSegment::markDone id=6 (78,4590.00586 78,4565) t=0 [11] (78,4590.00586) tEnd
=0.000234320081 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppV
alue=0 |
166 SkOpSegment::markDone id=10 (-44.0591507,70.3405457 -73.5580902,51.8633156 -88.3
942261,16.9427452 -81.2158127,-17.116993) t=0 [19] (-44.0591507,70.3405457) tEnd
=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 | 257 SkOpSegment::markDone id=5 (83,4595 78.0086746,4595 78,4590.00586) t=0.999339899
[31] (78.0000076,4590.01074) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=-1 windSu
m=-1 windValue=1 oppValue=0 |
167 SkOpSegment::markDone id=11 (-81.2158127,-17.116993 -74.0374069,-51.1767159 -46.
3696136,-77.1391754 -11.9226456,-82.1392059) t=0 [21] (-81.2158127,-17.116993) t
End=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 | 258 SkOpSegment::findNextOp chase.append segment=5 span=31 windSum=-1 |
168 SkOpSegment::markDone id=12 (-11.9226456,-82.1392059 -8.61876869,-59.3777466) t=
0 [23] (-11.9226456,-82.1392059) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windS
um=-1 windValue=1 oppValue=0 | 259 SkOpSegment::markDone id=9 (78,4590 78,4565) t=0 [17] (78,4590) tEnd=1 newWindSu
m=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=1 |
169 SkOpSegment::markDone id=13 (-8.61876869,-59.3777466 -33.5202026,-55.7632599 -53
.5210152,-36.9952087 -58.7102203,-12.3737135) t=0 [25] (-8.61876869,-59.3777466)
tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 | 260 SkOpSegment::findNextOp from:[9] to:[14] start=8986620 end=8987068 |
170 SkOpSegment::markDone id=14 (-58.7102203,-12.3737135 -63.8994179,12.2477798 -53.
1744957,37.4915581 -31.849966,50.8485832) t=0 [27] (-58.7102203,-12.3737135) tEn
d=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 | 261 bridgeOp current id=9 from=(78,4565) to=(78,4590) |
171 SkOpSegment::markDone id=15 (-31.849966,50.8485832 -10.5254354,64.2056046 16.868
0305,62.8380051 36.7561607,47.4234695) t=0 [29] (-31.849966,50.8485832) tEnd=0.9
99999628 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 | 262 SkOpSegment::markWinding id=14 (84,4596 78,4596 78,4590) t=0 [27] (84,4596) tEnd
=0.998759893 newWindSum=-2 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 |
172 SkOpSegment::activeOp id=4 t=1 tEnd=0 op=union miFrom=1 miTo=0 suFrom=1 suTo=1 r
esult=0 | 263 SkOpSegment::markWinding id=13 (158,4596 84,4596) t=0 [25] (158,4596) tEnd=1 new
WindSum=-2 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 |
173 SkOpSegment::markDone id=4 (64.2353287,52.562561 60.2773972,57.3994484 55.785816
2,61.773819 50.8459854,65.6024933) t=0 [7] (64.2353287,52.562561) tEnd=1 newWind
Sum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 | 264 SkOpSegment::markWinding id=12 (158,4559 158,4596) t=0.972972973 [30] (158,4595)
tEnd=1 newWindSum=-2 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 |
174 SkOpSegment::markDone id=3 (75.0056381,-35.5408783 88.7386475,-6.55867052 84.545
517,27.7420006 64.2353287,52.562561) t=0 [5] (75.0056381,-35.5408783) tEnd=1 new
WindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 | 265 SkOpSegment::markAngle last segment=12 span=30 windSum=-2 |
175 SkOpSegment::markDone id=2 (0,-83 32.0712242,-83 61.2726326,-64.5230865 75.00563
81,-35.5408783) t=0 [3] (0,-83) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSu
m=-1 windValue=1 oppValue=0 | 266 SkOpSegment::markWinding id=5 (83,4595 78.0086746,4595 78,4590.00586) t=0 [9] (8
3,4595) tEnd=0.999339899 newWindSum=-1 newOppSum=-2 oppSum=? windSum=? windValue
=1 oppValue=0 |
176 SkOpSegment::markDone id=16 (36.7561607,47.4234695 50.8459854,65.6024933) t=0 [3
1] (36.7561607,47.4234695) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 wi
ndValue=1 oppValue=0 | 267 SkOpSegment::markWinding id=4 (1171,4595 83,4595) t=0.931066176 [29] (158,4595)
tEnd=1 newWindSum=-1 newOppSum=-2 oppSum=? windSum=? windValue=1 oppValue=0 |
177 SkOpSegment::findNextOp from:[16] to:[5] start=13582764 end=13582868 | 268 SkOpSegment::markAngle last segment=4 span=29 windSum=-1 |
178 bridgeOp current id=16 from=(36.7561607,47.4234695) to=(50.8459854,65.6024933) | |
179 SkOpSegment::findNextOp | 269 SkOpSegment::findNextOp |
180 SkOpAngle::dumpOne [5/3] next=6/4 sect=25/25 s=1 [10] e=0 [9] sgn=1 windVal=1 w
indSum=-1 oppVal=0 oppSum=-1 | 270 SkOpAngle::dumpOne [14/17] next=5/4 sect=9/9 s=0.998759893 [32] e=1 [28] sgn=-1
windVal=1 windSum=-1 oppVal=0 oppSum=0 operand |
181 SkOpAngle::dumpOne [6/4] next=15/7 sect=1/1 s=0 [11] e=1 [12] sgn=-1 windVal=1
windSum=-1 oppVal=0 oppSum=0 done | 271 SkOpAngle::dumpOne [5/4] next=14/16 sect=9/9 s=0.999339899 [31] e=1 [10] sgn=-1
windVal=1 windSum=-1 oppVal=0 oppSum=-1 done |
182 SkOpAngle::dumpOne [15/7] next=15/6 sect=1/1 s=0.999999628 [33] e=1 [30] sgn=-1
windVal=1 windSum=1 oppVal=0 oppSum=0 done operand | 272 SkOpAngle::dumpOne [14/16] next=5/3 sect=25/29 s=0.998759893 [32] e=0 [27] sgn=
1 windVal=1 windSum=-2 oppVal=0 oppSum=0 operand |
183 SkOpAngle::dumpOne [15/6] next=5/3 sect=17/17 s=0.999999628 [33] e=0 [29] sgn=1
windVal=1 windSum=-1 oppVal=0 oppSum=0 done operand | 273 SkOpAngle::dumpOne [5/3] next=14/17 sect=25/29 s=0.999339899 [31] e=0 [9] sgn=1
windVal=1 windSum=-1 oppVal=0 oppSum=-2 |
184 SkOpSegment::activeOp id=6 t=0 tEnd=1 op=union miFrom=1 miTo=0 suFrom=1 suTo=1 r
esult=0 | 274 SkOpSegment::activeOp id=5 t=0.999339899 tEnd=1 op=union miFrom=0 miTo=1 suFrom=
0 suTo=0 result=1 |
185 SkOpSegment::activeOp id=15 t=0.999999628 tEnd=1 op=union miFrom=0 miTo=0 suFrom
=1 suTo=0 result=1 | 275 SkOpSegment::activeOp id=14 t=0.998759893 tEnd=0 op=union miFrom=1 miTo=1 suFrom
=0 suTo=1 result=0 |
186 SkOpSegment::activeOp id=15 t=0.999999628 tEnd=0 op=union miFrom=0 miTo=0 suFrom
=0 suTo=1 result=1 | 276 SkOpSegment::markDone id=14 (84,4596 78,4596 78,4590) t=0 [27] (84,4596) tEnd=0.
998759893 newWindSum=-2 newOppSum=0 oppSum=0 windSum=-2 windValue=1 oppValue=0 |
187 SkOpSegment::markDone id=5 (50.8459854,65.6024933 36.756134,47.423481) t=0 [9] (
50.8459854,65.6024933) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 wi
ndValue=1 oppValue=0 | 277 SkOpSegment::markDone id=13 (158,4596 84,4596) t=0 [25] (158,4596) tEnd=1 newWin
dSum=-2 newOppSum=0 oppSum=0 windSum=-2 windValue=1 oppValue=0 |
188 SkOpSegment::findNextOp from:[5] to:[15] start=13585868 end=13585412 | 278 SkOpSegment::markDone id=12 (158,4559 158,4596) t=0.972972973 [30] (158,4595) tE
nd=1 newWindSum=-2 newOppSum=0 oppSum=0 windSum=-2 windValue=1 oppValue=0 |
189 bridgeOp current id=5 from=(50.8459854,65.6024933) to=(36.756134,47.423481) | 279 SkOpSegment::activeOp id=5 t=0.999339899 tEnd=0 op=union miFrom=1 miTo=0 suFrom=
1 suTo=1 result=0 |
190 path.lineTo(50.8459854,65.6024933); | 280 SkOpSegment::markDone id=5 (83,4595 78.0086746,4595 78,4590.00586) t=0 [9] (83,4
595) tEnd=0.999339899 newWindSum=-1 newOppSum=-2 oppSum=-2 windSum=-1 windValue=
1 oppValue=0 |
191 path.lineTo(36.756134,47.423481); | 281 SkOpSegment::markDone id=4 (1171,4595 83,4595) t=0.931066176 [29] (158,4595) tEn
d=1 newWindSum=-1 newOppSum=-2 oppSum=-2 windSum=-1 windValue=1 oppValue=0 |
| 282 SkOpSegment::findNextOp chase.append segment=4 span=29 windSum=-1 |
| 283 SkOpSegment::markDone id=14 (84,4596 78,4596 78,4590) t=0.998759893 [32] (78.000
0076,4590.01074) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=
1 oppValue=0 |
| 284 SkOpSegment::findNextOp from:[14] to:[5] start=8986964 end=8984396 |
| 285 bridgeOp current id=14 from=(78,4590) to=(78.0000076,4590.01074) |
| 286 path.lineTo(78,4590); |
| 287 path.conicTo(78,4590.00537, 78.0000076,4590.01074, 0.999999642); |
| 288 SkOpSegment::debugShowActiveSpans id=2 (1176,4565 1176,4590) t=0 (1176,4565) tEn
d=1 windSum=-1 oppSum=0 windValue=1 oppValue=0 |
| 289 SkOpSegment::debugShowActiveSpans id=3 (1176,4590 1176,4595 1171,4595 0.70710676
9f) t=0 (1176,4590) tEnd=1 windSum=-1 oppSum=0 windValue=1 oppValue=0 |
| 290 SkOpSegment::debugShowActiveSpans id=4 (1171,4595 83,4595) t=0 (1171,4595) tEnd=
0.931066176 windSum=-1 oppSum=0 windValue=1 oppValue=0 |
| 291 SkOpSegment::activeOp id=4 t=0.931066176 tEnd=0 op=union miFrom=0 miTo=1 suFrom=
0 suTo=0 result=1 |
| 292 SkOpSegment::findNextOp simple |
| 293 SkOpSegment::markDone id=4 (1171,4595 83,4595) t=0 [7] (1171,4595) tEnd=0.931066
176 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 |
| 294 bridgeOp current id=4 from=(158,4595) to=(1171,4595) |
| 295 SkOpSegment::findNextOp simple |
| 296 SkOpSegment::markDone id=3 (1176,4590 1176,4595 1171,4595) t=0 [5] (1176,4590) t
End=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 |
| 297 bridgeOp current id=3 from=(1171,4595) to=(1176,4590) |
| 298 path.moveTo(158,4595); |
| 299 path.lineTo(1171,4595); |
| 300 path.conicTo(1176,4595, 1176,4590, 0.707106769); |
| 301 SkOpSegment::findNextOp simple |
| 302 SkOpSegment::markDone id=2 (1176,4565 1176,4590) t=0 [3] (1176,4565) tEnd=1 newW
indSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 |
| 303 bridgeOp current id=2 from=(1176,4590) to=(1176,4565) |
| 304 path.lineTo(1176,4565); |
192 </div> | 305 </div> |
| 306 |
193 </div> | 307 </div> |
194 | 308 |
195 <script type="text/javascript"> | 309 <script type="text/javascript"> |
196 | 310 |
197 var testDivs = [ | 311 var testDivs = [ |
198 battleOp183, | 312 skpwww_gorcraft_ru_1, |
199 ]; | 313 ]; |
200 | 314 |
201 var decimal_places = 3; // make this 3 to show more precision | 315 var decimal_places = 3; // make this 3 to show more precision |
202 | 316 |
203 var tests = []; | 317 var tests = []; |
204 var testLines = []; | 318 var testLines = []; |
205 var testTitles = []; | 319 var testTitles = []; |
206 var testIndex = 0; | 320 var testIndex = 0; |
207 var ctx; | 321 var ctx; |
208 | 322 |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
259 var coinMax = 0; | 373 var coinMax = 0; |
260 var sectMax = 0; | 374 var sectMax = 0; |
261 var sectMax2 = 0; | 375 var sectMax2 = 0; |
262 var sortMax = 0; | 376 var sortMax = 0; |
263 var topMax = 0; | 377 var topMax = 0; |
264 var markMax = 0; | 378 var markMax = 0; |
265 var opMax = 0; | 379 var opMax = 0; |
266 var stepMax = 0; | 380 var stepMax = 0; |
267 var lastIndex = 0; | 381 var lastIndex = 0; |
268 var hasPath = false; | 382 var hasPath = false; |
| 383 var hasAlignedPath = false; |
269 var hasComputedPath = false; | 384 var hasComputedPath = false; |
270 var angleBetween = false; | 385 var angleBetween = false; |
271 var afterIndex = 0; | 386 var afterIndex = 0; |
272 | 387 |
273 var firstActiveSpan = -1; | 388 var firstActiveSpan = -1; |
274 var logStart = -1; | 389 var logStart = -1; |
275 var logRange = 0; | 390 var logRange = 0; |
276 | 391 |
277 var SPAN_ID = 0; | 392 var SPAN_ID = 0; |
278 var SPAN_X1 = SPAN_ID + 1; | 393 var SPAN_X1 = SPAN_ID + 1; |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
438 var REC_TYPE_SORT = 5; | 553 var REC_TYPE_SORT = 5; |
439 var REC_TYPE_OP = 6; | 554 var REC_TYPE_OP = 6; |
440 var REC_TYPE_MARK = 7; | 555 var REC_TYPE_MARK = 7; |
441 var REC_TYPE_COMPUTED = 8; | 556 var REC_TYPE_COMPUTED = 8; |
442 var REC_TYPE_COIN = 9; | 557 var REC_TYPE_COIN = 9; |
443 var REC_TYPE_ANGLE = 10; | 558 var REC_TYPE_ANGLE = 10; |
444 var REC_TYPE_ACTIVE_OP = 11; | 559 var REC_TYPE_ACTIVE_OP = 11; |
445 var REC_TYPE_AFTERPART = 12; | 560 var REC_TYPE_AFTERPART = 12; |
446 var REC_TYPE_TOP = 13; | 561 var REC_TYPE_TOP = 13; |
447 var REC_TYPE_COINCIDENCE = 14; | 562 var REC_TYPE_COINCIDENCE = 14; |
448 var REC_TYPE_LAST = REC_TYPE_COINCIDENCE; | 563 var REC_TYPE_ALIGNED = 15; |
| 564 var REC_TYPE_LAST = REC_TYPE_ALIGNED; |
449 | 565 |
450 function strs_to_nums(strs) { | 566 function strs_to_nums(strs) { |
451 var result = []; | 567 var result = []; |
452 for (var idx = 1; idx < strs.length; ++idx) { | 568 for (var idx = 1; idx < strs.length; ++idx) { |
453 var str = strs[idx]; | 569 var str = strs[idx]; |
454 var num = parseFloat(str); | 570 var num = parseFloat(str); |
455 if (isNaN(num)) { | 571 if (isNaN(num)) { |
456 result.push(str); | 572 result.push(str); |
457 } else { | 573 } else { |
458 result.push(num); | 574 result.push(num); |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
553 } | 669 } |
554 var type = line.lastIndexOf("debugShowActiveSpans", 0) === 0 ? REC_TYPE_
ACTIVE | 670 var type = line.lastIndexOf("debugShowActiveSpans", 0) === 0 ? REC_TYPE_
ACTIVE |
555 : line.lastIndexOf("debugShowCoincidence", 0) === 0 ? REC_TYPE_C
OINCIDENCE | 671 : line.lastIndexOf("debugShowCoincidence", 0) === 0 ? REC_TYPE_C
OINCIDENCE |
556 : line.lastIndexOf("((SkOpSegment*)", 0) === 0 ? REC_TYPE_PATH2 | 672 : line.lastIndexOf("((SkOpSegment*)", 0) === 0 ? REC_TYPE_PATH2 |
557 : line.lastIndexOf("debugShowTs", 0) === 0 ? REC_TYPE_COIN | 673 : line.lastIndexOf("debugShowTs", 0) === 0 ? REC_TYPE_COIN |
558 : line.lastIndexOf("afterPart", 0) === 0 ? REC_TYPE_AFTERPART | 674 : line.lastIndexOf("afterPart", 0) === 0 ? REC_TYPE_AFTERPART |
559 : line.lastIndexOf("debugShow", 0) === 0 ? REC_TYPE_SECT | 675 : line.lastIndexOf("debugShow", 0) === 0 ? REC_TYPE_SECT |
560 : line.lastIndexOf("activeOp", 0) === 0 ? REC_TYPE_ACTIVE_OP | 676 : line.lastIndexOf("activeOp", 0) === 0 ? REC_TYPE_ACTIVE_OP |
561 : line.lastIndexOf("computed", 0) === 0 ? REC_TYPE_COMPUTED | 677 : line.lastIndexOf("computed", 0) === 0 ? REC_TYPE_COMPUTED |
562 : line.lastIndexOf("debugOne", 0) === 0 ? REC_TYPE_SORT | 678 : line.lastIndexOf("debugOne", 0) === 0 ? REC_TYPE_SORT |
| 679 : line.lastIndexOf("aligned=", 0) === 0 ? REC_TYPE_ALIGNED |
563 : line.lastIndexOf("dumpOne", 0) === 0 ? REC_TYPE_SORT | 680 : line.lastIndexOf("dumpOne", 0) === 0 ? REC_TYPE_SORT |
564 : line.lastIndexOf("findTop", 0) === 0 ? REC_TYPE_TOP | 681 : line.lastIndexOf("findTop", 0) === 0 ? REC_TYPE_TOP |
565 : line.lastIndexOf("pathB.", 0) === 0 ? REC_TYPE_ADD | 682 : line.lastIndexOf("pathB.", 0) === 0 ? REC_TYPE_ADD |
566 : line.lastIndexOf("path.", 0) === 0 ? REC_TYPE_ADD | 683 : line.lastIndexOf("path.", 0) === 0 ? REC_TYPE_ADD |
567 : line.lastIndexOf("after", 0) === 0 ? REC_TYPE_ANGLE | 684 : line.lastIndexOf("after", 0) === 0 ? REC_TYPE_ANGLE |
568 : line.lastIndexOf("mark", 0) === 0 ? REC_TYPE_MARK | 685 : line.lastIndexOf("mark", 0) === 0 ? REC_TYPE_MARK |
569 : line.lastIndexOf(" {{", 0) === 0 ? REC_TYPE_COMPUTED | 686 : line.lastIndexOf(" {{", 0) === 0 ? REC_TYPE_COMPUTED |
570 : line.lastIndexOf("seg=", 0) === 0 ? REC_TYPE_PATH | 687 : line.lastIndexOf("seg=", 0) === 0 ? REC_TYPE_PATH |
571 : line.lastIndexOf("op", 0) === 0 ? REC_TYPE_OP | 688 : line.lastIndexOf("op", 0) === 0 ? REC_TYPE_OP |
572 : line.lastIndexOf("$", 0) === 0 ? REC_TYPE_PATH | 689 : line.lastIndexOf("$", 0) === 0 ? REC_TYPE_PATH |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
642 } else { | 759 } else { |
643 found = match_regexp(line, lineNo, record, ADD_CLOSE, "PATH.
close();"); | 760 found = match_regexp(line, lineNo, record, ADD_CLOSE, "PATH.
close();"); |
644 } | 761 } |
645 break; | 762 break; |
646 case REC_TYPE_AFTERPART: | 763 case REC_TYPE_AFTERPART: |
647 found = match_regexp(line, lineNo, record, PATH_LINE, "afterPart
LINE_VAL") | 764 found = match_regexp(line, lineNo, record, PATH_LINE, "afterPart
LINE_VAL") |
648 || match_regexp(line, lineNo, record, PATH_QUAD, "afterPart
QUAD_VAL") | 765 || match_regexp(line, lineNo, record, PATH_QUAD, "afterPart
QUAD_VAL") |
649 || match_regexp(line, lineNo, record, PATH_CONIC, "afterPart
CONIC_VAL") | 766 || match_regexp(line, lineNo, record, PATH_CONIC, "afterPart
CONIC_VAL") |
650 || match_regexp(line, lineNo, record, PATH_CUBIC, "afterPart
CUBIC_VAL") | 767 || match_regexp(line, lineNo, record, PATH_CUBIC, "afterPart
CUBIC_VAL") |
651 break; | 768 break; |
| 769 case REC_TYPE_ALIGNED: |
| 770 found = match_regexp(line, lineNo, record, PATH_LINE, "aligned=I
DX LINE_VAL" |
| 771 ) || match_regexp(line, lineNo, record, PATH_QUAD, "aligned=IDX
QUAD_VAL" |
| 772 ) || match_regexp(line, lineNo, record, PATH_CONIC, "aligned=IDX
CONIC_VAL" |
| 773 ) || match_regexp(line, lineNo, record, PATH_CUBIC, "aligned=IDX
CUBIC_VAL" |
| 774 ); |
| 775 break; |
652 case REC_TYPE_ANGLE: | 776 case REC_TYPE_ANGLE: |
653 found = match_regexp(line, lineNo, record, ANGLE_AFTER, "after "
+ | 777 found = match_regexp(line, lineNo, record, ANGLE_AFTER, "after "
+ |
654 "[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"); | 778 "[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"); |
655 break; | 779 break; |
656 case REC_TYPE_COIN: | 780 case REC_TYPE_COIN: |
657 found = true; | 781 found = true; |
658 break; | 782 break; |
659 case REC_TYPE_COINCIDENCE: | 783 case REC_TYPE_COINCIDENCE: |
660 found = match_regexp(line, lineNo, record, COIN_MAIN_SPAN, "debu
gShowCoincidence" + | 784 found = match_regexp(line, lineNo, record, COIN_MAIN_SPAN, "debu
gShowCoincidence" + |
661 " + id=IDX t=T_VAL tEnd=T_VAL" | 785 " + id=IDX t=T_VAL tEnd=T_VAL" |
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
861 canvas.height = unscaledHeight * resScale; | 985 canvas.height = unscaledHeight * resScale; |
862 canvas.style.width = unscaledWidth + 'px'; | 986 canvas.style.width = unscaledWidth + 'px'; |
863 canvas.style.height = unscaledHeight + 'px'; | 987 canvas.style.height = unscaledHeight + 'px'; |
864 if (resScale != 1) { | 988 if (resScale != 1) { |
865 ctx.scale(resScale, resScale); | 989 ctx.scale(resScale, resScale); |
866 } | 990 } |
867 xmin = Infinity; | 991 xmin = Infinity; |
868 xmax = -Infinity; | 992 xmax = -Infinity; |
869 ymin = Infinity; | 993 ymin = Infinity; |
870 ymax = -Infinity; | 994 ymax = -Infinity; |
871 hasPath = hasComputedPath = false; | 995 hasPath = hasAlignedPath = hasComputedPath = false; |
872 firstActiveSpan = -1; | 996 firstActiveSpan = -1; |
873 for (var tIndex = 0; tIndex < test.length; tIndex += 3) { | 997 for (var tIndex = 0; tIndex < test.length; tIndex += 3) { |
874 var recType = test[tIndex]; | 998 var recType = test[tIndex]; |
875 if (!typeof recType == 'number' || recType < REC_TYPE_UNKNOWN || recType
> REC_TYPE_LAST) { | 999 if (!typeof recType == 'number' || recType < REC_TYPE_UNKNOWN || recType
> REC_TYPE_LAST) { |
876 console.log("unknown rec type: " + recType); | 1000 console.log("unknown rec type: " + recType); |
877 throw "stop execution"; | 1001 throw "stop execution"; |
878 } | 1002 } |
879 var records = test[tIndex + 2]; | 1003 var records = test[tIndex + 2]; |
880 for (var recordIndex = 0; recordIndex < records.length; recordIndex += 2
) { | 1004 for (var recordIndex = 0; recordIndex < records.length; recordIndex += 2
) { |
881 var fragType = records[recordIndex]; | 1005 var fragType = records[recordIndex]; |
882 if (!typeof fragType == 'number' || fragType < 1 || fragType > FRAG_
TYPE_LAST) { | 1006 if (!typeof fragType == 'number' || fragType < 1 || fragType > FRAG_
TYPE_LAST) { |
883 console.log("unknown in range frag type: " + fragType); | 1007 console.log("unknown in range frag type: " + fragType); |
884 throw "stop execution"; | 1008 throw "stop execution"; |
885 } | 1009 } |
886 var frags = records[recordIndex + 1]; | 1010 var frags = records[recordIndex + 1]; |
887 var first = 0; | 1011 var first = 0; |
888 var last = -1; | 1012 var last = -1; |
889 var first2 = 0; | 1013 var first2 = 0; |
890 var last2 = 0; | 1014 var last2 = 0; |
891 switch (recType) { | 1015 switch (recType) { |
| 1016 case REC_TYPE_ALIGNED: |
| 1017 hasAlignedPath = true; |
892 case REC_TYPE_COMPUTED: | 1018 case REC_TYPE_COMPUTED: |
893 if (fragType == COMPUTED_SET_1 || fragType == COMPUTED_SET_2
) { | 1019 if (fragType == COMPUTED_SET_1 || fragType == COMPUTED_SET_2
) { |
894 break; | 1020 break; |
895 } | 1021 } |
896 hasComputedPath = true; | 1022 if (REC_TYPE_COMPUTED == recType) { |
| 1023 hasComputedPath = true; |
| 1024 } |
897 case REC_TYPE_PATH: | 1025 case REC_TYPE_PATH: |
898 first = 1; | 1026 first = 1; |
899 switch (fragType) { | 1027 switch (fragType) { |
900 case PATH_LINE: | 1028 case PATH_LINE: |
901 last = 5; | 1029 last = 5; |
902 break; | 1030 break; |
903 case PATH_CONIC: | 1031 case PATH_CONIC: |
904 case PATH_QUAD: | 1032 case PATH_QUAD: |
905 last = 7; | 1033 last = 7; |
906 break; | 1034 break; |
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1180 ymax = Math.max(ymax, angleBounds[3]); | 1308 ymax = Math.max(ymax, angleBounds[3]); |
1181 setScale(xmin, xmax, ymin, ymax); | 1309 setScale(xmin, xmax, ymin, ymax); |
1182 if (hasPath == false && hasComputedPath == true && !draw_computed) { | 1310 if (hasPath == false && hasComputedPath == true && !draw_computed) { |
1183 draw_computed = 7; // show quadratics, conics, and cubics | 1311 draw_computed = 7; // show quadratics, conics, and cubics |
1184 } | 1312 } |
1185 if (hasPath == true && hasComputedPath == false && draw_computed) { | 1313 if (hasPath == true && hasComputedPath == false && draw_computed) { |
1186 draw_computed = 0; | 1314 draw_computed = 0; |
1187 } | 1315 } |
1188 } | 1316 } |
1189 | 1317 |
1190 function curveByID(test, id) { | 1318 function curveByIDMatch(test, id, recMatch) { |
1191 var tIndex = -3; | 1319 var tIndex = -3; |
1192 while ((tIndex += 3) < test.length) { | 1320 while ((tIndex += 3) < test.length) { |
1193 var recType = test[tIndex]; | 1321 var recType = test[tIndex]; |
1194 if (recType == REC_TYPE_OP) { | 1322 if (recType == REC_TYPE_OP) { |
1195 continue; | 1323 continue; |
1196 } | 1324 } |
1197 if (recType != REC_TYPE_PATH) { | 1325 if (recType != recMatch) { |
1198 return []; | 1326 return []; |
1199 } | 1327 } |
1200 var records = test[tIndex + 2]; | 1328 var records = test[tIndex + 2]; |
1201 for (var recordIndex = 0; recordIndex < records.length; recordIndex += 2
) { | 1329 for (var recordIndex = 0; recordIndex < records.length; recordIndex += 2
) { |
1202 var fragType = records[recordIndex]; | 1330 var fragType = records[recordIndex]; |
1203 var frags = records[recordIndex + 1]; | 1331 var frags = records[recordIndex + 1]; |
1204 if (frags[0] == id) { | 1332 if (frags[0] == id) { |
1205 switch (fragType) { | 1333 switch (fragType) { |
1206 case PATH_LINE: | 1334 case PATH_LINE: |
1207 return [frags[1], frags[2], frags[3], frags[4]]; | 1335 return [frags[1], frags[2], frags[3], frags[4]]; |
1208 case PATH_QUAD: | 1336 case PATH_QUAD: |
1209 return [frags[1], frags[2], frags[3], frags[4], | 1337 return [frags[1], frags[2], frags[3], frags[4], |
1210 frags[5], frags[6]]; | 1338 frags[5], frags[6]]; |
1211 case PATH_CONIC: | 1339 case PATH_CONIC: |
1212 return [frags[1], frags[2], frags[3], frags[4], | 1340 return [frags[1], frags[2], frags[3], frags[4], |
1213 frags[5], frags[6], frags[7]]; | 1341 frags[5], frags[6], frags[7]]; |
1214 case PATH_CUBIC: | 1342 case PATH_CUBIC: |
1215 return [frags[1], frags[2], frags[3], frags[4], | 1343 return [frags[1], frags[2], frags[3], frags[4], |
1216 frags[5], frags[6], frags[7], frags[8]]; | 1344 frags[5], frags[6], frags[7], frags[8]]; |
1217 } | 1345 } |
1218 } | 1346 } |
1219 } | 1347 } |
1220 } | 1348 } |
1221 return []; | 1349 return []; |
1222 } | 1350 } |
1223 | 1351 |
1224 function curvePartialByID(test, id, t0, t1) { | 1352 function curveByID(test, id) { |
| 1353 var result = draw_path >= 4 ? curveByIDMatch(test, id, REC_TYPE_ALIGNED) : [
]; |
| 1354 if (!result.length) { |
| 1355 result = curveByIDMatch(test, id, REC_TYPE_PATH); |
| 1356 } |
| 1357 return result; |
| 1358 } |
| 1359 |
| 1360 function curvePartialByIDMatch(test, id, t0, t1, recMatch) { |
1225 var tIndex = -3; | 1361 var tIndex = -3; |
1226 while ((tIndex += 3) < test.length) { | 1362 while ((tIndex += 3) < test.length) { |
1227 var recType = test[tIndex]; | 1363 var recType = test[tIndex]; |
1228 if (recType == REC_TYPE_OP) { | 1364 if (recType == REC_TYPE_OP) { |
1229 continue; | 1365 continue; |
1230 } | 1366 } |
1231 if (recType != REC_TYPE_PATH) { | 1367 if (recType != recMatch) { |
1232 return []; | 1368 return []; |
1233 } | 1369 } |
1234 var records = test[tIndex + 2]; | 1370 var records = test[tIndex + 2]; |
1235 for (var recordIndex = 0; recordIndex < records.length; recordIndex += 2
) { | 1371 for (var recordIndex = 0; recordIndex < records.length; recordIndex += 2
) { |
1236 var fragType = records[recordIndex]; | 1372 var fragType = records[recordIndex]; |
1237 var frags = records[recordIndex + 1]; | 1373 var frags = records[recordIndex + 1]; |
1238 if (frags[0] == id) { | 1374 if (frags[0] == id) { |
1239 switch (fragType) { | 1375 switch (fragType) { |
1240 case PATH_LINE: | 1376 case PATH_LINE: |
1241 return linePartial(frags[1], frags[2], frags[3], frags[4
], t0, t1); | 1377 return linePartial(frags[1], frags[2], frags[3], frags[4
], t0, t1); |
1242 case PATH_QUAD: | 1378 case PATH_QUAD: |
1243 return quadPartial(frags[1], frags[2], frags[3], frags[4
], | 1379 return quadPartial(frags[1], frags[2], frags[3], frags[4
], |
1244 frags[5], frags[6], t0, t1); | 1380 frags[5], frags[6], t0, t1); |
1245 case PATH_CONIC: | 1381 case PATH_CONIC: |
1246 return conicPartial(frags[1], frags[2], frags[3], frags[
4], | 1382 return conicPartial(frags[1], frags[2], frags[3], frags[
4], |
1247 frags[5], frags[6], frags[7], t0, t1); | 1383 frags[5], frags[6], frags[7], t0, t1); |
1248 case PATH_CUBIC: | 1384 case PATH_CUBIC: |
1249 return cubicPartial(frags[1], frags[2], frags[3], frags[
4], | 1385 return cubicPartial(frags[1], frags[2], frags[3], frags[
4], |
1250 frags[5], frags[6], frags[7], frags[8], t0, t1); | 1386 frags[5], frags[6], frags[7], frags[8], t0, t1); |
1251 } | 1387 } |
1252 } | 1388 } |
1253 } | 1389 } |
1254 } | 1390 } |
1255 return []; | 1391 return []; |
1256 } | 1392 } |
1257 | 1393 |
1258 function idByCurve(test, frag, type) { | 1394 function curvePartialByID(test, id, t0, t1) { |
| 1395 var result = draw_path >= 4 ? curvePartialByIDMatch(test, id, t0, t1, REC_TY
PE_ALIGNED) : []; |
| 1396 if (!result.length) { |
| 1397 result = curvePartialByIDMatch(test, id, t0, t1, REC_TYPE_PATH); |
| 1398 } |
| 1399 return result; |
| 1400 } |
| 1401 |
| 1402 function idByCurveIDMatch(test, frag, type, recMatch) { |
1259 var tIndex = 0; | 1403 var tIndex = 0; |
1260 while (tIndex < test.length) { | 1404 while (tIndex < test.length) { |
1261 var recType = test[tIndex]; | 1405 var recType = test[tIndex]; |
1262 if (recType != REC_TYPE_PATH) { | 1406 if (recType != recMatch) { |
1263 ++tIndex; | 1407 ++tIndex; |
1264 continue; | 1408 continue; |
1265 } | 1409 } |
1266 var records = test[tIndex + 2]; | 1410 var records = test[tIndex + 2]; |
1267 for (var recordIndex = 0; recordIndex < records.length; recordIndex += 2
) { | 1411 for (var recordIndex = 0; recordIndex < records.length; recordIndex += 2
) { |
1268 var fragType = records[recordIndex]; | 1412 var fragType = records[recordIndex]; |
1269 var frags = records[recordIndex + 1]; | 1413 var frags = records[recordIndex + 1]; |
1270 if (frag.length != frags.length - 1) { | 1414 if (frag.length != frags.length - 1) { |
1271 continue; | 1415 continue; |
1272 } | 1416 } |
(...skipping 27 matching lines...) Expand all Loading... |
1300 continue; | 1444 continue; |
1301 } | 1445 } |
1302 return frags[0]; | 1446 return frags[0]; |
1303 } | 1447 } |
1304 } | 1448 } |
1305 ++tIndex; | 1449 ++tIndex; |
1306 } | 1450 } |
1307 return -1; | 1451 return -1; |
1308 } | 1452 } |
1309 | 1453 |
| 1454 function idByCurve(test, frag, type) { |
| 1455 var result = draw_path >= 4 ? idByCurveIDMatch(test, frag, type, REC_TYPE_AL
IGNED) : []; |
| 1456 if (!result.length) { |
| 1457 result = idByCurveIDMatch(test, frag, type, REC_TYPE_PATH); |
| 1458 } |
| 1459 return result; |
| 1460 } |
| 1461 |
1310 function curve_extremes(curve, bounds) { | 1462 function curve_extremes(curve, bounds) { |
1311 var length = curve.length == 7 ? 6 : curve.length; | 1463 var length = curve.length == 7 ? 6 : curve.length; |
1312 for (var index = 0; index < curve.length; index += 2) { | 1464 for (var index = 0; index < curve.length; index += 2) { |
1313 var x = curve[index]; | 1465 var x = curve[index]; |
1314 var y = curve[index + 1]; | 1466 var y = curve[index + 1]; |
1315 bounds[0] = Math.min(bounds[0], x); | 1467 bounds[0] = Math.min(bounds[0], x); |
1316 bounds[1] = Math.min(bounds[1], y); | 1468 bounds[1] = Math.min(bounds[1], y); |
1317 bounds[2] = Math.max(bounds[2], x); | 1469 bounds[2] = Math.max(bounds[2], x); |
1318 bounds[3] = Math.max(bounds[3], y); | 1470 bounds[3] = Math.max(bounds[3], y); |
1319 } | 1471 } |
(...skipping 1381 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2701 break; | 2853 break; |
2702 default: | 2854 default: |
2703 console.log("unknown REC_TYPE_COMPUTED frag type: "
+ fragType); | 2855 console.log("unknown REC_TYPE_COMPUTED frag type: "
+ fragType); |
2704 throw "stop execution"; | 2856 throw "stop execution"; |
2705 } | 2857 } |
2706 if (!drawThis || collect_bounds) { | 2858 if (!drawThis || collect_bounds) { |
2707 break; | 2859 break; |
2708 } | 2860 } |
2709 drawCurveSpecials(test, frags, fragType); | 2861 drawCurveSpecials(test, frags, fragType); |
2710 break; | 2862 break; |
| 2863 case REC_TYPE_ALIGNED: |
| 2864 if (draw_path < 4) { |
| 2865 continue; |
| 2866 } |
2711 case REC_TYPE_PATH: | 2867 case REC_TYPE_PATH: |
2712 case REC_TYPE_PATH2: | 2868 case REC_TYPE_PATH2: |
| 2869 if (REC_TYPE_ALIGNED != recType && draw_path >= 4) { |
| 2870 continue; |
| 2871 } |
2713 if (!draw_path) { | 2872 if (!draw_path) { |
2714 continue; | 2873 continue; |
2715 } | 2874 } |
2716 var firstPath = tIndex < secondPath; | 2875 var firstPath = tIndex < secondPath; |
2717 if ((draw_path & (firstPath ? 1 : 2)) == 0) { | 2876 if ((draw_path & (firstPath ? 1 : 2)) == 0) { |
2718 continue; | 2877 continue; |
2719 } | 2878 } |
2720 ctx.lineWidth = 1; | 2879 ctx.lineWidth = 1; |
2721 ctx.strokeStyle = firstPath ? "black" : "red"; | 2880 ctx.strokeStyle = firstPath ? "black" : "red"; |
2722 ctx.fillStyle = "blue"; | 2881 ctx.fillStyle = "blue"; |
(...skipping 12 matching lines...) Expand all Loading... |
2735 for (var i = 0; i < 7; ++ i) { frags2[i] = frags[i +
1]; } | 2894 for (var i = 0; i < 7; ++ i) { frags2[i] = frags[i +
1]; } |
2736 drawConicWithQuads(frags2[0], frags2[1], frags2[2],
frags2[3], | 2895 drawConicWithQuads(frags2[0], frags2[1], frags2[2],
frags2[3], |
2737 frags2[4], frags2[5], frags2[6]); | 2896 frags2[4], frags2[5], frags2[6]); |
2738 break; | 2897 break; |
2739 case PATH_CUBIC: | 2898 case PATH_CUBIC: |
2740 for (var i = 0; i < 8; ++ i) { frags2[i] = frags[i +
1]; } | 2899 for (var i = 0; i < 8; ++ i) { frags2[i] = frags[i +
1]; } |
2741 drawCubic(frags2[0], frags2[1], frags2[2], frags2[3]
, | 2900 drawCubic(frags2[0], frags2[1], frags2[2], frags2[3]
, |
2742 frags2[4], frags2[5], frags2[6], frags2[7]); | 2901 frags2[4], frags2[5], frags2[6], frags2[7]); |
2743 break; | 2902 break; |
2744 default: | 2903 default: |
2745 console.log("unknown REC_TYPE_PATH2 frag type: " + f
ragType); | 2904 console.log("unknown " + recType + " frag type: " +
fragType); |
2746 throw "stop execution"; | 2905 throw "stop execution"; |
2747 } | 2906 } |
2748 if (collect_bounds) { | 2907 if (collect_bounds) { |
2749 break; | 2908 break; |
2750 } | 2909 } |
2751 drawCurveSpecials(test, frags2, fragType); | 2910 drawCurveSpecials(test, frags2, fragType); |
2752 break; | 2911 break; |
2753 case REC_TYPE_OP: | 2912 case REC_TYPE_OP: |
2754 switch (fragType) { | 2913 switch (fragType) { |
2755 case OP_INTERSECT: opLetter = 'I'; break; | 2914 case OP_INTERSECT: opLetter = 'I'; break; |
(...skipping 644 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3400 drawBox(pos++, "rgba(0,0,255, 0.3)", "black", draw_intersection > 1 ? se
ctCount : sectMax2, draw_intersection, intersectionKey); | 3559 drawBox(pos++, "rgba(0,0,255, 0.3)", "black", draw_intersection > 1 ? se
ctCount : sectMax2, draw_intersection, intersectionKey); |
3401 drawBox(pos++, "rgba(0,0,255, 0.3)", "black", draw_add ? addCount : addM
ax, draw_add, addKey); | 3560 drawBox(pos++, "rgba(0,0,255, 0.3)", "black", draw_add ? addCount : addM
ax, draw_add, addKey); |
3402 drawBox(pos++, "rgba(0,0,255, 0.3)", "black", draw_active ? activeCount
: activeMax, draw_active, activeKey); | 3561 drawBox(pos++, "rgba(0,0,255, 0.3)", "black", draw_active ? activeCount
: activeMax, draw_active, activeKey); |
3403 drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_angle ? angleCount
: angleMax, draw_angle, angleKey); | 3562 drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_angle ? angleCount
: angleMax, draw_angle, angleKey); |
3404 drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_coincidence ? coinC
ount : coinMax, draw_coincidence, coincidenceKey); | 3563 drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_coincidence ? coinC
ount : coinMax, draw_coincidence, coincidenceKey); |
3405 drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_op ? opCount : opMa
x, draw_op, opKey); | 3564 drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_op ? opCount : opMa
x, draw_op, opKey); |
3406 drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_sort ? sortCount :
sortMax, draw_sort, sortKey); | 3565 drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_sort ? sortCount :
sortMax, draw_sort, sortKey); |
3407 drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_top ? topCount : to
pMax, draw_top, topKey); | 3566 drawBox(pos++, "rgba(127,127,0, 0.3)", "black", draw_top ? topCount : to
pMax, draw_top, topKey); |
3408 drawBox(pos++, "rgba(127,0,127, 0.3)", "black", draw_mark ? markCount :
markMax, draw_mark, markKey); | 3567 drawBox(pos++, "rgba(127,0,127, 0.3)", "black", draw_mark ? markCount :
markMax, draw_mark, markKey); |
3409 drawBox(pos++, "black", "white", | 3568 drawBox(pos++, "black", "white", |
3410 (new Array('P', 'P1', 'P2', 'P'))[draw_path], draw_path != 0, pa
thKey); | 3569 (new Array('P', 'P1', 'P2', 'P', 'p', 'p1', 'p2'))[draw_path], d
raw_path != 0, pathKey); |
3411 drawBox(pos++, "rgba(0,63,0, 0.7)", "white", | 3570 drawBox(pos++, "rgba(0,63,0, 0.7)", "white", |
3412 (new Array('Q', 'Q', 'C', 'QC', 'Qc', 'Cq'))[draw_computed], | 3571 (new Array('Q', 'Q', 'C', 'QC', 'Qc', 'Cq'))[draw_computed], |
3413 draw_computed != 0, computedKey); | 3572 draw_computed != 0, computedKey); |
3414 drawBox(pos++, "green", "black", step_limit, drawSomething, ''); | 3573 drawBox(pos++, "green", "black", step_limit, drawSomething, ''); |
3415 drawBox(pos++, "green", "black", stepMax, drawSomething, ''); | 3574 drawBox(pos++, "green", "black", stepMax, drawSomething, ''); |
3416 drawBox(pos++, "rgba(255,0,0, 0.6)", "black", lastIndex, drawSomething &
draw_log, ''); | 3575 drawBox(pos++, "rgba(255,0,0, 0.6)", "black", lastIndex, drawSomething &
draw_log, ''); |
3417 drawBox(pos++, "rgba(255,0,0, 0.6)", "black", test.length - 1, drawSomet
hing & draw_log, ''); | 3576 drawBox(pos++, "rgba(255,0,0, 0.6)", "black", test.length - 1, drawSomet
hing & draw_log, ''); |
3418 if (curve_t) { | 3577 if (curve_t) { |
3419 drawCurveTControl(); | 3578 drawCurveTControl(); |
3420 } | 3579 } |
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3727 break; | 3886 break; |
3728 case opKey: | 3887 case opKey: |
3729 draw_op = (draw_op + 1) % 3; | 3888 draw_op = (draw_op + 1) % 3; |
3730 redraw(); | 3889 redraw(); |
3731 break; | 3890 break; |
3732 case opBackKey: | 3891 case opBackKey: |
3733 draw_op = (draw_op + 2) % 3; | 3892 draw_op = (draw_op + 2) % 3; |
3734 redraw(); | 3893 redraw(); |
3735 break; | 3894 break; |
3736 case pathKey: | 3895 case pathKey: |
3737 draw_path = (draw_path + 1) % 4; | 3896 draw_path = (draw_path + 1) % (4 + (hasAlignedPath ? 3 : 0)); |
3738 redraw(); | 3897 redraw(); |
3739 break; | 3898 break; |
3740 case pathBackKey: | 3899 case pathBackKey: |
3741 draw_path = (draw_path + 3) % 4; | 3900 draw_path = (draw_path + 3 + (hasAlignedPath ? 3 : 0)) % (4 + (hasAligne
dPath ? 3 : 0)); |
3742 redraw(); | 3901 redraw(); |
3743 break; | 3902 break; |
3744 case ptsKey: | 3903 case ptsKey: |
3745 pt_labels = (pt_labels + 1) % 3; | 3904 pt_labels = (pt_labels + 1) % 3; |
3746 redraw(); | 3905 redraw(); |
3747 break; | 3906 break; |
3748 case retinaKey: | 3907 case retinaKey: |
3749 retina_scale ^= true; | 3908 retina_scale ^= true; |
3750 drawTop(); | 3909 drawTop(); |
3751 break; | 3910 break; |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3953 </script> | 4112 </script> |
3954 </head> | 4113 </head> |
3955 | 4114 |
3956 <body onLoad="start();"> | 4115 <body onLoad="start();"> |
3957 <canvas id="canvas" width="750" height="500" | 4116 <canvas id="canvas" width="750" height="500" |
3958 onmousemove="handleMouseOver()" | 4117 onmousemove="handleMouseOver()" |
3959 onclick="handleMouseClick()" | 4118 onclick="handleMouseClick()" |
3960 ></canvas > | 4119 ></canvas > |
3961 </body> | 4120 </body> |
3962 </html> | 4121 </html> |
OLD | NEW |