class_docstr: An internal class to manage filters/algorithms for polydata datasets.
class_docstr_tok: ["An","internal","class","to","manage","filters\/algorithms","for","polydata","datasets","."]
docstr: Fill holes in a pyvista.PolyData or vtk.vtkPolyData object.
  
  Holes are identified by locating boundary edges, linking them
  together into loops, and then triangulating the resulting
  loops. Note that you can specify an approximate limit to the
  size of the hole that can be filled.
  
  .. warning::
     This method is known to segfault.  Use at your own risk.
  
  Parameters
  ----------
  hole_size : float
      Specifies the maximum hole size to fill. This is
      represented as a radius to the bounding circumsphere
      containing the hole. Note that this is an approximate
      area; the actual area cannot be computed without first
      triangulating the hole.
  
  inplace : bool, default: False
      Return new mesh or overwrite input.
  
  progress_bar : bool, default: False
      Display a progress bar to indicate progress.
  
  Returns
  -------
  pyvista.PolyData
      Mesh with holes filled if ``inplace=False``.
  
  Examples
  --------
  Create a partial sphere with a hole and then fill it.
  
  >>> import pyvista as pv
  >>> sphere_with_hole = pv.Sphere(end_theta=330)
  >>> sphere = sphere_with_hole.fill_holes(1000)  # doctest:+SKIP
  >>> edges = sphere.extract_feature_edges(
  ...     feature_edges=False, manifold_edges=False
  ... )  # doctest:+SKIP
  >>> assert edges.n_cells == 0  # doctest:+SKIP
docstr_tok: ["Fill","holes","in","a","pyvista.PolyData","or","vtk.vtkPolyData","object",".","Holes","are","identified","by","locating","boundary","edges",",","linking","them","together","into","loops",",","and","then","triangulating","the","resulting","loops",".","Note","that","you","can","specify","an","approximate","limit","to","the","size","of","the","hole","that","can","be","filled",".","..","warning",":",":","This","method","is","known","to","segfault",".","Use","at","your","own","risk",".","Parameters","--","--","--","--","--","hole_size",":","float","Specifies","the","maximum","hole","size","to","fill",".","This","is","represented","as","a","radius","to","the","bounding","circumsphere","containing","the","hole",".","Note","that","this","is","an","approximate","area",";","the","actual","area","can","not","be","computed","without","first","triangulating","the","hole",".","inplace",":","bool",",","default",":","False","Return","new","mesh","or","overwrite","input",".","progress_bar",":","bool",",","default",":","False","Display","a","progress","bar","to","indicate","progress",".","Returns","--","--","--","-","pyvista.PolyData","Mesh","with","holes","filled","if","``","inplace=False","``",".","Examples","--","--","--","--","Create","a","partial","sphere","with","a","hole","and","then","fill","it",".",">",">",">","import","pyvista","as","pv",">",">",">","sphere_with_hole","=","pv.Sphere","(","end_theta=330",")",">",">",">","sphere","=","sphere_with_hole.fill_holes","(","1000",")","#","doctest",":","+SKIP",">",">",">","edges","=","sphere.extract_feature_edges","(","...","feature_edges=False",",","manifold_edges=False","...",")","#","doctest",":","+SKIP",">",">",">","assert","edges.n_cells","==","0","#","doctest",":","+SKIP"]
code: def fill_holes(
      self, hole_size, inplace=False, progress_bar=False
  ):  # pragma: no cover
      """Fill holes in a pyvista.PolyData or vtk.vtkPolyData object.
  
      Holes are identified by locating boundary edges, linking them
      together into loops, and then triangulating the resulting
      loops. Note that you can specify an approximate limit to the
      size of the hole that can be filled.
  
      .. warning::
         This method is known to segfault.  Use at your own risk.
  
      Parameters
      ----------
      hole_size : float
          Specifies the maximum hole size to fill. This is
          represented as a radius to the bounding circumsphere
          containing the hole. Note that this is an approximate
          area; the actual area cannot be computed without first
          triangulating the hole.
  
      inplace : bool, default: False
          Return new mesh or overwrite input.
  
      progress_bar : bool, default: False
          Display a progress bar to indicate progress.
  
      Returns
      -------
      pyvista.PolyData
          Mesh with holes filled if ``inplace=False``.
  
      Examples
      --------
      Create a partial sphere with a hole and then fill it.
  
      >>> import pyvista as pv
      >>> sphere_with_hole = pv.Sphere(end_theta=330)
      >>> sphere = sphere_with_hole.fill_holes(1000)  # doctest:+SKIP
      >>> edges = sphere.extract_feature_edges(
      ...     feature_edges=False, manifold_edges=False
      ... )  # doctest:+SKIP
      >>> assert edges.n_cells == 0  # doctest:+SKIP
  
      """
      alg = _vtk.vtkFillHolesFilter()
      alg.SetHoleSize(hole_size)
      alg.SetInputData(self)
      _update_alg(alg, progress_bar, "Filling Holes")
  
      mesh = _get_output(alg)
      if inplace:
          self.copy_from(mesh, deep=False)
          return self
      return mesh
  
imports: import collections.abc
  import warnings
  import numpy
  import pyvista
  from pyvista.core import _vtk_core
  from pyvista.core.errors import MissingDataError, NotAllTrianglesError, PyVistaFutureWarning, VTKVersionError
  from pyvista.core.filters import _get_output, _update_alg
  from pyvista.core.filters.data_set import DataSetFilters
  from pyvista.core.utilities.arrays import FieldAssociation, get_array, get_array_association, set_default_active_scalars, vtk_id_list_to_array
  from pyvista.core.utilities.geometric_objects import NORMALS
  from pyvista.core.utilities.helpers import generate_plane, wrap
  from pyvista.core.utilities.misc import abstract_class, assert_empty_kwargs
label_desc: Use image node_id 23 for calling the PolyDataFilters obj's underlying member method code with example usage: obj.fill_holes(hole_size, inplace, progress_bar) and returns: mesh, self