pyvista.PolyData.faces#
- property PolyData.faces: NumpyArray[int][source]#
Return the connectivity array of the faces of this PolyData.
The faces array is organized as:
[n0, p0_0, p0_1, ..., p0_n, n1, p1_0, p1_1, ..., p1_n, ...]
where
n0
is the number of points in face 0, andpX_Y
is the Y’th point in face X.For example, a triangle and a quadrilateral might be represented as:
[3, 0, 1, 2, 4, 0, 1, 3, 4]
Where the two individual faces would be
[3, 0, 1, 2]
and[4, 0, 1, 3, 4]
.Faces can also be set by assigning a
pyvista.CellArray
object instead of an array.- Returns:
numpy.ndarray
Array of face connectivity.
Notes
The array returned cannot be modified in place and will raise a
ValueError
if attempted.You can, however, set the faces directly. See the example.
Examples
>>> import pyvista as pv >>> plane = pv.Plane(i_resolution=2, j_resolution=2) >>> plane.faces array([4, 0, 1, 4, 3, 4, 1, 2, 5, 4, 4, 3, 4, 7, 6, 4, 4, 5, 8, 7])
Note how the faces contain a “padding” indicating the number of points per face:
>>> plane.faces.reshape(-1, 5) array([[4, 0, 1, 4, 3], [4, 1, 2, 5, 4], [4, 3, 4, 7, 6], [4, 4, 5, 8, 7]])
Set the faces directly. The following example creates a simple plane with a single square faces and modifies it to have two triangles instead.
>>> mesh = pv.Plane(i_resolution=1, j_resolution=1) >>> mesh.faces = [3, 0, 1, 2, 3, 3, 2, 1] >>> mesh.faces array([3, 0, 1, 2, 3, 3, 2, 1])