summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLex Neva <github@lexneva.name>2016-10-27 22:29:44 -0400
committerLex Neva <github@lexneva.name>2016-10-27 22:29:44 -0400
commit752b34b4eae75c25d489971c9095b6d3bc7437ef (patch)
tree42e5764c3c97e76bbac56bc2063cc31ab95ecfd2
parent65cb5bf875932d439cb503e17ae325ad23e7d187 (diff)
get rid of shapelyLineSegmentToPyTuple
-rw-r--r--embroider.py15
1 files changed, 7 insertions, 8 deletions
diff --git a/embroider.py b/embroider.py
index 2f1dfb1c..d209b986 100644
--- a/embroider.py
+++ b/embroider.py
@@ -147,11 +147,6 @@ def cspToShapelyPolygon(path):
#print >> sys.stderr, "polygon valid:", polygon.is_valid
return polygon
-def shapelyLineSegmentToPyTuple(shline):
- tuple = ((shline.coords[0][0],shline.coords[0][1]),
- (shline.coords[1][0],shline.coords[1][1]))
- return tuple
-
def reverseTuple(t):
return tuple(reversed(t))
@@ -430,13 +425,13 @@ class Embroider(inkex.Effect):
res = shline.intersection(shpath)
if (isinstance(res, shgeo.MultiLineString)):
- runs = map(shapelyLineSegmentToPyTuple, res.geoms)
+ runs = map(lambda line_string: line_string.coords, res.geoms)
else:
if res.is_empty or len(res.coords) == 1:
# ignore if we intersected at a single point or no points
start += row_spacing_px
continue
- runs = [shapelyLineSegmentToPyTuple(res)]
+ runs = [res.coords]
runs.sort(key=lambda seg: (PyEmb.Point(*seg[0]) - upper_left).length())
@@ -475,7 +470,11 @@ class Embroider(inkex.Effect):
quad = make_quadrilateral(segment1, segment2)
quad_area = quad.area
- intersection_area = shpath.intersection(quad).area
+ try:
+ intersection_area = shpath.intersection(quad).area
+ except:
+ dbg.write("blowup: %s" % quad)
+ raise
return (intersection_area / quad_area) >= 0.9