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 の vtkAppendPolyDataFiltervtkCleanPolyData フィルターを使ってマージが行われました.それ外の場合は,VTK の vtkAppendFilter フィルタを使用する DataSetFilters.merge() が呼ばれました.パフォーマンスを向上させ,pyvistaの他のデータセットで利用できるマージ操作との一貫性を持たせるため, 0.39.0 では入力データセットの種類に関係なくマージ操作を DataSetFilters.merge() にのみ委任しています.これにより,PolyDataのみをマージする場合,以前のpyvistaバージョンと比較して,ポイントの順が変更される可能性があることが判明しました. 0.39.0 以前のバージョンと同様の結果を得るには, PolyDataFilters.append_polydata()PolyDataFilters.clean() を組み合わせてください.

パラメータ:
datasetpyvista.DataSet

このメッシュを結合するためのPyVistaデータセット.

merge_pointsbool, optional

True の時には同等のポイントをマージします.

tolerancefloat, default: 0.0

merge_points=True の時に,一致する点を見つけるのに使う絶対許容値です.

inplacebool, default: False

入力タイプが pyvista.PolyData の場合, True であれば,in-placeでグリッドを更新します.その他の入力メッシュの場合,結果は pyvista.UnstructuredGrid となり,インプレース操作ができなくなります.

main_has_prioritybool, optional

このパラメータが Truemerge_points=True がtrueの場合,マージグリッドの配列は元のメインメッシュによって上書きされます.

progress_barbool, default: False

進行状況を示す進行状況バーを表示します.

戻り値:
pyvista.DataSet

datasetpyvista.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')
../../../_images/pyvista-PolyDataFilters-merge-1_00_00.png