code: def update_overlay(
      self, name, scalars=None, colormap=None, opacity=None, rng=None
  ):
      overlay = self._overlays.get(name, None)
      if overlay is None:
          return
      if scalars is not None:
          overlay._scalars = scalars
      if colormap is not None:
          overlay._colormap = colormap
      if opacity is not None:
          overlay._opacity = opacity
      if rng is not None:
          overlay._rng = rng
      # partial update: use cache if possible
      if name == list(self._overlays.keys())[-1]:
          self.update(colors=overlay.to_colors())
      else:  # full update
          self.update()
  
file_path: mne-python/mne/viz/_3d_overlay.py
imports: from collections import OrderedDict
  import numpy
  from ..utils import logger
label_desc: Use image node_id 10 for calling the _LayeredMesh obj's underlying member method code with example usage: obj.update_overlay(name, scalars, colormap, opacity, rng) without return types