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: Project points of this mesh to a plane.
  
  Parameters
  ----------
  origin : sequence[float], optional
      Plane origin.  Defaults to the approximate center of the
      input mesh minus half the length of the input mesh in the
      direction of the normal.
  
  normal : sequence[float], default: (0.0, 0.0, 1.0)
      Plane normal.  Defaults to +Z.
  
  inplace : bool, default: False
      Whether to overwrite the original mesh with the projected
      points.
  
  Returns
  -------
  pyvista.PolyData
      The points of this mesh projected onto a plane.
  
  Examples
  --------
  Flatten a sphere to the XY plane.
  
  >>> import pyvista as pv
  >>> sphere = pv.Sphere()
  >>> projected = sphere.project_points_to_plane()
  >>> projected.plot(show_edges=True, line_width=3)
docstr_tok: ["Project","points","of","this","mesh","to","a","plane",".","Parameters","--","--","--","--","--","origin",":","sequence","[","float","]",",","optional","Plane","origin",".","Defaults","to","the","approximate","center","of","the","input","mesh","minus","half","the","length","of","the","input","mesh","in","the","direction","of","the","normal",".","normal",":","sequence","[","float","]",",","default",":","(","0.0",",","0.0",",","1.0",")","Plane","normal",".","Defaults","to","+Z",".","inplace",":","bool",",","default",":","False","Whether","to","overwrite","the","original","mesh","with","the","projected","points",".","Returns","--","--","--","-","pyvista.PolyData","The","points","of","this","mesh","projected","onto","a","plane",".","Examples","--","--","--","--","Flatten","a","sphere","to","the","XY","plane",".",">",">",">","import","pyvista","as","pv",">",">",">","sphere","=","pv.Sphere","(",")",">",">",">","projected","=","sphere.project_points_to_plane","(",")",">",">",">","projected.plot","(","show_edges=True",",","line_width=3",")"]
code: def project_points_to_plane(
      self, origin=None, normal=(0.0, 0.0, 1.0), inplace=False
  ):
      """Project points of this mesh to a plane.
  
      Parameters
      ----------
      origin : sequence[float], optional
          Plane origin.  Defaults to the approximate center of the
          input mesh minus half the length of the input mesh in the
          direction of the normal.
  
      normal : sequence[float], default: (0.0, 0.0, 1.0)
          Plane normal.  Defaults to +Z.
  
      inplace : bool, default: False
          Whether to overwrite the original mesh with the projected
          points.
  
      Returns
      -------
      pyvista.PolyData
          The points of this mesh projected onto a plane.
  
      Examples
      --------
      Flatten a sphere to the XY plane.
  
      >>> import pyvista as pv
      >>> sphere = pv.Sphere()
      >>> projected = sphere.project_points_to_plane()
      >>> projected.plot(show_edges=True, line_width=3)
  
      """
      if (
          not isinstance(normal, (np.ndarray, collections.abc.Sequence))
          or len(normal) != 3
      ):
          raise TypeError("Normal must be a length three vector")
      if origin is None:
          origin = (
              np.array(self.center)
              - np.array(normal) * self.length / 2.0
          )
      # choose what mesh to use
      if not inplace:
          mesh = self.copy()
      else:
          mesh = self
      # Make plane
      plane = generate_plane(normal, origin)
      # Perform projection in place on the copied mesh
      f = lambda p: plane.ProjectPoint(p, p)
      np.apply_along_axis(f, 1, mesh.points)
      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 35 for calling the PolyDataFilters obj's underlying member method code with example usage: obj.project_points_to_plane(origin, normal, inplace) and returns: mesh