pyvista.CompositeAttributes.get_block#
- CompositeAttributes.get_block(index)[ソース]#
ブロックをフラットインデックスで返します.
- パラメータ:
- index
int
取得するブロックのフラットインデックス.
- index
- 戻り値:
pyvista.DataObject
PyVistaのデータオブジェクト.
備考
このメソッドは 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 -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