def _to_multi_polygon()

in src/h3/_cy/to_multipoly.pyx [0:0]


def _to_multi_polygon(const H3int[:] cells):
    cdef:
        h3lib.GeoMultiPolygon mpoly
        H3int cell

    for cell in cells:
        check_cell(cell)

    check_for_error(
        h3lib.cellsToMultiPolygon(&cells[0], len(cells), &mpoly)
    )

    try:
        out = [
            _poly_to_lists(&mpoly.polygons[p])
            for p in range(mpoly.numPolygons)
        ]
    finally:
        h3lib.destroyGeoMultiPolygon(&mpoly)

    return out