From 8016b264ceec2b11d2acbeb77a9fbe66e48368b9 Mon Sep 17 00:00:00 2001 From: caryclark Date: Tue, 6 Sep 2016 05:59:47 -0700 Subject: interpolation of coincidence must be local to a single span Pathops makes up intersections that it doesn't detect directly, but do exist. For instance, if a is coincident with b, and b is coincident with c, then for where they overlap a is coincident with c. The intersections are made up in different ways. In a few places, the t values that are detected are interpolated to guess the t values that represent invented intersections. The interpolated t is not necessarily linear, but a linear guess is good enough if the invented t lies between known t values. Additionally, improve debugging. This passes the extended release test suite and additionally passes the first 17 levels in the tiger test suite; previously, path ops passed 7 levels. The tiger suite is composed of 37 levels in increasing complexity, described by about 300K tests. TBR=reed@google.com BUG=skia:5131 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2300203002 Review-Url: https://codereview.chromium.org/2300203002 --- tools/pathops_sorter.htm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'tools/pathops_sorter.htm') diff --git a/tools/pathops_sorter.htm b/tools/pathops_sorter.htm index 53c737ecd6..58af3daf1f 100644 --- a/tools/pathops_sorter.htm +++ b/tools/pathops_sorter.htm @@ -7,10 +7,9 @@
-{{{492.59726f, 225.675842f}, {492.436249f, 225.168289f}, {492.444214f, 225.194092f}}} id=5 -{{{492.444214f, 225.194092f}, {492.465088f, 225.261765f}, {492.495178f, 225.325806f}}} id=6 -{{{492.451324f, 225.216217f}, {491.100708f, 221.164124f}, {494.21756f, 218.78064f}}} id=1 -{{{493.399994f, 224.899994f}, {492.451324f, 225.216217f}}} id=9 +{{{492.424042f, 225.118027f}, {492.427094f, 225.131409f}, {492.428802f, 225.138336f}}} id=3 +{{{492.428802f, 225.138336f}, {492.423584f, 225.115952f}}} id=4 +{{{492.451324f, 225.216217f}, {492.426239f, 225.127716f}, {492.425629f, 225.125076f}}} id=1
-- cgit v1.2.3