code: def threshold(self, scalars, vmin=None, vmax=None, useCells=False):
          
          if utils.isSequence(scalars):
              self.addPointScalars(scalars, "threshold")
              scalars = "threshold"
          elif self.scalars(scalars) is None:
              colors.printc("~times No scalars found with name", scalars, c=1)
              exit()
  
          thres = vtk.vtkThreshold()
          thres.SetInputData(self.poly)
  
          if useCells:
              asso = vtk.vtkDataObject.FIELD_ASSOCIATION_CELLS
          else:
              asso = vtk.vtkDataObject.FIELD_ASSOCIATION_POINTS
          thres.SetInputArrayToProcess(0, 0, 0, asso, scalars)
  
          if vmin is None and vmax is not None:
              thres.ThresholdByLower(vmax)
          elif vmax is None and vmin is not None:
              thres.ThresholdByUpper(vmin)
          else:
              thres.ThresholdBetween(vmin, vmax)
          thres.Update()
  
          gf = vtk.vtkGeometryFilter()
          gf.SetInputData(thres.GetOutput())
          gf.Update()
          return self.updateMesh(gf.GetOutput())
docs: Extracts cells where scalar value satisfies threshold criterion.
  
          :param scalars: name of the scalars array.
          :type scalars: str, list
          :param float vmin: minimum value of the scalar
          :param float vmax: maximum value of the scalar
          :param bool useCells: if `True`, assume array scalars refers to cells.
  
          .. hint:: |mesh_threshold| |mesh_threshold.py|_