pyvista.PolyDataFilters.merge#
- PolyDataFilters.merge(dataset, merge_points=True, tolerance=0.0, inplace=False, main_has_priority=True, progress_bar=False)[ソース]#
このメッシュを1つまたは複数のデータセットと結合します.
注釈
このフィルタの動作は
PolyDataFilters.boolean_union()
フィルタとは異なります. このフィルタはマニフォールドメッシュを作成しようとはせず,2つのメッシュが重なっている場合には内部サーフェスを含みます.注釈
2つのメッシュ間の
+
演算子は,このフィルタをデフォルトのパラメータで使用します.もう一方のメッシュがpyvista.PolyData
である場合には,同様に+=
によるin-placeのマージが可能です.バージョン 0.39.0 で変更: バージョン
0.39.0
までは,すべての入力データセットがpyvista.PolyData`
型である場合,VTK のvtkAppendPolyDataFilter
とvtkCleanPolyData
フィルターを使ってマージが行われました.それ外の場合は,VTK のvtkAppendFilter
フィルタを使用するDataSetFilters.merge()
が呼ばれました.パフォーマンスを向上させ,pyvistaの他のデータセットで利用できるマージ操作との一貫性を持たせるため, 0.39.0 では入力データセットの種類に関係なくマージ操作をDataSetFilters.merge()
にのみ委任しています.これにより,PolyDataのみをマージする場合,以前のpyvistaバージョンと比較して,ポイントの順が変更される可能性があることが判明しました. 0.39.0 以前のバージョンと同様の結果を得るには,PolyDataFilters.append_polydata()
とPolyDataFilters.clean()
を組み合わせてください.- パラメータ:
- dataset
pyvista.DataSet
このメッシュを結合するためのPyVistaデータセット.
- merge_pointsbool,
optional
True
の時には同等のポイントをマージします.- tolerance
float
, default: 0.0 merge_points=True
の時に,一致する点を見つけるのに使う絶対許容値です.- inplacebool, default:
False
入力タイプが
pyvista.PolyData
の場合,True
であれば,in-placeでグリッドを更新します.その他の入力メッシュの場合,結果はpyvista.UnstructuredGrid
となり,インプレース操作ができなくなります.- main_has_prioritybool,
optional
このパラメータが
True
でmerge_points=True
がtrueの場合,マージグリッドの配列は元のメインメッシュによって上書きされます.- progress_barbool, default:
False
進行状況を示す進行状況バーを表示します.
- dataset
- 戻り値:
pyvista.DataSet
dataset
がpyvista.PolyData
であればpyvista.PolyData
を,そうでなければpyvista.UnstructuredGrid
を使用します.
例
>>> import pyvista as pv >>> sphere_a = pv.Sphere() >>> sphere_b = pv.Sphere(center=(0.5, 0, 0)) >>> merged = sphere_a.merge(sphere_b) >>> merged.plot(style='wireframe', color='lightblue')