class_docstr: PyVista wrapper for the VTK Camera class.
  
  Parameters
  ----------
  renderer : pyvista.Renderer, optional
      Renderer to attach the camera to.
  
  Examples
  --------
  Create a camera at the pyvista module level.
  
  >>> import pyvista as pv
  >>> camera = pv.Camera()
  
  Access the active camera of a plotter and get the position of the
  camera.
  
  >>> pl = pv.Plotter()
  >>> pl.camera.position
  (1.0, 1.0, 1.0)
class_docstr_tok: ["PyVista","wrapper","for","the","VTK","Camera","class",".","Parameters","--","--","--","--","--","renderer",":","pyvista.Renderer",",","optional","Renderer","to","attach","the","camera","to",".","Examples","--","--","--","--","Create","a","camera","at","the","pyvista","module","level",".",">",">",">","import","pyvista","as","pv",">",">",">","camera","=","pv.Camera","(",")","Access","the","active","camera","of","a","plotter","and","get","the","position","of","the","camera",".",">",">",">","pl","=","pv.Plotter","(",")",">",">",">","pl.camera.position","(","1.0",",","1.0",",","1.0",")"]
docstr: Set the zoom of the camera.
  
  In perspective mode, decrease the view angle by the specified
  factor.
  
  In parallel mode, decrease the parallel scale by the specified
  factor. A value greater than 1 is a zoom-in, a value less than
  1 is a zoom-out.
  
  Parameters
  ----------
  value : float or str
      Zoom of the camera. If a float, must be greater than 0. Otherwise,
      if a string, must be ``"tight"``. If tight, the plot will be zoomed
      such that the actors fill the entire viewport.
  
  Examples
  --------
  Show the Default zoom.
  
  >>> import pyvista as pv
  >>> pl = pv.Plotter()
  >>> _ = pl.add_mesh(pv.Sphere())
  >>> pl.camera.zoom(1.0)
  >>> pl.show()
  
  Show 2x zoom.
  
  >>> pl = pv.Plotter()
  >>> _ = pl.add_mesh(pv.Sphere())
  >>> pl.camera.zoom(2.0)
  >>> pl.show()
  
  Zoom so the actor fills the entire render window.
  
  >>> pl = pv.Plotter()
  >>> _ = pl.add_mesh(pv.Sphere())
  >>> pl.camera.zoom('tight')
  >>> pl.show()
code: def zoom(self, value):
      """Set the zoom of the camera.
  
      In perspective mode, decrease the view angle by the specified
      factor.
  
      In parallel mode, decrease the parallel scale by the specified
      factor. A value greater than 1 is a zoom-in, a value less than
      1 is a zoom-out.
  
      Parameters
      ----------
      value : float or str
          Zoom of the camera. If a float, must be greater than 0. Otherwise,
          if a string, must be ``"tight"``. If tight, the plot will be zoomed
          such that the actors fill the entire viewport.
  
      Examples
      --------
      Show the Default zoom.
  
      >>> import pyvista as pv
      >>> pl = pv.Plotter()
      >>> _ = pl.add_mesh(pv.Sphere())
      >>> pl.camera.zoom(1.0)
      >>> pl.show()
  
      Show 2x zoom.
  
      >>> pl = pv.Plotter()
      >>> _ = pl.add_mesh(pv.Sphere())
      >>> pl.camera.zoom(2.0)
      >>> pl.show()
  
      Zoom so the actor fills the entire render window.
  
      >>> pl = pv.Plotter()
      >>> _ = pl.add_mesh(pv.Sphere())
      >>> pl.camera.zoom('tight')
      >>> pl.show()
  
      """
      if isinstance(value, str):
          if not value == "tight":
              raise ValueError(
                  'If a string, ``zoom`` can only be "tight"'
              )
          self.tight()
          return
  
      self.Zoom(value)
      self.is_set = True
  
imports: from __future__ import annotations
  from pathlib import Path
  from typing import Union
  from weakref import proxy
  import xml.dom.minidom
  from xml.etree import ElementTree
  import numpy
  import pyvista
  from .None import _vtk
  from .helpers import view_vectors
label_desc: Use image node_id 22 for calling the Camera obj's underlying member method code with example usage: obj.zoom(value) without return types