def _to_multi_polygon()

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


def _to_multi_polygon(const H3int[:] cells):
    cdef:
        h3lib.LinkedGeoPolygon polygon

    for h in cells:
        check_cell(h)

    h3lib.cellsToLinkedMultiPolygon(&cells[0], len(cells), &polygon)

    out = walk_polys(&polygon)

    # we're still responsible for cleaning up the passed in `polygon`,
    # but not a problem here, since it is stack allocated
    h3lib.destroyLinkedMultiPolygon(&polygon)

    return out