Exemplo n.º 1
0
def to_polygon_vertices(polygon: Polygon) -> Iterable[Point]:
    return chain(polygon.border.vertices,
                 flatten(hole.vertices for hole in polygon.holes))
Exemplo n.º 2
0
def to_polygon_edges(polygon: Polygon) -> Iterable[Segment]:
    return chain(to_contour_segments(polygon.border),
                 flatten(map(to_contour_segments, polygon.holes)))
Exemplo n.º 3
0
def to_multipolygon_vertices(multipolygon: Multipolygon) -> Iterable[Point]:
    return flatten(map(to_polygon_vertices, multipolygon.polygons))
Exemplo n.º 4
0
def to_multiregion_edges(multiregion: Multiregion) -> Iterable[Segment]:
    return flatten(map(to_region_edges, multiregion))
Exemplo n.º 5
0
def to_multipolygon_edges(multipolygon: Multipolygon) -> Iterable[Segment]:
    return flatten(map(to_polygon_edges, multipolygon.polygons))