code: def logo_letters(merge=False, depth=0.3):
      """Generate a mesh for each letter in "PyVista".
  
      Parameters
      ----------
      merge : bool, optional
          If ``True``, merge the meshes of the individual letters into a single
          mesh.  If ``False``, return a dictionary where the keys are the letters
          and the values are the respective meshes.
      depth : float, optional
          The depth of the extrusion for each letter in the mesh.
  
      Returns
      -------
      pyvista.PolyData or dict[str, pyvista.PolyData]
          If merge is ``True``, returns a single merged mesh containing all the
          letters in "PyVista". If merge is ``False``, returns a dictionary where
          the keys are the letters and the values are the respective meshes.
      """
      if merge:
          mesh_letters = pyvista.PolyData()
      else:
          mesh_letters = {}
  
      # spacing between letters
      space_factor = 0.9
      width = 0
      for letter in LOGO_TITLE:
          mesh_letter = text_3d(letter, depth=depth)
          this_letter_width = mesh_letter.points[:, 0].max()
          mesh_letter.translate(
              [width * space_factor, 0, 0.0], inplace=True
          )
          width += this_letter_width
          if merge:
              mesh_letters += mesh_letter
          else:
              mesh_letters[letter] = mesh_letter
  
      return mesh_letters
  
file_path: pyvista/pyvista/demos/logo.py
imports: import os
  import numpy
  import pyvista
  from pyvista import examples
  from pyvista.core import _vtk_core
label_desc: Use image node_id 3 for calling a global function with example usage: logo_letters(merge, depth) and returns: mesh_letters