pyvista.PolyDataFilters.merge#
- PolyDataFilters.merge(
- dataset,
- merge_points: bool = True,
- tolerance=0.0,
- inplace: bool = False,
- main_has_priority: bool = True,
- progress_bar: bool = 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.DataSetdatasetが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')