def sweep_box_with_plane_enter(hyperplane, box):
    """ Return enter points when 'sweeping' the box with the hyperplane

    enter: point that is 'hit' first while sweeping the box with the hyperplane
    along the direction of the normal of the hyperplane
    """
    enter = [0.0] * box.dims
    for i, w in enumerate(hyperplane.w):
        if w < 0:
            enter[i] = box.hi[i]
        else:
            enter[i] = box.lo[i]
    return enter