pyvista.CompositeAttributes.get_block#
- CompositeAttributes.get_block(index)[ソース]#
ブロックをフラットインデックスで返します.
- パラメータ:
- index
int 取得するブロックのフラットインデックス.
- index
- 戻り値:
pyvista.DataObjectPyVistaのデータオブジェクト.
備考
このメソッドは VTK のフラットインデックスを採用しており, 複合データセットのブロックだけでなく,複合データセット全体にもアクセスすることができます.もし複合データセット
Aがひとつだけあって, その中に[b, c]というデータセットが含まれている場合は,[A, b, c]というインデックスが作成されます.一つの複合データセット
Aの中に2つの複合データセット[B, C]があり,それぞれに3つの追加データセット[d, e, f]と[g, h, i]があるとすると,ヘッドノードAがゼロインデックスとなり,最初の子BとBの全ての子[d, e, f]と続いていることになります.データ構造では,このフラットなインデックス付けは "深さ優先探索" と呼ばれ,インデックス付け全体は次のようになります.[A, B, d, e, f, C, g, h, i]
データセットだけでなく,複合データセットそのものが大文字で表示され,フラットインデックスでアクセスできることに注意してください.
例
プロッタに合成データセットを追加し,そのブロック属性にアクセスします.ゼロインデックスはマルチブロック全体であり,
1と2を使って個々のサブブロックにアクセスすることができることに注意してください.>>> 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: -5.000e-01, 5.000e-01 Y Bounds: -5.000e-01, 5.000e-01 Z Bounds: -5.000e-01, 1.500e+00
これは
__getitem__を使用するのと同じであることに注意してください.>>> mapper.block_attr[0] Composite Block Addr=... Attributes Visible: None Opacity: None Color: None Pickable None