kopia lustrzana https://github.com/inkstitch/inkstitch
small bug fix
rodzic
3d1600ed03
commit
b14e445dae
|
|
@ -43,14 +43,17 @@ class UnderlayInsetWarning(ValidationWarning):
|
|||
description = _("The underlay inset parameter for this fill object cannot be applied. "
|
||||
"Ink/Stitch will ignore it and will use the original size instead.")
|
||||
|
||||
|
||||
class MissingGuideLineWarning(ValidationWarning):
|
||||
name = _("Missing Guideline")
|
||||
description = _('This object is set to "Guided AutoFill", but has no guide line.')
|
||||
description = _(
|
||||
'This object is set to "Guided AutoFill", but has no guide line.')
|
||||
steps_to_solve = [
|
||||
_('* Create a stroke object'),
|
||||
_('* Select this object and run Extensions > Ink/Stitch > Edit > Selection to guide line')
|
||||
]
|
||||
|
||||
|
||||
class DisjointGuideLineWarning(ValidationWarning):
|
||||
name = _("Disjointed Guide Line")
|
||||
description = _("The guide line of this object isn't within the object borders. "
|
||||
|
|
@ -59,13 +62,16 @@ class DisjointGuideLineWarning(ValidationWarning):
|
|||
_('* Move the guide line into the element')
|
||||
]
|
||||
|
||||
|
||||
class MultipleGuideLineWarning(ValidationWarning):
|
||||
name = _("Multiple Guide Lines")
|
||||
description = _("This object has multiple guide lines, but only the first one will be used.")
|
||||
description = _(
|
||||
"This object has multiple guide lines, but only the first one will be used.")
|
||||
steps_to_solve = [
|
||||
_("* Remove all guide lines, except for one.")
|
||||
]
|
||||
|
||||
|
||||
class UnconnectedError(ValidationError):
|
||||
name = _("Unconnected")
|
||||
description = _("Fill: This object is made up of unconnected shapes. This is not allowed because "
|
||||
|
|
@ -78,7 +84,8 @@ class UnconnectedError(ValidationError):
|
|||
|
||||
class InvalidShapeError(ValidationError):
|
||||
name = _("Border crosses itself")
|
||||
description = _("Fill: Shape is not valid. This can happen if the border crosses over itself.")
|
||||
description = _(
|
||||
"Fill: Shape is not valid. This can happen if the border crosses over itself.")
|
||||
steps_to_solve = [
|
||||
_('* Extensions > Ink/Stitch > Fill Tools > Break Apart Fill Objects')
|
||||
]
|
||||
|
|
@ -208,7 +215,8 @@ class FillStitch(EmbroideryElement):
|
|||
# ensure path length
|
||||
for i, path in enumerate(paths):
|
||||
if len(path) < 3:
|
||||
paths[i] = [(path[0][0], path[0][1]), (path[0][0]+1.0, path[0][1]), (path[0][0], path[0][1]+1.0)]
|
||||
paths[i] = [(path[0][0], path[0][1]), (path[0][0] +
|
||||
1.0, path[0][1]), (path[0][0], path[0][1]+1.0)]
|
||||
return paths
|
||||
|
||||
@property
|
||||
|
|
@ -218,7 +226,8 @@ class FillStitch(EmbroideryElement):
|
|||
# from the first. So let's at least make sure the "first" thing is the
|
||||
# biggest path.
|
||||
paths = self.paths
|
||||
paths.sort(key=lambda point_list: shgeo.Polygon(point_list).area, reverse=True)
|
||||
paths.sort(key=lambda point_list: shgeo.Polygon(
|
||||
point_list).area, reverse=True)
|
||||
# Very small holes will cause a shape to be rendered as an outline only
|
||||
# they are too small to be rendered and only confuse the auto_fill algorithm.
|
||||
# So let's ignore them
|
||||
|
|
@ -483,11 +492,14 @@ class FillStitch(EmbroideryElement):
|
|||
underlay_stitch_groups, start = self.do_underlay(start)
|
||||
stitch_groups.extend(underlay_stitch_groups)
|
||||
if self.fill_method == 0:
|
||||
stitch_groups.extend(self.do_auto_fill(last_patch, start, end))
|
||||
stitch_groups.extend(
|
||||
self.do_auto_fill(last_patch, start, end))
|
||||
if self.fill_method == 1:
|
||||
stitch_groups.extend(self.do_tangential_fill(last_patch, start))
|
||||
stitch_groups.extend(
|
||||
self.do_tangential_fill(last_patch, start))
|
||||
elif self.fill_method == 2:
|
||||
stitch_groups.extend(self.do_guided_fill(last_patch, start, end))
|
||||
stitch_groups.extend(
|
||||
self.do_guided_fill(last_patch, start, end))
|
||||
except Exception:
|
||||
self.fatal_fill_error()
|
||||
|
||||
|
|
@ -599,8 +611,9 @@ class FillStitch(EmbroideryElement):
|
|||
def _get_guide_lines(self, multiple=False):
|
||||
guide_lines = get_marker_elements(self.node, "guide-line", False, True)
|
||||
# No or empty guide line
|
||||
if not guide_lines or guide_lines['stroke'][0].is_empty:
|
||||
if not guide_lines or not guide_lines['stroke']:
|
||||
return None
|
||||
|
||||
if multiple:
|
||||
return guide_lines['stroke']
|
||||
else:
|
||||
|
|
|
|||
Ładowanie…
Reference in New Issue