# Examples from pyvista.PolyData.strip_connectivity
# =================================================

import pyvista as pv
mesh = pv.Rectangle().extrude((0, 0, 1), capping=False)
mesh.strip_connectivity[:4]

# The array is read-only and writing to it raises a `ValueError`.
mesh.strip_connectivity.flags['WRITEABLE']

# Assign a new array instead. Here the first strip is wound the other way.
connectivity = mesh.strip_connectivity.copy()
connectivity[:4] = [1, 0, 5, 4]
mesh.strip_connectivity = connectivity
mesh.strip_connectivity[:4]

# For a mesh large enough that the copy matters, keep the connectivity array and
# edit it in place.
import numpy as np
connectivity = np.array([0, 1, 4, 5], dtype=pv.ID_TYPE)
mesh.strips = pv.CellArray.from_arrays([0, 4], connectivity, deep=False)
connectivity[:] = [1, 0, 5, 4]
mesh.strip_connectivity

# ----------------------------------------------------------------------
# Generated by sphinx-examples-as-code https://github.com/pyvista/sphinx-examples-as-code
