pyvista.Plotter.add_plane_widget#

Plotter.add_plane_widget(callback, normal='x', origin=None, bounds=None, factor=1.25, color=None, assign_to_axis=None, tubing=False, outline_translation=False, origin_translation=True, implicit=True, pass_widget=False, test_callback=True, normal_rotation=True, interaction_event='end')[ソース]#

シーンに平面ウィジェットを追加します.

これは,コールバック関数なしでは使用できません.このウィジェットから出力されるプレーンの法線と原点の順序という2つの引数を取る呼び出し可能関数を渡して,そのプレーンでタスクを実行することができます.

パラメータ:
callbackcallable()

このメソッドは,プレーンが更新されるたびに呼び出されます.平面の法線と原点の順序で2つの引数を取ります.

normalpython:str か python:tuple(python:float)

平面の開始法線ベクトル.

origintuple(float)

平面の中心の開始座標.

boundstuple(float)

ウィジェットが配置されるバウンディングボックスの長さ6のタプル.

factorfloat, optional

配置時に境界を拡張するための膨張係数.

colorColorLike, optional

文字列,RGBリスト,または16進カラー文字列.

assign_to_axispython:str または python:int, optional

平面の法線を指定された軸と平行になるように割り当てます.オプションは (0, 'x'), (1, 'y'),または (2, 'z') です.

tubingbool, optional

インプリシット平面ウィジェットを使用する場合,平面の境界の周囲にチューブを表示するかどうかを制御します.

outline_translationbool, optional

False の場合,プレーンウィジェットは移動できず,指定された境界に厳密に配置される.インプリシット平面を使用する場合にのみ有効です.

origin_translationbool, optional

False の場合,プレーンウィジェットは原点によって移動できず,指定された原点に厳密に配置される.インプリシット平面を使用する場合にのみ有効です.

implicitbool, optional

True の場合は vtkImplicitPlaneWidget が使用され, False の場合は vtkPlaneWidget が使用されます.

pass_widgetbool, optional

True の場合,ウィジェットはコールバックの最後の引数として渡されます.

test_callbackbool, optional

True の場合,ウィジェットの作成後にコールバック関数を実行します.

normal_rotationbool, optional

法線ベクトル矢印の不透明度を0に設定して,実質的に無効にします.これにより,ユーザは法線を回転できなくなります. assign_to_axis が設定されている場合,これは強制的に False になります.

interaction_eventvtk.vtkCommand.EventIds, str, optional

コールバックのトリガーに使用するVTKインタラクションイベントです.文字列 'start', 'end', `` always'`` または vtk.vtkCommand.EventIds を受け付けます.

バージョン 0.38.0 で変更: 文字列と vtk.vtkCommand.EventIds のいずれかを受け付けるようになりました.

戻り値:
vtk.vtkImplicitPlaneWidgetvtk.vtkPlaneWidget

平面ウィジェット.

ランダムヒルの例で,特定の距離xで最大高度をマークするために使用される,x軸に沿って移動するインタラクティブな平面を示します.

>>> import pyvista as pv
>>> from pyvista import examples
>>> mesh = examples.load_random_hills()
>>> pl = pv.Plotter()
>>> _ = pl.add_mesh(mesh)
>>> def callback(normal, origin):
...     slc = mesh.slice(normal=normal, origin=origin)
...     origin = list(origin)
...     origin[2] = slc.bounds[5]
...     peak_plane = pv.Plane(
...         center=origin,
...         direction=[0, 0, 1],
...         i_size=20,
...         j_size=20,
...     )
...     _ = pl.add_mesh(
...         peak_plane, name="Peak", color='red', opacity=0.4
...     )
...
>>> _ = pl.add_plane_widget(callback, normal_rotation=False)
>>> pl.show()
../../../_images/pyvista-Plotter-add_plane_widget-1_00_00.png