Point-Based Grids

Structured and unstructured grids are designed to manage cells whereas a polydata object manage surfaces. The vtk.UnstructuredGrid is a derived class from vtk.vtkUnstructuredGrid designed to make creation, array access, and plotting more straightforward than using the vtk object. The same applies to a vtk.StructuredGrid.

Unstructured Grid Creation

See Creating an Unstructured Grid for an example on how to create an unstructured grid from NumPy arrays.

Empty Object

An unstructured grid can be initialized with:

import pyvista as pv
grid = pv.UnstructuredGrid()

This creates an empty grid, and is not useful until points and cells are added to it. VTK points and cells can be added with SetPoints and SetCells, but the inputs to these need to be vtk.vtkCellArray and vtk.vtkPoints objects, which need to be populated with values. Grid creation is simplified by initializing the grid directly from numpy arrays as in the following section.

Loading from File

Unstructured grids can be loaded from a vtk file.

import pyvista as pv
from pyvista import examples

grid = pv.UnstructuredGrid(examples.hexbeamfile)

Structured Grid Creation

Empty Object

A structured grid can be initialized with:

import pyvista as pv
grid = pv.StructuredGrid()

This creates an empty grid, and is not useful until points are added to it.

Creating from Numpy Arrays

A structured grid can be created directly from numpy arrays. This is useful when creating a grid from scratch or copying it from another format.

Also see Creating a Structured Surface for an example on creating a structured grid from NumPy arrays.

import pyvista as pv
import numpy as np

x = np.arange(-10, 10, 0.25)
y = np.arange(-10, 10, 0.25)
z = np.arange(-10, 10, 0.25)
x, y, z = np.meshgrid(x, y, z)

# create the unstructured grid directly from the numpy arrays and plot
grid = pv.StructuredGrid(x, y, z)
grid.plot(show_edges=True, screenshot='structured_cube.png')
../_images/structured_cube.png

Loading from File

Structured grids can be loaded from a vtk file.

grid = pv.StructuredGrid(filename)

Plotting Grids

This example shows how you can load an unstructured grid from a vtk file and create a plot and gif movie by updating the plotting object.

# Load module and example file
import pyvista as pv
from pyvista import examples
import numpy as np

# Load example beam grid
grid = pv.UnstructuredGrid(examples.hexbeamfile)

# Create fictitious displacements as a function of Z location
d = np.zeros_like(grid.points)
d[:, 1] = grid.points[:, 2]**3/250

# Displace original grid
grid.points += d

A simple plot can be created by using:

grid.plot(scalars=d[:, 1], stitle='Y Displacement')

A more complex plot can be created using:

# Store Camera position.  This can be obtained manually by getting the
# output of grid.plot()
# it's hard-coded in this example
cpos = [(11.915126303095157, 6.11392754955802, 3.6124956735471914),
        (0.0, 0.375, 2.0),
        (-0.42546442225230097, 0.9024244135964158, -0.06789847673314177)]

# plot this displaced beam
plotter = pv.Plotter()
plotter.add_mesh(grid, scalars=d[:, 1], stitle='Y Displacement',
              rng=[-d.max(), d.max()])
plotter.add_axes()
plotter.camera_position = cpos

plotter.show(screenshot='beam.png')
../_images/beam.png

You can animate the motion of the beam by updating the positions and scalars of the grid copied to the plotting object. First you have to set up the plotting object:

plotter = pv.Plotter()
plotter.add_mesh(grid, scalars=d[:, 1], stitle='Y Displacement',
              show_edges=True, rng=[-d.max(), d.max()],
              interpolate_before_map=True)
plotter.add_axes()
plotter.camera_position = cpos

You then open the render window by plotting before opening the movie file. Set auto_close to False so the plotter does not close automatically. Disabling interactive means the plot will automatically continue without waiting for the user to exit the window.

plotter.show(interactive=False, auto_close=False, window_size=[800, 600])

# open movie file.  A mp4 file can be written instead.  Requires moviepy
plotter.open_gif('beam.gif')  # or beam.mp4

# Modify position of the beam cyclically
pts = grid.points.copy()  # unmodified points
for phase in np.linspace(0, 2*np.pi, 20):
    plotter.update_coordinates(pts + d*np.cos(phase))
    plotter.update_scalars(d[:, 1]*np.cos(phase))
    plotter.write_frame()

# Close the movie and plot
plotter.close()
../_images/beam.gif

You can also render the beam as as a wire-frame object:

# Animate plot as a wire-frame
plotter = pv.Plotter()
plotter.add_mesh(grid, scalars=d[:, 1], stitle='Y Displacement', show_edges=True,
              rng=[-d.max(), d.max()], interpolate_before_map=True,
              style='wireframe')
plotter.add_axes()
plotter.camera_position = cpos
plotter.show(interactive=False, auto_close=False, window_size=[800, 600])

#plotter.OpenMovie('beam.mp4')
plotter.open_gif('beam_wireframe.gif')
for phase in np.linspace(0, 2*np.pi, 20):
    plotter.update_coordinates(grid.points + d*np.cos(phase), render=False)
    plotter.update_scalars(d[:, 1]*np.cos(phase), render=False)
    plotter.render()
    plotter.write_frame()

plotter.close()
../_images/beam_wireframe.gif

Adding Labels to a Plot

Labels can be added to a plot using the add_point_labels function within the Plotter object. The following example loads the included example beam, generates a plotting class, and sub-selects points along the y-z plane and labels their coordinates. add_point_labels requires that the number of labels matches the number of points, and that labels is a list containing one entry per point. The code automatically converts each item in the list to a string.

# Load module and example file
import pyvista as pv
from pyvista import examples

# Load example beam file
grid = pv.UnstructuredGrid(examples.hexbeamfile)

# Create plotting class and add the unstructured grid
plotter = pv.Plotter()
plotter.add_mesh(grid, show_edges=True, color='tan')

# Add labels to points on the yz plane (where x == 0)
points = grid.points
mask = points[:, 0] == 0
plotter.add_point_labels(points[mask], points[mask].tolist())

plotter.camera_position = [
                (-1.4643015810492384, 1.5603923627830638, 3.16318236536270),
                (0.05268120500967251, 0.639442034364944, 1.204095304165153),
                (0.2364061044392675, 0.9369426029156169, -0.25739213784721)]

plotter.show(screenshot='labels0.png')
../_images/labels0.png

This example is similar and shows how labels can be combined with a scalar bar to show the exact value of certain points.

# Label the Z position
values = grid.points[:, 2]

# Create plotting class and add the unstructured grid
plotter = pv.Plotter(notebook=False)
# color mesh according to z value
plotter.add_mesh(grid, scalars=values, stitle='Z Position', show_edges=True)

# Add labels to points on the yz plane (where x == 0)
mask = grid.points[:, 0] == 0
plotter.add_point_labels(points[mask], values[mask].tolist(), font_size=24)

# add some text to the plot
plotter.add_text('Example showing plot labels')

plotter.view_vector((-6, -3, -4), (0.,-1., 0.))
plotter.show(screenshot='labels1.png')
../_images/labels1.png

pv.Unstructured Grid Class Methods

The following is a description of the methods available to a pv.UnstructuredGrid object. It inherits all methods from the original vtk object, vtk.vtkUnstructuredGrid.

Attributes

cell_connectivity

Return a the vtk cell connectivity as a numpy array.

cells

Return a pointer to the cells as a numpy object.

cells_dict

Return a dictionary that contains all cells mapped from cell types.

celltypes

Get the cell types array.

offset

Get cell locations Array.

Methods

cast_to_explicit_structured_grid()

Cast to an explicit structured grid.

linear_copy([deep])

Return a copy of the unstructured grid containing only linear cells.

class pyvista.UnstructuredGrid(*args, **kwargs)

Bases: vtkCommonDataModelPython.vtkUnstructuredGrid, pyvista.core.pointset.PointGrid, pyvista.core.filters.UnstructuredGridFilters

Extends the functionality of a vtk.vtkUnstructuredGrid object.

Can be initialized by the following:

  • Creating an empty grid

  • From a vtk.vtkPolyData object

  • From cell, offset, and node arrays

  • From a file

Examples

>>> import pyvista
>>> from pyvista import examples
>>> import vtk

Create an empty grid

>>> grid = pyvista.UnstructuredGrid()

Copy a vtkUnstructuredGrid

>>> vtkgrid = vtk.vtkUnstructuredGrid()
>>> grid = pyvista.UnstructuredGrid(vtkgrid)  # Initialize from a vtkUnstructuredGrid
>>> # from arrays (vtk9)
>>> #grid = pyvista.UnstructuredGrid(cells, celltypes, points)
>>> # from arrays (vtk<9)
>>> #grid = pyvista.UnstructuredGrid(offset, cells, celltypes, points)

From a string filename

>>> grid = pyvista.UnstructuredGrid(examples.hexbeamfile)
cast_to_explicit_structured_grid()

Cast to an explicit structured grid.

Returns

An explicit structured grid.

Return type

ExplicitStructuredGrid

Raises

TypeError – If the unstructured grid doesn’t have the 'BLOCK_I', 'BLOCK_J' and 'BLOCK_K' cells arrays.

See also

ExplicitStructuredGrid.cast_to_unstructured_grid

Cast an explicit structured grid to an unstructured grid.

Examples

>>> from pyvista import examples
>>> grid = examples.load_explicit_structured()  
>>> grid.plot(color='w', show_edges=True, show_bounds=True)  
>>> grid.hide_cells(range(80, 120))  
>>> grid.plot(color='w', show_edges=True, show_bounds=True)  
>>> grid = grid.cast_to_unstructured_grid()  
>>> grid.plot(color='w', show_edges=True, show_bounds=True)  
>>> grid = grid.cast_to_explicit_structured_grid()  
>>> grid.plot(color='w', show_edges=True, show_bounds=True)  
property cell_connectivity

Return a the vtk cell connectivity as a numpy array.

property cells

Return a pointer to the cells as a numpy object.

Type

Legacy method

property cells_dict

Return a dictionary that contains all cells mapped from cell types.

This function returns a np.ndarray for each cell type in an ordered fashion. Note that this function only works with element types of fixed sizes

Returns

cells_dict – A dictionary mapping containing all cells of this unstructured grid. Structure: vtk_enum_type (int) -> cells (np.ndarray)

Return type

dict

property celltypes

Get the cell types array.

linear_copy(deep=False)

Return a copy of the unstructured grid containing only linear cells.

Converts the following cell types to their linear equivalents.

  • VTK_QUADRATIC_TETRA –> VTK_TETRA

  • VTK_QUADRATIC_PYRAMID –> VTK_PYRAMID

  • VTK_QUADRATIC_WEDGE –> VTK_WEDGE

  • VTK_QUADRATIC_HEXAHEDRON –> VTK_HEXAHEDRON

Parameters

deep (bool) – When True, makes a copy of the points array. Default False. Cells and cell types are always copied.

Returns

grid – UnstructuredGrid containing only linear cells.

Return type

pyvista.UnstructuredGrid

property offset

Get cell locations Array.

Explicit Structured Grid

Attributes

dimensions

Return the topological dimensions of the grid.

visible_bounds

Return the bounding box of the visible cells.

Methods

cast_to_unstructured_grid()

Cast to an unstructured grid.

cell_coords(ind)

Return the cell structured coordinates.

cell_id(coords)

Return the cell ID.

compute_connections([inplace])

Compute an array with the number of connected cell faces.

compute_connectivity([inplace])

Compute the faces connectivity flags array.

hide_cells(ind[, inplace])

Hide specific cells.

neighbors(ind[, rel])

Return the indices of neighboring cells.

save(filename[, binary])

Save this VTK object to file.

show_cells([inplace])

Show hidden cells.

class pyvista.ExplicitStructuredGrid(*args, **kwargs)

Bases: pyvista._vtk.vtkExplicitStructuredGrid, pyvista.core.pointset.PointGrid

Extend the functionality of a vtk.vtkExplicitStructuredGrid object.

Can be initialized by the following:

  • Creating an empty grid

  • From a vtk.vtkExplicitStructuredGrid or vtk.vtkUnstructuredGrid object

  • From a VTU or VTK file

  • From dims and corners arrays

Examples

>>> import numpy as np
>>> import pyvista as pv
>>>
>>> ni, nj, nk = 4, 5, 6
>>> si, sj, sk = 20, 10, 1
>>>
>>> xcorn = np.arange(0, (ni+1)*si, si)
>>> xcorn = np.repeat(xcorn, 2)
>>> xcorn = xcorn[1:-1]
>>> xcorn = np.tile(xcorn, 4*nj*nk)
>>>
>>> ycorn = np.arange(0, (nj+1)*sj, sj)
>>> ycorn = np.repeat(ycorn, 2)
>>> ycorn = ycorn[1:-1]
>>> ycorn = np.tile(ycorn, (2*ni, 2*nk))
>>> ycorn = np.transpose(ycorn)
>>> ycorn = ycorn.flatten()
>>>
>>> zcorn = np.arange(0, (nk+1)*sk, sk)
>>> zcorn = np.repeat(zcorn, 2)
>>> zcorn = zcorn[1:-1]
>>> zcorn = np.repeat(zcorn, (4*ni*nj))
>>>
>>> corners = np.stack((xcorn, ycorn, zcorn))
>>> corners = corners.transpose()
>>>
>>> dims = np.asarray((ni, nj, nk))+1
>>> grid = pv.ExplicitStructuredGrid(dims, corners)  
>>> grid.compute_connectivity()  
>>> grid.plot(show_edges=True)  
cast_to_unstructured_grid()

Cast to an unstructured grid.

Returns

An unstructured grid. VTK adds the 'BLOCK_I', 'BLOCK_J' and 'BLOCK_K' cell arrays. These arrays are required to restore the explicit structured grid.

Return type

UnstructuredGrid

Warning

The ghost cell array is disabled before casting the unstructured grid in order to allow the original structure and attributes data of the explicit structured grid to be restored. If you don’t need to restore the explicit structured grid later or want to extract an unstructured grid from the visible subgrid, use the extract_cells filter and the cell indices where the ghost cell array is 0.

See also

DataSetFilters.extract_cells

Extract a subset of a dataset.

UnstructuredGrid.cast_to_explicit_structured_grid

Cast an unstructured grid to an explicit structured grid.

Examples

>>> from pyvista import examples
>>> grid = examples.load_explicit_structured()  
>>> grid.plot(color='w', show_edges=True, show_bounds=True)  
>>> grid.hide_cells(range(80, 120))  
>>> grid.plot(color='w', show_edges=True, show_bounds=True)  
>>> grid = grid.cast_to_unstructured_grid()  
>>> grid.plot(color='w', show_edges=True, show_bounds=True)  
>>> grid = grid.cast_to_explicit_structured_grid()  
>>> grid.plot(color='w', show_edges=True, show_bounds=True)  
cell_coords(ind)

Return the cell structured coordinates.

Parameters

ind (int or iterable(int)) – Cell IDs.

Returns

coords – Cell structured coordinates. None if ind is outside the grid extent.

Return type

tuple(int), numpy.ndarray or None

See also

ExplicitStructuredGrid.cell_id

Return the cell ID.

Examples

>>> from pyvista import examples
>>> grid = examples.load_explicit_structured()  
>>> grid.cell_coords(19)  
(3, 4, 0)
>>> grid.cell_coords((19, 31, 41, 54))  
array([[3, 4, 0],
       [3, 2, 1],
       [1, 0, 2],
       [2, 3, 2]])
cell_id(coords)

Return the cell ID.

Parameters

coords (tuple(int), list(tuple(int)) or numpy.ndarray) – Cell structured coordinates.

Returns

ind – Cell IDs. None if coords is outside the grid extent.

Return type

int, numpy.ndarray or None

See also

ExplicitStructuredGrid.cell_coords

Return the cell structured coordinates.

Examples

>>> from pyvista import examples
>>> grid = examples.load_explicit_structured()  
>>> grid.cell_id((3, 4, 0))  
19
>>> coords = [(3, 4, 0),
...           (3, 2, 1),
...           (1, 0, 2),
...           (2, 3, 2)]
>>> grid.cell_id(coords)  
array([19, 31, 41, 54])
compute_connections(inplace=True)

Compute an array with the number of connected cell faces.

This method calculates the number of topological cell neighbors connected by faces. The results are stored in the 'number_of_connections' cell array.

Parameters

inplace (bool, optional) – This method is applied to this grid if True (default) or to a copy otherwise.

Returns

grid – A deep copy of this grid if inplace=False or None otherwise.

Return type

ExplicitStructuredGrid or None

See also

ExplicitStructuredGrid.compute_connectivity

Compute the faces connectivity flags array.

Examples

>>> from pyvista import examples
>>> grid = examples.load_explicit_structured()  
>>> grid.compute_connections()  
>>> grid.plot(show_edges=True)  
compute_connectivity(inplace=True)

Compute the faces connectivity flags array.

This method checks the faces connectivity of the cells with their topological neighbors. The result is stored in the array of integers 'ConnectivityFlags'. Each value in this array must be interpreted as a binary number, where the digits shows the faces connectivity of a cell with its topological neighbors -Z, +Z, -Y, +Y, -X and +X respectively. For example, a cell with 'ConnectivityFlags' equal to 27 (011011) indicates that this cell is connected by faces with their neighbors (0, 0, 1), (0, -1, 0), (-1, 0, 0) and (1, 0, 0).

Parameters

inplace (bool, optional) – This method is applied to this grid if True (default) or to a copy otherwise.

Returns

grid – A deep copy of this grid if inplace=False or None otherwise.

Return type

ExplicitStructuredGrid or None

See also

ExplicitStructuredGrid.compute_connections

Compute an array with the number of connected cell faces.

Examples

>>> from pyvista import examples
>>>
>>> grid = examples.load_explicit_structured()  
>>> grid.compute_connectivity()  
>>> grid.plot(show_edges=True)  
property dimensions

Return the topological dimensions of the grid.

Returns

Number of sampling points in the I, J and Z directions respectively.

Return type

tuple(int)

Examples

>>> from pyvista import examples
>>> grid = examples.load_explicit_structured()  
>>> grid.dimensions  
array([5, 6, 7])
hide_cells(ind, inplace=True)

Hide specific cells.

Hides cells by setting the ghost cell array to HIDDENCELL.

Parameters
  • ind (int or iterable(int)) – Cell indices to be hidden. A boolean array of the same size as the number of cells also is acceptable.

  • inplace (bool, optional) – This method is applied to this grid if True (default) or to a copy otherwise.

Returns

grid – A deep copy of this grid if inplace=False or None otherwise.

Return type

ExplicitStructuredGrid or None

Examples

>>> from pyvista import examples
>>> grid = examples.load_explicit_structured()  
>>> grid.hide_cells(range(80, 120))  
>>> grid.plot(color='w', show_edges=True, show_bounds=True)  
neighbors(ind, rel='connectivity')

Return the indices of neighboring cells.

Parameters
  • ind (int or iterable(int)) – Cell IDs.

  • rel (str, optional) – Defines the neighborhood relationship. If 'topological', returns the (i-1, j, k), (i+1, j, k), (i, j-1, k), (i, j+1, k), (i, j, k-1) and (i, j, k+1) cells. If 'connectivity' (default), returns only the topological neighbors considering faces connectivity. If 'geometric', returns the cells in the (i-1, j), (i+1, j), (i,j-1) and (i, j+1) vertical cell groups whose faces intersect.

Returns

indices – Indices of neighboring cells.

Return type

list(int)

Examples

>>> import pyvista as pv
>>> from pyvista import examples
>>> grid = examples.load_explicit_structured()  
>>> cell = grid.extract_cells(31)  
>>> ind = grid.neighbors(31)  
>>> neighbors = grid.extract_cells(ind)  
>>>
>>> plotter = pv.Plotter()
>>> plotter.add_axes()  
>>> plotter.add_mesh(cell, color='r', show_edges=True)  
>>> plotter.add_mesh(neighbors, color='w', show_edges=True)  
>>> plotter.show()  
save(filename, binary=True)

Save this VTK object to file.

Parameters
  • filename (str) – Output file name. VTU and VTK extensions are supported.

  • binary (bool, optional) – If True (default), write as binary, else ASCII.

Warning

VTK adds the 'BLOCK_I', 'BLOCK_J' and 'BLOCK_K' cell arrays. These arrays are required to restore the explicit structured grid.

Examples

>>> import pyvista as pv
>>> from pyvista import examples
>>> grid = examples.load_explicit_structured()  
>>> grid.hide_cells(range(80, 120))  
>>> grid.save('grid.vtu')  
>>> grid = pv.ExplicitStructuredGrid('grid.vtu')  
>>> grid.plot(color='w', show_edges=True, show_bounds=True)  
>>> grid.show_cells()  
>>> grid.plot(color='w', show_edges=True, show_bounds=True)  
show_cells(inplace=True)

Show hidden cells.

Shows hidden cells by setting the ghost cell array to 0 where HIDDENCELL.

Parameters

inplace (bool, optional) – This method is applied to this grid if True (default) or to a copy otherwise.

Returns

grid – A deep copy of this grid if inplace=False or None otherwise.

Return type

ExplicitStructuredGrid or None

Examples

>>> from pyvista import examples
>>> grid = examples.load_explicit_structured()  
>>> grid.hide_cells(range(80, 120))  
>>> grid.plot(color='w', show_edges=True, show_bounds=True)  
>>> grid.show_cells()  
>>> grid.plot(color='w', show_edges=True, show_bounds=True)  
property visible_bounds

Return the bounding box of the visible cells.

Different from bounds, which returns the bounding box of the complete grid, this method returns the bounding box of the visible cells, where the ghost cell array is not HIDDENCELL.

Returns

The limits of the visible grid in the X, Y and Z directions respectively.

Return type

list(float)

Examples

>>> from pyvista import examples
>>> grid = examples.load_explicit_structured()  
>>> grid.hide_cells(range(80, 120))  
>>> grid.bounds  
[0.0, 80.0, 0.0, 50.0, 0.0, 6.0]
>>> grid.visible_bounds  
[0.0, 80.0, 0.0, 50.0, 0.0, 4.0]

pv.Structured Grid Class Methods

The following is a description of the methods available to a pv.StructuredGrid object. It inherits all methods from the original vtk object, vtk.vtkStructuredGrid.

Attributes

dimensions

Return a length 3 tuple of the grid’s dimensions.

points_matrix

Points as a 4-D matrix, with x/y/z along the last dimension.

x

Return the X coordinates of all points.

y

Return the Y coordinates of all points.

z

Return the Z coordinates of all points.

Methods

hide_cells(ind)

Hide cells without deleting them.

class pyvista.StructuredGrid(*args, **kwargs)

Bases: vtkCommonDataModelPython.vtkStructuredGrid, pyvista.core.pointset.PointGrid, pyvista.core.filters.StructuredGridFilters

Extend the functionality of a vtk.vtkStructuredGrid object.

Can be initialized in several ways:

  • Create empty grid

  • Initialize from a vtk.vtkStructuredGrid object

  • Initialize directly from the point arrays

See _from_arrays in the documentation for more details on initializing from point arrays

Examples

>>> import pyvista
>>> import vtk
>>> import numpy as np

Create empty grid

>>> grid = pyvista.StructuredGrid()

Initialize from a vtk.vtkStructuredGrid object

>>> vtkgrid = vtk.vtkStructuredGrid()
>>> grid = pyvista.StructuredGrid(vtkgrid)

Create from NumPy arrays

>>> xrng = np.arange(-10, 10, 2)
>>> yrng = np.arange(-10, 10, 2)
>>> zrng = np.arange(-10, 10, 2)
>>> x, y, z = np.meshgrid(xrng, yrng, zrng)
>>> grid = pyvista.StructuredGrid(x, y, z)
property dimensions

Return a length 3 tuple of the grid’s dimensions.

hide_cells(ind)

Hide cells without deleting them.

Hides cells by setting the ghost_cells array to HIDDEN_CELL.

Parameters

ind (iterable) – List or array of cell indices to be hidden. The array can also be a boolean array of the same size as the number of cells.

Examples

Hide part of the middle of a structured surface.

>>> import pyvista as pv
>>> import numpy as np
>>> x = np.arange(-10, 10, 0.25)
>>> y = np.arange(-10, 10, 0.25)
>>> z = 0
>>> x, y, z = np.meshgrid(x, y, z)
>>> grid = pv.StructuredGrid(x, y, z)
>>> grid.hide_cells(range(79*30, 79*50))
property points_matrix

Points as a 4-D matrix, with x/y/z along the last dimension.

property x

Return the X coordinates of all points.

property y

Return the Y coordinates of all points.

property z

Return the Z coordinates of all points.

Methods in Common with Structured and Unstructured Grids

These methods are common to both pv.StructuredGrid and pv.UnstructuredGrid objects.

Attributes

volume

Compute the volume of the point grid.

Methods

plot_curvature([curv_type])

Plot the curvature of the external surface of the grid.

class pyvista.PointGrid(*args, **kwargs)

Bases: pyvista.core.pointset.PointSet

Class in common with structured and unstructured grids.

plot_curvature(curv_type='mean', **kwargs)

Plot the curvature of the external surface of the grid.

Parameters
  • curv_type (str, optional) –

    One of the following strings indicating curvature types

    • mean

    • gaussian

    • maximum

    • minimum

  • **kwargs (optional) – Optional keyword arguments. See help(pyvista.plot)

Returns

cpos – Camera position, focal point, and view up. Used for storing and setting camera view.

Return type

list

property volume

Compute the volume of the point grid.

This extracts the external surface and computes the interior volume