pyvista.Plotter.enable_mesh_picking#

Plotter.enable_mesh_picking(
callback=None,
show=True,
show_message=True,
style='wireframe',
line_width=5,
color='pink',
font_size=18,
left_clicking=False,
use_actor=False,
picker=PickerType.CELL,
**kwargs,
)[source]#

Enable picking of a mesh.

Parameters:
callbackcallable(), optional

When input, calls this callable after a selection is made. The mesh is input as the first parameter to this callable.

showbool, default: True

Show the selection interactively. Best when combined with left_clicking.

show_messagebool | str, default: True

Show the message about how to use the mesh picking tool. If this is a string, that will be the message shown.

stylestr, default: “wireframe”

Visualization style of the selection. One of the following:

  • 'surface'

  • 'wireframe'

  • 'points'

line_widthfloat, default: 5.0

Thickness of selected mesh edges.

colorColorLike, default: “pink”

The color of the selected mesh when shown.

font_sizeint, default: 18

Sets the font size of the message.

left_clickingbool, default: False

When True, meshes can be picked by clicking the left mousebutton.

Note

If enabled, left-clicking will not display the bounding box around the picked point.

use_actorbool, default: False

If True, the callback will be passed the picked actor instead of the mesh object.

pickerstr | PickerType, optional

Choice of VTK picker class type:

  • 'hardware': Uses vtkHardwarePicker which is more performant for large geometries (default).

  • 'cell': Uses vtkCellPicker.

  • 'point': Uses vtkPointPicker which will snap to points on the surface of the mesh.

  • 'volume': Uses vtkVolumePicker.

**kwargsdict, optional

All remaining keyword arguments are used to control how the picked path is interactively displayed.

Returns:
vtk.vtkPropPicker

Property picker.

Examples

Add a sphere and a cube to a plot and enable mesh picking. Enable left_clicking to immediately start picking on the left click and disable showing the box. You can still press the p key to select meshes.

>>> import pyvista as pv
>>> mesh = pv.Sphere(center=(1, 0, 0))
>>> cube = pv.Cube()
>>> pl = pv.Plotter()
>>> _ = pl.add_mesh(mesh)
>>> _ = pl.add_mesh(cube)
>>> _ = pl.enable_mesh_picking()

See Picking Meshes for a full example using this method.

../../../_images/pyvista-Plotter-enable_mesh_picking-1_00_00.png