pyvista.plotting.widgets.WidgetHelper.add_line_widget#

WidgetHelper.add_line_widget(callback, bounds=None, factor=1.25, resolution=100, color=None, use_vertices=False, pass_widget=False, interaction_event=45)[ソース]#

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

これは,コールバック関数なしでは使用できません.単一の引数を取る呼び出し可能関数,このウィジェットからのPolyData行出力を渡して,その行でタスクを実行することができます.

パラメータ:
callbackcallable()

行が更新されるたびに呼び出されるメソッド.これには2つのオプションがあります:1つの引数, PolyData 行 (デフォルト) を取るか, use_vertices=True の場合,行の終点の座標の2つの引数を取ることができます.

boundstuple(float), optional

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

factorfloat, optional

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

resolutionint, optional

作成された線分内の点の数.

colorColorLike, optional

文字列,RGB配列,または16進数の色文字列のいずれかです.

use_verticesbool, optional

PolyDataオブジェクトの代わりにラインの終点を使用するように,コールバックメソッドの引数を変更します.

pass_widgetbool, default: False

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

interaction_eventvtk.vtkCommand.EventIds, optional

コールバックのトリガーに使用するVTKインタラクションイベントです.

戻り値:
vtk.vtkLineWidget

作成されたラインウィジェット.

add_mesh_slice 関数のように,スライスしたオブジェクトを移動するためのインタラクティブなラインウィジェットを表示します.

>>> import pyvista as pv
>>> from pyvista import examples
>>> import numpy as np
>>> model = examples.load_channels()
>>> pl = pv.Plotter()
>>> _ = pl.add_mesh(model, opacity=0.4)
>>> def move_center(pointa, pointb):
...     center = (np.array(pointa) + np.array(pointb)) / 2
...     normal = np.array(pointa) - np.array(pointb)
...     single_slc = model.slice(normal=normal, origin=center)
...
...     _ = pl.add_mesh(single_slc, name="slc")
...
>>> _ = pl.add_line_widget(callback=move_center, use_vertices=True)
>>> pl.show()
../../../_images/pyvista-plotting-widgets-WidgetHelper-add_line_widget-1_00_00.png