class_docstr: Wrap vtkActor.
  
  This class represents the geometry & properties in a rendered
  scene. Normally, a :class:`pyvista.Actor` is constructed from
  :func:`pyvista.Plotter.add_mesh`, but there may be times when it is more
  convenient to construct an actor directly from a
  :class:`pyvista.DataSetMapper`.
  
  Parameters
  ----------
  mapper : pyvista.DataSetMapper, optional
      DataSetMapper.
  
  prop : pyvista.Property, optional
      Property of the actor.
  
  name : str, optional
      The name of this actor used when tracking on a plotter.
  
  Examples
  --------
  Create an actor without using :class:`pyvista.Plotter`.
  
  >>> import pyvista as pv
  >>> mesh = pv.Sphere()
  >>> mapper = pv.DataSetMapper(mesh)
  >>> actor = pv.Actor(mapper=mapper)
  >>> actor
  Actor (...)
    Center:                     (0.0, 0.0, 0.0)
    Pickable:                   True
    Position:                   (0.0, 0.0, 0.0)
    Scale:                      (1.0, 1.0, 1.0)
    Visible:                    True
    X Bounds                    -4.993E-01, 4.993E-01
    Y Bounds                    -4.965E-01, 4.965E-01
    Z Bounds                    -5.000E-01, 5.000E-01
    User matrix:                Set
    Has mapper:                 True
  ...
  
  Change the actor properties and plot the actor.
  
  >>> import pyvista as pv
  >>> mesh = pv.Sphere()
  >>> mapper = pv.DataSetMapper(mesh)
  >>> actor = pv.Actor(mapper=mapper)
  >>> actor.prop.color = 'blue'
  >>> actor.plot()
  
  Create an actor using the :class:`pyvista.Plotter` and then change the
  visibility of the actor.
  
  >>> import pyvista as pv
  >>> pl = pv.Plotter()
  >>> mesh = pv.Sphere()
  >>> actor = pl.add_mesh(mesh)
  >>> actor.visibility = False
  >>> actor.visibility
  False
docstr: Create a copy of this actor.
  
  Parameters
  ----------
  deep : bool, default: True
      Create a shallow or deep copy of the actor. A deep copy will have a
      new property and mapper, while a shallow copy will use the mapper
      and property of this actor.
  
  Returns
  -------
  pyvista.Actor
      Deep or shallow copy of this actor.
  
  Examples
  --------
  Create an actor of a cube by adding it to a :class:`pyvista.Plotter`
  and then copy the actor, change the properties, and add it back to the
  :class:`pyvista.Plotter`.
  
  >>> import pyvista as pv
  >>> mesh = pv.Cube()
  >>> pl = pv.Plotter()
  >>> actor = pl.add_mesh(mesh, color='b')
  >>> new_actor = actor.copy()
  >>> new_actor.prop.style = 'wireframe'
  >>> new_actor.prop.line_width = 5
  >>> new_actor.prop.color = 'r'
  >>> new_actor.prop.lighting = False
  >>> _ = pl.add_actor(new_actor)
  >>> pl.show()
docstr_tok: ["Create","a","copy","of","this","actor",".","Parameters","--","--","--","--","--","deep",":","bool",",","default",":","True","Create","a","shallow","or","deep","copy","of","the","actor",".","A","deep","copy","will","have","a","new","property","and","mapper",",","while","a","shallow","copy","will","use","the","mapper","and","property","of","this","actor",".","Returns","--","--","--","-","pyvista.Actor","Deep","or","shallow","copy","of","this","actor",".","Examples","--","--","--","--","Create","an","actor","of","a","cube","by","adding","it","to","a",":","class",":","`","pyvista.Plotter","`","and","then","copy","the","actor",",","change","the","properties",",","and","add","it","back","to","the",":","class",":","`","pyvista.Plotter","`",".",">",">",">","import","pyvista","as","pv",">",">",">","mesh","=","pv.Cube","(",")",">",">",">","pl","=","pv.Plotter","(",")",">",">",">","actor","=","pl.add_mesh","(","mesh",",","color=","'","b","'",")",">",">",">","new_actor","=","actor.copy","(",")",">",">",">","new_actor.prop.style","=","'wireframe'",">",">",">","new_actor.prop.line_width","=","5",">",">",">","new_actor.prop.color","=","'","r'",">",">",">","new_actor.prop.lighting","=","False",">",">",">","_","=","pl.add_actor","(","new_actor",")",">",">",">","pl.show","(",")"]
code: def copy(self, deep=True) -> "Actor":
      """Create a copy of this actor.
  
      Parameters
      ----------
      deep : bool, default: True
          Create a shallow or deep copy of the actor. A deep copy will have a
          new property and mapper, while a shallow copy will use the mapper
          and property of this actor.
  
      Returns
      -------
      pyvista.Actor
          Deep or shallow copy of this actor.
  
      Examples
      --------
      Create an actor of a cube by adding it to a :class:`pyvista.Plotter`
      and then copy the actor, change the properties, and add it back to the
      :class:`pyvista.Plotter`.
  
      >>> import pyvista as pv
      >>> mesh = pv.Cube()
      >>> pl = pv.Plotter()
      >>> actor = pl.add_mesh(mesh, color='b')
      >>> new_actor = actor.copy()
      >>> new_actor.prop.style = 'wireframe'
      >>> new_actor.prop.line_width = 5
      >>> new_actor.prop.color = 'r'
      >>> new_actor.prop.lighting = False
      >>> _ = pl.add_actor(new_actor)
      >>> pl.show()
  
      """
      new_actor = Actor()
      if deep:
          new_actor.mapper = self.mapper.copy()
          new_actor.prop = self.prop.copy()
      else:
          new_actor.ShallowCopy(self)
      return new_actor
  
imports: from typing import Optional
  import pyvista
  from pyvista.core.utilities.misc import no_new_attr
  from .None import _vtk
  from ._property import Property
  from .mapper import _BaseMapper
  from .prop3d import Prop3D
label_desc: Use image node_id 16 for calling the Actor obj's underlying member method code with example usage: obj.copy(deep) and returns: new_actor