セル#
セル 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)
クラス定義#
|
vtkCellのラッピングです. |