ジャンプ先: 概要. 戻り値. フラグ. Python 例.
selectionConnection(
string
, [activeCacheList=boolean], [activeCharacterList=boolean], [activeList=boolean], [addScript=script], [addTo=string], [characterList=boolean], [clear=boolean], [connectionList=boolean], [defineTemplate=string], [deselect=name], [editor=string], [exists=boolean], [filter=string], [findObject=name], [g=boolean], [highlightList=boolean], [identify=boolean], [keyframeList=boolean], [lock=boolean], [modelList=boolean], [object=name], [parent=string], [remove=string], [removeScript=script], [select=name], [setList=boolean], [switch=boolean], [useTemplate=string], [worldList=boolean])
注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。
selectionConnection は、取り消し可能、照会可能、および編集可能です。
このコマンドは、指定した名前の selectionConnection オブジェクトを作成します。このオブジェクトは、単に共有されているセレクション リストにすぎません。このリストは、ハイライト データを共有するために複数のエディタによって使用する場合があります。たとえば、選択したリストをアウトライナ(Outliner)がこれらのいずれかのオブジェクトにアタッチし、グラフ エディタ(Graph Editor)がその同じオブジェクトをリスト ソースとして使用する場合があります。グラフ エディタには、アウトライナで選択したオブジェクトのみが表示されます。
selectionConnection は、モデル オブジェクトのリストを含む UI オブジェクトです。selectionConnection は、特定のエディタに表示させるオブジェクトを指定するために便利です。エディタには、selectionConnection をアタッチできる 3 つのプラグ ソケットがあります。それらは次のとおりです。
- mainListConnection
- エディタ内に表示されるオブジェクトのリストを含む入力ソケット
- selectionConnection
- エディタ内で選択されたオブジェクトのリストを含む出力ソケット
- highlightConnection
- エディタ内でハイライトされるオブジェクトのリストを含む入力ソケット
作成されるセレクショ 接続には数種類あります。それらは次のとおりです。
- activeList
- モデルに含まれるすべてのアクティブ項目(ジオメトリ オブジェクトやキーを含む)のリストを含むセレクション接続
- modelList
- 現在アクティブなすべてのジオメトリ(つまり、キーを除く)オブジェクトのリストを含むセレクション接続
- keyframeList
- 現在アクティブなすべてのキーのリストを含むセレクション接続
- worldList
- ワールド内にあるすべてのオブジェクトのリストを含むセレクション接続
- objectList
- 単一のモデル オブジェクト(セットの場合もある)を含むセレクション接続
- listList
- セレクション接続のリストを含むセレクション接続
- editorList
- 指定したエディタの mainListConnection にアタッチされたオブジェクトのリストを含むセレクション接続
- setList
- ワールド内にあるすべてのセットのリストを含むセレクション接続
- characterList
- ワールド内にあるすべてのオブジェクトのキャラクタを含むセレクション接続
- highlightList
- 何らかの方法でハイライトされるオブジェクトのリストを含むセレクション接続
以下は 2 つのエディタでの selectionConnection ネットワークの例です。Editor 1 は、activeList のオブジェクトを表示するようにセットアップされています。Editor 2 は、Editor 1 で選択されたオブジェクトを表示するようにセットアップされています。Editor 2 で選択されたオブジェクトは Editor 1 でハイライトされます。
-- Editor 1-- -- Editor 2--
inputList-->| main | | |->| main | |
| | sele |--| | | sele |--|
|->| high | | | high | | |
| ------------- ------------- |
|------------- fromEditor2 -------------|
次のコマンドによってこのネットワークが確立されます。
selectionConnection -activeList inputList;
selectionConnection fromEditor1;
selectionConnection fromEditor2;
editor -edit -mainListConnection inputList Editor1;
editor -edit -selectionConnection fromEditor1 Editor1;
editor -edit -mainListConnection fromEditor1 Editor2;
editor -edit -selectionConnection fromEditor2 Editor2;
editor -edit -highlightConnection fromEditor2 Editor1;
注: selection connection を削除するには、deleteUI コマンドを使用します。
注: オブジェクトを要求するコマンドにセレクション接続を付与できます。この場合、コマンドはセレクション接続でラップされたオブジェクトに基づいて動作します。
注: 別のエディタの highlightConnection に対してエディタ接続を使用できるエディタはグラフ エディタとドープシートだけです
警告: いくつかのフラグを組み合わせると、予想通りに動作しない場合があります。このコマンドは、実際には、各種エディタによって使用されるアウトライナ(Outliner)を管理するための内部使用を目的としたものです。
照会モードでは、戻り値のタイプは照会されたフラグに基づきます。
activeCacheList, activeCharacterList, activeList, addScript, addTo, characterList, clear, connectionList, defineTemplate, deselect, editor, exists, filter, findObject, g, highlightList, identify, keyframeList, lock, modelList, object, parent, remove, removeScript, select, setList, switch, useTemplate, worldList
| ロング ネーム(ショート ネーム) |
引数タイプ |
プロパティ |
|
activeCacheList(atc)
|
boolean
|
|
|
この接続がアクティブ リストのオブジェクトの属するキャッシュを反映するように指定します。
|
|
activeCharacterList(acl)
|
boolean
|
|
|
この接続がアクティブ リストのオブジェクトの属するキャラクタを反映するように指定します。
|
|
activeList(act)
|
boolean
|
|
|
この接続がアクティブ リスト(ジオメトリ オブジェクトとキー)を反映するように指定します。
|
|
addScript(addScript)
|
script
|
 
|
|
セレクションに何かが追加されたときにコールされるスクリプトを指定します。
|
|
addTo(add)
|
string
|

|
|
接続のこのリストに追加する selectionConnection の名前です。
|
|
characterList(cl)
|
boolean
|
|
|
この接続がワールド座標空間内のすべてのキャラクタを反映するように指定します。
|
|
clear(clr)
|
boolean
|

|
|
selectionConnection からすべてを除去します。
|
|
connectionList(lst)
|
boolean
|

|
|
この接続が selectionConnection のリストを含むように指定します。
|
|
defineTemplate(dt)
|
string
|
|
|
他の任意のフラグと引数を解析し、かつ引数で指定したコマンド テンプレートに追加するモードに、コマンドのモードを変更します。 templateName が現在のテンプレートとして設定されていれば、その後コマンドが実行されるたびに、この引数が既定の引数として使用されます。
|
|
deselect(d)
|
name
|

|
|
|
editor(ed)
|
string
|
 
|
|
この接続が、指定したエディタの -mainListConnection を反映するように指定します。
|
|
exists(ex)
|
boolean
|
|
|
指定したオブジェクトが存在するかどうかを返します。他のフラグは無視されます。
|
|
filter(f)
|
string
|
 
|
|
オプションで、この接続に itemFilter を指定します。空の文字列("")は、現在のフィルタをクリアします。フィルタが指定されている場合、selectionConnection に入力される情報はすべて、受信される前にまずフィルタを通過する必要があります。注: フィルタをアタッチできるのは、通常の selectionConnection だけです。-act、-mdl、-key、-wl、-sl、-cl、-lst、-obj、または -ren フラグを使用して作成された接続にフィルタをアタッチすることはできません。ただし、selectionConnection にはフィルタをアタッチしないことを強くお勧めします。代わりに、selectionConnection を使用しているエディタにフィルタをアタッチすることをお勧めします。
|
|
findObject(fo)
|
name
|
|
|
指定したオブジェクトをラップする、このリスト内の selectionConnection を検索します。
|
|
g(g)
|
boolean
|
 
|
|
グローバルの selectionConnection をスクリプト コマンドで削除することはできません。
|
|
highlightList(hl)
|
boolean
|
|
|
この接続がハイライト リストとして使用されるように指定します。
|
|
identify(id)
|
boolean
|
|
|
これがどのタイプの selectionConnection であるかを検出します。selectionConnection のタイプには、activeList、modelList、keyframeList、worldList、objectList、listList、editorList、connection、unknown があります。
|
|
keyframeList(key)
|
boolean
|
|
|
この接続がアクティブ リストのアニメーション部分を反映するように指定します。
|
|
lock(lck)
|
boolean
|
 
|
|
activeList 接続では、接続をロックすると activeList の変更が聴取されなくなります。
|
|
modelList(mdl)
|
boolean
|
|
|
この接続がアクティブ リストのモデリング(すなわちキーを除く)部分を反映するように指定します。
|
|
object(obj)
|
name
|
 
|
|
この接続が、指定したオブジェクト(セットである場合もあります)にラップするように指定します。照会されると、このフラグは selectionConnection のすべてのメンバーを返します(接続がセットをラップする場合は、セットのメンバーを返します)。
|
|
parent(p)
|
string
|
 
|
|
これをアタッチする UI オブジェクトの名前です。親が破壊されると、selectionConnection は自動削除されます。親が指定されていない場合は、現在の controlLayout に接続が作成されます。
|
|
remove(rm)
|
string
|

|
|
接続のこのリストから除去する selectionConnection の名前です。
|
|
removeScript(rs)
|
script
|
 
|
|
セレクションから何かが除去されたときにコールされるスクリプトを指定します。
|
|
select(s)
|
name
|

|
|
セレクションに何かを追加します。これにより既存のセレクションが置き換えられることはありません。
|
|
setList(sl)
|
boolean
|
|
|
この接続がワールド座標空間内のすべてのセットを反映するように指定します。
|
|
switch(sw)
|
boolean
|

|
|
connectionList に対するモディファイアとして機能し、オブジェクトのリストを空ではない最初の selectionConnection に設定します。selectionConnection は、追加された順にテストされます。
|
|
useTemplate(ut)
|
string
|
|
|
コマンドに、現在のものとは異なるコマンド テンプレートを使用するように強制します。
|
|
worldList(wl)
|
boolean
|
|
|
この接続がワールド座標空間内のすべてのオブジェクトを反映するように指定します。
|
|
フラグはコマンドの作成モードで表示できます
|
フラグはコマンドの編集モードで表示できます
|
フラグはコマンドの照会モードで表示できます
|
フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。
|
import maya.cmds as cmds
# Example 1.
#
# Create a window with two Outliner editors and a
# selection connection network. Editor 1 will display the
# current scene's active list. Editor 2 will display the items
# selected in Editor 1.
#
window = cmds.window('window', wh=(400, 300))
cmds.paneLayout( configuration='vertical2' )
editor1 = cmds.outlinerEditor()
editor2 = cmds.outlinerEditor()
# Create the selection connection network.
#
inputList = cmds.selectionConnection( activeList=True )
fromEditor1 = cmds.selectionConnection()
fromEditor2 = cmds.selectionConnection()
cmds.editor( editor1, edit=True, mainListConnection=inputList )
cmds.editor( editor1, edit=True, selectionConnection=fromEditor1 )
cmds.editor( editor2, edit=True, mainListConnection=fromEditor1 )
cmds.editor( editor2, edit=True, selectionConnection=fromEditor2 )
cmds.showWindow( window )
# Create some objects and select them.
#
cmds.sphere()
cmds.cone()
cmds.cylinder()
cmds.select( all=True )
# Now as you select objects on the left side, they will be
# displayed on the right side. You can also add a callback
# script to do further processing on the list when objects
# are added. (Use -removeScript for when objects are removed.)
def addScriptCallback( array ):
print "Contents of callback array: %s\n" % array
cmds.selectionConnection( fromEditor1, e=True, addScript=addScriptCallback )
# Example 2.
#
# Create a selection connection for a paritcular object. Delete
# the selection connection and the object.
#
cmds.sphere( name='sphere' )
# Create a selection connection to wrap the sphere.
#
cmds.selectionConnection( 'holder', object='sphere' )
# Select the sphere using the selection connection.
#
cmds.select( 'holder' )
# Delete the members (sphere) of the selection connection
#
cmds.delete( 'holder' )
# Delete the selection connection (does not delete the members of
# the selection connection.
#
cmds.deleteUI( 'holder' )