code: def _common_arg_parser(
      dataset,
      theme,
      n_colors,
      scalar_bar_args,
      split_sharp_edges,
      show_scalar_bar,
      render_points_as_spheres,
      smooth_shading,
      pbr,
      clim,
      cmap,
      culling,
      name,
      nan_color,
      nan_opacity,
      color,
      texture,
      rgb,
      style,
      **kwargs,
  ):
      """Parse arguments in common between add_volume, composite, and mesh."""
      # supported aliases
      clim = kwargs.pop("rng", clim)
      cmap = kwargs.pop("colormap", cmap)
      culling = kwargs.pop("backface_culling", culling)
      rgb = kwargs.pop("rgba", rgb)
      vertex_color = kwargs.pop("vertex_color", theme.edge_color)
      vertex_style = kwargs.pop("vertex_style", "points")
      vertex_opacity = kwargs.pop("vertex_opacity", 1.0)
  
      # Support aliases for 'back', 'front', or 'none'. Consider deprecating
      if culling is False:
          culling = "none"
      elif culling in ["b", "backface", True]:
          culling = "back"
      elif culling in ["f", "frontface"]:
          culling = "front"
  
      if show_scalar_bar is None:
          # use theme unless plotting RGB
          _default = theme.show_scalar_bar or scalar_bar_args
          show_scalar_bar = False if rgb else _default
      # Avoid mutating input
      if scalar_bar_args is None:
          scalar_bar_args = {"n_colors": n_colors}
      else:
          scalar_bar_args = scalar_bar_args.copy()
  
      # theme based parameters
      if split_sharp_edges is None:
          split_sharp_edges = theme.split_sharp_edges
      feature_angle = kwargs.pop(
          "feature_angle", theme.sharp_edges_feature_angle
      )
      if render_points_as_spheres is None:
          if style == "points_gaussian":
              render_points_as_spheres = False
          else:
              render_points_as_spheres = theme.render_points_as_spheres
  
      if smooth_shading is None:
          if pbr:
              smooth_shading = True
          else:
              smooth_shading = theme.smooth_shading
  
      if name is None:
          name = f"{type(dataset).__name__}({dataset.memory_address})"
          remove_existing_actor = False
      else:
          # check if this actor already exists
          remove_existing_actor = True
  
      nan_color = Color(
          nan_color, opacity=nan_opacity, default_color=theme.nan_color
      )
  
      if color is True:
          color = theme.color
  
      if texture is False:
          texture = None
  
      # allow directly specifying interpolation (potential future feature)
      if "interpolation" in kwargs:
          interpolation = kwargs.pop(
              "interpolation"
          )  # pragma: no cover:
      elif pbr:
          interpolation = InterpolationType.PBR
      elif smooth_shading:
          interpolation = InterpolationType.PHONG
      else:
          interpolation = theme.lighting_params.interpolation
  
      # account for legacy behavior
      if "stitle" in kwargs:  # pragma: no cover
          # Deprecated on v0.37.0, estimated removal on v0.40.0
          warnings.warn(USE_SCALAR_BAR_ARGS, PyVistaDeprecationWarning)
          scalar_bar_args.setdefault("title", kwargs.pop("stitle"))
  
      if "scalar" in kwargs:
          raise TypeError(
              "`scalar` is an invalid keyword argument. Perhaps you mean `scalars` with an s?"
          )
  
      assert_empty_kwargs(**kwargs)
      return (
          scalar_bar_args,
          split_sharp_edges,
          show_scalar_bar,
          feature_angle,
          render_points_as_spheres,
          smooth_shading,
          clim,
          cmap,
          culling,
          name,
          nan_color,
          color,
          texture,
          rgb,
          interpolation,
          remove_existing_actor,
          vertex_color,
          vertex_style,
          vertex_opacity,
      )
  
file_path: pyvista/pyvista/plotting/_plotting.py
imports: import warnings
  import numpy
  import pyvista
  from pyvista.core.errors import PyVistaDeprecationWarning
  from pyvista.core.utilities.arrays import get_array
  from pyvista.core.utilities.misc import assert_empty_kwargs
  from .colors import Color
  from .opts import InterpolationType
  from .tools import opacity_transfer_function
label_desc: Use image node_id 3 for calling a global function with example usage: _common_arg_parser(dataset, theme, n_colors, scalar_bar_args, split_sharp_edges, show_scalar_bar, render_points_as_spheres, smooth_shading, pbr, clim, cmap, culling, name, nan_color, nan_opacity, color, texture, rgb, style) and returns: scalar_bar_args,  split_sharp_edges,  show_scalar_bar,  feature_angle,  render_points_as_spheres,  smooth_shading,  clim,  cmap,  culling,  name,  nan_color,  color,  texture,  rgb,  interpolation,  remove_existing_actor,  vertex_color,  vertex_style,  vertex_opacity