ジャンプ先: 概要. 戻り値. フラグ. Python 例.
draggerContext(
[name]
, [anchorPoint=[float, float, float]], [button=int], [currentStep=int], [cursor=string], [dragCommand=script], [dragPoint=[float, float, float]], [drawString=string], [exists=boolean], [finalize=script], [helpString=string], [history=boolean], [holdCommand=script], [image1=string], [image2=string], [image3=string], [initialize=script], [modifier=string], [name=string], [plane=[float, float, float]], [prePressCommand=script], [pressCommand=script], [projection=string], [releaseCommand=script], [snapping=boolean], [space=string], [stepsCount=int], [undoMode=string])
注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。
draggerContext は、取り消し可能、照会可能、および編集可能です。
draggerContext を使用すると、マウスかマウスと同等のドラッグ デバイスの動作を MEL でプログラミングできます。
照会モードでは、戻り値のタイプは照会されたフラグに基づきます。
anchorPoint, button, currentStep, cursor, dragCommand, dragPoint, drawString, exists, finalize, helpString, history, holdCommand, image1, image2, image3, initialize, modifier, name, plane, prePressCommand, pressCommand, projection, releaseCommand, snapping, space, stepsCount, undoMode
| ロング ネーム(ショート ネーム) |
引数タイプ |
プロパティ |
|
anchorPoint(ap)
|
[float, float, float]
|
|
|
ドラッガが最初に押された場所を表すアンカー ポイント(double 配列)。
|
|
button(bu)
|
int
|
|
|
|
currentStep(cs)
|
int
|
|
|
ドラッガ コンテキストの現在のステップ(プレス - ドラッグ - リリース シーケンス)。最初のプレス イベントの実行前に照会すると、0 が返されます。
|
|
cursor(cur)
|
string
|
 
|
|
コンテキストがアクティブな間に表示されるカーソル。有効な値は、「default」、「hand」、「crossHair」、「dolly」、「track」、「tumble」です。
|
|
dragCommand(dc)
|
script
|
 
|
|
マウス ドラッガをドラッグした場合にコールされるコマンド。
|
|
dragPoint(dp)
|
[float, float, float]
|
|
|
ドラッグ中のドラッガの現在位置を表すドラッグ ポイント(double 配列)。
|
|
drawString(ds)
|
string
|

|
|
|
exists(ex)
|
boolean
|
|
|
指定したオブジェクトが存在するかどうかによって、true または false を返します。他のフラグは無視されます。
|
|
finalize(fnz)
|
script
|
 
|
|
|
helpString(hs)
|
string
|
|
|
|
history(ch)
|
boolean
|
|
|
ツール コマンドの場合、対象となるツールのコンストラクション ヒストリをオンにします。
|
|
holdCommand(hc)
|
script
|
 
|
|
マウス ドラッガを押したままの状態にした場合にコールされるコマンド。
|
|
image1(i1)
|
string
|
 
|
|
コンテキストに関連付けられているツールを表す 3 つの可能なアイコンの中の最初のアイコンです。
|
|
image2(i2)
|
string
|
 
|
|
コンテキストに関連付けられているツールを表す 3 つの可能なアイコンの中の 2 番目のアイコンです。
|
|
image3(i3)
|
string
|
 
|
|
コンテキストに関連付けられているツールを表す 3 つの可能なアイコンの中の 3 番目のアイコンです。
|
|
initialize(inz)
|
script
|
 
|
|
|
modifier(mo)
|
string
|
|
|
現在のモディファイア タイプ、「ctrl」、「alt」、または「none」です。
|
|
name(n)
|
string
|
|
|
これがツール コマンドの場合、ツールに適切に名前を付けます。
|
|
plane(pl)
|
[float, float, float]
|

|
|
投影プレーンの法線を指定します(詳細については、-projection フラグを参照)。
|
|
prePressCommand(ppc)
|
script
|
 
|
|
マウス ドラッガを押した場合にコールされるコマンドです。以前は、コンテキストの初期化に使用できるように、pressCommand という名前になっていました。
|
|
pressCommand(pc)
|
script
|
 
|
|
マウス ドラッガを押した場合にコールされるコマンドです。
|
|
projection(pr)
|
string
|
 
|
|
ドラッグ ポイントの現在の投影が設定されます。有効なタイプは以下のとおりです。
| viewPlane |
(ビュー プレーンに投影) |
| objectViewPlane |
((ビュー プレーンと平行な)オブジェクト プレーンに投影) |
| objectPlane |
(オブジェクトの位置と法線(既定)0,1,0 で定義した指定プレーンに投影) |
| plane |
(原点と法線(既定)0,1,0 で定義した指定プレーンに投影) |
| sketchPlane |
(スケッチ プレーンに投影) |
| xAxis |
(X 軸上の最近接ポイントに投影) |
| yAxis |
(Y 軸上の最近接ポイントに投影) |
| zAxis |
(Z 軸上の最近接ポイントに投影) |
| boundingSphere |
(オブジェクト球の境界上の最近接ポイントに投影) |
| boundingBox |
(オブジェクト バウンディング ボックス上の最近接ポイントに投影) |
|
|
releaseCommand(rc)
|
script
|
 
|
|
マウス ドラッガを放した場合にコールされるコマンド。
|
|
snapping(snp)
|
boolean
|
 
|
|
ドラッガ コンテキストのスナップを有効化/無効化します。
|
|
space(sp)
|
string
|
 
|
|
座標が報告される現在の空間が設定されます。タイプは以下のとおりです。
| world |
ワールド空間(グローバル) |
| object |
オブジェクト空間(ローカル) |
| screen |
スクリーンのスペース |
|
|
stepsCount(sc)
|
int
|
 
|
|
ドラッガ コンテキストのステップ数(プレス - ドラッグ - リリース シーケンス)。undoMode フラグと組み合わせると、複数のステップが単一の元に戻すアクションとして記録される可能性があります。
|
|
undoMode(um)
|
string
|
 
|
|
コンテキスト動作の元に戻す待ち行列モード。許容可能な値は、
- 「all」- 既定の動作で、ドラッガ コンテキスト動作時に発生するすべてのアクションが個々の元に戻すチャンクとして記録されます。
- 「step」- それぞれのプレスとリリースの間に行われたすべてのアクションが、単一の元に戻すチャンクに結合されます。
- 「sequence」- 最初のプレスと最後のリリースの間に行われたすべてのアクションが、単一の元に戻すチャンクに結合されます。これは、単一ステップ ドラッガ コンテキストの「 ステップ」とまったく同じように機能します。
|
|
フラグはコマンドの作成モードで表示できます
|
フラグはコマンドの編集モードで表示できます
|
フラグはコマンドの照会モードで表示できます
|
フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。
|
import maya.cmds as cmds
# Procedure called on press
def SampleContextPress():
pressPosition = cmds.draggerContext( 'sampleContext', query=True, anchorPoint=True)
print ("Press: " + str(pressPosition))
# Procedure called on drag
def SampleContextDrag():
dragPosition = cmds.draggerContext( 'sampleContext', query=True, dragPoint=True)
button = cmds.draggerContext( 'sampleContext', query=True, button=True)
modifier = cmds.draggerContext( 'sampleContext', query=True, modifier=True)
print ("Drag: " + str(dragPosition) + " Button is " + str(button) + " Modifier is " + modifier + "\n")
message = str(dragPosition[0]) + ", " + str(dragPosition[1])
cmds.draggerContext( 'sampleContext', edit=True, drawString=message)
# Define draggerContext with press and drag procedures
cmds.draggerContext( 'sampleContext', pressCommand='SampleContextPress()', dragCommand='SampleContextDrag()', cursor='hand' );
# Set the tool to the sample context created
# Results can be observed by dragging mouse around main window
cmds.setToolTo('sampleContext')