セル#

セル pyvista.Cell クラスは, vtkGenericCell を PyVista で表現したもので, pyvista.DataSet のセルや面,辺を調べるために使用されます.

注釈

メソッドやクラスはデータセットの一部を検査したりプロットしたりするのには非常に効果的ですが,非効率的なので,インタラクティブな探索やデバッグにのみ使用すべきです.大きなデータセットを扱うときや,複数のセルを扱うときは,一般的に pyvista.DataSetFilters.extract_cells() のようなバルクメソッドを使用する方が効率的です.

ここでは, pyvista.DataSet.get_cell() を使って, pyvista.UnstructuredGrid から六面体のセルを取り出す例を簡単に説明します.

from pyvista import examples
mesh = examples.load_hexbeam()
cell = mesh.get_cell(0)
cell
Cell (0x7fd6419bd960)
  Type:        <CellType.HEXAHEDRON: 12>
  Linear:      True
  Dimension:   3
  N Points:    8
  N Faces:     6
  N Edges:     12
  X Bounds:    0.000e+00, 5.000e-01
  Y Bounds:    0.000e+00, 5.000e-01
  Z Bounds:    0.000e+00, 5.000e-01
そして,そのセルの1つの面を抽出することができます.
face = cell.get_face(0)
face
Cell (0x7fd6419bda20)
  Type:        <CellType.QUAD: 9>
  Linear:      True
  Dimension:   2
  N Points:    4
  N Faces:     0
  N Edges:     4
  X Bounds:    0.000e+00, 0.000e+00
  Y Bounds:    0.000e+00, 5.000e-01
  Z Bounds:    0.000e+00, 5.000e-01
その後,面から1つまたは複数のエッジを抽出することができます.
edge = face.get_edge(0)
edge
Cell (0x7fd6419bd8a0)
  Type:        <CellType.LINE: 3>
  Linear:      True
  Dimension:   1
  N Points:    2
  N Faces:     0
  N Edges:     0
  X Bounds:    0.000e+00, 0.000e+00
  Y Bounds:    0.000e+00, 0.000e+00
  Z Bounds:    0.000e+00, 5.000e-01
pyvista.Cell は個別にプロットすることができ,便利です.
cell.plot(show_edges=True, line_width=3)
../../_images/cells_4_0.png

クラス定義#

pyvista.Cell([vtk_cell, cell_type, deep])

vtkCellのラッピングです.