class_docstr: Base class for 3D cameras supporting orthographic and
  perspective projections.
  
  Parameters
  ----------
  fov : float
      Field of view. Default 60.0.
  scale_factor : scalar
      A measure for the scale/range of the scene that the camera
      should show. The exact meaning differs per camera type.
  **kwargs : dict
      Keyword arguments to pass to `BaseCamera`.
docstr: The ViewBox received a mouse event; update transform
  accordingly.
  Default implementation adjusts scale factor when scolling.
  
  Parameters
  ----------
  event : instance of Event
      The event.
docstr_tok: ["The","ViewBox","received","a","mouse","event",";","update","transform","accordingly",".","Default","implementation","adjusts","scale","factor","when","scolling",".","Parameters","--","--","--","--","--","event",":","instance","of","Event","The","event","."]
code: def viewbox_mouse_event(self, event):
      """The ViewBox received a mouse event; update transform
      accordingly.
      Default implementation adjusts scale factor when scolling.
  
      Parameters
      ----------
      event : instance of Event
          The event.
      """
      BaseCamera.viewbox_mouse_event(self, event)
      if event.type == "mouse_wheel":
          s = 1.1 ** -event.delta[1]
          self._scale_factor *= s
          if self._distance is not None:
              self._distance *= s
          self.view_changed()
      elif event.type == "gesture_zoom":
          s = 1 - event.scale
          self._scale_factor *= s
          if self._distance is not None:
              self._distance *= s
          self.view_changed()
  
imports: from __future__ import division
  import math
  import numpy
  from .base_camera import BaseCamera
  from ...util import keys, transforms
  from ...visuals.transforms import MatrixTransform
label_desc: Use image node_id 2 for calling the PerspectiveCamera obj's underlying member method code with example usage: obj.viewbox_mouse_event(event) without return types