pyvista.plotting.widgets.WidgetHelper.add_line_widget#
- WidgetHelper.add_line_widget(
- callback,
- bounds=None,
- factor=1.25,
- resolution=100,
- color=None,
- use_vertices: bool = False,
- pass_widget: bool = False,
- interaction_event: pyvista.InteractionEventType = 'end',
シーンに線ウィジェットを追加します.
これは,コールバック関数なしでは使用できません.単一の引数を取る呼び出し可能関数,このウィジェットからの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
InteractionEventType,optional The VTK interaction event to use for triggering the callback. Accepts either the strings
'start','end','always'or a vtkCommand.EventIds.
- callback
- 戻り値:
- 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()