diff options
| author | Lex Neva <github@lexneva.name> | 2016-10-27 22:29:44 -0400 |
|---|---|---|
| committer | Lex Neva <github@lexneva.name> | 2016-10-27 22:29:44 -0400 |
| commit | 752b34b4eae75c25d489971c9095b6d3bc7437ef (patch) | |
| tree | 42e5764c3c97e76bbac56bc2063cc31ab95ecfd2 | |
| parent | 65cb5bf875932d439cb503e17ae325ad23e7d187 (diff) | |
get rid of shapelyLineSegmentToPyTuple
| -rw-r--r-- | embroider.py | 15 |
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 |
