aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/pathops_visualizer.htm
diff options
context:
space:
mode:
authorGravatar caryclark <caryclark@google.com>2014-09-18 10:32:57 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2014-09-18 10:32:57 -0700
commit65b427cff9cd34a06ff060d65d00cc3615d8fd94 (patch)
tree2226d5e4cddde9c97da5d80534ad3bfa468b8138 /tools/pathops_visualizer.htm
parenta0537deca24abc2713e72f61e9cec14bdcc703d0 (diff)
fix battlefield website by disallowing very small coordinates
also add and remove comments to document other attempts to fix this that had drawbacks R=fmalita@chromium.org BUG=414409 Author: caryclark@google.com Review URL: https://codereview.chromium.org/575553003
Diffstat (limited to 'tools/pathops_visualizer.htm')
-rw-r--r--tools/pathops_visualizer.htm196
1 files changed, 64 insertions, 132 deletions
diff --git a/tools/pathops_visualizer.htm b/tools/pathops_visualizer.htm
index 1c6cdf1e42..825f5f67ab 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}},
+<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
-{{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);
+{{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