pyvista.CompositeAttributes.get_block#

CompositeAttributes.get_block(index)[ソース]#

ブロックをフラットインデックスで返します.

パラメータ:
indexint

取得するブロックのフラットインデックス.

戻り値:
pyvista.DataObject

PyVistaのデータオブジェクト.

備考

このメソッドは VTK のフラットインデックスを採用しており, 複合データセットのブロックだけでなく,複合データセット全体にもアクセスすることができます.もし複合データセット A がひとつだけあって, その中に [b, c] というデータセットが含まれている場合は, [A, b, c] というインデックスが作成されます.

一つの複合データセット A の中に2つの複合データセット [B, C] があり,それぞれに3つの追加データセット [d, e, f][g, h, i] があるとすると,ヘッドノード A がゼロインデックスとなり,最初の子 BB の全ての子 [d, e, f] と続いていることになります.データ構造では,このフラットなインデックス付けは "深さ優先探索" と呼ばれ,インデックス付け全体は次のようになります.

[A, B, d, e, f, C, g, h, i]

データセットだけでなく,複合データセットそのものが大文字で表示され,フラットインデックスでアクセスできることに注意してください.

プロッタに合成データセットを追加し,そのブロック属性にアクセスします.ゼロインデックスはマルチブロック全体であり, 12 を使って個々のサブブロックにアクセスすることができることに注意してください.

>>> import pyvista as pv
>>> dataset = pv.MultiBlock(
...     [pv.Cube(), pv.Sphere(center=(0, 0, 1))]
... )
>>> pl = pv.Plotter()
>>> actor, mapper = pl.add_composite(dataset)
>>> mapper.block_attr.get_block(0)
MultiBlock (...)
  N Blocks    2
  X Bounds    -0.500, 0.500
  Y Bounds    -0.500, 0.500
  Z Bounds    -0.500, 1.500

これは __getitem__ を使用するのと同じであることに注意してください.

>>> mapper.block_attr[0]
Composite Block Addr=... Attributes
Visible:   None
Opacity:   None
Color:     None
Pickable   None
../../../_images/pyvista-CompositeAttributes-get_block-1_00_00.png