summaryrefslogtreecommitdiff
path: root/lib/extensions/base.py
diff options
context:
space:
mode:
authorKaalleen <36401965+kaalleen@users.noreply.github.com>2024-12-26 16:19:35 +0100
committerGitHub <noreply@github.com>2024-12-26 16:19:35 +0100
commitef7d056173cc6d7782d6120c031dae9276725a3d (patch)
tree75d2ef67976336a93424b504e42bbf1a394b9a49 /lib/extensions/base.py
parente20161a4ec9a69cb0f1bdfdd16bcd27a8601fde7 (diff)
End points (#3370)
* end at nearest point to next element (if requested and possible)
Diffstat (limited to 'lib/extensions/base.py')
-rw-r--r--lib/extensions/base.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/extensions/base.py b/lib/extensions/base.py
index 5f840417..4a2895d0 100644
--- a/lib/extensions/base.py
+++ b/lib/extensions/base.py
@@ -7,11 +7,11 @@ import os
import inkex
+from ..elements.utils import iterate_nodes, nodes_to_elements
from ..i18n import _
from ..metadata import InkStitchMetadata
from ..svg import generate_unique_id
from ..svg.tags import INKSCAPE_GROUPMODE, SVG_GROUP_TAG
-from ..elements.utils import iterate_nodes, nodes_to_elements
from ..update import update_inkstitch_document
@@ -75,14 +75,17 @@ class InkstitchExtension(inkex.EffectExtension):
return False
def elements_to_stitch_groups(self, elements):
+ next_elements = [None]
+ if len(elements) > 1:
+ next_elements = elements[1:] + next_elements
stitch_groups = []
- for element in elements:
+ for element, next_element in zip(elements, next_elements):
if stitch_groups:
last_stitch_group = stitch_groups[-1]
else:
last_stitch_group = None
- stitch_groups.extend(element.embroider(last_stitch_group))
+ stitch_groups.extend(element.embroider(last_stitch_group, next_element))
return stitch_groups