code: def update(self, stime=1, force_redraw=True):
          
  
          if stime <= 0:
              stime = 1
  
          curr_time = time.time()
          if Plotter.last_update_time > curr_time:
              Plotter.last_update_time = curr_time
  
          if not hasattr(self, 'iren'):
              return
  
          update_rate = self.iren.GetDesiredUpdateRate()
          if (curr_time - Plotter.last_update_time) > (1.0/update_rate):
              self.right_timer_id = self.iren.CreateRepeatingTimer(stime)
  
              self.iren.Start()
              self.iren.DestroyTimer(self.right_timer_id)
  
              self._render()
              Plotter.last_update_time = curr_time
          else:
              if force_redraw:
                  self.iren.Render()
docs: Update window, redraw, process messages query
  
          Parameters
          ----------
          stime : int, optional
              Duration of timer that interrupt vtkRenderWindowInteractor in
              milliseconds.
  
          force_redraw : bool, optional
              Call vtkRenderWindowInteractor.Render() immediately.