pyvista.DataSet.find_cells_along_line#

DataSet.find_cells_along_line(pointa: ndarray[Any, dtype[number]] | Sequence[int | float], pointb: ndarray[Any, dtype[number]] | Sequence[int | float], tolerance: float = 0.0) ndarray[source]#

Find the index of cells whose bounds intersect a line.

Line is defined from pointa to pointb.

Parameters:
pointaVector

Length 3 coordinate of the start of the line.

pointbVector

Length 3 coordinate of the end of the line.

tolerancefloat, default: 0.0

The absolute tolerance to use to find cells along line.

Returns:
numpy.ndarray

Index or indices of the cell(s) whose bounds intersect the line.

Warning

This method returns cells whose bounds intersect the line. This means that the line may not intersect the cell itself. To obtain cells that intersect the line, use pyvista.DataSet.find_cells_intersecting_line().

Examples

>>> import pyvista as pv
>>> mesh = pv.Sphere()
>>> mesh.find_cells_along_line([0.0, 0, 0], [1.0, 0, 0])
array([  86,   87, 1652, 1653])