diff options
| author | Kaalleen <36401965+kaalleen@users.noreply.github.com> | 2024-01-25 17:54:08 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-25 17:54:08 +0100 |
| commit | 2677c30a0f210d14586c83016f45e5a75fb9d647 (patch) | |
| tree | 04a91f0ee9a7f5723abe362890006ed383ddf74e /lib/stitches/circular_fill.py | |
| parent | f44eff9e74b36507cd512aea7aa6f4d698a374d5 (diff) | |
Second chance for invalid fill stitch graphs (#2643)
Diffstat (limited to 'lib/stitches/circular_fill.py')
| -rw-r--r-- | lib/stitches/circular_fill.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/stitches/circular_fill.py b/lib/stitches/circular_fill.py index 959759dc..ec133f99 100644 --- a/lib/stitches/circular_fill.py +++ b/lib/stitches/circular_fill.py @@ -1,3 +1,4 @@ +from networkx import is_empty from shapely import geometry as shgeo from shapely.ops import substring @@ -5,7 +6,7 @@ from ..stitch_plan import Stitch from ..utils.geometry import reverse_line_string from .auto_fill import (build_fill_stitch_graph, build_travel_graph, collapse_sequential_outline_edges, fallback, - find_stitch_path, graph_is_valid, travel) + find_stitch_path, graph_make_valid, travel) from .contour_fill import _make_fermat_spiral from .running_stitch import bean_stitch, running_stitch @@ -73,8 +74,10 @@ def circular_fill(shape, segments.append([(point.x, point.y) for point in coords]) fill_stitch_graph = build_fill_stitch_graph(shape, segments, starting_point, ending_point) - if not graph_is_valid(fill_stitch_graph): + + if is_empty(fill_stitch_graph): return fallback(shape, running_stitch_length, running_stitch_tolerance) + fill_stitch_graph = graph_make_valid(fill_stitch_graph) travel_graph = build_travel_graph(fill_stitch_graph, shape, angle, underpath) path = find_stitch_path(fill_stitch_graph, travel_graph, starting_point, ending_point) |
