diff options
author | Cary Clark <caryclark@skia.org> | 2018-02-02 15:09:49 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-02-02 20:39:09 +0000 |
commit | 4efcb7d100e824926e03f598d616f6bda5682e14 (patch) | |
tree | 83f8fb9ec7d81801d08e64eecb1867b4159b7a05 /tools | |
parent | 27738e043a8eeeb8045397b7e1140a0b1bcb04a3 (diff) |
handle degenerate cubic loops
fuzzer generated a cubic with a very tiny loop at one end.
Breaking the cubic in two generated a piece so small it was
discarded, passing the original along.
Instead, use the loop detection as a hint that passing
the original may fail further along. Keep the big piece,
which is more linear than the original;
and change its end to match the original input if the
small piece isn't worth keeping.
R=kjlubick
Bug: skia:7480
Change-Id: If4c5cd46dbf7e16526269f2854e4f2278f427461
Reviewed-on: https://skia-review.googlesource.com/103100
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Cary Clark <caryclark@skia.org>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/pathops_sorter.htm | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/tools/pathops_sorter.htm b/tools/pathops_sorter.htm index 42708c428c..017d9165bf 100644 --- a/tools/pathops_sorter.htm +++ b/tools/pathops_sorter.htm @@ -1,4 +1,4 @@ -<!DOCTYPE html> +<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> @@ -6,16 +6,10 @@ <title></title> <div style="height:0"> -<div id="cubics"> -{{{152, 16}, {152, 16.0685501}, {91.06044, 16.1242027}, {16, 16.1242027}}}, id=0 -{{{16, 16.1242027}, {-59.06044, 16.1242027}, {-120, 16.0685501}, {-120, 16}}}, id=1 -{{{-120, 16}, {-120, 15.9314508}, {-59.06044, 15.8757973}, {16, 15.8757973}}}, id=2 -{{{16, 15.8757973}, {91.06044, 15.8757973}, {152, 15.9314508}, {152, 16}}}, id=3 -{{{16, 16}, {152, 16}}}, id=4 -{{{16, 17}, {152, 17}}}, id=5 -{{{16, 16}, {16, 17}}}, id=6 -{{{152, 16}, {152, 17}}}, id=7 -</div> + <div id="cubics">
+ {{{0.00000000000000000, 0.00000000000000000 }, {0.00022939755581319332, 0.00022927834652364254 },{0.00022930106206331402, 0.00022929999977350235 }, {0.00022930069826543331, 0.00022913678549230099}}},
+ {{{0.00022930069826543331, 0.00022930069826543331 }, {0.00011465034913271666, 0.00011465034913271666 },{0.00011465061106719077, 0.00011460937093943357 }, {0.00014331332931760699, 0.00014325146912597120}}},
+ </div> </div> |