def _LeftMostFace(holes, points):
    """Return (hole,index of hole in holes) where hole has
    the leftmost first vertex.  To be able to handle empty
    holes gracefully, call an empty hole 'leftmost'.
    Assumes holes are sorted by softface."""

    assert(len(holes) > 0)
    lefti = 0
    lefthole = holes[0]
    if len(lefthole) == 0:
        return (lefthole, lefti)
    leftv = lefthole[0]
    for i in range(1, len(holes)):
        ihole = holes[i]
        if len(ihole) == 0:
            return (ihole, i)
        iv = ihole[0]
        if points.pos[iv] < points.pos[leftv]:
            (lefti, lefthole, leftv) = (i, ihole, iv)
    return (lefthole, lefti)