Index: tools/pathops_visualizer.htm |
diff --git a/tools/pathops_visualizer.htm b/tools/pathops_visualizer.htm |
index 1c6cdf1e42a576e63bb9be903e0b7dcb89072f52..85478b905994ffcf076952ec3c9728b30fcebc11 100644 |
--- a/tools/pathops_visualizer.htm |
+++ b/tools/pathops_visualizer.htm |
@@ -2,138 +2,70 @@ |
<head> |
<div height="0" hidden="true"> |
-<div id="issue2808"> |
- RunTestSet [issue2808] |
- |
-{{509.203003,385.60199}, {509.203003,415.688385}, {487.928711,436.962708}}, |
-{{487.928711,436.962708}, {466.654388,458.237}, {436.567993,458.237}}, |
-{{436.567993,458.237}, {406.481598,458.237}, {385.207275,436.962708}}, |
-{{385.207275,436.962708}, {363.932983,415.688385}, {363.932983,385.60199}}, |
-{{363.932983,385.60199}, {363.932983,355.515594}, {385.207275,334.241272}}, |
-{{385.207275,334.241272}, {406.481598,312.96698}, {436.567993,312.96698}}, |
-{{436.567993,312.96698}, {466.654388,312.96698}, {487.928711,334.241272}}, |
-{{487.928711,334.241272}, {509.203003,355.515594}, {509.203003,385.60199}}, |
-op union |
-{{449.033997,290.872986}, {449.033997,301.028259}, {441.853149,308.209106}}, |
-{{441.853149,308.209106}, {434.672272,315.389984}, {424.516998,315.389984}}, |
-{{424.516998,315.389984}, {414.361725,315.389984}, {407.180847,308.209106}}, |
-{{407.180847,308.209106}, {400,301.028259}, {400,290.872986}}, |
-{{400,290.872986}, {400,280.717712}, {407.180847,273.536865}}, |
-{{407.180847,273.536865}, {414.361725,266.355988}, {424.516998,266.355988}}, |
-{{424.516998,266.355988}, {434.672272,266.355988}, {441.853149,273.536865}}, |
-{{441.853149,273.536865}, {449.033997,280.717712}, {449.033997,290.872986}}, |
-debugShowQuadIntersection wtTs[0]=1 {{449.033997,290.872986}, {449.033997,301.028259}, {441.853149,308.209106}} {{441.853149,308.209106}} wnTs[0]=0 {{441.853149,308.209106}, {434.672272,315.389984}, {424.516998,315.389984}} |
-debugShowQuadIntersection wtTs[0]=0 {{449.033997,290.872986}, {449.033997,301.028259}, {441.853149,308.209106}} {{449.033997,290.872986}} wnTs[0]=1 {{441.853149,273.536865}, {449.033997,280.717712}, {449.033997,290.872986}} |
-debugShowQuadIntersection wtTs[0]=1 {{441.853149,308.209106}, {434.672272,315.389984}, {424.516998,315.389984}} {{424.516998,315.389984}} wnTs[0]=0 {{424.516998,315.389984}, {414.361725,315.389984}, {407.180847,308.209106}} |
-debugShowQuadIntersection wtTs[0]=1 {{424.516998,315.389984}, {414.361725,315.389984}, {407.180847,308.209106}} {{407.180847,308.209106}} wnTs[0]=0 {{407.180847,308.209106}, {400,301.028259}, {400,290.872986}} |
-debugShowQuadIntersection wtTs[0]=1 {{407.180847,308.209106}, {400,301.028259}, {400,290.872986}} {{400,290.872986}} wnTs[0]=0 {{400,290.872986}, {400,280.717712}, {407.180847,273.536865}} |
-debugShowQuadIntersection wtTs[0]=1 {{400,290.872986}, {400,280.717712}, {407.180847,273.536865}} {{407.180847,273.536865}} wnTs[0]=0 {{407.180847,273.536865}, {414.361725,266.355988}, {424.516998,266.355988}} |
-debugShowQuadIntersection wtTs[0]=1 {{407.180847,273.536865}, {414.361725,266.355988}, {424.516998,266.355988}} {{424.516998,266.355988}} wnTs[0]=0 {{424.516998,266.355988}, {434.672272,266.355988}, {441.853149,273.536865}} |
-debugShowQuadIntersection wtTs[0]=1 {{424.516998,266.355988}, {434.672272,266.355988}, {441.853149,273.536865}} {{441.853149,273.536865}} wnTs[0]=0 {{441.853149,273.536865}, {449.033997,280.717712}, {449.033997,290.872986}} |
-debugShowQuadIntersection no intersect {{441.853149,308.209106}, {434.672272,315.389984}, {424.516998,315.389984}} {{385.207275,334.241272}, {406.481598,312.96698}, {436.567993,312.96698}} |
-debugShowQuadIntersection no intersect {{441.853149,308.209106}, {434.672272,315.389984}, {424.516998,315.389984}} {{436.567993,312.96698}, {466.654388,312.96698}, {487.928711,334.241272}} |
-debugShowQuadIntersection wtTs[0]=0.266471573 {{424.516998,315.389984}, {414.361725,315.389984}, {407.180847,308.209106}} {{419.31601,314.880096}} wnTs[0]=0.700123 {{385.207275,334.241272}, {406.481598,312.96698}, {436.567993,312.96698}} |
-debugShowQuadIntersection wtTs[0]=1 {{509.203003,385.60199}, {509.203003,415.688385}, {487.928711,436.962708}} {{487.928711,436.962708}} wnTs[0]=0 {{487.928711,436.962708}, {466.654388,458.237}, {436.567993,458.237}} |
-debugShowQuadIntersection wtTs[0]=0 {{509.203003,385.60199}, {509.203003,415.688385}, {487.928711,436.962708}} {{509.203003,385.60199}} wnTs[0]=1 {{487.928711,334.241272}, {509.203003,355.515594}, {509.203003,385.60199}} |
-debugShowQuadIntersection wtTs[0]=1 {{487.928711,436.962708}, {466.654388,458.237}, {436.567993,458.237}} {{436.567993,458.237}} wnTs[0]=0 {{436.567993,458.237}, {406.481598,458.237}, {385.207275,436.962708}} |
-debugShowQuadIntersection wtTs[0]=1 {{436.567993,458.237}, {406.481598,458.237}, {385.207275,436.962708}} {{385.207275,436.962708}} wnTs[0]=0 {{385.207275,436.962708}, {363.932983,415.688385}, {363.932983,385.60199}} |
-debugShowQuadIntersection wtTs[0]=1 {{385.207275,436.962708}, {363.932983,415.688385}, {363.932983,385.60199}} {{363.932983,385.60199}} wnTs[0]=0 {{363.932983,385.60199}, {363.932983,355.515594}, {385.207275,334.241272}} |
-debugShowQuadIntersection wtTs[0]=1 {{363.932983,385.60199}, {363.932983,355.515594}, {385.207275,334.241272}} {{385.207275,334.241272}} wnTs[0]=0 {{385.207275,334.241272}, {406.481598,312.96698}, {436.567993,312.96698}} |
-debugShowQuadIntersection wtTs[0]=1 {{385.207275,334.241272}, {406.481598,312.96698}, {436.567993,312.96698}} {{436.567993,312.96698}} wnTs[0]=0 {{436.567993,312.96698}, {466.654388,312.96698}, {487.928711,334.241272}} |
-debugShowQuadIntersection wtTs[0]=1 {{436.567993,312.96698}, {466.654388,312.96698}, {487.928711,334.241272}} {{487.928711,334.241272}} wnTs[0]=0 {{487.928711,334.241272}, {509.203003,355.515594}, {509.203003,385.60199}} |
-SkOpSegment::sortAngles [10] tStart=0.266471573 [1] |
-SkOpAngle::after [10/1] 29/29 tStart=0.266471573 tEnd=0 < [5/1] 17/17 tStart=0.700123447 tEnd=0 < [10/2] 13/13 tStart=0.266471573 tEnd=1 F 4 |
-SkOpAngle::after [10/1] 29/29 tStart=0.266471573 tEnd=0 < [5/2] 1/1 tStart=0.700123447 tEnd=1 < [10/2] 13/13 tStart=0.266471573 tEnd=1 T 4 |
-SkOpSegment::debugShowActiveSpans id=8 (449.033997,290.872986 449.033997,301.028259 441.853149,308.209106) t=0 (449.033997,290.872986) tEnd=1 other=15 otherT=1 otherIndex=1 windSum=? windValue=1 oppValue=0 |
-SkOpSegment::debugShowActiveSpans id=9 (441.853149,308.209106 434.672272,315.389984 424.516998,315.389984) t=0 (441.853149,308.209106) tEnd=1 other=8 otherT=1 otherIndex=1 windSum=? windValue=1 oppValue=0 |
-SkOpSegment::debugShowActiveSpans id=10 (424.516998,315.389984 414.361725,315.389984 407.180847,308.209106) t=0 (424.516998,315.389984) tEnd=0.266471573 other=9 otherT=1 otherIndex=1 windSum=? windValue=1 oppValue=0 |
-SkOpSegment::debugShowActiveSpans id=10 (424.516998,315.389984 414.361725,315.389984 407.180847,308.209106) t=0.266471573 (419.31601,314.880096) tEnd=1 other=5 otherT=0.700123447 otherIndex=1 windSum=? windValue=1 oppValue=0 |
-SkOpSegment::debugShowActiveSpans id=11 (407.180847,308.209106 400,301.028259 400,290.872986) t=0 (407.180847,308.209106) tEnd=1 other=10 otherT=1 otherIndex=2 windSum=? windValue=1 oppValue=0 |
-SkOpSegment::debugShowActiveSpans id=12 (400,290.872986 400,280.717712 407.180847,273.536865) t=0 (400,290.872986) tEnd=1 other=11 otherT=1 otherIndex=1 windSum=? windValue=1 oppValue=0 |
-SkOpSegment::debugShowActiveSpans id=13 (407.180847,273.536865 414.361725,266.355988 424.516998,266.355988) t=0 (407.180847,273.536865) tEnd=1 other=12 otherT=1 otherIndex=1 windSum=? windValue=1 oppValue=0 |
-SkOpSegment::debugShowActiveSpans id=14 (424.516998,266.355988 434.672272,266.355988 441.853149,273.536865) t=0 (424.516998,266.355988) tEnd=1 other=13 otherT=1 otherIndex=1 windSum=? windValue=1 oppValue=0 |
-SkOpSegment::debugShowActiveSpans id=15 (441.853149,273.536865 449.033997,280.717712 449.033997,290.872986) t=0 (441.853149,273.536865) tEnd=1 other=14 otherT=1 otherIndex=1 windSum=? windValue=1 oppValue=0 |
-SkOpSegment::debugShowActiveSpans id=0 (509.203003,385.60199 509.203003,415.688385 487.928711,436.962708) t=0 (509.203003,385.60199) tEnd=1 other=7 otherT=1 otherIndex=1 windSum=? windValue=1 oppValue=0 |
-SkOpSegment::debugShowActiveSpans id=1 (487.928711,436.962708 466.654388,458.237 436.567993,458.237) t=0 (487.928711,436.962708) tEnd=1 other=0 otherT=1 otherIndex=1 windSum=? windValue=1 oppValue=0 |
-SkOpSegment::debugShowActiveSpans id=2 (436.567993,458.237 406.481598,458.237 385.207275,436.962708) t=0 (436.567993,458.237) tEnd=1 other=1 otherT=1 otherIndex=1 windSum=? windValue=1 oppValue=0 |
-SkOpSegment::debugShowActiveSpans id=3 (385.207275,436.962708 363.932983,415.688385 363.932983,385.60199) t=0 (385.207275,436.962708) tEnd=1 other=2 otherT=1 otherIndex=1 windSum=? windValue=1 oppValue=0 |
-SkOpSegment::debugShowActiveSpans id=4 (363.932983,385.60199 363.932983,355.515594 385.207275,334.241272) t=0 (363.932983,385.60199) tEnd=1 other=3 otherT=1 otherIndex=1 windSum=? windValue=1 oppValue=0 |
-SkOpSegment::debugShowActiveSpans id=5 (385.207275,334.241272 406.481598,312.96698 436.567993,312.96698) t=0 (385.207275,334.241272) tEnd=0.700123447 other=4 otherT=1 otherIndex=1 windSum=? windValue=1 oppValue=0 |
-SkOpSegment::debugShowActiveSpans id=5 (385.207275,334.241272 406.481598,312.96698 436.567993,312.96698) t=0.700123447 (419.31601,314.880096) tEnd=1 other=10 otherT=0.266471573 otherIndex=1 windSum=? windValue=1 oppValue=0 |
-SkOpSegment::debugShowActiveSpans id=6 (436.567993,312.96698 466.654388,312.96698 487.928711,334.241272) t=0 (436.567993,312.96698) tEnd=1 other=5 otherT=1 otherIndex=2 windSum=? windValue=1 oppValue=0 |
-SkOpSegment::debugShowActiveSpans id=7 (487.928711,334.241272 509.203003,355.515594 509.203003,385.60199) t=0 (487.928711,334.241272) tEnd=1 other=6 otherT=1 otherIndex=1 windSum=? windValue=1 oppValue=0 |
-SkOpSegment::findTop |
-SkOpAngle::dumpOne [13/1] next=14/1 sect=16/17 s=1 [1] e=0 [0] sgn=1 windVal=1 windSum=? operand |
-SkOpAngle::dumpOne [14/1] next=13/1 sect=30/29 s=0 [0] e=1 [1] sgn=-1 windVal=1 windSum=? operand stop |
-SkOpSegment::markWinding id=13 (407.180847,273.536865 414.361725,266.355988 424.516998,266.355988) t=0 [0] (407.180847,273.536865) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 |
-SkOpSegment::nextChase mismatched signs |
-SkOpSegment::markWinding id=14 (424.516998,266.355988 434.672272,266.355988 441.853149,273.536865) t=0 [0] (424.516998,266.355988) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 |
-SkOpSegment::markWinding id=15 (441.853149,273.536865 449.033997,280.717712 449.033997,290.872986) t=0 [0] (441.853149,273.536865) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 |
-SkOpSegment::markWinding id=8 (449.033997,290.872986 449.033997,301.028259 441.853149,308.209106) t=0 [0] (449.033997,290.872986) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 |
-SkOpSegment::markWinding id=9 (441.853149,308.209106 434.672272,315.389984 424.516998,315.389984) t=0 [0] (441.853149,308.209106) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 |
-SkOpSegment::markWinding id=10 (424.516998,315.389984 414.361725,315.389984 407.180847,308.209106) t=0 [0] (424.516998,315.389984) tEnd=0.266471573 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 |
-SkOpSegment::markWinding id=13 (407.180847,273.536865 414.361725,266.355988 424.516998,266.355988) t=0 [0] (407.180847,273.536865) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 |
-SkOpSegment::markWinding id=12 (400,290.872986 400,280.717712 407.180847,273.536865) t=0 [0] (400,290.872986) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 |
-SkOpSegment::markWinding id=11 (407.180847,308.209106 400,301.028259 400,290.872986) t=0 [0] (407.180847,308.209106) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 |
-SkOpSegment::markWinding id=10 (424.516998,315.389984 414.361725,315.389984 407.180847,308.209106) t=0.266471573 [1] (419.31601,314.880096) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0 |
-SkOpSegment::activeOp id=13 t=0 tEnd=1 op=union miFrom=0 miTo=0 suFrom=1 suTo=0 result=1 |
-SkOpSegment::nextChase mismatched signs |
-SkOpSegment::findNextOp simple |
-SkOpSegment::markDoneBinary id=13 (407.180847,273.536865 414.361725,266.355988 424.516998,266.355988) t=0 [0] (407.180847,273.536865) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 |
-bridgeOp current id=13 from=(407.180847,273.536865) to=(424.516998,266.355988) |
-path.moveTo(407.180847,273.536865); |
-path.quadTo(414.361725,266.355988, 424.516998,266.355988); |
-SkOpSegment::findNextOp simple |
-SkOpSegment::markDoneBinary id=14 (424.516998,266.355988 434.672272,266.355988 441.853149,273.536865) t=0 [0] (424.516998,266.355988) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 |
-bridgeOp current id=14 from=(424.516998,266.355988) to=(441.853149,273.536865) |
-path.quadTo(434.672272,266.355988, 441.853149,273.536865); |
-SkOpSegment::findNextOp simple |
-SkOpSegment::markDoneBinary id=15 (441.853149,273.536865 449.033997,280.717712 449.033997,290.872986) t=0 [0] (441.853149,273.536865) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 |
-bridgeOp current id=15 from=(441.853149,273.536865) to=(449.033997,290.872986) |
-path.quadTo(449.033997,280.717712, 449.033997,290.872986); |
-SkOpSegment::findNextOp simple |
-SkOpSegment::markDoneBinary id=8 (449.033997,290.872986 449.033997,301.028259 441.853149,308.209106) t=0 [0] (449.033997,290.872986) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 |
-bridgeOp current id=8 from=(449.033997,290.872986) to=(441.853149,308.209106) |
-path.quadTo(449.033997,301.028259, 441.853149,308.209106); |
-SkOpSegment::findNextOp simple |
-SkOpSegment::markDoneBinary id=9 (441.853149,308.209106 434.672272,315.389984 424.516998,315.389984) t=0 [0] (441.853149,308.209106) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 |
-bridgeOp current id=9 from=(441.853149,308.209106) to=(424.516998,315.389984) |
-path.quadTo(434.672272,315.389984, 424.516998,315.389984); |
-SkOpSegment::markWinding id=5 (385.207275,334.241272 406.481598,312.96698 436.567993,312.96698) t=0.700123447 [1] (419.31601,314.880096) tEnd=1 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0 |
-SkOpSegment::markWinding id=6 (436.567993,312.96698 466.654388,312.96698 487.928711,334.241272) t=0 [0] (436.567993,312.96698) tEnd=1 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0 |
-SkOpSegment::markWinding id=7 (487.928711,334.241272 509.203003,355.515594 509.203003,385.60199) t=0 [0] (487.928711,334.241272) tEnd=1 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0 |
-SkOpSegment::markWinding id=0 (509.203003,385.60199 509.203003,415.688385 487.928711,436.962708) t=0 [0] (509.203003,385.60199) tEnd=1 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0 |
-SkOpSegment::markWinding id=1 (487.928711,436.962708 466.654388,458.237 436.567993,458.237) t=0 [0] (487.928711,436.962708) tEnd=1 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0 |
-SkOpSegment::markWinding id=2 (436.567993,458.237 406.481598,458.237 385.207275,436.962708) t=0 [0] (436.567993,458.237) tEnd=1 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0 |
-SkOpSegment::markWinding id=3 (385.207275,436.962708 363.932983,415.688385 363.932983,385.60199) t=0 [0] (385.207275,436.962708) tEnd=1 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0 |
-SkOpSegment::markWinding id=4 (363.932983,385.60199 363.932983,355.515594 385.207275,334.241272) t=0 [0] (363.932983,385.60199) tEnd=1 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0 |
-SkOpSegment::markWinding id=5 (385.207275,334.241272 406.481598,312.96698 436.567993,312.96698) t=0 [0] (385.207275,334.241272) tEnd=0.700123447 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0 |
-SkOpSegment::markAngle last id=5 windSum=1 small=0 |
-SkOpSegment::findNextOp |
-SkOpAngle::dumpOne [10/1] next=5/2 sect=29/29 s=0.266471573 [1] e=0 [0] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand |
-SkOpAngle::dumpOne [5/2] next=10/2 sect=1/1 s=0.700123447 [1] e=1 [2] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=-1 |
-SkOpAngle::dumpOne [10/2] next=5/1 sect=13/13 s=0.266471573 [1] e=1 [2] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand |
-SkOpAngle::dumpOne [5/1] next=10/1 sect=17/17 s=0.700123447 [1] e=0 [0] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=-1 |
-SkOpSegment::activeOp id=5 t=0.700123447 tEnd=1 op=union miFrom=0 miTo=1 suFrom=1 suTo=1 result=0 |
-SkOpSegment::markDoneBinary id=5 (385.207275,334.241272 406.481598,312.96698 436.567993,312.96698) t=0.700123447 [1] (419.31601,314.880096) tEnd=1 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0 |
-SkOpSegment::markDoneBinary id=6 (436.567993,312.96698 466.654388,312.96698 487.928711,334.241272) t=0 [0] (436.567993,312.96698) tEnd=1 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0 |
-SkOpSegment::markDoneBinary id=7 (487.928711,334.241272 509.203003,355.515594 509.203003,385.60199) t=0 [0] (487.928711,334.241272) tEnd=1 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0 |
-SkOpSegment::markDoneBinary id=0 (509.203003,385.60199 509.203003,415.688385 487.928711,436.962708) t=0 [0] (509.203003,385.60199) tEnd=1 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0 |
-SkOpSegment::markDoneBinary id=1 (487.928711,436.962708 466.654388,458.237 436.567993,458.237) t=0 [0] (487.928711,436.962708) tEnd=1 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0 |
-SkOpSegment::markDoneBinary id=2 (436.567993,458.237 406.481598,458.237 385.207275,436.962708) t=0 [0] (436.567993,458.237) tEnd=1 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0 |
-SkOpSegment::markDoneBinary id=3 (385.207275,436.962708 363.932983,415.688385 363.932983,385.60199) t=0 [0] (385.207275,436.962708) tEnd=1 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0 |
-SkOpSegment::markDoneBinary id=4 (363.932983,385.60199 363.932983,355.515594 385.207275,334.241272) t=0 [0] (363.932983,385.60199) tEnd=1 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0 |
-SkOpSegment::markDoneBinary id=5 (385.207275,334.241272 406.481598,312.96698 436.567993,312.96698) t=0 [0] (385.207275,334.241272) tEnd=0.700123447 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0 |
-SkOpSegment::findNextOp chase.append id=5 windSum=1 small=0 |
-SkOpSegment::activeOp id=10 t=0.266471573 tEnd=1 op=union miFrom=1 miTo=1 suFrom=1 suTo=0 result=0 |
-SkOpSegment::markDoneBinary id=10 (424.516998,315.389984 414.361725,315.389984 407.180847,308.209106) t=0.266471573 [1] (419.31601,314.880096) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 |
-SkOpSegment::markDoneBinary id=11 (407.180847,308.209106 400,301.028259 400,290.872986) t=0 [0] (407.180847,308.209106) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 |
-SkOpSegment::markDoneBinary id=12 (400,290.872986 400,280.717712 407.180847,273.536865) t=0 [0] (400,290.872986) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 |
-SkOpSegment::activeOp id=5 t=0.700123447 tEnd=0 op=union miFrom=1 miTo=0 suFrom=0 suTo=0 result=1 |
-SkOpSegment::markDoneBinary id=10 (424.516998,315.389984 414.361725,315.389984 407.180847,308.209106) t=0 [0] (424.516998,315.389984) tEnd=0.266471573 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0 |
-SkOpSegment::findNextOp from:[10] to:[5] start=1 end=0 |
-bridgeOp current id=10 from=(424.516998,315.389984) to=(419.31601,314.880096) |
-path.quadTo(421.810883,315.389984, 419.31601,314.880096); |
+<div id="battleOp6001"> |
+ RunTestSet [battleOp6001] |
+ |
+{{0,-59.9999962}, {0,-83}}, |
+{{0,-83}, {0.0189378317,-83}, {0.0378723554,-82.9999924}, {0.0568068773,-82.9999771}}, |
+{{0.0568068773,-82.9999771}, {0.06248549,-82.9999771}}, |
+{{0.06248549,-82.9999771}, {0.0451734141,-59.9999847}}, |
+{{0.0451734141,-59.9999847}, {0.0438041016,-59.9999886}, {0.0424379632,-59.9999886}, {0.0410718247,-59.9999886}}, |
+{{0.0410718247,-59.9999886}, {0.0410667397,-59.9999847}}, |
+{{0.0410667397,-59.9999847}, {0.0273789354,-59.9999924}, {0.0136889406,-59.9999962}, {0,-59.9999962}}, |
+op union |
+{{0.0624898896,-82.9999771}, {0.0931733027,-82.9999542}, {0.123859018,-82.9999084}, {0.154544711,-82.999855}}, |
+{{0.154544711,-82.999855}, {0.111722,-59.999897}}, |
+{{0.111722,-59.999897}, {0.0895366594,-59.999939}, {0.0673542097,-59.9999695}, {0.0451717526,-59.9999847}}, |
+{{0.0451717526,-59.9999847}, {0.0624898896,-82.9999771}}, |
+debugShowCubicIntersection no self intersect {{0,-83}, {0.0189378317,-83}, {0.0378723554,-82.9999924}, {0.0568068773,-82.9999771}} |
+debugShowCubicIntersection no self intersect {{0.0451734141,-59.9999847}, {0.0438041016,-59.9999886}, {0.0424379632,-59.9999886}, {0.0410718247,-59.9999886}} |
+debugShowCubicIntersection no self intersect {{0.0410667397,-59.9999847}, {0.0273789354,-59.9999924}, {0.0136889406,-59.9999962}, {0,-59.9999962}} |
+debugShowCubicLineIntersection wtTs[0]=0 {{0,-83}, {0.0189378317,-83}, {0.0378723554,-82.9999924}, {0.0568068773,-82.9999771}} {{0,-83}} wnTs[0]=1 {{0,-59.9999962}, {0,-83}} |
+debugShowCubicLineIntersection wtTs[0]=1 {{0.0410667397,-59.9999847}, {0.0273789354,-59.9999924}, {0.0136889406,-59.9999962}, {0,-59.9999962}} {{0,-59.9999962}} wnTs[0]=0 {{0,-59.9999962}, {0,-83}} |
+debugShowCubicLineIntersection wtTs[0]=1 {{0,-83}, {0.0189378317,-83}, {0.0378723554,-82.9999924}, {0.0568068773,-82.9999771}} {{0.0568068773,-82.9999771}} wnTs[0]=0 {{0.0568068773,-82.9999771}, {0.06248549,-82.9999771}} |
+debugShowCubicLineIntersection no intersect {{0,-83}, {0.0189378317,-83}, {0.0378723554,-82.9999924}, {0.0568068773,-82.9999771}} {{0.06248549,-82.9999771}, {0.0451734141,-59.9999847}} |
+debugShowLineIntersection wtTs[0]=0 {{0.06248549,-82.9999771}, {0.0451734141,-59.9999847}} {{0.06248549,-82.9999771}} wnTs[0]=1 {{0.0568068773,-82.9999771}, {0.06248549,-82.9999771}} |
+debugShowCubicLineIntersection wtTs[0]=0 {{0.0451734141,-59.9999847}, {0.0438041016,-59.9999886}, {0.0424379632,-59.9999886}, {0.0410718247,-59.9999886}} {{0.0451734141,-59.9999847}} wnTs[0]=1 {{0.06248549,-82.9999771}, {0.0451734141,-59.9999847}} |
+debugShowCubicLineIntersection wtTs[0]=1 {{0.0451734141,-59.9999847}, {0.0438041016,-59.9999886}, {0.0424379632,-59.9999886}, {0.0410718247,-59.9999886}} {{0.0410718247,-59.9999886}} wnTs[0]=0 {{0.0410718247,-59.9999886}, {0.0410667397,-59.9999847}} |
+debugShowCubicLineIntersection wtTs[0]=0 {{0.0410667397,-59.9999847}, {0.0273789354,-59.9999924}, {0.0136889406,-59.9999962}, {0,-59.9999962}} {{0.0410667397,-59.9999847}} wnTs[0]=1 {{0.0410718247,-59.9999886}, {0.0410667397,-59.9999847}} |
+debugShowCubicLineIntersection no intersect {{0,-83}, {0.0189378317,-83}, {0.0378723554,-82.9999924}, {0.0568068773,-82.9999771}} {{0.0451717526,-59.9999847}, {0.0624898896,-82.9999771}} |
+debugShowLineIntersection wtTs[0]=1 {{0.0451717526,-59.9999847}, {0.0624898896,-82.9999771}} {{0.06248549,-82.9999771}} wnTs[0]=1 {{0.0568068773,-82.9999771}, {0.06248549,-82.9999771}} |
+debugShowCubicLineIntersection wtTs[0]=0.999975033 {{0.111722,-59.999897}, {0.0895366594,-59.999939}, {0.0673542097,-59.9999695}, {0.0451717526,-59.9999847}} {{0.0451734141,-59.9999847}} wnTs[0]=1 {{0.06248549,-82.9999771}, {0.0451734141,-59.9999847}} |
+debugShowLineIntersection wtTs[0]=0 {{0.06248549,-82.9999771}, {0.0451734141,-59.9999847}} {{0.06248549,-82.9999771}} wtTs[1]=1 {{0.0451734141,-59.9999847}} wnTs[0]=1 {{0.0451717526,-59.9999847}, {0.0624898896,-82.9999771}} wnTs[1]=5.43926879e-011 |
+debugShowCubicIntersection wtTs[0]=0.000404455511 {{0.0451734141,-59.9999847}, {0.0438041016,-59.9999886}, {0.0424379632,-59.9999886}, {0.0410718247,-59.9999886}} {{0.0451717526,-59.9999847}} wnTs[0]=1 {{0.111722,-59.999897}, {0.0895366594,-59.999939}, {0.0673542097,-59.9999695}, {0.0451717526,-59.9999847}} |
+debugShowCubicLineIntersection wtTs[0]=0 {{0.0451734141,-59.9999847}, {0.0438041016,-59.9999886}, {0.0424379632,-59.9999886}, {0.0410718247,-59.9999886}} {{0.0451734141,-59.9999847}} wtTs[1]=0.000404455438 {{0.0451717526,-59.9999847}} wnTs[0]=5.43927e-011 {{0.0451717526,-59.9999847}, {0.0624898896,-82.9999771}} wnTs[1]=0 |
+debugShowCubicIntersection no self intersect {{0.0624898896,-82.9999771}, {0.0931733027,-82.9999542}, {0.123859018,-82.9999084}, {0.154544711,-82.999855}} |
+debugShowCubicIntersection no self intersect {{0.111722,-59.999897}, {0.0895366594,-59.999939}, {0.0673542097,-59.9999695}, {0.0451717526,-59.9999847}} |
+debugShowCubicLineIntersection wtTs[0]=1 {{0.0624898896,-82.9999771}, {0.0931733027,-82.9999542}, {0.123859018,-82.9999084}, {0.154544711,-82.999855}} {{0.154544711,-82.999855}} wnTs[0]=0 {{0.154544711,-82.999855}, {0.111722,-59.999897}} |
+debugShowCubicLineIntersection wtTs[0]=0 {{0.0624898896,-82.9999771}, {0.0931733027,-82.9999542}, {0.123859018,-82.9999084}, {0.154544711,-82.999855}} {{0.0624898896,-82.9999771}} wnTs[0]=1 {{0.0451717526,-59.9999847}, {0.0624898896,-82.9999771}} |
+debugShowCubicLineIntersection wtTs[0]=0 {{0.111722,-59.999897}, {0.0895366594,-59.999939}, {0.0673542097,-59.9999695}, {0.0451717526,-59.9999847}} {{0.111722,-59.999897}} wnTs[0]=1 {{0.154544711,-82.999855}, {0.111722,-59.999897}} |
+debugShowCubicLineIntersection wtTs[0]=1 {{0.111722,-59.999897}, {0.0895366594,-59.999939}, {0.0673542097,-59.9999695}, {0.0451717526,-59.9999847}} {{0.0451717526,-59.9999847}} wnTs[0]=0 {{0.0451717526,-59.9999847}, {0.0624898896,-82.9999771}} |
+SkOpSegment::debugShowTs - id=3 [o=2 t=0 0.06248549,-82.9999771 w=1 o=0] [o=9,4 t=1 0.0451734141,-59.9999847 w=1 o=0] |
+SkOpSegment::debugShowTs o id=10 [o=9,4 t=0 0.0451717526,-59.9999847 w=1 o=0] [o=4 t=5.44e-011 0.0451734141,-59.9999847 w=1 o=0] [o=2 t=1 0.06248549,-82.9999771 w=1 o=0] [o=7 t=1 0.0624898896,-82.9999771 w=1 o=0] operand |
+SkOpSegment::addTPair addTPair this=3 0 other=10 1 |
+SkOpSegment::addTPair addTPair this=10 5.43926879e-011 other=3 1 |
+SkOpSegment::debugShowTs + id=3 [o=10,2 t=0 0.06248549,-82.9999771 w=1 o=0] [o=10,9,4 t=1 0.0451734141,-59.9999847 w=1 o=0] |
+SkOpSegment::debugShowTs o id=10 [o=9,4 t=0 0.0451717526,-59.9999847 w=1 o=0] [o=3,4 t=5.44e-011 0.0451734141,-59.9999847 w=1 o=0] [o=3,2 t=1 0.06248549,-82.9999771 w=1 o=0] [o=7 t=1 0.0624898896,-82.9999771 w=1 o=0] operand |
+SkOpContour::calcCoincidentWinding count=1 |
+SkOpSegment::debugShowTs p id=3 [o=10,2 t=0 0.06248549,-82.9999771 w=1 o=-1] [o=10,9,4 t=1 0.0451734141,-59.9999847 w=1 o=0] |
+SkOpSegment::debugShowTs o id=10 [o=9,4 t=0 0.0451717526,-59.9999847 w=1 o=0] [o=3,4 t=5.44e-011 0.0451734141,-59.9999847 w=0 o=0] [o=3,2 t=1 0.06248549,-82.9999771 w=1 o=0] [o=7 t=1 0.0624898896,-82.9999771 w=1 o=0] operand |
+SkOpContour::calcPartialCoincidentWinding count=1 |
+SkOpSegment::debugShowTs p id=4 [o=10,3 t=0 0.0451734141,-59.9999847 w=1 o=-1] [o=10 t=0.000404 0.0451717526,-59.9999847 w=1 o=0] [o=9 t=0.000404 0.0451717526,-59.9999847 w=1 o=0] [o=5 t=1 0.0410718247,-59.9999886 w=1 o=0] |
+SkOpSegment::debugShowTs o id=10 [o=9,4 t=0 0.0451717526,-59.9999847 w=0 o=0] [o=3,4 t=5.44e-011 0.0451734141,-59.9999847 w=0 o=0] [o=3,2 t=1 0.06248549,-82.9999771 w=1 o=0] [o=7 t=1 0.0624898896,-82.9999771 w=1 o=0] operand |
+SkOpSegment::checkEnds id=4 missing t=0 other=9 otherT=0.999975033 pt=(0.0451734141,-59.9999847) |
+SkOpSegment::addTPair addTPair this=4 0 other=9 0.999975033 |
+SkOpSegment::checkEnds id=9 missing t=0.999975033 other=10 otherT=5.43926879e-011 pt=(0.0451734141,-59.9999847) |
+SkOpSegment::addTPair addTPair other duplicate this=9 0.999975033 other=10 5.43926879e-011 |
+SkOpSegment::addTPair addTPair duplicate this=10 5.43926879e-011 other=9 0.999975033 |
+SkOpSegment::addTPair addTPair other duplicate this=9 0.999975033 other=10 5.43926879e-011 |
+SkOpSegment::addTPair addTPair other duplicate this=9 0.999975033 other=10 5.43926879e-011 |
+SkOpSegment::addTPair addTPair duplicate this=10 5.43926879e-011 other=9 0.999975033 |
+SkOpSegment::addTPair addTPair other duplicate this=9 0.999975033 other=10 5.43926879e-011 |
+SkOpSegment::addTPair addTPair other duplicate this=9 0.999975033 other=10 5.43926879e-011 |
+SkOpSegment::addTPair addTPair duplicate this=10 5.43926879e-011 other=9 0.999975033 |
+SkOpSegment::addTPair addTPair duplicate this=10 5.43926879e-011 other=9 0.999975033 |
+SkOpContour::joinCoincidence count=1 |
+SkOpContour::joinCoincidence count=1 |
</div> |
</div> |
@@ -141,7 +73,7 @@ path.quadTo(421.810883,315.389984, 419.31601,314.880096); |
<script type="text/javascript"> |
var testDivs = [ |
- issue2808, |
+ battleOp6001, |
]; |
var decimal_places = 3; // make this 3 to show more precision |