pyvista.plotting.widgets.WidgetHelper.add_affine_transform_widget#

WidgetHelper.add_affine_transform_widget(actor, origin=None, start=True, scale=0.15, line_radius=0.02, always_visible=True, axes_colors=None, axes=None, release_callback=None, interact_callback=None)[ソース]#

3D affine 変換ウィジェットを追加します.

このウィジェットは,マウスの左ボタンを使って,平行移動と回転を含むインタラクティブな変形を可能にする.

パラメータ:
actorpyvista.Actor

ウィジェットがアタッチされているアクター.

originsequence[float], optional

ウィジェットの原点.デフォルトはメインアクターの原点です.

startbool, default: True

もしTrueなら,すぐにウィジェットを開始します.

scalefloat, default: 0.15

アクターの長さに対するウィジェットのスケール係数.

line_radiusfloat, default: 0.02

ウィジェットを構成する線の相対半径.

always_visiblebool, default: True

ウィジェットを常に表示するようにします.これを False に設定すると,プロッタ内の他のアクタによってウィジェットのジオメトリが隠されます.

axes_colorstuple[ColorLike], optional

デフォルトでテーマを使用します.各軸の色を設定するには, pyvista.global_theme.axes.x_color = 1 または ('r', 'g', 'b') のように tuple で設定します.

axesnumpy.ndarray, optional

(3, 3) X軸,Y軸,Z軸を定義するNumpy配列.デフォルトでは,これはデフォルトの座標系と一致する.

release_callbackcallable(), optional

マウスの左ボタンを離すときにこのメソッドを呼び出します.このメソッドにはアクタの user_matrix が渡されます.

interact_callbackcallable(), optional

マウスの左ボタンが押下され,有効な移動アクタが選択された状態でマウスを移動するときに,このメソッドを呼び出します.このメソッドには,アクタの user_matrix が渡されます.

戻り値:
pyvista.widgets.AffineWidget3D

affine ウィジェット.

備考

アクタと対話した後,変換結果は pyvista.Actor.user_matrix 内に保存されますが,データセットには適用されません.データセットを変換するには,この行列を pyvista.DataSetFilters.transform() と組み合わせて使用します.

3d affine ウィジェットを追加します.

>>> import pyvista as pv
>>> pl = pv.Plotter()
>>> actor = pl.add_mesh(pv.Sphere())
>>> widget = pl.add_affine_transform_widget(actor)
>>> pl.show()
../../../_images/pyvista-plotting-widgets-WidgetHelper-add_affine_transform_widget-1_00_00.png

アクターから変換にアクセスします.

>>> actor.user_matrix
array([[1., 0., 0., 0.],
       [0., 1., 0., 0.],
       [0., 0., 1., 0.],
       [0., 0., 0., 1.]])