class_docstr: Base camera class.
  
  The Camera describes the perspective from which a ViewBox views its
  subscene, and the way that user interaction affects that perspective.
  
  Most functionality is implemented in subclasses. This base class has
  no user interaction and causes the subscene to use the same coordinate
  system as the ViewBox.
  
  Parameters
  ----------
  interactive : bool
      Whether the camera processes mouse and keyboard events.
  flip : tuple of bools
      For each dimension, specify whether it is flipped.
  up : {'+z', '-z', '+y', '-y', '+x', '-x'}
      The direction that is considered up. Default '+z'. Not all
      camera's may support this (yet).
  parent : Node
      The parent of the camera.
  name : str
      Name used to identify the camera in the scene.
class_docstr_tok: ["Base","camera","class",".","The","Camera","describes","the","perspective","from","which","a","ViewBox","views","its","subscene",",","and","the","way","that","user","interaction","affects","that","perspective",".","Most","functionality","is","implemented","in","subclasses",".","This","base","class","has","no","user","interaction","and","causes","the","subscene","to","use","the","same","coordinate","system","as","the","ViewBox",".","Parameters","--","--","--","--","--","interactive",":","bool","Whether","the","camera","processes","mouse","and","keyboard","events",".","flip",":","tuple","of","bools","For","each","dimension",",","specify","whether","it","is","flipped",".","up",":","{","'+z","'",",","'-z","'",",","'+y","'",",","'-y","'",",","'+x","'",",","'-x","'","}","The","direction","that","is","considered","up",".","Default","'+z","'",".","Not","all","camera","'s","may","support","this","(","yet",")",".","parent",":","Node","The","parent","of","the","camera",".","name",":","str","Name","used","to","identify","the","camera","in","the","scene","."]
docstr: Get the current view state of the camera
  
  Returns a dict of key-value pairs. The exact keys depend on the
  camera. Can be passed to set_state() (of this or another camera
  of the same type) to reproduce the state.
  
  Parameters
  ----------
  props : list of strings | None
      List of properties to include in the returned dict. If None,
      all of camera state is returned.
docstr_tok: ["Get","the","current","view","state","of","the","camera","Returns","a","dict","of","key-value","pairs",".","The","exact","keys","depend","on","the","camera",".","Can","be","passed","to","set_state","(",")","(","of","this","or","another","camera","of","the","same","type",")","to","reproduce","the","state",".","Parameters","--","--","--","--","--","props",":","list","of","strings","|","None","List","of","properties","to","include","in","the","returned","dict",".","If","None",",","all","of","camera","state","is","returned","."]
code: def get_state(self, props=None):
      """Get the current view state of the camera
  
      Returns a dict of key-value pairs. The exact keys depend on the
      camera. Can be passed to set_state() (of this or another camera
      of the same type) to reproduce the state.
  
      Parameters
      ----------
      props : list of strings | None
          List of properties to include in the returned dict. If None,
          all of camera state is returned.
      """
      if props is None:
          props = self._state_props
      state = {}
      for key in props:
          # We support tuple keys to accomodate camera linking.
          if isinstance(key, tuple):
              state[key] = nested_getattr(self, key)
          else:
              state[key] = getattr(self, key)
      return state
  
imports: from __future__ import division
  from ...util import keys
  from ..node import Node
  from ...visuals.transforms import STTransform, MatrixTransform, NullTransform, TransformCache
label_desc: Use image node_id 22 for calling the BaseCamera obj's underlying member method code with example usage: obj.get_state(props) and returns: state