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行出力を渡して,その行でタスクを実行することができます.
- パラメータ:
- callback
callable()
行が更新されるたびに呼び出されるメソッド.これには2つのオプションがあります:1つの引数,
PolyData
行 (デフォルト) を取るか,use_vertices=True
の場合,行の終点の座標の2つの引数を取ることができます.- bounds
tuple
(float
),optional
ウィジェットが配置されるバウンディングボックスの長さ6のタプル.
- factor
float
,optional
配置時に境界を拡張するための膨張係数.
- resolution
int
,optional
作成された線分内の点の数.
- color
ColorLike
,optional
文字列,RGB配列,または16進数の色文字列のいずれかです.
- use_verticesbool,
optional
PolyDataオブジェクトの代わりにラインの終点を使用するように,コールバックメソッドの引数を変更します.
- pass_widgetbool, default:
False
True
の場合,ウィジェットはコールバックの最後の引数として渡されます.- interaction_event
vtk.vtkCommand.EventIds
,optional
コールバックのトリガーに使用するVTKインタラクションイベントです.
- callback
- 戻り値:
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()