code: def test_widget_box(uniform):
      p = pv.Plotter()
      func = lambda box: box  # Does nothing
      p.add_mesh(uniform)
      p.add_box_widget(callback=func)
      p.close()
  
      p = pv.Plotter()
      func = lambda box, widget: box  # Does nothing
      p.add_mesh(uniform)
      p.add_box_widget(callback=func, pass_widget=True)
      p.close()
  
      # clip box with and without crinkle
      p = pv.Plotter()
      p.add_mesh_clip_box(uniform)
      p.close()
  
      p = pv.Plotter()
      p.add_mesh_clip_box(uniform, crinkle=True)
      p.close()
  
      p = pv.Plotter()
      # merge_points=True is the default and is tested above
      p.add_mesh_clip_box(uniform, merge_points=False)
      p.close()
  
imports: import numpy
  import pytest
  import vtk
  import pyvista
  from pyvista import examples
  from pyvista.core.errors import VTKVersionError
  from pyvista.plotting.affine_widget import DARK_YELLOW, get_angle, ray_plane_intersection
label_desc: Use image node_id 2 for calling a global function with example usage: test_widget_box(uniform) without return types