pyvista.plotting.widgets.AffineWidget3D#

class AffineWidget3D(plotter, 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 変換ウィジェット.

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

パラメータ:
plotterpyvista.Plotter

プロッターオブジェクト.

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.Actor.user_matrix 内に保存されますが,データセットには適用されません.データセットを変換するには,この行列を pyvista.DataSetFilters.transform() と組み合わせて使用します.

VTK >= v9.2 が必要です.

プロッターの外部に affine ウィジェットを作成し,追加します.

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

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

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

メソッド

AffineWidget3D.disable()

ウィジェットを無効にします.

AffineWidget3D.enable()

ウィジェットを有効にします.

AffineWidget3D.remove()

このウィジェットのすべてのアクタを無効にして削除します.

アトリビュート

AffineWidget3D.axes

ウィジェットの軸を返すか設定します.

AffineWidget3D.origin

ウィジェットの原点.