code: def _bbox_intersect(nodes1, nodes2):
      r
      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
docs: 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.