pyvista.Plotter.add_mesh_slice

pyvista.Plotter.add_mesh_slice#

Plotter.add_mesh_slice(
mesh,
normal='x',
generate_triangles: bool = False,
widget_color=None,
assign_to_axis=None,
tubing: bool = False,
origin_translation: bool = True,
outline_translation: bool = False,
implicit: bool = True,
normal_rotation: bool = True,
interaction_event: pyvista.InteractionEventType = 'end',
origin=None,
outline_opacity=None,
**kwargs,
)[source]#

Slice a mesh using a plane widget.

Add a mesh to the scene with a plane widget that is used to slice the mesh interactively.

The sliced mesh is saved to the .plane_sliced_meshes attribute on the plotter.

Parameters:
meshDataSet | vtkAlgorithm

The input dataset to add to the scene and slice or algorithm that produces said mesh.

normalstr or tuple(float), optional

The starting normal vector of the plane.

generate_trianglesbool, optional

If this is enabled (False by default), the output will be triangles otherwise, the output will be the intersection polygons.

widget_colorColorLike, optional

Either a string, RGB sequence, or hex color string. Defaults to 'white'.

assign_to_axisstr or int, optional

Assign the normal of the plane to be parallel with a given axis: options are (0, ‘x’), (1, ‘y’), or (2, ‘z’).

tubingbool, optional

When using an implicit plane widget, this controls whether or not tubing is shown around the plane’s boundaries.

origin_translationbool, optional

If False, the plane widget cannot be translated by its origin and is strictly placed at the given origin. Only valid when using an implicit plane.

outline_translationbool, optional

If False, the box widget cannot be translated and is strictly placed at the given bounds.

implicitbool, optional

When True, a vtkImplicitPlaneWidget is used and when False, a vtkPlaneWidget is used.

normal_rotationbool, optional

Set the opacity of the normal vector arrow to 0 such that it is effectively disabled. This prevents the user from rotating the normal. This is forced to False when assign_to_axis is set.

interaction_eventInteractionEventType, optional

The VTK interaction event to use for triggering the callback. Accepts either the strings 'start', 'end', 'always' or a vtkCommand.EventIds.

origintuple(float), optional

The starting coordinate of the center of the plane.

outline_opacitybool or float, optional

Set the visible of outline. Only valid when using an implicit plane. Either a bool or float.

Added in version 0.44.0.

**kwargsdict, optional

All additional keyword arguments are passed to pyvista.Plotter.add_mesh() to control how the mesh is displayed.

Returns:
vtkActor

VTK actor of the mesh.

Examples

Shows an interactive plane used specifically for slicing.

>>> import pyvista as pv
>>> from pyvista import examples
>>> pl = pv.Plotter()
>>> mesh = examples.load_channels()
>>> _ = pl.add_mesh(mesh.outline())
>>> _ = pl.add_mesh_slice(mesh, normal=[1, 0, 0.3])
>>> pl.show()
../../../_images/pyvista-Plotter-add_mesh_slice-1_00_00.png

For a full example see Plane Widget.