| Inheritance | 
                
                    
        
            
                
  | 
        
メソッド ¶
__init__(name, xform=hou.Matrix4(1.0), inv_xform=hou.Matrix4(1.0))
        
PythonステートのDraggerオブジェクトを作成します。 このDraggerにトランスフォームを設定することで、座標空間が変わっても正しく処理することができます。 ビューアのDraggerに関する詳細は、hou.ViewerDraggerを参照してください。
name
        
Draggerを識別するための名前。
xform
        
Draggerが使用するオプションのトランスフォームで、ローカル座標をワールド空間に変換します。デフォルトは単位行列です。
inv_xform
        
Draggerが使用するオプションの逆トランスフォームで、ワールド座標をローカル空間に変換します。デフォルトは単位行列です。
setTransform(xform)
        
このDraggerのトランスフォーム行列を設定します。
xform
        
hou.Matrix4トランスフォーム行列。
setInverseTransform(inv_xform)
        
このDraggerの逆トランスフォーム行列を設定します。
inv_xform
        
hou.Matrix4トランスフォーム行列。
Methods from hou.ViewerDragger ¶
startDrag(ui_event, start_pos)
        
Draggerがマウスを指定した位置からビューポート内の任意の場所まで動かせるようにします。
Note
を使ってonMouseIndirectEventから
startDragを呼び出すと、Draggerは、マウス下のワールド空間位置を基準にハンドル位置を計算します。
ui_event
        
UIイベント情報が格納されたhou.ViewerEventオブジェクト。
        通常では、これはHoudiniがPythonハンドルまたはPythonステートのonMouseEventに渡すオブジェクトです。
start_pos
        
ドラッグ操作の開始位置を示したhou.Vector3オブジェクト。 例えば、ここにはPythonハンドルのピボットを指定します。
startDragAcrossFloor(ui_event, start_pos, mouse_offset)
        
このメソッドは、Draggerがコンストラクション平面やビューポートの参照平面グリッドに沿ってマウスを移動できるようにします。
ui_event
        
UIイベント情報が格納されたhou.ViewerEventオブジェクト。
        これは、HoudiniがonMouseEventPythonハンドルのハンドラーに渡すオブジェクトです。
start_pos
        
ドラッグ操作の開始位置を示したhou.Vector3オブジェクト。
startDragAlongLine(ui_event, line_origin, line_dir)
        
開始ポイントと方向ベクトルで定義されたラインに沿ってマウスを動かすようにDraggerを設定します。 ラインをピックしてマウスを動かすと、Draggerは、そのマウスの動きをそのラインの方向に拘束します。
ui_event
        
UIイベント情報が格納されたhou.ViewerEventオブジェクト。
        これは、HoudiniがonMouseEventPythonハンドルのハンドラーに渡すオブジェクトです。
line_origin
        
ラインの開始位置を定義したhou.Vector3オブジェクト。
line_dir
        
ラインの方向を定義したhou.Vector3オブジェクト。
startDragAlongPlane(ui_event, plane_point, plane_normal)
        
原点ポイントと法線ベクトルで定義された平面に沿ってマウスを動かすようにDraggerを設定します。
    LMBを押してマウスを動かすと、Draggerは、そのマウスの位置をその平面上に拘束します。
ui_event
        
UIイベント情報が格納されたhou.ViewerEventオブジェクト。
        これは、HoudiniがonMouseEventPythonハンドルのハンドラーに渡すオブジェクトです。
plane_point
        
平面上のポイントを定義したhou.Vector3オブジェクト。
plane_normal
        
平面法線を定義したhou.Vector3オブジェクト。
startDragRotate(ui_event, center_pos, radius, rotate_axis, orient)
        
軸周りの“リング”をドラッグするようにDraggerを設定します。
ui_event
        
UIイベント情報が格納されたhou.ViewerEventオブジェクト。
        これは、HoudiniがonMouseEventPythonハンドルのハンドラーに渡すオブジェクトです。
center_pos
        
回転の中心を表現したhou.Vector3オブジェクト。
radius
        
回転リングの半径。
rotate_axis
        
回転軸を表現したhou.Vector3オブジェクト。 通常では、ここには、正規化されたベクトルを回転平面法線として使用します。
orient
        
軸の回転マトリックスを表現したhou.Matrix3オブジェクト。
drag(ui_event)
   → (dictionary)
        
以前にコールしたstart系メソッドに基づいてドラッグ操作を実行します。
    start系メソッドを使用してDraggerが初期化されていなければ、hou.OperationFailedが引き起こされます。
マウスがドラッグされている時にこのメソッドがコールされます。
    Draggerのどのオペレーションもワールド空間で処理され、ダイアログのオプションが有効になっていれば、(
rotationを除く)スナップを実行することができます。
このメソッドは、次の操作をした結果の値を含んだ辞書を返します: XYZ Drag, Drag Across Floor, Drag Along Line, Drag Along Plane:
値  | 
            
        
            
                
    説明  | 
            
        
    
|---|---|
                  | 
            
        
            
                
    
            
    
     ドラッグの開始位置を基準とするマウスの差分位置を表現したhou.Vector3ベクトル。  | 
            
        
    
                  | 
            
        
            
                
    
            
    
     マウスのワールド座標の絶対位置を表現したhou.Vector3ベクトル。  | 
            
        
    
Drag Rotateの操作では、以下の辞書が返されます:
値  | 
            
        
            
                
    説明  | 
            
        
    
|---|---|
                  | 
            
        
            
                
    
            
    
     回転の開始位置を基準とする差分角度(単位はラジアン)を表現したhou.Vector3ベクトル。  | 
            
        
    
                  | 
            
        
            
                
    
            
    
     回転の開始位置を基準とする合計の角度(単位はラジアン)を表現したhou.Vector3ベクトル。  | 
            
        
    
                  | 
            
        
            
                
    
            
    
     回転の開始位置を基準とする回転リングの絶対位置を表現したhou.Vector3ベクトル。  | 
            
        
    
                  | 
            
        
            
                
    
            
    
     
  | 
            
        
    
endDrag()
        
Draggerで実行されたドラッグキャッシュと他の設定を解放することによって、現在のドラッグ操作を終了します。
valid()
  → bool
        
Draggerの使用準備が整っていればTrue、そうでないならFalseを返します。
    Draggerを使用可能にするには、まず最初にDraggerのstart系メソッドのどれかをコールする必要があります。
name()
  → str
        
Draggerの名前を返します。
position()
  → hou.Vector3
        
現在のドラッグ操作のマウスの絶対位置を返します。 この戻り値は、次の操作に関係しています: XYZ Drag, Drag Across Floor, Drag Along Line, Drag Along Plane。
startPosition()
  → hou.Vector3
        
現在のドラッグ操作の設定に使用されている開始位置を返します。 Drag Rotateの操作では、この戻り値は回転の中心を意味します。
startDirection()
  → hou.Vector3
        
現在のドラッグ操作の設定に使用されている開始方向を返します。
Drag Rotateの操作では、この戻り値はスクリーン空間におけるhou.ViewerEventのマウス座標に相当する“光線の向き”を示した方向ベクトルを意味します。
startRotatePosition()
  → hou.Vector3
        
Drag Rotateの操作での回転リングの開始位置を返します。
enableModifierKeys(enable)
        
このドラッガーが修飾キーを使用してドラッグ操作を変更できるようにするかどうかを設定します。
    有効にすると、Ctrl+Shift修飾キーの組み合わせはXYZドラッグをスクリーン空間で45度軸までに制限し、
    コンストラクション平面がアクティブな場合、Shift修飾キーを使用してドラッガーからコンストラクション平面までの距離を変更することができます。
| See also |