Skia UnitTests: --match PathOpsOp$ --resourcePath resources\ SK_DEBUG
seg=1 {{{-5, 0}, {1075, 0}}} seg=2 {{{1075, 0}, {1075, 242}}} seg=3 {{{1075, 242}, {-5, 242}}} seg=4 {{{-5, 242}, {-5, 0}}} op sect seg=5 {{{0, 0}, {1080, 0}}} seg=6 {{{1080, 0}, {1080, 242}}} seg=7 {{{1080, 242}, {0, 242}}} seg=8 {{{0, 242}, {0, 0}}} debugShowLineIntersection wtTs[0]=0 {{{1075,0}, {1075,242}}} {{1075,0}} wnTs[0]=1 {{{-5,0}, {1075,0}}} debugShowLineIntersection wtTs[0]=1 {{{-5,242}, {-5,0}}} {{-5,0}} wnTs[0]=0 {{{-5,0}, {1075,0}}} debugShowLineIntersection wtTs[0]=0 {{{1075,242}, {-5,242}}} {{1075,242}} wnTs[0]=1 {{{1075,0}, {1075,242}}} debugShowLineIntersection wtTs[0]=0 {{{-5,242}, {-5,0}}} {{-5,242}} wnTs[0]=1 {{{1075,242}, {-5,242}}} debugShowLineIntersection wtTs[0]=0 {{{0,0}, {1080,0}}} {{0,0}} wtTs[1]=0.99537037 {{1075,0}} wnTs[0]=0.00462963 {{{-5,0}, {1075,0}}} wnTs[1]=1 SkOpSegment::addT insert t=0.00462962963 segID=1 spanID=17 SkOpSegment::addT insert t=0.99537037 segID=5 spanID=18 debugShowLineIntersection wtTs[0]=1 {{{0,242}, {0,0}}} {{0,0}} wnTs[0]=0.00462963 {{{-5,0}, {1075,0}}} debugShowLineIntersection wtTs[0]=0.99537037 {{{0,0}, {1080,0}}} {{1075,0}} wnTs[0]=0 {{{1075,0}, {1075,242}}} debugShowLineIntersection wtTs[0]=0.00462962963 {{{1080,242}, {0,242}}} {{1075,242}} wnTs[0]=1 {{{1075,0}, {1075,242}}} SkOpSegment::addT insert t=0.00462962963 segID=7 spanID=19 debugShowLineIntersection wtTs[0]=0.00462962963 {{{1080,242}, {0,242}}} {{1075,242}} wtTs[1]=1 {{0,242}} wnTs[0]=0 {{{1075,242}, {-5,242}}} wnTs[1]=0.99537037 SkOpSegment::addT insert t=0.99537037 segID=3 spanID=20 debugShowLineIntersection wtTs[0]=0 {{{0,242}, {0,0}}} {{0,242}} wnTs[0]=0.99537 {{{1075,242}, {-5,242}}} debugShowLineIntersection wtTs[0]=0 {{{1080,0}, {1080,242}}} {{1080,0}} wnTs[0]=1 {{{0,0}, {1080,0}}} debugShowLineIntersection wtTs[0]=1 {{{0,242}, {0,0}}} {{0,0}} wnTs[0]=0 {{{0,0}, {1080,0}}} debugShowLineIntersection wtTs[0]=0 {{{1080,242}, {0,242}}} {{1080,242}} wnTs[0]=1 {{{1080,0}, {1080,242}}} debugShowLineIntersection wtTs[0]=0 {{{0,242}, {0,0}}} {{0,242}} wnTs[0]=1 {{{1080,242}, {0,242}}} ------------------x--x---------------- addExpanded 00: seg/base=3/5 seg/base=7/19 MarkCoinStart 01: seg/base=3/20 seg/base=7/14 MarkCoinEnd 02: seg/base=1/17 seg/base=5/9 MarkCoinStart 03: seg/base=1/2 seg/base=5/18 MarkCoinEnd SkOpSegment::debugShowActiveSpans id=1 (-5,0 -8.8817842e-16,0) t=0 tEnd=0.00462962963 windSum=? windValue=1 SkOpSegment::debugShowActiveSpans id=1 (-8.8817842e-16,0 1075,0) t=0.00462962963 tEnd=1 windSum=? windValue=1 SkOpSegment::debugShowActiveSpans id=2 (1075,0 1075,242) t=0 tEnd=1 windSum=? windValue=1 SkOpSegment::debugShowActiveSpans id=3 (1075,242 2.22044605e-14,242) t=0 tEnd=0.99537037 windSum=? windValue=1 SkOpSegment::debugShowActiveSpans id=3 (2.22044605e-14,242 -5,242) t=0.99537037 tEnd=1 windSum=? windValue=1 SkOpSegment::debugShowActiveSpans id=4 (-5,242 -5,0) t=0 tEnd=1 windSum=? windValue=1 SkOpSegment::debugShowActiveSpans id=5 (0,0 1075,0) t=0 tEnd=0.99537037 windSum=? windValue=1 SkOpSegment::debugShowActiveSpans id=5 (1075,0 1080,0) t=0.99537037 tEnd=1 windSum=? windValue=1 SkOpSegment::debugShowActiveSpans id=6 (1080,0 1080,242) t=0 tEnd=1 windSum=? windValue=1 SkOpSegment::debugShowActiveSpans id=7 (1080,242 1075,242) t=0 tEnd=0.00462962963 windSum=? windValue=1 SkOpSegment::debugShowActiveSpans id=7 (1075,242 0,242) t=0.00462962963 tEnd=1 windSum=? windValue=1 SkOpSegment::debugShowActiveSpans id=8 (0,242 0,0) t=0 tEnd=1 windSum=? windValue=1 ------------------x--x---------------- move_multiples 00: seg/base=3/5 seg/base=7/19 MarkCoinStart 01: seg/base=3/20 seg/base=7/14 MarkCoinEnd 02: seg/base=1/17 seg/base=5/9 MarkCoinStart 03: seg/base=1/2 seg/base=5/18 MarkCoinEnd ------------------x--x---------------- move_nearby 00: seg/base=3/5 seg/base=7/19 MarkCoinStart 01: seg/base=3/20 seg/base=7/14 MarkCoinEnd 02: seg/base=1/17 seg/base=5/9 MarkCoinStart 03: seg/base=1/2 seg/base=5/18 MarkCoinEnd ------------------x--x---------------- correctEnds 00: seg/base=3/5 seg/base=7/19 MarkCoinStart 01: seg/base=3/20 seg/base=7/14 MarkCoinEnd 02: seg/base=1/17 seg/base=5/9 MarkCoinStart 03: seg/base=1/2 seg/base=5/18 MarkCoinEnd ------------------x--x---------------- addEndMovedSpans 00: seg/base=3/5 seg/base=7/19 MarkCoinStart 01: seg/base=3/20 seg/base=7/14 MarkCoinEnd 02: seg/base=1/17 seg/base=5/9 MarkCoinStart 03: seg/base=1/2 seg/base=5/18 MarkCoinEnd ------------------x--x---------------- expand 00: seg/base=3/5 seg/base=7/19 MarkCoinStart 01: seg/base=3/20 seg/base=7/14 MarkCoinEnd 02: seg/base=1/17 seg/base=5/9 MarkCoinStart 03: seg/base=1/2 seg/base=5/18 MarkCoinEnd ------------------x--x---------------- addExpanded 00: seg/base=3/5 seg/base=7/19 MarkCoinStart 01: seg/base=3/20 seg/base=7/14 MarkCoinEnd 02: seg/base=1/17 seg/base=5/9 MarkCoinStart 03: seg/base=1/2 seg/base=5/18 MarkCoinEnd ------------------x--x---------------- mark 00: seg/base=3/5 seg/base=7/19 MarkCoinStart 01: seg/base=3/20 seg/base=7/14 MarkCoinEnd 02: seg/base=1/17 seg/base=5/9 MarkCoinStart 03: seg/base=1/2 seg/base=5/18 MarkCoinEnd -------------------------------------- missing_coincidence -------------------------------------- expand -------------------------------------- expand -------------------------------------- apply SkOpSegment::markDone id=7 (1080,242 0,242) t=0.00462962963 [19] (1075,242) tEnd=1 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0 SkOpSegment::markDone id=5 (0,0 1080,0) t=0 [9] (0,0) tEnd=0.99537037 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0 -------------------------------------- findOverlaps SkOpSegment::debugShowActiveSpans id=1 (-5,0 -8.8817842e-16,0) t=0 tEnd=0.00462962963 windSum=? windValue=1 SkOpSegment::debugShowActiveSpans id=1 (-8.8817842e-16,0 1075,0) t=0.00462962963 tEnd=1 windSum=? oppSum=? windValue=1 oppValue=1 SkOpSegment::debugShowActiveSpans id=2 (1075,0 1075,242) t=0 tEnd=1 windSum=? windValue=1 SkOpSegment::debugShowActiveSpans id=3 (1075,242 2.22044605e-14,242) t=0 tEnd=0.99537037 windSum=? oppSum=? windValue=1 oppValue=1 SkOpSegment::debugShowActiveSpans id=3 (2.22044605e-14,242 -5,242) t=0.99537037 tEnd=1 windSum=? windValue=1 SkOpSegment::debugShowActiveSpans id=4 (-5,242 -5,0) t=0 tEnd=1 windSum=? windValue=1 SkOpSegment::debugShowActiveSpans id=5 (1075,0 1080,0) t=0.99537037 tEnd=1 windSum=? windValue=1 SkOpSegment::debugShowActiveSpans id=6 (1080,0 1080,242) t=0 tEnd=1 windSum=? windValue=1 SkOpSegment::debugShowActiveSpans id=7 (1080,242 1075,242) t=0 tEnd=0.00462962963 windSum=? windValue=1 SkOpSegment::debugShowActiveSpans id=8 (0,242 0,0) t=0 tEnd=1 windSum=? windValue=1 -------------------------------------- calc_angles SkOpSegment::sortAngles [1] tStart=0.00462962963 [17] SkOpAngle::after [1/1] 15/15 tStart=0.00462962963 tEnd=0 < [8/12] 23/23 tStart=1 tEnd=0 < [1/2] 31/31 tStart=0.00462962963 tEnd=1 T 4 SkOpAngle::afterPart {{{0,0}, {-5,0}}} id=1 SkOpAngle::afterPart {{{0,0}, {0,242}}} id=8 SkOpAngle::afterPart {{{0,0}, {1075,0}}} id=1 SkOpSegment::sortAngles [1] tStart=1 [2] SkOpAngle::after [1/3] 15/15 tStart=1 tEnd=0.00462962963 < [2/4] 23/23 tStart=0 tEnd=1 < [5/9] 31/31 tStart=0.99537037 tEnd=1 T 4 SkOpAngle::afterPart {{{1075,0}, {-8.8817842e-16,0}}} id=1 SkOpAngle::afterPart {{{1075,0}, {1075,242}}} id=2 SkOpAngle::afterPart {{{1075,0}, {1080,0}}} id=5 SkOpSegment::sortAngles [2] tStart=0 [3] SkOpSegment::sortAngles [2] tStart=1 [4] SkOpAngle::after [2/5] 7/7 tStart=1 tEnd=0 < [3/6] 15/15 tStart=0 tEnd=0.99537037 < [7/10] 31/31 tStart=0.00462962963 tEnd=0 T 4 SkOpAngle::afterPart {{{1075,242}, {1075,0}}} id=2 SkOpAngle::afterPart {{{1075,242}, {2.22044605e-14,242}}} id=3 SkOpAngle::afterPart {{{1075,242}, {1080,242}}} id=7 SkOpSegment::sortAngles [3] tStart=0 [5] SkOpSegment::sortAngles [3] tStart=0.99537037 [20] SkOpAngle::after [3/7] 31/31 tStart=0.99537037 tEnd=0 < [8/11] 7/7 tStart=0 tEnd=1 < [3/8] 15/15 tStart=0.99537037 tEnd=1 T 4 SkOpAngle::afterPart {{{0,242}, {1075,242}}} id=3 SkOpAngle::afterPart {{{0,242}, {0,0}}} id=8 SkOpAngle::afterPart {{{0,242}, {-5,242}}} id=3 SkOpSegment::sortAngles [5] tStart=0.99537037 [18] SkOpSegment::sortAngles [7] tStart=0.00462962963 [19] SkOpSegment::sortAngles [8] tStart=0 [15] SkOpSegment::sortAngles [8] tStart=1 [16] coinSpan - id=3 t=0 tEnd=0.99537037 coinSpan + id=7 t=0.00462962963 tEnd=1 coinSpan - id=1 t=0.00462962963 tEnd=1 coinSpan + id=5 t=0 tEnd=0.99537037 SkOpSpan::sortableTop dir=kTop seg=1 t=0.00231481481 pt=(-2.5,0) SkOpSpan::sortableTop [0] valid=1 operand=0 span=1 ccw=1 seg=1 {{{-5, 0}, {1075, 0}}} t=0.00231481481 pt=(-2.5,0) slope=(1080,0) SkOpSegment::markWinding id=1 (-5,0 1075,0) t=0 [1] (-5,0) tEnd=0.00462962963 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 SkOpSegment::markWinding id=1 (-5,0 1075,0) t=0 [1] (-5,0) tEnd=0.00462962963 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 SkOpSegment::markWinding id=4 (-5,242 -5,0) t=0 [7] (-5,242) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 SkOpSegment::markWinding id=3 (1075,242 -5,242) t=0.99537037 [20] (2.22044605e-14,242) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 SkOpSegment::activeOp id=1 t=0.00462962963 tEnd=0 op=sect miFrom=0 miTo=1 suFrom=0 suTo=0 result=0 SkOpSegment::markDone id=1 (-5,0 1075,0) t=0 [1] (-5,0) tEnd=0.00462962963 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 SkOpSegment::markDone id=4 (-5,242 -5,0) t=0 [7] (-5,242) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 SkOpSegment::markDone id=3 (1075,242 -5,242) t=0.99537037 [20] (2.22044605e-14,242) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 bridgeOp chase.append id=3 windSum=-1 SkOpSegment::markWinding id=3 (1075,242 -5,242) t=0 [5] (1075,242) tEnd=0.99537037 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=1 SkOpSegment::markAngle last segment=3 span=5 windSum=-1 SkOpSegment::markWinding id=8 (0,242 0,0) t=0 [15] (0,242) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0 SkOpSegment::markAngle last segment=8 span=16 SkOpSegment::debugShowActiveSpans id=1 (-8.8817842e-16,0 1075,0) t=0.00462962963 tEnd=1 windSum=? oppSum=? windValue=1 oppValue=1 SkOpSegment::debugShowActiveSpans id=2 (1075,0 1075,242) t=0 tEnd=1 windSum=? windValue=1 SkOpSegment::debugShowActiveSpans id=3 (1075,242 2.22044605e-14,242) t=0 tEnd=0.99537037 windSum=-1 oppSum=-1 windValue=1 oppValue=1 SkOpSegment::debugShowActiveSpans id=5 (1075,0 1080,0) t=0.99537037 tEnd=1 windSum=? windValue=1 SkOpSegment::debugShowActiveSpans id=6 (1080,0 1080,242) t=0 tEnd=1 windSum=? windValue=1 SkOpSegment::debugShowActiveSpans id=7 (1080,242 1075,242) t=0 tEnd=0.00462962963 windSum=? windValue=1 SkOpSegment::debugShowActiveSpans id=8 (0,242 0,0) t=0 tEnd=1 windSum=-1 oppSum=-1 windValue=1 oppValue=0 SkOpSegment::activeOp id=3 t=0.99537037 tEnd=0 op=sect miFrom=0 miTo=1 suFrom=0 suTo=1 result=1 SkOpSegment::markWinding id=7 (1080,242 0,242) t=0 [13] (1080,242) tEnd=0.00462962963 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 SkOpSegment::markWinding id=6 (1080,0 1080,242) t=0 [11] (1080,0) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 SkOpSegment::markWinding id=5 (0,0 1080,0) t=0.99537037 [18] (1075,0) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 SkOpSegment::markAngle last segment=5 span=18 windSum=-1 SkOpSegment::markWinding id=2 (1075,0 1075,242) t=0 [3] (1075,0) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0 SkOpSegment::markAngle last segment=2 span=3 windSum=-1 SkOpSegment::findNextOp SkOpAngle::dumpOne [3/6] next=7/10 sect=15/15 s=0 [5] e=0.99537037 [20] sgn=-1 windVal=1 windSum=-1 oppVal=1 oppSum=-1 SkOpAngle::dumpOne [7/10] next=2/5 sect=31/31 s=0.00462962963 [19] e=0 [13] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand SkOpAngle::dumpOne [2/5] next=3/6 sect=7/7 s=1 [4] e=0 [3] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 SkOpSegment::activeOp id=7 t=0.00462962963 tEnd=0 op=sect miFrom=0 miTo=0 suFrom=0 suTo=1 result=0 SkOpSegment::markDone id=7 (1080,242 0,242) t=0 [13] (1080,242) tEnd=0.00462962963 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 SkOpSegment::markDone id=6 (1080,0 1080,242) t=0 [11] (1080,0) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 SkOpSegment::markDone id=5 (0,0 1080,0) t=0.99537037 [18] (1075,0) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 SkOpSegment::findNextOp chase.append segment=5 span=18 windSum=-1 SkOpSegment::activeOp id=2 t=1 tEnd=0 op=sect miFrom=0 miTo=1 suFrom=1 suTo=1 result=1 SkOpSegment::findNextOp chase.append segment=2 span=3 windSum=-1 SkOpSegment::markDone id=3 (1075,242 -5,242) t=0 [5] (1075,242) tEnd=0.99537037 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=1 SkOpSegment::findNextOp from:[3] to:[2] start=90366152 end=90366008 bridgeOp current id=3 from=(2.22044605e-14,242) to=(1075,242) SkOpSegment::markWinding id=1 (-5,0 1075,0) t=0.00462962963 [17] (-8.8817842e-16,0) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=1 SkOpSegment::markAngle last segment=1 span=17 windSum=-1 SkOpSegment::findNextOp SkOpAngle::dumpOne [2/4] next=5/9 sect=23/23 s=0 [3] e=1 [4] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 SkOpAngle::dumpOne [5/9] next=1/3 sect=31/31 s=0.99537037 [18] e=1 [10] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done operand SkOpAngle::dumpOne [1/3] next=2/4 sect=15/15 s=1 [2] e=0.00462962963 [17] sgn=1 windVal=1 windSum=-1 oppVal=1 oppSum=-1 SkOpSegment::activeOp id=5 t=0.99537037 tEnd=1 op=sect miFrom=0 miTo=0 suFrom=1 suTo=0 result=0 SkOpSegment::activeOp id=1 t=1 tEnd=0.00462962963 op=sect miFrom=0 miTo=1 suFrom=0 suTo=1 result=1 SkOpSegment::findNextOp chase.append segment=1 span=17 windSum=-1 SkOpSegment::markDone id=2 (1075,0 1075,242) t=0 [3] (1075,0) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0 SkOpSegment::findNextOp from:[2] to:[1] start=90365736 end=90368360 bridgeOp current id=2 from=(1075,242) to=(1075,0) path.moveTo(2.22044605e-14,242); path.lineTo(1075,242); SkOpSegment::findNextOp SkOpAngle::dumpOne [1/2] next=1/1 sect=31/31 s=0.00462962963 [17] e=1 [2] sgn=-1 windVal=1 windSum=-1 oppVal=1 oppSum=-1 SkOpAngle::dumpOne [1/1] next=8/12 sect=15/15 s=0.00462962963 [17] e=0 [1] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done SkOpAngle::dumpOne [8/12] next=1/2 sect=23/23 s=1 [16] e=0 [15] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 operand SkOpSegment::activeOp id=1 t=0.00462962963 tEnd=0 op=sect miFrom=0 miTo=1 suFrom=0 suTo=0 result=0 SkOpSegment::activeOp id=8 t=1 tEnd=0 op=sect miFrom=1 miTo=1 suFrom=0 suTo=1 result=1 SkOpSegment::markDone id=1 (-5,0 1075,0) t=0.00462962963 [17] (-8.8817842e-16,0) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=1 SkOpSegment::findNextOp from:[1] to:[8] start=90368192 end=90368048 bridgeOp current id=1 from=(1075,0) to=(-8.8817842e-16,0) path.lineTo(1075,0); SkOpSegment::findNextOp SkOpAngle::dumpOne [8/11] next=3/8 sect=7/7 s=0 [15] e=1 [16] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 operand SkOpAngle::dumpOne [3/8] next=3/7 sect=15/15 s=0.99537037 [20] e=1 [6] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done SkOpAngle::dumpOne [3/7] next=8/11 sect=31/31 s=0.99537037 [20] e=0 [5] sgn=1 windVal=1 windSum=-1 oppVal=1 oppSum=-1 done SkOpSegment::activeOp id=3 t=0.99537037 tEnd=1 op=sect miFrom=1 miTo=0 suFrom=0 suTo=0 result=0 SkOpSegment::activeOp id=3 t=0.99537037 tEnd=0 op=sect miFrom=0 miTo=1 suFrom=0 suTo=1 result=1 SkOpSegment::markDone id=8 (0,242 0,0) t=0 [15] (0,242) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0 SkOpSegment::findNextOp from:[8] to:[3] start=90368840 end=90366336 bridgeOp current id=8 from=(0,0) to=(0,242) path.lineTo(-8.8817842e-16,0); path.lineTo(0,242); path.close();