code: def no_intersections(nodes1, degree1, nodes2, degree2):
      r
      # NOTE: This is a circular import.
      from bezier import _surface_intersection
  
      located = _surface_intersection.locate_point(
          nodes2, degree2, nodes1[0, 0], nodes1[1, 0]
      )
      if located is not None:
          return None, True
  
      located = _surface_intersection.locate_point(
          nodes1, degree1, nodes2[0, 0], nodes2[1, 0]
      )
      if located is not None:
          return None, False
  
      return [], None
docs: r"""Determine if one surface is in the other.
  
      Helper for :func:`combine_intersections` that handles the case
      of no points of intersection. In this case, either the surfaces
      are disjoint or one is fully contained in the other.
  
      To check containment, it's enough to check if one of the corners
      is contained in the other surface.
  
      Args:
          nodes1 (numpy.ndarray): The nodes defining the first surface in
              the intersection (assumed in :math:\mathbf{R}^2`).
          degree1 (int): The degree of the surface given by ``nodes1``.
          nodes2 (numpy.ndarray): The nodes defining the second surface in
              the intersection (assumed in :math:\mathbf{R}^2`).
          degree2 (int): The degree of the surface given by ``nodes2``.
  
      Returns:
          Tuple[Optional[list], Optional[bool]]: Pair (2-tuple) of
  
          * Edges info list; will be empty or :data:`None`
          * "Contained" boolean. If not :data:`None`, indicates
            that one of the surfaces is contained in the other.