summaryrefslogtreecommitdiff
path: root/lib/elements
diff options
context:
space:
mode:
Diffstat (limited to 'lib/elements')
-rw-r--r--lib/elements/auto_fill.py7
-rw-r--r--lib/elements/element.py28
-rw-r--r--lib/elements/fill.py5
-rw-r--r--lib/elements/polyline.py5
-rw-r--r--lib/elements/satin_column.py5
-rw-r--r--lib/elements/stroke.py3
6 files changed, 15 insertions, 38 deletions
diff --git a/lib/elements/auto_fill.py b/lib/elements/auto_fill.py
index 3c13a081..e72af1ef 100644
--- a/lib/elements/auto_fill.py
+++ b/lib/elements/auto_fill.py
@@ -9,13 +9,14 @@ import traceback
from shapely import geometry as shgeo
+from .element import param
+from .fill import Fill
+from .validation import ValidationWarning
from ..i18n import _
+from ..stitch_plan import StitchGroup
from ..stitches import auto_fill
from ..svg.tags import INKSCAPE_LABEL
from ..utils import cache, version
-from .element import StitchGroup, param
-from .fill import Fill
-from .validation import ValidationWarning
class SmallShapeWarning(ValidationWarning):
diff --git a/lib/elements/element.py b/lib/elements/element.py
index 17ed9167..a3577a5c 100644
--- a/lib/elements/element.py
+++ b/lib/elements/element.py
@@ -18,34 +18,6 @@ from ..svg.tags import INKSCAPE_LABEL, INKSTITCH_ATTRIBS
from ..utils import Point, cache
-class StitchGroup:
- """A raw collection of stitches with attached instructions."""
-
- def __init__(self, color=None, stitches=None, trim_after=False, stop_after=False, tie_modus=0, stitch_as_is=False):
- self.color = color
- self.stitches = stitches or []
- self.trim_after = trim_after
- self.stop_after = stop_after
- self.tie_modus = tie_modus
- self.stitch_as_is = stitch_as_is
-
- def __add__(self, other):
- if isinstance(other, StitchGroup):
- return StitchGroup(self.color, self.stitches + other.stitches)
- else:
- raise TypeError("StitchGroup can only be added to another StitchGroup")
-
- def __len__(self):
- # This method allows `len(patch)` and `if patch:
- return len(self.stitches)
-
- def add_stitch(self, stitch):
- self.stitches.append(stitch)
-
- def reverse(self):
- return StitchGroup(self.color, self.stitches[::-1])
-
-
class Param(object):
def __init__(self, name, description, unit=None, values=[], type=None, group=None, inverse=False,
options=[], default=None, tooltip=None, sort_index=0):
diff --git a/lib/elements/fill.py b/lib/elements/fill.py
index 75a86ffd..2d2ae2ed 100644
--- a/lib/elements/fill.py
+++ b/lib/elements/fill.py
@@ -10,12 +10,13 @@ import re
from shapely import geometry as shgeo
from shapely.validation import explain_validity
+from .element import EmbroideryElement, param
+from .validation import ValidationError
from ..i18n import _
+from ..stitch_plan import StitchGroup
from ..stitches import legacy_fill
from ..svg import PIXELS_PER_MM
from ..utils import cache
-from .element import EmbroideryElement, StitchGroup, param
-from .validation import ValidationError
class UnconnectedError(ValidationError):
diff --git a/lib/elements/polyline.py b/lib/elements/polyline.py
index f63dfc3b..aeae17d9 100644
--- a/lib/elements/polyline.py
+++ b/lib/elements/polyline.py
@@ -6,11 +6,12 @@
from inkex import Path
from shapely import geometry as shgeo
+from .element import EmbroideryElement, param
+from .validation import ValidationWarning
from ..i18n import _
+from ..stitch_plan import StitchGroup
from ..utils import cache
from ..utils.geometry import Point
-from .element import EmbroideryElement, StitchGroup, param
-from .validation import ValidationWarning
class PolylineWarning(ValidationWarning):
diff --git a/lib/elements/satin_column.py b/lib/elements/satin_column.py
index 1f28cb45..e066f3fb 100644
--- a/lib/elements/satin_column.py
+++ b/lib/elements/satin_column.py
@@ -11,11 +11,12 @@ from shapely import affinity as shaffinity
from shapely import geometry as shgeo
from shapely.ops import nearest_points
+from .element import EmbroideryElement, param
+from .validation import ValidationError, ValidationWarning
from ..i18n import _
+from ..stitch_plan import StitchGroup
from ..svg import line_strings_to_csp, point_lists_to_csp
from ..utils import Point, cache, collapse_duplicate_point, cut
-from .element import EmbroideryElement, StitchGroup, param
-from .validation import ValidationError, ValidationWarning
class SatinHasFillError(ValidationError):
diff --git a/lib/elements/stroke.py b/lib/elements/stroke.py
index 76e80688..9fcb4e21 100644
--- a/lib/elements/stroke.py
+++ b/lib/elements/stroke.py
@@ -7,11 +7,12 @@ import sys
import shapely.geometry
+from .element import EmbroideryElement, param
from ..i18n import _
+from ..stitch_plan import StitchGroup
from ..stitches import bean_stitch, running_stitch
from ..svg import parse_length_with_units
from ..utils import Point, cache
-from .element import EmbroideryElement, StitchGroup, param
warned_about_legacy_running_stitch = False