ジャンプ先: 概要. 戻り値. フラグ. 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 でプログラミングできます。

戻り値

stringコンテキストの名前

照会モードでは、戻り値のタイプは照会されたフラグに基づきます。

フラグ

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] query
ドラッガが最初に押された場所を表すアンカー ポイント(double 配列)。
button(bu) int query
現在のマウス ボタン(1、2、3)を返します。
currentStep(cs) int query
ドラッガ コンテキストの現在のステップ(プレス - ドラッグ - リリース シーケンス)。最初のプレス イベントの実行前に照会すると、0 が返されます。
cursor(cur) string createqueryedit
コンテキストがアクティブな間に表示されるカーソル。有効な値は、「default」、「hand」、「crossHair」、「dolly」、「track」、「tumble」です。
dragCommand(dc) script createqueryedit
マウス ドラッガをドラッグした場合にコールされるコマンド。
dragPoint(dp) [float, float, float] query
ドラッグ中のドラッガの現在位置を表すドラッグ ポイント(double 配列)。
drawString(ds) string createedit
ポインタの現在位置で描画される文字列。
exists(ex) boolean create
指定したオブジェクトが存在するかどうかによって、true または false を返します。他のフラグは無視されます。
finalize(fnz) script createqueryedit
ツールを終了するとコールされるコマンドです。
helpString(hs) string query
コンテキストのヘルプ文字列
history(ch) boolean create
ツール コマンドの場合、対象となるツールのコンストラクション ヒストリをオンにします。
holdCommand(hc) script createqueryedit
マウス ドラッガを押したままの状態にした場合にコールされるコマンド。
image1(i1) string createqueryedit
コンテキストに関連付けられているツールを表す 3 つの可能なアイコンの中の最初のアイコンです。
image2(i2) string createqueryedit
コンテキストに関連付けられているツールを表す 3 つの可能なアイコンの中の 2 番目のアイコンです。
image3(i3) string createqueryedit
コンテキストに関連付けられているツールを表す 3 つの可能なアイコンの中の 3 番目のアイコンです。
initialize(inz) script createqueryedit
ツールを入力するとコールされるコマンドです。
modifier(mo) string query
現在のモディファイア タイプ、「ctrl」、「alt」、または「none」です。
name(n) string create
これがツール コマンドの場合、ツールに適切に名前を付けます。
plane(pl) [float, float, float] createedit
投影プレーンの法線を指定します(詳細については、-projection フラグを参照)。
prePressCommand(ppc) script createqueryedit
マウス ドラッガを押した場合にコールされるコマンドです。以前は、コンテキストの初期化に使用できるように、pressCommand という名前になっていました。
pressCommand(pc) script createqueryedit
マウス ドラッガを押した場合にコールされるコマンドです。
projection(pr) string createqueryedit
ドラッグ ポイントの現在の投影が設定されます。有効なタイプは以下のとおりです。
viewPlane (ビュー プレーンに投影)
objectViewPlane ((ビュー プレーンと平行な)オブジェクト プレーンに投影)
objectPlane (オブジェクトの位置と法線(既定)0,1,0 で定義した指定プレーンに投影)
plane (原点と法線(既定)0,1,0 で定義した指定プレーンに投影)
sketchPlane (スケッチ プレーンに投影)
xAxis (X 軸上の最近接ポイントに投影)
yAxis (Y 軸上の最近接ポイントに投影)
zAxis (Z 軸上の最近接ポイントに投影)
boundingSphere (オブジェクト球の境界上の最近接ポイントに投影)
boundingBox (オブジェクト バウンディング ボックス上の最近接ポイントに投影)
releaseCommand(rc) script createqueryedit
マウス ドラッガを放した場合にコールされるコマンド。
snapping(snp) boolean createqueryedit
ドラッガ コンテキストのスナップを有効化/無効化します。
space(sp) string createqueryedit
座標が報告される現在の空間が設定されます。タイプは以下のとおりです。
world ワールド空間(グローバル)
object オブジェクト空間(ローカル)
screen スクリーンのスペース
stepsCount(sc) int createqueryedit
ドラッガ コンテキストのステップ数(プレス - ドラッグ - リリース シーケンス)。undoMode フラグと組み合わせると、複数のステップが単一の元に戻すアクションとして記録される可能性があります。
undoMode(um) string createqueryedit
コンテキスト動作の元に戻す待ち行列モード。許容可能な値は、
  • 「all」- 既定の動作で、ドラッガ コンテキスト動作時に発生するすべてのアクションが個々の元に戻すチャンクとして記録されます。
  • 「step」- それぞれのプレスとリリースの間に行われたすべてのアクションが、単一の元に戻すチャンクに結合されます。
  • 「sequence」- 最初のプレスと最後のリリースの間に行われたすべてのアクションが、単一の元に戻すチャンクに結合されます。これは、単一ステップ ドラッガ コンテキストの「 ステップ」とまったく同じように機能します。

フラグはコマンドの作成モードで表示できます フラグはコマンドの編集モードで表示できます
フラグはコマンドの照会モードで表示できます フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。

Python 例

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')