ExplicitStructuredGrid#

class ExplicitStructuredGrid(*args, **kwargs)[source]#

Extend the functionality of the vtkExplicitStructuredGrid class.

Can be initialized by the following:

Parameters:
argsvtkExplicitStructuredGrid, vtkUnstructuredGrid, str, Sequence

See examples below.

deepbool, default: False

Whether to deep copy a vtkUnstructuredGrid object.

validatebool | MeshValidationFields | sequence[MeshValidationFields], default: False

Validate the mesh using validate_mesh() after initialization. Set this to True to validate all fields, or specify any combination of fields allowed by validate_mesh.

Added in version 0.47.

Examples#

Download Python source code | Download Jupyter notebook

>>> import numpy as np
>>> import pyvista as pv
>>>
>>> # grid size: ni*nj*nk cells; si, sj, sk steps
>>> ni, nj, nk = 4, 5, 6
>>> si, sj, sk = 20, 10, 1
>>>
>>> # create raw coordinate grid
>>> grid_ijk = np.mgrid[
...     : (ni + 1) * si : si,
...     : (nj + 1) * sj : sj,
...     : (nk + 1) * sk : sk,
... ]
>>>
>>> # repeat array along each Cartesian axis for connectivity
>>> for axis in range(1, 4):
...     grid_ijk = grid_ijk.repeat(2, axis=axis)
>>>
>>> # slice off unnecessarily doubled edge coordinates
>>> grid_ijk = grid_ijk[:, 1:-1, 1:-1, 1:-1]
>>>
>>> # reorder and reshape to VTK order
>>> corners = grid_ijk.transpose().reshape(-1, 3)
>>>
>>> dims = np.array([ni, nj, nk]) + 1
>>> grid = pv.ExplicitStructuredGrid(dims, corners)
>>> grid = grid.compute_connectivity()
>>> grid.plot(show_edges=True)
../../../_images/pyvista-ExplicitStructuredGrid-7d1093e5f976cfc4_00_00.png

Attributes#

ExplicitStructuredGrid.dimensions

Return the topological dimensions of the grid.

ExplicitStructuredGrid.visible_bounds

Return the bounding box of the visible cells.

Inherited Attributes#

DataSet.active_normals

Return the active normals as an array.

DataSet.active_scalars

Return the active scalars as an array.

DataSet.active_scalars_info

Return the active scalar’s association and name.

DataSet.active_scalars_name

Return the name of the active scalars.

DataSet.active_tensors

Return the active tensors array.

DataSet.active_tensors_info

Return the active tensor’s field and name: [field, name].

DataSet.active_tensors_name

Return the name of the active tensor array.

DataSet.active_texture_coordinates

Return the active texture coordinates on the points.

DataSet.active_vectors

Return the active vectors array.

DataSet.active_vectors_info

Return the active vector’s association and name.

DataSet.active_vectors_name

Return the name of the active vectors array.

DataObject.actual_memory_size

Return the actual size of the dataset object.

DataSet.area

Return the mesh area if 2D.

DataSet.array_names

Return a list of array names for the dataset.

DataSet.arrows

Return a glyph representation of the active vector data as arrows.

DataSet.bounding_sphere

Compute the radius and center of a bounding sphere.

DataSet.bounds

Return the bounding box of this dataset.

_BoundsSizeMixin.bounds_size

Return the size of each axis of the object’s bounding box.

DataSet.cell

A generator that provides an easy way to loop over all cells.

DataSet.cell_data

Return cell data as DataSetAttributes.

DataSet.center

Set or return the center of the bounding box.

DataSet.dimensionality

Return the number of spatial dimensions spanned by this dataset’s points.

DataSet.distinct_cell_types

Return the set of distinct cell types in this dataset.

DataObject.field_data

Return FieldData as DataSetAttributes.

DataSet.has_nonlinear_cells

Return True if the mesh contains any non-linear cells.

DataSet.is_empty

Return True if there are no points.

DataSet.length

Return the length of the diagonal of the bounding box.

DataSet.max_cell_dimensionality

Return the maximum spatial dimensionality of all cells in this mesh.

DataObject.memory_address

Get address of the underlying VTK C++ object.

DataSet.min_cell_dimensionality

Get the minimum spatial dimensionality of all cells in this mesh.

DataSet.n_arrays

Return the number of arrays present in the dataset.

DataSet.n_cells

Return the number of cells in the entire dataset.

DataSet.n_points

Return the number of points in the entire dataset.

DataSet.number_of_cells

Return the number of cells.

DataSet.number_of_points

Return the number of points.

DataSet.point_data

Return point data as DataSetAttributes.

DataSet.points

Return a reference to the points as a NumPy object.

DataObject.user_dict

Set or return a user-specified data dictionary.

DataSet.volume

Return the mesh volume.

Methods#

ExplicitStructuredGrid.cast_to_unstructured_grid()

Cast to an unstructured grid.

ExplicitStructuredGrid.cell_coords(ind)

Return the cell structured coordinates.

ExplicitStructuredGrid.cell_id(coords)

Return the cell ID.

ExplicitStructuredGrid.clean([tolerance, ...])

Merge duplicate points and remove unused points in an ExplicitStructuredGrid.

ExplicitStructuredGrid.compute_connections([...])

Compute an array with the number of connected cell faces.

ExplicitStructuredGrid.compute_connectivity([...])

Compute the faces connectivity flags array.

ExplicitStructuredGrid.hide_cells(ind[, inplace])

Hide specific cells.

ExplicitStructuredGrid.neighbors(ind[, rel])

Return the indices of neighboring cells.

ExplicitStructuredGrid.save(filename[, ...])

Save this VTK object to file.

ExplicitStructuredGrid.show_cells([inplace])

Show hidden cells.

Inherited Methods#

DataObject.add_field_data

Add field data.

DataObject.cast_to_multiblock

Convert this DataObject to a MultiBlock.

DataSet.cast_to_pointset

Extract the points of this dataset and return a pyvista.PointSet.

DataSet.cast_to_poly_points

Extract the points of this dataset and return a pyvista.PolyData.

DataSet.cell_neighbors

Get the cell neighbors of the ind-th cell.

DataSet.cell_neighbors_levels

Get consecutive levels of cell neighbors.

_PointSetBase.center_of_mass

Return the coordinates for the center of mass of the mesh.

DataSet.clear_cell_data

Remove all cell arrays.

DataSet.clear_data

Remove all arrays from point/cell/field data.

DataObject.clear_field_data

Remove all field data.

DataSet.clear_point_data

Remove all point arrays.

DataObject.copy

Return a copy of the object.

DataObject.copy_attributes

Copy the data attributes of the input dataset object.

DataSet.copy_from

Overwrite this dataset in-place with the new dataset’s geometries and data.

DataSet.copy_meta_from

Copy pyvista meta data onto this object from another object.

DataObject.copy_structure

Copy the structure (geometry and topology) of the input dataset object.

DataObject.deep_copy

Overwrite this data object with another data object as a deep copy.

DataSet.find_cells_along_line

Find the index of cells whose bounds intersect a line.

DataSet.find_cells_intersecting_line

Find the index of cells that intersect a line.

DataSet.find_cells_within_bounds

Find the index of cells in this mesh within bounds.

DataSet.find_closest_cell

Find index of closest cell in this mesh to the given point.

DataSet.find_closest_point

Find index of closest point in this mesh to the given point.

DataSet.find_containing_cell

Find index of a cell that contains the given point.

DataSet.get_array

Search both point, cell, and field data for an array.

DataSet.get_array_association

Get the association of an array.

DataSet.get_cell

Return a pyvista.Cell object.

DataSet.get_data_range

Get the min and max of a named array.

DataObject.head

Return the header stats of this dataset.

DataSet.intersect_with_line

Locate points and cell ids that intersect a line.

DataSet.plot

Plot a PyVista, NumPy, or VTK object.

PointGrid.plot_curvature

Plot the curvature of the external surface of the grid.

DataSet.point_cell_ids

Get the cell IDs that use the ind-th point.

DataSet.point_is_inside_cell

Return whether one or more points are inside a cell.

DataSet.point_neighbors

Get the point neighbors of the ind-th point.

DataSet.point_neighbors_levels

Get consecutive levels of point neighbors.

_PointSetBase.points_to_double

Convert the points datatype to double precision.

_PointSetBase.remove_cells

Remove cells.

DataSet.rename_array

Change array name by searching for the array then renaming it.

DataSet.set_active_scalars

Find the scalars by name and appropriately sets it as active.

DataSet.set_active_tensors

Find the tensors by name and appropriately sets it as active.

DataSet.set_active_vectors

Find the vectors by name and appropriately sets it as active.

_PointSetBase.shallow_copy

Create a shallow copy from a different dataset into this one.

DataSet.to_arrow

Return this dataset’s point or cell arrays as a pyarrow.Table.

DataSet.to_pandas

Return this dataset’s point or cell arrays as a pandas.DataFrame.

Filters#

DataSetFilters.align

Align a dataset to another.

DataSetFilters.align_xyz

Align a dataset to the x-y-z axes.

DataSetFilters.bounding_box

Return a bounding box for this dataset.

DataObjectFilters.cell_centers

Generate points at the center of the cells in this dataset.

DataObjectFilters.cell_data_to_point_data

Transform cell data into point data.

DataObjectFilters.cell_quality

Compute a function of (geometric) quality for each cell of a mesh.

DataObjectFilters.cell_validator

Check the validity of each cell in this dataset.

DataObjectFilters.clip

Clip a dataset by a plane by specifying the origin and normal.

DataObjectFilters.clip_box

Clip a dataset by a bounding box defined by the bounds.

DataSetFilters.clip_scalar

Clip a dataset by a scalar.

DataObjectFilters.clip_slab

Clip a dataset by a slab of finite thickness around a plane.

DataSetFilters.clip_surface

Clip any mesh type using a pyvista.PolyData surface mesh.

DataSetFilters.color_labels

Add RGB(A) scalars to labeled data.

DataSetFilters.compute_boundary_mesh_quality

Compute metrics on the boundary faces of a mesh.

DataObjectFilters.compute_cell_sizes

Compute sizes for 0D (vertex count), 1D (length), 2D (area) and 3D (volume) cells.

DataSetFilters.compute_derivative

Compute derivative-based quantities of point/cell scalar field.

DataSetFilters.compute_implicit_distance

Compute the implicit distance from the points to a surface.

DataSetFilters.connectivity

Find and label connected regions.

DataSetFilters.contour

Contour an input self by an array.

DataObjectFilters.convex_hull

Compute the convex hull from this mesh’s points.

DataObjectFilters.ctp

Transform cell data into point data.

DataSetFilters.decimate_boundary

Return a decimated version of a triangulation of the boundary.

DataSetFilters.delaunay_3d

Construct a 3D Delaunay triangulation of the mesh.

DataObjectFilters.elevation

Generate scalar values on a dataset.

DataSetFilters.explode

Push each individual cell away from the center of the dataset.

DataObjectFilters.extract_all_edges

Extract all the internal/external edges of the dataset as PolyData.

DataSetFilters.extract_cells

Return a subset of the grid.

DataSetFilters.extract_cells_by_type

Extract cells of a specified type.

DataSetFilters.extract_feature_edges

Extract edges from the surface of the mesh.

DataSetFilters.extract_geometry

Extract the outer surface of a volume or structured grid dataset.

DataSetFilters.extract_largest

Extract largest connected set in mesh.

DataSetFilters.extract_points

Return a subset of the grid (with cells) that contains any of the given point indices.

DataObjectFilters.extract_surface

Extract surface geometry of the mesh as PolyData.

DataSetFilters.extract_values

Return a subset of the mesh based on the values of point or cell data.

DataObjectFilters.flip_normal

Flip mesh about the normal.

DataObjectFilters.flip_x

Flip mesh about the x-axis.

DataObjectFilters.flip_y

Flip mesh about the y-axis.

DataObjectFilters.flip_z

Flip mesh about the z-axis.

DataSetFilters.gaussian_splatting

Splat points into a volume using a Gaussian distribution.

DataSetFilters.glyph

Copy a geometric representation (called a glyph) to the input dataset.

DataSetFilters.integrate_data

Integrate point and cell data.

DataSetFilters.interpolate

Interpolate values onto this mesh from a given dataset.

DataSetFilters.merge

Join one or many other grids to this grid.

DataSetFilters.merge_points

Merge duplicate points in this mesh.

DataSetFilters.oriented_bounding_box

Return an oriented bounding box (OBB) for this dataset.

DataSetFilters.outline

Produce an outline of the full extent for the input dataset.

DataSetFilters.outline_corners

Produce an outline of the corners for the input dataset.

DataSetFilters.pack_labels

Renumber labeled data such that labels are contiguous.

DataSetFilters.partition

Break down input dataset into a requested number of partitions.

DataSetFilters.plot_over_circular_arc

Sample a dataset along a circular arc and plot it.

DataSetFilters.plot_over_circular_arc_normal

Sample a dataset along a circular arc defined by a normal and polar vector and plot it.

DataSetFilters.plot_over_line

Sample a dataset along a high resolution line and plot.

DataObjectFilters.point_data_to_cell_data

Transform point data into cell data.

DataObjectFilters.ptc

Transform point data into cell data.

DataObjectFilters.reflect

Reflect a dataset across a plane.

DataSetFilters.remove_nan_cells

Remove cells whose scalar values are NaN.

DataObjectFilters.resize

Resize the dataset’s bounds.

DataObjectFilters.rotate

Rotate mesh about a point with a rotation matrix or Rotation object.

DataObjectFilters.rotate_vector

Rotate mesh about a vector.

DataObjectFilters.rotate_x

Rotate mesh about the x-axis.

DataObjectFilters.rotate_y

Rotate mesh about the y-axis.

DataObjectFilters.rotate_z

Rotate mesh about the z-axis.

DataObjectFilters.sample

Resample array data from a passed mesh onto this mesh.

DataSetFilters.sample_over_circular_arc

Sample a dataset over a circular arc.

DataSetFilters.sample_over_circular_arc_normal

Sample a dataset over a circular arc defined by a normal and polar vector and plot it.

DataSetFilters.sample_over_line

Sample a dataset onto a line.

DataSetFilters.sample_over_multiple_lines

Sample a dataset onto a multiple lines.

DataObjectFilters.scale

Scale the mesh.

DataSetFilters.select_enclosed_points

Mark points as to whether they are inside a closed surface.

DataSetFilters.select_interior_points

Mark points from this mesh as inside or outside relative to a closed surface.

DataSetFilters.separate_cells

Return a copy of the dataset with separated cells with no shared points.

DataSetFilters.shrink

Shrink the individual faces of a mesh.

DataObjectFilters.slice

Slice a dataset by a plane at the specified origin and normal vector orientation.

DataObjectFilters.slice_along_axis

Create many slices of the input dataset along a specified axis.

DataObjectFilters.slice_along_line

Slice a dataset using a polyline/spline as the path.

DataObjectFilters.slice_implicit

Slice a dataset by a VTK implicit function.

DataObjectFilters.slice_orthogonal

Create three orthogonal slices through the dataset on the three Cartesian planes.

DataSetFilters.sort_labels

Sort labeled data by number of points or cells.

DataSetFilters.split_bodies

Find, label, and split connected bodies/volumes.

DataSetFilters.split_values

Split mesh into separate sub-meshes using point or cell data.

DataSetFilters.streamlines

Integrate a vector field to generate streamlines.

DataSetFilters.streamlines_evenly_spaced_2D

Generate evenly spaced streamlines on a 2D dataset.

DataSetFilters.streamlines_from_source

Generate streamlines of vectors from the points of a source mesh.

DataSetFilters.surface_indices

Return the surface indices of a grid.

DataSetFilters.tessellate

Tessellate a mesh.

DataSetFilters.texture_map_to_plane

Texture map this dataset to a user defined plane.

DataSetFilters.texture_map_to_sphere

Texture map this dataset to a user defined sphere.

DataSetFilters.threshold

Apply a vtkThreshold filter to the input dataset.

DataSetFilters.threshold_percent

Threshold the dataset by a percentage of its range on the active scalars array.

DataObjectFilters.transform

Transform this mesh with a 4x4 transform.

DataObjectFilters.translate

Translate the mesh.

DataObjectFilters.triangulate

Return an all triangle mesh.

DataObjectFilters.validate_mesh

Validate this mesh’s array data, points, and cells.

DataSetFilters.voxelize

Voxelize mesh to UnstructuredGrid.

DataSetFilters.voxelize_binary_mask

Voxelize mesh as a binary ImageData mask.

DataSetFilters.voxelize_rectilinear

Voxelize mesh to create a RectilinearGrid voxel volume.

DataSetFilters.warp_by_scalar

Warp the dataset’s points by a point data scalars array’s values.

DataSetFilters.warp_by_vector

Warp the dataset’s points by a point data vectors array’s values.