code: def all_intersections(nodes_first, nodes_second):
      r
      # Only attempt this if the bounding boxes intersect.
      bbox_int = _geometric_intersection.bbox_intersect(
          nodes_first, nodes_second
      )
      if bbox_int == _DISJOINT:
          return np.empty((2, 0), order="F"), False
  
      return intersect_curves(nodes_first, nodes_second), False
docs: r"""Find the points of intersection among a pair of curves.
  
      .. note::
  
         This assumes both curves are :math:`\mathbf{R}^2`, but does not
         **explicitly** check this. However, functions used here will fail if
         that assumption fails.
  
      Args:
          nodes_first (numpy.ndarray): Control points of a curve to be
              intersected with ``nodes_second``.
          nodes_second (numpy.ndarray): Control points of a curve to be
              intersected with ``nodes_first``.
  
      Returns:
          Tuple[numpy.ndarray, bool]: An array and a flag:
  
          * A ``2 x N`` array of intersection parameters.
            Each row contains a pair of values :math:`s` and :math:`t`
            (each in :math:`\left[0, 1\right]`) such that the curves
            intersect: :math:`B_1(s) = B_2(t)`.
          * Flag indicating if the curves are coincident. (For now, this
            will always be :data:`False` since :func:`.intersect_curves`
            fails if coincident curves are detected.)