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

Side by Side Diff: tools/pathops_visualizer.htm

Issue 1407003016: Reland of path ops: fix conic weight and partial coincidence (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 1 month 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 Skia UnitTests: --match PathOpsSkp$ --resourcePath resources\ SK_DEBUG
6
5 <div id="skpwww_gorcraft_ru_1"> 7 <div id="skpwww_gorcraft_ru_1">
6 seg=1 {{{{1170, 4559}, {1176, 4559}, {1176, 4565}}}, 0.707106769f} 8 seg=1 {{{{1170, 4559}, {1176, 4559}, {1176, 4565}}}, 0.707106769f}
7 seg=2 {{{1176, 4565}, {1176, 4590}}} 9 seg=2 {{{1176, 4565}, {1176, 4590}}}
8 seg=3 {{{{1176, 4590}, {1176, 4595}, {1171, 4595}}}, 0.707106769f} 10 seg=3 {{{{1176, 4590}, {1176, 4595}, {1171, 4595}}}, 0.707106769f}
9 seg=4 {{{1171, 4595}, {83, 4595}}} 11 seg=4 {{{1171, 4595}, {83, 4595}}}
10 seg=5 {{{{83, 4595}, {78.0086746f, 4595}, {78, 4590.00586f}}}, 0.707720578f} 12 seg=5 {{{{83, 4595}, {78.0086746f, 4595}, {78, 4590.00586f}}}, 0.707720578f}
11 seg=6 {{{78, 4590.00586f}, {78, 4565}}} 13 seg=6 {{{78, 4590.00586f}, {78, 4565}}}
12 seg=7 {{{{78, 4565}, {78, 4559}, {84, 4559}}}, 0.707106769f} 14 seg=7 {{{{78, 4565}, {78, 4559}, {84, 4559}}}, 0.707106769f}
13 seg=8 {{{84, 4559}, {1170, 4559}}} 15 seg=8 {{{84, 4559}, {1170, 4559}}}
14 op union 16 op union
15 seg=9 {{{78, 4590}, {78, 4565}}} 17 seg=9 {{{78, 4590}, {78, 4565}}}
16 seg=10 {{{{78, 4565}, {78, 4559}, {84, 4559}}}, 0.707106769f} 18 seg=10 {{{{78, 4565}, {78, 4559}, {84, 4559}}}, 0.707106769f}
17 seg=11 {{{84, 4559}, {158, 4559}}} 19 seg=11 {{{84, 4559}, {158, 4559}}}
18 seg=12 {{{158, 4559}, {158, 4596}}} 20 seg=12 {{{158, 4559}, {158, 4596}}}
19 seg=13 {{{158, 4596}, {84, 4596}}} 21 seg=13 {{{158, 4596}, {84, 4596}}}
20 seg=14 {{{{84, 4596}, {78, 4596}, {78, 4590}}}, 0.707106769f} 22 seg=14 {{{{84, 4596}, {78, 4596}, {78, 4590}}}, 0.707106769f}
21 debugShowConicLineIntersection wtTs[0]=1 {{{{1170,4559}, {1176,4559}, {1176,4565 }}}, 0.707106769} {{1176,4565}} wnTs[0]=0 {{{1176,4565}, {1176,4590}}} 23 debugShowConicLineIntersection wtTs[0]=1 {{{{1170,4559}, {1176,4559}, {1176,4565 }}}, 0.707106769} {{1176,4565}} wnTs[0]=0 {{{1176,4565}, {1176,4590}}}
22 debugShowConicLineIntersection wtTs[0]=0 {{{{1170,4559}, {1176,4559}, {1176,4565 }}}, 0.707106769} {{1170,4559}} wnTs[0]=1 {{{84,4559}, {1170,4559}}} 24 debugShowConicLineIntersection wtTs[0]=0 {{{{1170,4559}, {1176,4559}, {1176,4565 }}}, 0.707106769} {{1170,4559}} wnTs[0]=1 {{{84,4559}, {1170,4559}}}
23 debugShowConicLineIntersection wtTs[0]=0 {{{{1176,4590}, {1176,4595}, {1171,4595 }}}, 0.707106769} {{1176,4590}} wnTs[0]=1 {{{1176,4565}, {1176,4590}}} 25 debugShowConicLineIntersection wtTs[0]=0 {{{{1176,4590}, {1176,4595}, {1171,4595 }}}, 0.707106769} {{1176,4590}} wnTs[0]=1 {{{1176,4565}, {1176,4590}}}
24 debugShowConicLineIntersection wtTs[0]=1 {{{{1176,4590}, {1176,4595}, {1171,4595 }}}, 0.707106769} {{1171,4595}} wnTs[0]=0 {{{1171,4595}, {83,4595}}} 26 debugShowConicLineIntersection wtTs[0]=1 {{{{1176,4590}, {1176,4595}, {1171,4595 }}}, 0.707106769} {{1171,4595}} wnTs[0]=0 {{{1171,4595}, {83,4595}}}
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}}} 27 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 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}}} 28 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 debugShowConicLineIntersection wtTs[0]=0 {{{{78,4565}, {78,4559}, {84,4559}}}, 0 .707106769} {{78,4565}} wnTs[0]=1 {{{78,4590.00586}, {78,4565}}} 29 debugShowConicLineIntersection wtTs[0]=0 {{{{78,4565}, {78,4559}, {84,4559}}}, 0 .707106769} {{78,4565}} wnTs[0]=1 {{{78,4590.00586}, {78,4565}}}
28 debugShowConicLineIntersection wtTs[0]=1 {{{{78,4565}, {78,4559}, {84,4559}}}, 0 .707106769} {{84,4559}} wnTs[0]=0 {{{84,4559}, {1170,4559}}} 30 debugShowConicLineIntersection wtTs[0]=1 {{{{78,4565}, {78,4559}, {84,4559}}}, 0 .707106769} {{84,4559}} wnTs[0]=0 {{{84,4559}, {1170,4559}}}
29 debugShowLineIntersection wtTs[0]=0.972972973 {{{158,4559}, {158,4596}}} {{158,4 595}} wnTs[0]=0.931066 {{{1171,4595}, {83,4595}}} 31 debugShowLineIntersection wtTs[0]=0.972972973 {{{158,4559}, {158,4596}}} {{158,4 595}} wnTs[0]=0.931066 {{{1171,4595}, {83,4595}}}
30 SkOpSegment::addT insert t=0.931066176 segID=4 spanID=29 32 SkOpSegment::addT insert t=0.931066176 segID=4 spanID=29
31 SkOpSegment::addT insert t=0.972972973 segID=12 spanID=30 33 SkOpSegment::addT insert t=0.972972973 segID=12 spanID=30
32 debugShowConicLineIntersection no intersect {{{{84,4596}, {78,4596}, {78,4590}}} , 0.707106769} {{{1171,4595}, {83,4595}}} 34 debugShowConicLineIntersection no intersect {{{{84,4596}, {78,4596}, {78,4590}}} , 0.707106769} {{{1171,4595}, {83,4595}}}
33 debugShowConicLineIntersection no intersect {{{{83,4595}, {78.0086746,4595}, {78 ,4590.00586}}}, 0.707720578} {{{78,4590}, {78,4565}}} 35 debugShowConicLineIntersection no intersect {{{{83,4595}, {78.0086746,4595}, {78 ,4590.00586}}}, 0.707720578} {{{78,4590}, {78,4565}}}
34 id=1 1=(0,1) [4,2] id=2 2=(0,0.5) [1] 4=(0.5,1) [1]
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 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 id=1 3=(0.5,1) [6,4] id=2 4=(0.5,0.75) [3] 6=(0.75,1) [3]
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 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 id=1 5=(0.75,1) [10,6] id=2 6=(0.75,0.875) [5] 10=(0.875,1) [5]
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 id=1 5=(0.75,0.875) [10] 7=(0.875,1) [10] id=2 10=(0.875,1) [7,5]
43 id=1 7=(0.875,1) [16,10] id=2 10=(0.875,0.9375) [7] 16=(0.9375,1) [7]
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 id=1 7=(0.875,0.9375) [16] 9=(0.9375,1) [16] id=2 16=(0.9375,1) [9,7]
46 id=1 9=(0.9375,1) [20,16] id=2 16=(0.9375,0.96875) [9] 20=(0.96875,1) [9]
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 id=1 9=(0.9375,0.96875) [20] 11=(0.96875,1) [20] id=2 20=(0.96875,1) [11,9]
49 id=1 11=(0.96875,1) [24,20] id=2 20=(0.96875,0.984375) [11] 24=(0.984375,1) [11]
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 id=1 11=(0.96875,0.984375) [24] 13=(0.984375,1) [24] id=2 24=(0.984375,1) [13,11 ]
52 id=1 13=(0.984375,1) [28,24] id=2 24=(0.984375,0.992188) [13] 28=(0.992188,1) [1 3]
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 id=1 15=(0.992188,1) [28] id=2 28=(0.992188,1) [15]
55 id=1 15=(0.992188,1) [32,28] id=2 28=(0.992188,0.996094) [15] 32=(0.996094,1) [1 5]
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 id=1 17=(0.996094,1) [32] id=2 32=(0.996094,1) [17]
58 id=1 17=(0.996094,1) [36,32] id=2 32=(0.996094,0.998047) [17] 36=(0.998047,1) [1 7]
59 id=1 19=(0.998047,1) [36] id=2 36=(0.998047,1) [19]
60 id=1 19=(0.998047,1) [38,36] id=2 36=(0.998047,0.999023) [19] 38=(0.999023,1) [1 9]
61 setPerp t=0.998046875 cPt=(78.0000229,4590.01658) == oppT=0.998483762 fPerpPt=(7 8.0000301,4590.01658)
62 setPerp t=0.999023438 cPt=(78.0000057,4590.00829) == oppT=0.99965636 fPerpPt=(78 .0000048,4590.00829)
63 setPerp t=0.999023438 cPt=(78.0000168,4590.01276) == oppT=0.998496341 fPerpPt=(7 8.0000136,4590.01276)
64 setPerp t=0.998046875 cPt=(78.0000229,4590.01658) == oppT=0.998483762 fPerpPt=(7 8.0000301,4590.01658)
65 setPerp t=0.999023438 cPt=(78.0000057,4590.00829) == oppT=0.99965636 fPerpPt=(78 .0000048,4590.00829)
66 setPerp t=0.999023438 cPt=(78.0000168,4590.01276) == oppT=0.998496341 fPerpPt=(7 8.0000136,4590.01276)
67 setPerp t=0.999339899 cPt=(78.0000103,4590.01053) == oppT=0.998759893 fPerpPt=(7 8.0000092,4590.01053)
68 id=1 21=(0.99934,0.99934) [36] id=2 36=(0.99876,0.99876) [21]
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} 36 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::addT insert t=0.999339899 segID=5 spanID=31 37 SkOpSegment::addT insert t=0.999339899 segID=5 spanID=31
71 SkOpSegment::addT insert t=0.998759893 segID=14 spanID=32 38 SkOpSegment::addT insert t=0.998759893 segID=14 spanID=32
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 39 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 SkOpSegment::addT insert t=0.000234320081 segID=6 spanID=33 40 SkOpSegment::addT insert t=0.000234320081 segID=6 spanID=33
74 debugShowConicLineIntersection wtTs[0]=0 {{{{78,4565}, {78,4559}, {84,4559}}}, 0 .707106769} {{78,4565}} wnTs[0]=1 {{{78,4590.00586}, {78,4565}}} 41 debugShowConicLineIntersection wtTs[0]=0 {{{{78,4565}, {78,4559}, {84,4559}}}, 0 .707106769} {{78,4565}} wnTs[0]=1 {{{78,4590.00586}, {78,4565}}}
75 debugShowConicLineIntersection wtTs[0]=1 {{{{84,4596}, {78,4596}, {78,4590}}}, 0 .707106769} {{78,4590}} wnTs[0]=0.00023432 {{{78,4590.00586}, {78,4565}}} 42 debugShowConicLineIntersection wtTs[0]=1 {{{{84,4596}, {78,4596}, {78,4590}}}, 0 .707106769} {{78,4590}} wnTs[0]=0.00023432 {{{78,4590.00586}, {78,4565}}}
76 debugShowConicLineIntersection wtTs[0]=0 {{{{78,4565}, {78,4559}, {84,4559}}}, 0 .707106769} {{78,4565}} wnTs[0]=1 {{{78,4590}, {78,4565}}} 43 debugShowConicLineIntersection wtTs[0]=0 {{{{78,4565}, {78,4559}, {84,4559}}}, 0 .707106769} {{78,4565}} wnTs[0]=1 {{{78,4590}, {78,4565}}}
77 id=1 1=(0,1) [4,2] id=2 2=(0,0.5) [1] 4=(0.5,1) [1]
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 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 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 44 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}}} 45 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}}} 46 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 47 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 48 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}}} 49 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}}} 50 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}}} 51 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}}} 52 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}}} 53 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}}} 54 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}}} 55 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 56 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 57 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 58 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] 59 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 60 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 61 SkOpAngle::afterPart {{{158,4595}, {1171,4595}}} id=4
138 SkOpAngle::afterPart {{{158,4595}, {158,4559}}} id=12 62 SkOpAngle::afterPart {{{158,4595}, {158,4559}}} id=12
139 SkOpAngle::afterPart {{{158,4595}, {83,4595}}} id=4 63 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 64 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 65 SkOpAngle::afterPart {{{158,4595}, {1171,4595}}} id=4
142 SkOpAngle::afterPart {{{158,4595}, {158,4596}}} id=12 66 SkOpAngle::afterPart {{{158,4595}, {158,4596}}} id=12
143 SkOpAngle::afterPart {{{158,4595}, {158,4559}}} id=12 67 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 68 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 69 SkOpAngle::afterPart {{{158,4595}, {158,4559}}} id=12
146 SkOpAngle::afterPart {{{158,4595}, {158,4596}}} id=12 70 SkOpAngle::afterPart {{{158,4595}, {158,4596}}} id=12
147 SkOpAngle::afterPart {{{158,4595}, {83,4595}}} id=4 71 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 72 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 73 SkOpAngle::afterPart {{{158,4595}, {83,4595}}} id=4
150 SkOpAngle::afterPart {{{158,4595}, {158,4596}}} id=12 74 SkOpAngle::afterPart {{{158,4595}, {158,4596}}} id=12
151 SkOpAngle::afterPart {{{158,4595}, {1171,4595}}} id=4 75 SkOpAngle::afterPart {{{158,4595}, {1171,4595}}} id=4
152 SkOpSegment::sortAngles [5] tStart=0.999339899 [31] 76 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 77 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 78 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78.0133288,4595}, {83,4595}}}, 0.708050251} id=5
155 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78.0105173,4596}, {84,4596}}}, 0.877548993} id=14 79 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78.0105173,4596}, {84,4596}}}, 0.707726777} id=14
156 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78.0000041,4590.00819}, {78,45 90.00586}}}, 0.999999881} id=5 80 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78.0000041,4590.00819}, {78,45 90.00586}}}, 1} 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 81 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 82 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78.0133288,4595}, {83,4595}}}, 0.708050251} id=5
159 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78,4590.00526}, {78,4590}}}, 0 .999999642} id=14 83 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 84 SkOpAngle::afterPart {{{{78.0000076,4590.01074}, {78.0000041,4590.00819}, {78,45 90.00586}}}, 1} id=5
161 SkOpSegment::sortAngles [6] tStart=0.000234320081 [33] 85 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 86 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 87 SkOpAngle::afterPart {{{78,4590}, {78,4590.00586}}} id=6
164 SkOpAngle::afterPart {{{78,4590}, {78,4565}}} id=9 88 SkOpAngle::afterPart {{{78,4590}, {78,4565}}} id=9
165 SkOpAngle::afterPart {{{{78,4590}, {78,4590.00526}, {78.0000076,4590.01074}}}, 0 .999999642} id=14 89 SkOpAngle::afterPart {{{{78,4590}, {78,4590.00526}, {78.0000076,4590.01074}}}, 0 .999999642} id=14
166 SkOpSegment::sortAngles [7] tStart=0 [13] 90 SkOpSegment::sortAngles [7] tStart=0 [13]
167 SkOpSegment::sortAngles [7] tStart=1 [14] 91 SkOpSegment::sortAngles [7] tStart=1 [14]
168 SkOpSegment::sortAngles [8] tStart=0.0681399632 [34] 92 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 93 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 94 SkOpAngle::afterPart {{{158,4559}, {1170,4559}}} id=8
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 SkOpSegment::findNextOp 148 SkOpSegment::findNextOp
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 149 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
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 150 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
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 151 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
228 SkOpSegment::activeOp id=11 t=1 tEnd=0 op=union miFrom=0 miTo=1 suFrom=0 suTo=1 result=1 152 SkOpSegment::activeOp id=11 t=1 tEnd=0 op=union miFrom=0 miTo=1 suFrom=0 suTo=1 result=1
229 SkOpSegment::findNextOp chase.append segment=9 span=17 windSum=-1 153 SkOpSegment::findNextOp chase.append segment=9 span=17 windSum=-1
230 SkOpSegment::activeOp id=12 t=0 tEnd=0.972972973 op=union miFrom=1 miTo=1 suFrom =1 suTo=0 result=0 154 SkOpSegment::activeOp id=12 t=0 tEnd=0.972972973 op=union miFrom=1 miTo=1 suFrom =1 suTo=0 result=0
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 155 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
232 SkOpSegment::findNextOp chase.append segment=12 span=30 windSum=-2147483647 156 SkOpSegment::findNextOp chase.append segment=12 span=30 windSum=-2147483647
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 157 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
234 SkOpSegment::findNextOp from:[8] to:[11] start=8985900 end=8985796 158 SkOpSegment::findNextOp from:[8] to:[11] start=6561036 end=6560932
235 bridgeOp current id=8 from=(1170,4559) to=(158,4559) 159 bridgeOp current id=8 from=(1170,4559) to=(158,4559)
236 SkOpSegment::findNextOp simple 160 SkOpSegment::findNextOp simple
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 161 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
238 bridgeOp current id=11 from=(158,4559) to=(84,4559) 162 bridgeOp current id=11 from=(158,4559) to=(84,4559)
239 SkOpSegment::findNextOp simple 163 SkOpSegment::findNextOp simple
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 164 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
241 bridgeOp current id=7 from=(84,4559) to=(78,4565) 165 bridgeOp current id=7 from=(84,4559) to=(78,4565)
242 path.lineTo(84,4559); 166 path.lineTo(84,4559);
243 path.conicTo(78,4559, 78,4565, 0.707106769); 167 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 168 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 169 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 170 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 171 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 172 SkOpSegment::markAngle last segment=5 span=31 windSum=-1
249 SkOpSegment::findNextOp 173 SkOpSegment::findNextOp
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 174 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
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 175 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
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 176 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
253 SkOpSegment::activeOp id=14 t=1 tEnd=0.998759893 op=union miFrom=0 miTo=0 suFrom =0 suTo=1 result=1 177 SkOpSegment::activeOp id=14 t=1 tEnd=0.998759893 op=union miFrom=0 miTo=0 suFrom =0 suTo=1 result=1
254 SkOpSegment::findNextOp chase.append segment=14 span=32 windSum=-1 178 SkOpSegment::findNextOp chase.append segment=14 span=32 windSum=-1
255 SkOpSegment::activeOp id=6 t=0.000234320081 tEnd=0 op=union miFrom=0 miTo=1 suFr om=1 suTo=1 result=0 179 SkOpSegment::activeOp id=6 t=0.000234320081 tEnd=0 op=union miFrom=0 miTo=1 suFr om=1 suTo=1 result=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 180 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
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 181 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
258 SkOpSegment::findNextOp chase.append segment=5 span=31 windSum=-1 182 SkOpSegment::findNextOp chase.append segment=5 span=31 windSum=-1
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 183 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
260 SkOpSegment::findNextOp from:[9] to:[14] start=8986620 end=8987068 184 SkOpSegment::findNextOp from:[9] to:[14] start=6561756 end=6562204
261 bridgeOp current id=9 from=(78,4565) to=(78,4590) 185 bridgeOp current id=9 from=(78,4565) to=(78,4590)
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 186 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
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 187 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
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 188 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
265 SkOpSegment::markAngle last segment=12 span=30 windSum=-2 189 SkOpSegment::markAngle last segment=12 span=30 windSum=-2
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 190 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
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 191 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
268 SkOpSegment::markAngle last segment=4 span=29 windSum=-1 192 SkOpSegment::markAngle last segment=4 span=29 windSum=-1
269 SkOpSegment::findNextOp 193 SkOpSegment::findNextOp
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 194 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
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 195 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
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 196 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
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 197 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
274 SkOpSegment::activeOp id=5 t=0.999339899 tEnd=1 op=union miFrom=0 miTo=1 suFrom= 0 suTo=0 result=1 198 SkOpSegment::activeOp id=5 t=0.999339899 tEnd=1 op=union miFrom=0 miTo=1 suFrom= 0 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 199 SkOpSegment::activeOp id=14 t=0.998759893 tEnd=0 op=union miFrom=1 miTo=1 suFrom =0 suTo=1 result=0
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 200 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
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 201 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
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 202 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
279 SkOpSegment::activeOp id=5 t=0.999339899 tEnd=0 op=union miFrom=1 miTo=0 suFrom= 1 suTo=1 result=0 203 SkOpSegment::activeOp id=5 t=0.999339899 tEnd=0 op=union miFrom=1 miTo=0 suFrom= 1 suTo=1 result=0
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 204 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
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 205 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 206 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 207 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 208 SkOpSegment::findNextOp from:[14] to:[5] start=6562100 end=6559532
285 bridgeOp current id=14 from=(78,4590) to=(78.0000076,4590.01074) 209 bridgeOp current id=14 from=(78,4590) to=(78.0000076,4590.01074)
286 path.lineTo(78,4590); 210 path.lineTo(78,4590);
287 path.conicTo(78,4590.00537, 78.0000076,4590.01074, 0.999999642); 211 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 212 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 213 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 214 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 215 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 216 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 217 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) 218 bridgeOp current id=4 from=(158,4595) to=(1171,4595)
295 SkOpSegment::findNextOp simple 219 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 220 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) 221 bridgeOp current id=3 from=(1171,4595) to=(1176,4590)
298 path.moveTo(158,4595); 222 path.moveTo(158,4595);
299 path.lineTo(1171,4595); 223 path.lineTo(1171,4595);
300 path.conicTo(1176,4595, 1176,4590, 0.707106769); 224 path.conicTo(1176,4595, 1176,4590, 0.707106769);
301 SkOpSegment::findNextOp simple 225 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 226 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) 227 bridgeOp current id=2 from=(1176,4590) to=(1176,4565)
304 path.lineTo(1176,4565); 228 path.lineTo(1176,4565);
305 </div> 229 </div>
306 230
231
232
307 </div> 233 </div>
308 234
309 <script type="text/javascript"> 235 <script type="text/javascript">
310 236
311 var testDivs = [ 237 var testDivs = [
312 skpwww_gorcraft_ru_1, 238 skpwww_gorcraft_ru_1,
313 ]; 239 ];
314 240
315 var decimal_places = 3; // make this 3 to show more precision 241 var decimal_places = 3; // make this 3 to show more precision
316 242
(...skipping 1137 matching lines...) Expand 10 before | Expand all | Expand 10 after
1454 function idByCurve(test, frag, type) { 1380 function idByCurve(test, frag, type) {
1455 var result = draw_path >= 4 ? idByCurveIDMatch(test, frag, type, REC_TYPE_AL IGNED) : []; 1381 var result = draw_path >= 4 ? idByCurveIDMatch(test, frag, type, REC_TYPE_AL IGNED) : [];
1456 if (!result.length) { 1382 if (!result.length) {
1457 result = idByCurveIDMatch(test, frag, type, REC_TYPE_PATH); 1383 result = idByCurveIDMatch(test, frag, type, REC_TYPE_PATH);
1458 } 1384 }
1459 return result; 1385 return result;
1460 } 1386 }
1461 1387
1462 function curve_extremes(curve, bounds) { 1388 function curve_extremes(curve, bounds) {
1463 var length = curve.length == 7 ? 6 : curve.length; 1389 var length = curve.length == 7 ? 6 : curve.length;
1464 for (var index = 0; index < curve.length; index += 2) { 1390 for (var index = 0; index < length; index += 2) {
1465 var x = curve[index]; 1391 var x = curve[index];
1466 var y = curve[index + 1]; 1392 var y = curve[index + 1];
1467 bounds[0] = Math.min(bounds[0], x); 1393 bounds[0] = Math.min(bounds[0], x);
1468 bounds[1] = Math.min(bounds[1], y); 1394 bounds[1] = Math.min(bounds[1], y);
1469 bounds[2] = Math.max(bounds[2], x); 1395 bounds[2] = Math.max(bounds[2], x);
1470 bounds[3] = Math.max(bounds[3], y); 1396 bounds[3] = Math.max(bounds[3], y);
1471 } 1397 }
1472 } 1398 }
1473 1399
1474 function setScale(x0, x1, y0, y1) { 1400 function setScale(x0, x1, y0, y1) {
(...skipping 506 matching lines...) Expand 10 before | Expand all | Expand 10 after
1981 var dy = conic_eval_numerator(y1, y2, y3, w, midT); 1907 var dy = conic_eval_numerator(y1, y2, y3, w, midT);
1982 var dz = conic_eval_denominator(w, midT); 1908 var dz = conic_eval_denominator(w, midT);
1983 var cx = conic_eval_numerator(x1, x2, x3, w, t2); 1909 var cx = conic_eval_numerator(x1, x2, x3, w, t2);
1984 var cy = conic_eval_numerator(y1, y2, y3, w, t2); 1910 var cy = conic_eval_numerator(y1, y2, y3, w, t2);
1985 var cz = conic_eval_denominator(w, t2); 1911 var cz = conic_eval_denominator(w, t2);
1986 var bx = 2 * dx - (ax + cx) / 2; 1912 var bx = 2 * dx - (ax + cx) / 2;
1987 var by = 2 * dy - (ay + cy) / 2; 1913 var by = 2 * dy - (ay + cy) / 2;
1988 var bz = 2 * dz - (az + cz) / 2; 1914 var bz = 2 * dz - (az + cz) / 2;
1989 var dt = t2 - t1; 1915 var dt = t2 - t1;
1990 var dt_1 = 1 - dt; 1916 var dt_1 = 1 - dt;
1991 var partW = (1 + dt * (w - 1)) / Math.sqrt(dt * dt + 2 * dt * dt_1 * w + dt_ 1 * dt_1);
1992 var array = [ 1917 var array = [
1993 ax / az, ay / az, bx / bz, by / bz, cx / cz, cy / cz, partW 1918 ax / az, ay / az, bx / bz, by / bz, cx / cz, cy / cz, 0
1994 ]; 1919 ];
1920 var dMidAC = { x:(array[0] + array[4]) / 2, y:(array[1] + array[5]) / 2 };
1921 var dMid = { x:dx / dz, y:dy / dz };
1922 var dWNumer = { x:dMidAC.x - dMid.x, y:dMidAC.y - dMid.y };
1923 var dWDenom = { x:dMid.x - array[2], y:dMid.y - array[3] };
1924 var partW = Math.sqrt(dWNumer.x * dWNumer.x + dWNumer.y * dWNumer.y)
1925 / Math.sqrt(dWDenom.x * dWDenom.x + dWDenom.y * dWDenom.y);
1926 array[6] = partW;
1995 return array; 1927 return array;
1996 } 1928 }
1997 1929
1998 function drawConicPartial(x1, y1, x2, y2, x3, y3, w, t1, t2) { 1930 function drawConicPartial(x1, y1, x2, y2, x3, y3, w, t1, t2) {
1999 var a = conicPartial(x1, y1, x2, y2, x3, y3, w, t1, t2); 1931 var a = conicPartial(x1, y1, x2, y2, x3, y3, w, t1, t2);
2000 var ax = a[0]; 1932 var ax = a[0];
2001 var ay = a[1]; 1933 var ay = a[1];
2002 var bx = a[2]; 1934 var bx = a[2];
2003 var by = a[3]; 1935 var by = a[3];
2004 var cx = a[4]; 1936 var cx = a[4];
(...skipping 2107 matching lines...) Expand 10 before | Expand all | Expand 10 after
4112 </script> 4044 </script>
4113 </head> 4045 </head>
4114 4046
4115 <body onLoad="start();"> 4047 <body onLoad="start();">
4116 <canvas id="canvas" width="750" height="500" 4048 <canvas id="canvas" width="750" height="500"
4117 onmousemove="handleMouseOver()" 4049 onmousemove="handleMouseOver()"
4118 onclick="handleMouseClick()" 4050 onclick="handleMouseClick()"
4119 ></canvas > 4051 ></canvas >
4120 </body> 4052 </body>
4121 </html> 4053 </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