class_docstr: Class to support multiple render passes for a renderer.
  
  Notes
  -----
  Passes are organized here as "primary" (vtkOpenGLRenderPass) that act
  within the renderer and "post-processing" (vtkImageProcessingPass) passes,
  which act on the image generated from the renderer.
  
  The primary passes are added as part of a vtk.vtkRenderPassCollection or
  are "stacked", while the post-processing passes are added as a final pass
  to the rendered image.
  
  Parameters
  ----------
  renderer : vtk.vtkRenderer
      Renderer to initialize render passes for.
docstr: Reassemble pass delegation.
docstr_tok: ["Reassemble","pass","delegation","."]
code: def _update_passes(self):
      """Reassemble pass delegation."""
      if self._renderer is None:  # pragma: no cover
          raise RuntimeError("The renderer has been closed.")
  
      current_pass = self._camera_pass
      for class_name in PRE_PASS + POST_PASS:
          if class_name in self._passes:
              for render_pass in self._passes[class_name]:
                  render_pass.SetDelegatePass(current_pass)
                  current_pass = render_pass
  
      # reset to the default rendering if no special passes have been added
      if (
          current_pass is self._camera_pass
          and self._shadow_map_pass is None
      ):
          self._renderer.SetPass(None)
      else:
          self._renderer.SetPass(current_pass)
  
imports: import weakref
  from .None import _vtk
label_desc: Use image node_id 20 for calling the RenderPasses obj's underlying member method code with example usage: obj._update_passes() without return types