def segments(self, precision=0):
"""Return a list of segments, each segment is ended by a MoveTo.
A segment is a list of Points"""
ret = []
# group items separated by MoveTo
for moveTo, group in itertools.groupby(self.items,
lambda x: isinstance(x,
MoveTo)):
# Use only non MoveTo item
if not moveTo:
# Generate segments for each relevant item
seg = [x.segments(precision) for x in group]
# Merge all segments into one
ret.append(list(itertools.chain.from_iterable(seg)))
return ret
评论列表
文章目录