ジャンプ先: 概要. 戻り値. フラグ. Python 例.
nodeOutliner(
[string]
, [addCommand=script], [addObject=name], [annotation=string], [attrAlphaOrder=string], [backgroundColor=[float, float, float]], [connectivity=name], [currentSelection=boolean], [defineTemplate=string], [docTag=string], [dragCallback=script], [dropCallback=script], [enable=boolean], [enableBackground=boolean], [enableKeyboardFocus=boolean], [exists=boolean], [filter=string], [fullPathName=boolean], [height=int], [highlightColor=[float, float, float]], [isObscured=boolean], [lastClickedNode=boolean], [lastMenuChoice=string], [longNames=boolean], [manage=boolean], [menuCommand=script], [menuMultiOption=boolean], [multiSelect=boolean], [niceNames=boolean], [noBackground=boolean], [noConnectivity=boolean], [nodesDisplayed=boolean], [numberOfPopupMenus=boolean], [parent=string], [popupMenuArray=boolean], [pressHighlightsUnconnected=boolean], [preventOverride=boolean], [redraw=boolean], [redrawRow=boolean], [remove=string], [removeAll=boolean], [replace=name], [selectCommand=script], [showConnectedOnly=boolean], [showHidden=boolean], [showInputs=boolean], [showNonConnectable=boolean], [showNonKeyable=boolean], [showOutputs=boolean], [showPublished=boolean], [showReadOnly=boolean], [statusBarMessage=string], [useTemplate=string], [visible=boolean], [visibleChangeCommand=script], [width=int])
注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。
nodeOutliner は、取り消し可能、照会可能、および編集可能です。
node アウトライナ(Outliner)コマンドで、ディペンデンシー ノードとそのアトリビュートを表示するアウトライン コントロール を作成、編集、照会します。複合アトリビュートを拡張して子を表示させることもできます。コンフィギュア フラグを追加すると、複数選択、カスタマイズ可能なコマンドの選択時発行、単一の入力アトリビュートに対する接続(およびコネクタビリティ)が可能になります。また、コマンド ライン インタフェース、および drag/add を使って、ノードの追加/除去/置き換えを行うこともできます。
構成によっては、ノードに接続されたアトリビュートをドラッグすると、ノードが接続の反対側の端にロードされることがあります。
コマンドをアタッチするには、右マウス ボタン メニューとフラグを使う方法があります。このメニューは、接続されたアトリビュートの特定の接続をリスト表示させるときに使います。接続されたアトリビュートの行以外をクリックすると、空のメニューが表示されます。既定では、メニューにアタッチされたコマンドはありません。
なし
照会モードでは、戻り値のタイプは照会されたフラグに基づきます。
addCommand, addObject, annotation, attrAlphaOrder, backgroundColor, connectivity, currentSelection, defineTemplate, docTag, dragCallback, dropCallback, enable, enableBackground, enableKeyboardFocus, exists, filter, fullPathName, height, highlightColor, isObscured, lastClickedNode, lastMenuChoice, longNames, manage, menuCommand, menuMultiOption, multiSelect, niceNames, noBackground, noConnectivity, nodesDisplayed, numberOfPopupMenus, parent, popupMenuArray, pressHighlightsUnconnected, preventOverride, redraw, redrawRow, remove, removeAll, replace, selectCommand, showConnectedOnly, showHidden, showInputs, showNonConnectable, showNonKeyable, showOutputs, showPublished, showReadOnly, statusBarMessage, useTemplate, visible, visibleChangeCommand, width
| ロング ネーム(ショート ネーム) |
引数タイプ |
プロパティ |
|
addCommand(ac)
|
script
|
 
|
|
ノード アウトライナが何かを追加したときにコマンドが実行されます。追加されたもののかわりに %node を使用します。たとえば、追加されたオブジェクトをプリントしたい場合のコマンドは、「print (\"%node \\n\")」となります。Python オブジェクトは、パスしたノード名を呼び出すことができます。
|
|
addObject(a)
|
name
|
|
|
|
annotation(ann)
|
string
|
 
|
|
|
attrAlphaOrder(aao)
|
string
|
 
|
|
アトリビュートのソート方法を指定します。現在認識される値は、ソートなしの場合の「default」、アトリビュートをa から z にソートする「ascend」、z から a にソートする場合の「descend」です。注: a)これは最上位アトリビュートにのみ適用されます。
|
|
backgroundColor(bgc)
|
[float, float, float]
|
 
|
|
コントロールのバックグラウンド カラーです。引数は、赤、緑、青のカラー成分に対応しています。それぞれの成分の値は、0.0~1.0 です。
backgroundColor を設定すると、enableBackground を false に指定しない限り、バックグラウンドは自動的に有効になります。
|
|
connectivity(c)
|
name
|

|
|
アトリビュート引数(「nodeName.attributeName」)を取り、指定された対象に接続できないアトリビュートをすべて淡色表示し、すでに接続されているアトリビュートをすべてハイライトします。
|
|
currentSelection(cs)
|
boolean
|
|
|
|
defineTemplate(dt)
|
string
|
|
|
他の任意のフラグと引数を解析し、かつ引数で指定したコマンド テンプレートに追加するモードに、コマンドのモードを変更します。templateName が現在のテンプレートとして設定されていれば、その後コマンドが実行されるたびに、この引数が既定の引数として使用されます。
|
|
docTag(dtg)
|
string
|
 
|
|
コントロールにドキュメンテーション フラグを追加します。ドキュメンテーション フラグはディレクトリ構造になっています(例: -dt render/multiLister/createNode/material)。
|
|
dragCallback(dgc)
|
script
|

|
|
中マウス ボタンを押すと呼び出されるコールバックを追加します。MEL バージョンのコールバックの書式は次のとおりです。
global proc string[] callbackName(string $dragControl, int $x, int $y, int $mods)
proc はドロップ先に転送される文字配列を返します。規則により、配列の先頭文字列はユーザ設定可能なメッセージ タイプを表しています。アプリケーションで定義されたドラッグ元のコントロールは、このコールバックを無視する可能性があります。$mods で、キー モディファイヤである CTRL と SHIFT をテストできます。有効な値は、0 == モディファイアなし、1 == SHIFT、2 == CTRL、3 == CTRL + SHIFT です。
Python でも同様ですが、コールバックの指定方法が 2 つあります。お勧めの方法は、引数として Python 関数オブジェクトを渡すことです。この場合、Python コールバックの書式は次のようになります。
def callbackName( dragControl, x, y, modifiers ):
この引数の値は、上記の MEL バージョンの引数と同じです。
Python でコールバックを指定するもう 1 つの方法では、実行する文字列を指定します。この場合、Python の標準的なフォーマット演算子を介して文字列に値が代入されます。このフォーマットの値は、キー「dragControl」、「x」、「y」、「modifiers」と共に辞書で渡されます。dragControl の値は文字列で、その他の値は整数です(コールバック文字列の例: 「print '%(dragControl)s %(x)d %(y)d %(modifiers)d'」)。
|
|
dropCallback(dpc)
|
script
|

|
|
ドラッグ&ドロップ操作をドロップ位置で解放したときにコールされるコールバックを追加します。MEL バージョンのコールバックの書式は次のとおりです。
global proc callbackName(string $dragControl, string $dropControl, string $msgs[], int $x, int $y, int $type)
proc は、ドラッグ元から転送される文字配列を受け取ります。msgs 配列の先頭文字列はユーザ定義のメッセージ タイプを表します。アプリケーション定義のドロップ先であるコントロールは、コールバックを無視することがあります。$type の値は、1 == 移動、2 == コピー、3 == リンクのいずれかです。
Python でも同様ですが、コールバックの指定方法が 2 つあります。お勧めの方法は、引数として Python 関数オブジェクトを渡すことです。この場合、Python コールバックの書式は次のようになります。
def pythonDropTest( dragControl, dropControl, messages, x, y, dragType ):
この引数の値は、上記の MEL バージョンの引数と同じです。
Python でコールバックを指定するもう 1 つの方法では、実行する文字列を指定します。この場合、Python の標準的なフォーマット演算子を介して文字列に値が代入されます。このフォーマットの値は、キー「dragControl」、「dropControl」、「messages」、「x」、「y」、「type」と共に辞書で渡されます。dragControl の値は文字列で、その他の値は整数です(コールバック文字列の例: 「print '%(dragControl)s %(dropControl)s %(messages)r %(x)d %(y)d %(type)d'」)。
|
|
enable(en)
|
boolean
|
 
|
|
コントロールの有効、無効です。既定では true に設定されていて、コントロールは有効になっています。false を指定するとコントロールはグレー表示になって無効になります。
|
|
enableBackground(ebg)
|
boolean
|
 
|
|
コントロールのバックグラウンド カラーを有効にします。
|
|
enableKeyboardFocus(ekf)
|
boolean
|
 
|
|
有効にすると、[Tab]キーを押してコントロールに移動し、キーボードまたはマウスで値を選択することができます。このフラグは通常、編集コントロールやリスト コントロールなどで既定で使用されるコントロールから、フォーカスのサポートをオフにするために使用されます。無効にすると、テキスト フィールド内のテキストはマウスで選択できますが、コピーできません(Linuxで「中ボタンでクリックして貼り付け」が有効になっている場合を除く)。
|
|
exists(ex)
|
boolean
|
|
|
指定したオブジェクトが存在するかどうかを返します。他のフラグは無視されます。
|
|
filter(f)
|
string
|

|
|
|
fullPathName(fpn)
|
boolean
|
|
|
すべての親を含むウィジェットのフル パス名を返します。
|
|
height(h)
|
int
|
 
|
|
コントロールの高さです。コントロールは親のレイアウトの条件によって無効にされない限り、このサイズを保持しようとします。
|
|
highlightColor(hlc)
|
[float, float, float]
|
 
|
|
コントロールのハイライト カラーです。引数は、赤、緑、青のカラー成分に対応しています。それぞれの成分の値は、0.0~1.0 です。
|
|
isObscured(io)
|
boolean
|
|
|
コントロールが実際に表示されるかどうかを返します。コントロールは、次の場合に隠れた状態になります。非表示の場合、別のコントロールで(完全に、または部分的に)ブロックされた場合、コントロールまたは親のレイアウトを制御できない場合、あるいはコントロールのウィンドウが非表示またはアイコン化されている場合。
|
|
lastClickedNode(lcn)
|
boolean
|
|
|
最後にクリックしたノードとともに文字列を返します。
|
|
lastMenuChoice(lmc)
|
string
|
|
|
|
longNames(ln)
|
boolean
|

|
|
インタフェースでアトリビュートにロング ネームまたはショート ネームのどちらを使用するかを制御します。このフラグは、 niceNames
フラグが設定されている場合は無視されることに注意してください。既定はショート ネームです。照会すると boolean を返します。
|
|
manage(m)
|
boolean
|
 
|
|
コントロールの状態を管理します。管理されていないコントロールは表示されず、画面の領域も占有しません。既定では、コントロールは管理できるように作成されます。
|
|
menuCommand(mc)
|
script
|
|
|
指定したコマンドをポップアップ メニューのそれぞれの項目にアタッチします。
|
|
menuMultiOption(mmo)
|
boolean
|

|
|
「next available」というラベルのついたメニュー オプションをマルチアトリビュートの右マウス ボタン メニューの先頭オプションとして表示するかどうかを設定します。既定は true です。
|
|
multiSelect(ms)
|
boolean
|

|
|
multiSelect を可能にします。一度に複数を選択できるようになります。
|
|
niceNames(nn)
|
boolean
|

|
|
アトリビュート名をもっとユーザフレンドリーで読みやすい表示にするかどうかを制御します。オンの場合、longNames フラグは無視されます。これがオフの場合、アトリビュート名は、longNames フラグに応じてロング ネームまたはショート ネームで表示されます。既定はオンです。照会すると boolean を返します。
|
|
noBackground(nbg)
|
boolean
|

|
|
コントロールのバックグラウンドをクリア/リセットします。バックグラウンドは、true を渡すと一切描画されず、false を渡すと描画されます。このフラグの状態は、このコントロールの子に継承されます。
|
|
noConnectivity(nc)
|
boolean
|
|
|
ノード アウトライナ(Outliner)をリセットし、コネクティビティを非表示にします。つまり、すべての行を通常通りに再描画します。
|
|
nodesDisplayed(nd)
|
boolean
|
|
|
ノード アウトライナ(Outliner)で表示されているノードのリストを含む文字配列を返します。
|
|
numberOfPopupMenus(npm)
|
boolean
|
|
|
このコントロールにアタッチされるポップアップ メニューの数を返します。
|
|
parent(p)
|
string
|

|
|
|
popupMenuArray(pma)
|
boolean
|
|
|
このコントロールにアタッチされる全ポップアップ メニューの名前を返します。
|
|
pressHighlightsUnconnected(phu)
|
boolean
|

|
|
接続されていないプラグをクリックしたときに、選択されるかどうかを設定します。既定は true です。
|
|
preventOverride(po)
|
boolean
|
 
|
|
true の場合、コントロールの右マウス ボタン メニューを使用したコントロール アトリビュートのオーバーライドは無効になります。
|
|
redraw(r)
|
boolean
|
|
|
|
redrawRow(rr)
|
boolean
|
|
|
|
remove(rm)
|
string
|

|
|
指定したオブジェクトをディスプレイから除去します。
|
|
removeAll(rma)
|
boolean
|
|
|
すべてのオブジェクトをディスプレイから除去します。
|
|
replace(rpl)
|
name
|

|
|
表示されたものを、指定したオブジェクトで置き換えます。
|
|
selectCommand(sc)
|
script
|

|
|
選択により発行されるコマンド。このコマンドは選択されているものがある場合のみ発行される点で、 [c] フラグとは異なります。
|
|
showConnectedOnly(sco)
|
boolean
|

|
|
入力または出力基準に一致する、接続されたアトリビュートのみを表示(true)または非表示(false)にします。
|
|
showHidden(sh)
|
boolean
|

|
|
入力または出力基準に一致する UI 可視アトリビュートを表示(true)または非表示(false)にします。
|
|
showInputs(si)
|
boolean
|

|
|
接続先にできる UI 可視アトリビュートのみ表示します。
|
|
showNonConnectable(snc)
|
boolean
|

|
|
入力または出力基準に一致する接続できないアトリビュートを表示(true)または非表示(false)にします。
|
|
showNonKeyable(snk)
|
boolean
|

|
|
入力または出力基準に一致するキーフレーム化(アニメート)できないアトリビュートを表示(true)または非表示(false)にします。
|
|
showOutputs(so)
|
boolean
|

|
|
接続元にできる UI 可視アトリビュートのみ表示します。
|
|
showPublished(sp)
|
boolean
|

|
|
アセットまたはアセットのメンバーのパブリッシュされるアトリビュートのみを表示します。このフラグはアセットに関連しないノードでは無視されます。
|
|
showReadOnly(sro)
|
boolean
|

|
|
接続元にできる読み取り専用アトリビュートのみ表示します。
|
|
statusBarMessage(sbm)
|
string
|

|
|
マウスがコントロール上にある場合にステータス バーに表示する追加の文字列です。
|
|
useTemplate(ut)
|
string
|
|
|
コマンドに、現在のものとは異なるコマンド テンプレートを使用するように強制します。
|
|
visible(vis)
|
boolean
|
 
|
|
コントロールの可視の状態です。既定では、コントロールは表示されます。コントロールの実際の外見も、その親レイアウトの可視の状態によって異なることに注意してください。
|
|
visibleChangeCommand(vcc)
|
script
|
 
|
|
コントロールの可視の状態が変更されたときに実行されるコマンドです。
|
|
width(w)
|
int
|
 
|
|
コントロールの幅を指定します。コントロールは親のレイアウトの条件によって無効にされない限り、このサイズを保持しようとします。
|
|
フラグはコマンドの作成モードで表示できます
|
フラグはコマンドの編集モードで表示できます
|
フラグはコマンドの照会モードで表示できます
|
フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。
|
import maya.cmds as cmds
mywindow = cmds.window()
myform = cmds.formLayout( numberOfDivisions=100 )
# Create an outliner that will print the name of
# every object added to it to history pane of the
# script editor, then display all available input
# plugs on the node.
def onAddNode(name):
print name
myoutliner = cmds.nodeOutliner( showInputs=True, addCommand=onAddNode )
# Attach the nodeOutliner to the layout
cmds.formLayout( myform, edit=True, attachForm=((myoutliner, 'top', 5), (myoutliner, 'left', 5), (myoutliner, 'bottom', 5), (myoutliner, 'right', 5)) )
# Display the window with the node Outliner
cmds.showWindow( mywindow )
# Create a sphere
objectName = cmds.sphere()
# Have the outliner display the sphere
cmds.nodeOutliner( myoutliner, e=True, a='nurbsSphere1' )