class_docstr: Intended parent class for plotting
  modes. Provides base functionality
  in conjunction with its parent,
  PlotMode.
class_docstr_tok: ["Intended","parent","class","for","plotting","modes",".","Provides","base","functionality","in","conjunction","with","its","parent",",","PlotMode","."]
code: def draw(self):
      for f in self.predraw:
          if callable(f):
              f()
      if self.style_override:
          style = self.styles[self.style_override]
      else:
          style = self.styles[self._style]
      # Draw solid component if style includes solid
      if style & 2:
          dl = self._render_stack_top(self._draw_solid)
          if dl > 0 and pgl.GL_TRUE == pgl.glIsList(dl):
              self._draw_solid_display_list(dl)
      # Draw wireframe component if style includes wireframe
      if style & 1:
          dl = self._render_stack_top(self._draw_wireframe)
          if dl > 0 and pgl.GL_TRUE == pgl.glIsList(dl):
              self._draw_wireframe_display_list(dl)
      for f in self.postdraw:
          if callable(f):
              f()
  
imports: import pyglet.gl
  from sympy.core import S
  from sympy.plotting.pygletplot.color_scheme import ColorScheme
  from sympy.plotting.pygletplot.plot_mode import PlotMode
  from sympy.utilities.iterables import is_sequence
  from time import sleep
  from threading import Thread, Event, RLock
  import warnings
label_desc: Use image node_id 14 for calling the PlotModeBase obj's underlying member method code with example usage: obj.draw() without return types