ジャンプ先: 概要. 戻り値. フラグ. 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 createqueryedit
ノード アウトライナが何かを追加したときにコマンドが実行されます。追加されたもののかわりに %node を使用します。たとえば、追加されたオブジェクトをプリントしたい場合のコマンドは、「print (\"%node \\n\")」となります。Python オブジェクトは、パスしたノード名を呼び出すことができます。
addObject(a) name edit
指定したオブジェクトをディスプレイに追加します。
annotation(ann) string createqueryedit
コントロールに文字列値で注釈を付けます。
attrAlphaOrder(aao) string createqueryedit
アトリビュートのソート方法を指定します。現在認識される値は、ソートなしの場合の「default」、アトリビュートをa から z にソートする「ascend」、z から a にソートする場合の「descend」です。注: a)これは最上位アトリビュートにのみ適用されます。
backgroundColor(bgc) [float, float, float] createqueryedit
コントロールのバックグラウンド カラーです。引数は、赤、緑、青のカラー成分に対応しています。それぞれの成分の値は、0.0~1.0 です。
backgroundColor を設定すると、enableBackground を false に指定しない限り、バックグラウンドは自動的に有効になります。
connectivity(c) name queryedit
アトリビュート引数(「nodeName.attributeName」)を取り、指定された対象に接続できないアトリビュートをすべて淡色表示し、すでに接続されているアトリビュートをすべてハイライトします。
currentSelection(cs) boolean query
現在選択されているものを含む文字配列を返します。
defineTemplate(dt) string create
他の任意のフラグと引数を解析し、かつ引数で指定したコマンド テンプレートに追加するモードに、コマンドのモードを変更します。templateName が現在のテンプレートとして設定されていれば、その後コマンドが実行されるたびに、この引数が既定の引数として使用されます。
docTag(dtg) string createqueryedit
コントロールにドキュメンテーション フラグを追加します。ドキュメンテーション フラグはディレクトリ構造になっています(例: -dt render/multiLister/createNode/material)。
dragCallback(dgc) script createedit
中マウス ボタンを押すと呼び出されるコールバックを追加します。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 createedit
ドラッグ&ドロップ操作をドロップ位置で解放したときにコールされるコールバックを追加します。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 createqueryedit
コントロールの有効、無効です。既定では true に設定されていて、コントロールは有効になっています。false を指定するとコントロールはグレー表示になって無効になります。
enableBackground(ebg) boolean createqueryedit
コントロールのバックグラウンド カラーを有効にします。
enableKeyboardFocus(ekf) boolean createqueryedit
有効にすると、[Tab]キーを押してコントロールに移動し、キーボードまたはマウスで値を選択することができます。このフラグは通常、編集コントロールやリスト コントロールなどで既定で使用されるコントロールから、フォーカスのサポートをオフにするために使用されます。無効にすると、テキスト フィールド内のテキストはマウスで選択できますが、コピーできません(Linuxで「中ボタンでクリックして貼り付け」が有効になっている場合を除く)。
exists(ex) boolean create
指定したオブジェクトが存在するかどうかを返します。他のフラグは無視されます。
filter(f) string queryedit
正規表現に基づいてアトリビュートをフィルタします
fullPathName(fpn) boolean query
すべての親を含むウィジェットのフル パス名を返します。
height(h) int createqueryedit
コントロールの高さです。コントロールは親のレイアウトの条件によって無効にされない限り、このサイズを保持しようとします。
highlightColor(hlc) [float, float, float] createqueryedit
コントロールのハイライト カラーです。引数は、赤、緑、青のカラー成分に対応しています。それぞれの成分の値は、0.0~1.0 です。
isObscured(io) boolean query
コントロールが実際に表示されるかどうかを返します。コントロールは、次の場合に隠れた状態になります。非表示の場合、別のコントロールで(完全に、または部分的に)ブロックされた場合、コントロールまたは親のレイアウトを制御できない場合、あるいはコントロールのウィンドウが非表示またはアイコン化されている場合。
lastClickedNode(lcn) boolean query
最後にクリックしたノードとともに文字列を返します。
lastMenuChoice(lmc) string query
最後のメニュー選択をテキストで返します。
longNames(ln) boolean queryedit
インタフェースでアトリビュートにロング ネームまたはショート ネームのどちらを使用するかを制御します。このフラグは、 niceNames フラグが設定されている場合は無視されることに注意してください。既定はショート ネームです。照会すると boolean を返します。
manage(m) boolean createqueryedit
コントロールの状態を管理します。管理されていないコントロールは表示されず、画面の領域も占有しません。既定では、コントロールは管理できるように作成されます。
menuCommand(mc) script edit
指定したコマンドをポップアップ メニューのそれぞれの項目にアタッチします。
menuMultiOption(mmo) boolean queryedit
「next available」というラベルのついたメニュー オプションをマルチアトリビュートの右マウス ボタン メニューの先頭オプションとして表示するかどうかを設定します。既定は true です。
multiSelect(ms) boolean queryedit
multiSelect を可能にします。一度に複数を選択できるようになります。
niceNames(nn) boolean queryedit
アトリビュート名をもっとユーザフレンドリーで読みやすい表示にするかどうかを制御します。オンの場合、longNames フラグは無視されます。これがオフの場合、アトリビュート名は、longNames フラグに応じてロング ネームまたはショート ネームで表示されます。既定はオンです。照会すると boolean を返します。
noBackground(nbg) boolean createedit
コントロールのバックグラウンドをクリア/リセットします。バックグラウンドは、true を渡すと一切描画されず、false を渡すと描画されます。このフラグの状態は、このコントロールの子に継承されます。
noConnectivity(nc) boolean edit
ノード アウトライナ(Outliner)をリセットし、コネクティビティを非表示にします。つまり、すべての行を通常通りに再描画します。
nodesDisplayed(nd) boolean query
ノード アウトライナ(Outliner)で表示されているノードのリストを含む文字配列を返します。
numberOfPopupMenus(npm) boolean query
このコントロールにアタッチされるポップアップ メニューの数を返します。
parent(p) string createquery
コントロールの親のレイアウトです。
popupMenuArray(pma) boolean query
このコントロールにアタッチされる全ポップアップ メニューの名前を返します。
pressHighlightsUnconnected(phu) boolean queryedit
接続されていないプラグをクリックしたときに、選択されるかどうかを設定します。既定は true です。
preventOverride(po) boolean createqueryedit
true の場合、コントロールの右マウス ボタン メニューを使用したコントロール アトリビュートのオーバーライドは無効になります。
redraw(r) boolean edit
表示された空間を再描画します。
redrawRow(rr) boolean edit
指定された行を再描画します。
remove(rm) string editmultiuse
指定したオブジェクトをディスプレイから除去します。
removeAll(rma) boolean edit
すべてのオブジェクトをディスプレイから除去します。
replace(rpl) name queryedit
表示されたものを、指定したオブジェクトで置き換えます。
selectCommand(sc) script queryedit
選択により発行されるコマンド。このコマンドは選択されているものがある場合のみ発行される点で、 [c] フラグとは異なります。
showConnectedOnly(sco) boolean queryedit
入力または出力基準に一致する、接続されたアトリビュートのみを表示(true)または非表示(false)にします。
showHidden(sh) boolean queryedit
入力または出力基準に一致する UI 可視アトリビュートを表示(true)または非表示(false)にします。
showInputs(si) boolean queryedit
接続先にできる UI 可視アトリビュートのみ表示します。
showNonConnectable(snc) boolean queryedit
入力または出力基準に一致する接続できないアトリビュートを表示(true)または非表示(false)にします。
showNonKeyable(snk) boolean queryedit
入力または出力基準に一致するキーフレーム化(アニメート)できないアトリビュートを表示(true)または非表示(false)にします。
showOutputs(so) boolean queryedit
接続元にできる UI 可視アトリビュートのみ表示します。
showPublished(sp) boolean queryedit
アセットまたはアセットのメンバーのパブリッシュされるアトリビュートのみを表示します。このフラグはアセットに関連しないノードでは無視されます。
showReadOnly(sro) boolean queryedit
接続元にできる読み取り専用アトリビュートのみ表示します。
statusBarMessage(sbm) string createedit
マウスがコントロール上にある場合にステータス バーに表示する追加の文字列です。
useTemplate(ut) string create
コマンドに、現在のものとは異なるコマンド テンプレートを使用するように強制します。
visible(vis) boolean createqueryedit
コントロールの可視の状態です。既定では、コントロールは表示されます。コントロールの実際の外見も、その親レイアウトの可視の状態によって異なることに注意してください。
visibleChangeCommand(vcc) script createqueryedit
コントロールの可視の状態が変更されたときに実行されるコマンドです。
width(w) int createqueryedit
コントロールの幅を指定します。コントロールは親のレイアウトの条件によって無効にされない限り、このサイズを保持しようとします。

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

Python 例

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