code: def min_distance_internal(self, return_names=False, return_data=False):
          
          ddata = fcl.DistanceData()
          if return_data:
              ddata = fcl.DistanceData(
                  fcl.DistanceRequest(enable_nearest_points=True),
                  fcl.DistanceResult()
              )
  
          self._manager.distance(ddata, fcl.defaultDistanceCallback)
  
          distance = ddata.result.min_distance
  
          names, data = None, None
          if return_names or return_data:
              names = (self._extract_name(ddata.result.o1),
                       self._extract_name(ddata.result.o2))
              data = DistanceData(names, ddata.result)
              names = tuple(sorted(names))
  
          if return_names and return_data:
              return distance, names, data
          elif return_names:
              return distance, names
          elif return_data:
              return distance, data
          else:
              return distance
docs: Get the minimum distance between any pair of objects in the manager.
  
          Parameters
          -------------
          return_names : bool
            If true, a 2-tuple is returned containing the names
            of the closest objects.
          return_data : bool
            If true, a DistanceData object is returned as well
  
          Returns
          -----------
          distance : float
            Min distance between any two managed objects
          names : (2,) str
            The names of the closest objects
          data : DistanceData
            Extra data about the distance query