class_docstr: A pyglet window with an event loop which executes automatically
  in a separate thread. Behavior is added by creating a subclass
  which overrides setup, update, and/or draw.
class_docstr_tok: ["A","pyglet","window","with","an","event","loop","which","executes","automatically","in","a","separate","thread",".","Behavior","is","added","by","creating","a","subclass","which","overrides","setup",",","update",",","and\/or","draw","."]
docstr: Called before draw during each iteration of
  the event loop. dt is the elapsed time in
  seconds since the last update. OpenGL rendering
  calls are best put in draw() rather than here.
docstr_tok: ["Called","before","draw","during","each","iteration","of","the","event","loop",".","dt","is","the","elapsed","time","in","seconds","since","the","last","update",".","OpenGL","rendering","calls","are","best","put","in","draw","(",")","rather","than","here","."]
code: def update(self, dt):
      """
      Called before draw during each iteration of
      the event loop. dt is the elapsed time in
      seconds since the last update. OpenGL rendering
      calls are best put in draw() rather than here.
      """
      pass
  
file_path: sympy/sympy/plotting/pygletplot/managed_window.py
imports: from pyglet.window import Window
  from pyglet.clock import Clock
  from threading import Thread, Lock
label_desc: Use image node_id 5 for calling the ManagedWindow obj's underlying member method code with example usage: obj.update(dt) without return types