def _bbox_intersect(nodes1, nodes2):
    r"""Bounding box intersection predicate.

    .. note::

       There is also a Fortran implementation of this function, which
       will be used if it can be built.

    Determines if the bounding box of two sets of control points
    intersects in :math:`\mathbf{R}^2` with non-trivial
    intersection (i.e. tangent bounding boxes are insufficient).

    .. note::

       Though we assume (and the code relies on this fact) that
       the nodes are two-dimensional, we don't check it.

    Args:
        nodes1 (numpy.ndarray): Set of control points for a
            B |eacute| zier shape.
        nodes2 (numpy.ndarray): Set of control points for a
            B |eacute| zier shape.

    Returns:
        int: Enum from ``BoxIntersectionType`` indicating the type of
        bounding box intersection.
    """
    left1, right1, bottom1, top1 = _helpers.bbox(nodes1)
    left2, right2, bottom2, top2 = _helpers.bbox(nodes2)
    if right2 < left1 or right1 < left2 or top2 < bottom1 or top1 < bottom2:
        return BoxIntersectionType.DISJOINT

    if (
        right2 == left1
        or right1 == left2
        or top2 == bottom1
        or top1 == bottom2
    ):
        return BoxIntersectionType.TANGENT

    else:
        return BoxIntersectionType.INTERSECTION
def _bbox_intersect ( nodes1 , nodes2 ) : left1 , right1 , bottom1 , top1 = _helpers . bbox ( nodes1 ) left2 , right2 , bottom2 , top2 = _helpers . bbox ( nodes2 ) if right2 < left1 or right1 < left2 or top2 < bottom1 or top1 < bottom2 : return BoxIntersectionType . DISJOINT if ( right2 == left1 or right1 == left2 or top2 == bottom1 or top1 == bottom2 ) : return BoxIntersectionType . TANGENT else : return BoxIntersectionType . INTERSECTION
r"""Bounding box intersection predicate.

    .. note::

       There is also a Fortran implementation of this function, which
       will be used if it can be built.

    Determines if the bounding box of two sets of control points
    intersects in :math:`\mathbf{R}^2` with non-trivial
    intersection (i.e. tangent bounding boxes are insufficient).

    .. note::

       Though we assume (and the code relies on this fact) that
       the nodes are two-dimensional, we don't check it.

    Args:
        nodes1 (numpy.ndarray): Set of control points for a
            B |eacute| zier shape.
        nodes2 (numpy.ndarray): Set of control points for a
            B |eacute| zier shape.

    Returns:
        int: Enum from ``BoxIntersectionType`` indicating the type of
        bounding box intersection.