docstr: Orbits the camera around the center position. *azim* and *elev* are given in degrees.
docstr_tok: ["Orbits","the","camera","around","the","center","position",".","*","azim","*","and","*","elev","*","are","given","in","degrees","."]
code: def orbit(self, azim, elev):
      """Orbits the camera around the center position. *azim* and *elev* are given in degrees."""
      if self.opts["rotationMethod"] == "quaternion":
          q = QtGui.QQuaternion.fromEulerAngles(
              elev, -azim, 0
          )  # rx-ry-rz
          q *= self.opts["rotation"]
          self.opts["rotation"] = q
      else:  # default euler rotation method
          self.opts["azimuth"] += azim
          self.opts["elevation"] = fn.clip_scalar(
              self.opts["elevation"] + elev, -90.0, 90.0
          )
      self.update()
  
imports: from OpenGL.GL import *
  import OpenGL.GL.framebufferobjects
  from math import cos, radians, sin, tan
  import numpy
  from ..None import Vector
  from ..None import functions
  from ..None import getConfigOption
  from ..Qt import QtCore, QtGui, QtWidgets
label_desc: Use image node_id 22 for calling the GLViewMixin obj's underlying member method code with example usage: obj.orbit(azim, elev) without return types