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: Return a mask of the points of a surface mesh that has a surface angle greater than angle.
  
  Parameters
  ----------
  angle : float
      Angle to consider an edge.
  
  progress_bar : bool, default: False
      Display a progress bar to indicate progress.
  
  Returns
  -------
  numpy.ndarray
      Mask of points with an angle greater than ``angle``.
  
  Examples
  --------
  Plot the mask of points that exceed 45 degrees.
  
  >>> import pyvista as pv
  >>> mesh = pv.Cube().triangulate().subdivide(4)
  >>> mask = mesh.edge_mask(45)
  >>> mesh.plot(scalars=mask)
  
  Show the array of masked points.
  
  >>> mask  # doctest:+SKIP
  array([ True,  True,  True, ..., False, False, False])
docstr_tok: ["Return","a","mask","of","the","points","of","a","surface","mesh","that","has","a","surface","angle","greater","than","angle",".","Parameters","--","--","--","--","--","angle",":","float","Angle","to","consider","an","edge",".","progress_bar",":","bool",",","default",":","False","Display","a","progress","bar","to","indicate","progress",".","Returns","--","--","--","-","numpy.ndarray","Mask","of","points","with","an","angle","greater","than","``","angle","``",".","Examples","--","--","--","--","Plot","the","mask","of","points","that","exceed","45","degrees",".",">",">",">","import","pyvista","as","pv",">",">",">","mesh","=","pv.Cube","(",")",".triangulate","(",")",".subdivide","(","4",")",">",">",">","mask","=","mesh.edge_mask","(","45",")",">",">",">","mesh.plot","(","scalars=mask",")","Show","the","array","of","masked","points",".",">",">",">","mask","#","doctest",":","+SKIP","array","(","[","True",",","True",",","True",",","...",",","False",",","False",",","False","]",")"]
code: def edge_mask(self, angle, progress_bar=False):
      """Return a mask of the points of a surface mesh that has a surface angle greater than angle.
  
      Parameters
      ----------
      angle : float
          Angle to consider an edge.
  
      progress_bar : bool, default: False
          Display a progress bar to indicate progress.
  
      Returns
      -------
      numpy.ndarray
          Mask of points with an angle greater than ``angle``.
  
      Examples
      --------
      Plot the mask of points that exceed 45 degrees.
  
      >>> import pyvista as pv
      >>> mesh = pv.Cube().triangulate().subdivide(4)
      >>> mask = mesh.edge_mask(45)
      >>> mesh.plot(scalars=mask)
  
      Show the array of masked points.
  
      >>> mask  # doctest:+SKIP
      array([ True,  True,  True, ..., False, False, False])
  
      """
      poly_data = self
      if not isinstance(
          poly_data, pyvista.PolyData
      ):  # pragma: no cover
          poly_data = pyvista.PolyData(poly_data)
      poly_data.point_data["point_ind"] = np.arange(poly_data.n_points)
      featureEdges = _vtk.vtkFeatureEdges()
      featureEdges.SetInputData(poly_data)
      featureEdges.FeatureEdgesOn()
      featureEdges.BoundaryEdgesOff()
      featureEdges.NonManifoldEdgesOff()
      featureEdges.ManifoldEdgesOff()
      featureEdges.SetFeatureAngle(angle)
      _update_alg(featureEdges, progress_bar, "Computing Edges")
      edges = _get_output(featureEdges)
      orig_id = pyvista.point_array(edges, "point_ind")
  
      return np.in1d(
          poly_data.point_data["point_ind"], orig_id, assume_unique=True
      )
  
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 1 for calling the PolyDataFilters obj's underlying member method code with example usage: obj.edge_mask(angle, progress_bar) and returns: np