summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorLex Neva <github.com@lexneva.name>2018-07-30 16:40:26 -0400
committerLex Neva <github.com@lexneva.name>2018-07-30 16:40:26 -0400
commitd224b2655eb5287c132bd4b3e4bf7129b17f597f (patch)
treeef54cf8d721f59901efe48bffdb31272b2359732 /lib
parent8bf478a71a49b93269da438cf1fcdb6d2e0e0942 (diff)
fix handling of self-intersection
Diffstat (limited to 'lib')
-rw-r--r--lib/extensions/convert_to_satin.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/extensions/convert_to_satin.py b/lib/extensions/convert_to_satin.py
index 53930935..8ec6ab2e 100644
--- a/lib/extensions/convert_to_satin.py
+++ b/lib/extensions/convert_to_satin.py
@@ -5,6 +5,7 @@ import numpy
from numpy import diff, sign, setdiff1d
from scipy.signal import argrelmin
import math
+from copy import deepcopy
from .base import InkstitchExtension
from ..svg.tags import SVG_PATH_TAG
@@ -40,6 +41,11 @@ class ConvertToSatin(InkstitchExtension):
except ValueError:
inkex.errormsg(_("Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths.") % element.node.get('id'))
+ # revert any changes we've made
+ self.document = deepcopy(self.original_document)
+
+ return
+
parent.insert(index, self.satin_to_svg_node(rails, rungs, correction_transform))
parent.remove(element.node)