class_docstr: An internal class to manage widgets.
  
  It also manages and other helper methods involving widgets.
class_docstr_tok: ["An","internal","class","to","manage","widgets",".","It","also","manages","and","other","helper","methods","involving","widgets","."]
docstr: Add a camera orientation widget to the active renderer.
  
  .. note::
     This widget requires ``vtk>=9.1.0``.
  
  Parameters
  ----------
  animate : bool, default: True
      Enable or disable jump-to-axis-view animation.
  
  n_frames : int, default: 20
      The number of frames to animate the jump-to-axis-viewpoint feature.
  
  Returns
  -------
  vtkCameraOrientationWidget
      Camera orientation widget.
  
  Examples
  --------
  Add a camera orientation widget to the scene.
  
  >>> import pyvista as pv
  >>> mesh = pv.Cube()
  >>> plotter = pv.Plotter()
  >>> _ = plotter.add_mesh(
  ...     mesh, scalars=range(6), show_scalar_bar=False
  ... )
  >>> _ = plotter.add_camera_orientation_widget()
  >>> plotter.show()
docstr_tok: ["Add","a","camera","orientation","widget","to","the","active","renderer",".","..","note",":",":","This","widget","requires","``","vtk",">","=9.1.0","``",".","Parameters","--","--","--","--","--","animate",":","bool",",","default",":","True","Enable","or","disable","jump-to-axis-view","animation",".","n_frames",":","int",",","default",":","20","The","number","of","frames","to","animate","the","jump-to-axis-viewpoint","feature",".","Returns","--","--","--","-","vtkCameraOrientationWidget","Camera","orientation","widget",".","Examples","--","--","--","--","Add","a","camera","orientation","widget","to","the","scene",".",">",">",">","import","pyvista","as","pv",">",">",">","mesh","=","pv.Cube","(",")",">",">",">","plotter","=","pv.Plotter","(",")",">",">",">","_","=","plotter.add_mesh","(","...","mesh",",","scalars=range","(","6",")",",","show_scalar_bar=False","...",")",">",">",">","_","=","plotter.add_camera_orientation_widget","(",")",">",">",">","plotter.show","(",")"]
code: def add_camera_orientation_widget(self, animate=True, n_frames=20):
      """Add a camera orientation widget to the active renderer.
  
      .. note::
         This widget requires ``vtk>=9.1.0``.
  
      Parameters
      ----------
      animate : bool, default: True
          Enable or disable jump-to-axis-view animation.
  
      n_frames : int, default: 20
          The number of frames to animate the jump-to-axis-viewpoint feature.
  
      Returns
      -------
      vtkCameraOrientationWidget
          Camera orientation widget.
  
      Examples
      --------
      Add a camera orientation widget to the scene.
  
      >>> import pyvista as pv
      >>> mesh = pv.Cube()
      >>> plotter = pv.Plotter()
      >>> _ = plotter.add_mesh(
      ...     mesh, scalars=range(6), show_scalar_bar=False
      ... )
      >>> _ = plotter.add_camera_orientation_widget()
      >>> plotter.show()
  
      """
      try:
          from vtkmodules.vtkInteractionWidgets import (
              vtkCameraOrientationWidget,
          )
      except ImportError:  # pragma: no cover
          from pyvista.core.errors import VTKVersionError
  
          raise VTKVersionError(
              "vtkCameraOrientationWidget requires vtk>=9.1.0"
          )
  
      widget = vtkCameraOrientationWidget()
      widget.SetParentRenderer(self.renderer)
      widget.SetAnimate(animate)
      widget.SetAnimatorTotalFrames(n_frames)
      widget.On()
      self.camera_widgets.append(widget)
      return widget
  
imports: import pathlib
  from typing import Optional, Sequence, Tuple, Union
  import numpy
  import pyvista
  from pyvista.core.utilities.arrays import get_array, get_array_association
  from pyvista.core.utilities.geometric_objects import NORMALS
  from pyvista.core.utilities.helpers import generate_plane
  from pyvista.core.utilities.misc import assert_empty_kwargs, try_callback
  from .None import _vtk
  from .affine_widget import AffineWidget3D
  from .colors import Color
  from .opts import PickerType
  from .utilities.algorithms import add_ids_algorithm, algorithm_to_mesh_handler, crinkle_algorithm, outline_algorithm, pointset_to_polydata_algorithm, set_algorithm_input
label_desc: Use image node_id 27 for calling the WidgetHelper obj's underlying member method code with example usage: obj.add_camera_orientation_widget(animate, n_frames) and returns: widget