class cymel.core.cyobjects.plug.Plug¶
- class cymel.core.cyobjects.plug.Plug(src)¶
ベースクラス:
Plug_c
プラグラッパークラス。
Methods:
addElement
([idx])undo可能な形でマルチアトリビュート要素を追加する。
animCurve
([dk, direct])アトリビュートに接続された animCurve を1つ得る。
animCurves
([dk])アトリビュートに接続された全 animCurve のリストを得る。
animLayers
([selected, exact])プラグが属するアニメーションレイヤー名リストを得る。
belongsToLayer
(layer)指定したアニメーションレイヤーのメンバーかどうか。
connect
(src[, force, f, lock, l, ...])指定プラグからこのプラグへ接続する。
connectTo
(dst, **kwargs)このプラグから指定プラグへ接続する。
createAnimCurve
([unitless, cls])アトリビュート型に応じた animCurve ノードを生成する。
delete
([force])ダイナミックアトリビュートを削除する。
disconnect
([src, force, f, nextAvailable, na])入力コネクションを切断する。
isMuted
()ミュートされているかどうか。
iterElements
([start, end, step, all, infinite])マルチアトリビュート要素をイテレーションする。
iterHierarchy
([evaluate, connected, checker])プラグ階層下(マルチ要素、コンパウンドの子)をイテレーションする。
layeredPlug
([layer, selected, exact, best, ...])アニメーションレイヤーによる代理プラグを得る。
listEnum
([reverse])enum アトリビュートの名前と値のペアのリストを得る。
lock
([val, leaf])setLocked
の別名。mute
(**kwargs)ミュートする。
pairBlendPlug
([in1, in2, cur, inUse, byWeight])pairBlend の入力プラグを得る。
remove
([b, f, force])自身がマルチアトリビュートの要素プラグの場合にそれを削除する。
removeAllElements
([b, f, force])自身がマルチアトリビュートのマルチプラグの場合にその全要素を削除する。
removeElement
([idx, b, f, force])マルチアトリビュートの要素を削除する。
reset
()デフォルト値にリセットする。
set
(val[, safe])アトリビュート値を内部単位でセットする。
setAlias
([name])プラグの別名を設定、又は削除する。
setCached
(val[, leaf])Caching フラグを設定する。
setCaching
(val[, leaf])Caching フラグを設定する。
setChannelBox
(val[, leaf])Keyable でなくてもチャンネルボックスに出すかどうかを設定する。
setKey
(**kwargs)キーフレームをセットする。
setKeyable
(val[, leaf])Keyable フラグを設定する。
setLocked
([val, leaf])ロック、又はアンロックする。
setu
(val[, safe])アトリビュート値をUI設定単位でセットする。
toggle
()アトリビュート値をトグルする。
unlock
([below, undoable])このプラグと階層上位や、下位(オプション)のプラグをアンロックする。
unmute
(**kwargs)ミュート解除する。
Methods Details:
- addElement(idx=None)¶
undo可能な形でマルチアトリビュート要素を追加する。
上層の存在の有無も調べられ、 存在していない箇所の追加と undo も保証する。
処理したプラグが下位から並んだリストが返される (既に存在している場合は空リストとなる)。
- animCurve(dk=False, direct=False)¶
アトリビュートに接続された animCurve を1つ得る。
- animCurves(dk=False)¶
アトリビュートに接続された全 animCurve のリストを得る。
アニメーションレイヤーによって複数の animCurve を 持っている場合は、それら全てを得られる。
- animLayers(selected=False, exact=False)¶
プラグが属するアニメーションレイヤー名リストを得る。
layeredPlug
に all=True を指定した場合と同様に レイヤー並びの降順に得られる。
- belongsToLayer(layer)¶
指定したアニメーションレイヤーのメンバーかどうか。
- connect(src, force=False, f=False, lock=False, l=False, nextAvailable=False, na=False)¶
指定プラグからこのプラグへ接続する。
いかなる場合でも完全な undo をサポートしている。
常に出力側プラグが返され、 nextAvailable が False の場合はこのプラグ、 True の場合は決定した要素プラグとなる。
- パラメータ:
- 戻り値の型:
Plug
or None
注釈
オプション指定は出来ないが、 演算子 << でも同様の操作が可能。
警告
disconnect
と統一性を持たせるため、 出力に対して入力を指定する仕様になっており、 pymel の connect とは指定方向が逆である。 pymel と同じ指定方向のものとしてconnectTo
も利用できる。
- connectTo(dst, **kwargs)¶
このプラグから指定プラグへ接続する。
注釈
オプション指定は出来ないが、 演算子 >> でも同様の操作が可能。
- createAnimCurve(unitless=False, cls=<class 'cymel.core.cyobjects.cyobject.CyObject'>)¶
アトリビュート型に応じた animCurve ノードを生成する。
アトリビュートへの接続はしない。
- delete(force=False)¶
ダイナミックアトリビュートを削除する。
- パラメータ:
f|force (bool) -- コネクションがあったり、ロックされていたりなどの エラー要因を回避して削除する。
- disconnect(src=None, force=False, f=False, nextAvailable=False, na=False)¶
入力コネクションを切断する。
いかなる場合でも完全な undo をサポートしている。
nextAvailable が False の場合は 切断した入力側プラグが返され、 True の場合は出力側プラグのリストが返される。
- パラメータ:
- 戻り値の型:
注釈
オプション指定は出来ないが、 演算子 // でも同様の操作が可能。
- isMuted()¶
ミュートされているかどうか。
- iterElements(start=None, end=None, step=1, all=False, infinite=False)¶
マルチアトリビュート要素をイテレーションする。
Python のスライスと同じ感覚で、開始、終了、ステップを指定する。 それぞれ負数を指定することも可能。
全ての引数を省略すると、存在する全要素がイテレーションされる。
- パラメータ:
start (int) -- 開始する論理インデックスを指定する。 負数を指定すると、存在する要素の末尾のインデックスを -1 として さかのぼった位置になる。 省略時(None)は、存在する要素の開始点となる (stepが正の場合は最小インデックス、負の場合は最大インデックス)。
end (int) -- 終了する論理インデックスを指定する。 実際に取得されるのはこの1つ前の位置までである。 負数を指定すると、存在する要素の末尾のインデックスを -1 として さかのぼった位置になる。 省略時(None)は、存在する要素の終了点の1つ先の位置となる (stepが正の場合は最小インデックス-1、負の場合は最大インデックス+1)。
step (int) -- インデックスのステップ数を指定する。
all (bool) -- 要素が存在するかどうかにかかわらず得るかどうか。 infinite=True の場合は all=True ともみなされる。
infinite (bool) -- 要素が存在するかどうかにかかわらず得るとともに、 end を無視し、無限にイテレーションする。 ただし、step が負の場合は 0 未満にはならない。 step が正の場合は無限ループに注意。
- iterHierarchy(evaluate=False, connected=False, checker=<function gettrue>)¶
プラグ階層下(マルチ要素、コンパウンドの子)をイテレーションする。
- layeredPlug(layer=None, selected=False, exact=False, best=False, all=False, asPair=False, allowNonLayer=False)¶
アニメーションレイヤーによる代理プラグを得る。
allowNonLayer=True とすることで、 アニメーションレイヤーが使われていなくても その他の仕組み( pairBlend と mute を想定 )による代理プラグを得る手段としても利用できる。
オプションの組み合わせ例を以下に示す。
属する最上位のレイヤーのプラグを得る : デフォルト
現在の状態でキーを打つ際に対象となるレイヤーのプラグを得る : best=True
ベースレイヤーのプラグを得る : layer=''
プラグが属する全レイヤーのプラグを得る : all=True
プラグが属する選択レイヤーの上位のものを得る : selected=True
プラグが属する選択レイヤーの全てを得る : all=True, selected=True
指定レイヤーに属していればそのプラグを得る : layer="レイヤー名", exact=True
指定レイヤーに属していればそのプラグ、そうでなければ上位から順次検索 : layer="レイヤー名"
指定レイヤーに属しており選択状態であればそのプラグを得る : layer="レイヤー名", selected=True, exact=True
指定レイヤーに属しており選択状態であればそのプラグ、そうでなければ順次検索 : layer="レイヤー名", selected=True
- パラメータ:
layer (str) --
検索するアニメーションレイヤー。
デフォルトの None では、プラグが属するレイヤーを上位から優先して検索する。 ""(空文字列)を指定すると、ベースレイヤーを指定することと同義になる。
プラグが指定レイヤーに属していなかった場合、デフォルト動作では、 属するレイヤーが上位から順次検索される。 つまり、
animLayers
と同様に、レイヤーエディターの並び順で得られる。selected (bool) --
検索対象のレイヤーをセレクト状態のものに限定する。
layer が指定された場合、そのレイヤーがセレクト状態である場合に絞り込む。
layer が指定されない場合や、レイヤーがセレクト状態でなかったり プラグがメンバーでなかった場合に、順次検索されるレイヤーに対しても セレクト状態のもののみに絞り込む。
exact (bool) --
layer や selected オプションを修飾する。
デフォルトの False の場合、プラグが指定レイヤーのメンバーでない場合は 他のレイヤーやベースレイヤーも順次探索される。 また、selected が指定されていても、レイヤーを順次探索した結果の最後と してのベースレイヤーについてはセレクト状態を問わない。
True を指定すると厳密な動作となり、 layer 指定時は、プラグがそのメンバーでなければ None が返される。 また、レイヤーを順次探索した結果の最後のベースレイヤーについても selected フラグがチェックされるようになる。
best (bool) -- 現在の状態でのキーを打つ対象となるレイヤーのプラグを得る。
all (bool) --
True を指定すると戻り値は必ず
list
となる。layer が指定されないか、指定したレイヤーのメンバーでないか selected フラグが 一致しないかで、所属レイヤーが順次検索される場合の動作を変更する。 デフォルトの False では、layer が None か "" かにより、 上位優先で最初に見つけたレイヤーか最後のベースレイヤーのどれか一つのプラグが 返される。 True を指定すると、順次検索した全てレイヤー(selected チェックでの 絞り込みはされる)のプラグが取得される。
allowNonLayer (bool) -- プラグがベースレイヤーにしか属しておらず(レイヤーブレンドされていない)、 それ以外のスイッチ系のノードが挟まっている場合、その入力プラグを得る。 pairBlend と mute を想定している。
- 戻り値:
- listEnum(reverse=False)¶
enum アトリビュートの名前と値のペアのリストを得る。
- mute(**kwargs)¶
ミュートする。
- pairBlendPlug(in1=True, in2=False, cur=False, inUse=False, byWeight=False)¶
pairBlend の入力プラグを得る。
- remove(b=False, f=False, force=False)¶
自身がマルチアトリビュートの要素プラグの場合にそれを削除する。
removeElement
にインデックスを指定しない場合と同じだが、 こちらの場合は要素プラグ以外で使用するとエラーになる。削除された要素の数が返される。 ただし、それにはアトリビュート階層下の マルチアトリビュート要素の数も含まれる。
- removeAllElements(b=False, f=False, force=False)¶
自身がマルチアトリビュートのマルチプラグの場合にその全要素を削除する。
removeElement
にインデックスを指定しない場合と同じだが、 こちらの場合はマルチプラグ以外で使用するとエラーになる。削除された要素の数が返される。 ただし、それにはアトリビュート階層下の マルチアトリビュート要素の数も含まれる。
- removeElement(idx=None, b=False, f=False, force=False)¶
マルチアトリビュートの要素を削除する。
削除された要素の数が返される。 ただし、それにはアトリビュート階層下の マルチアトリビュート要素の数も含まれる。
- reset()¶
デフォルト値にリセットする。
- set(val, safe=False)¶
アトリビュート値を内部単位でセットする。
None を指定することで、 データ型アトリビュートの Null もセットできる。 もちろん undo も可能。
- setCached(val, leaf=False)¶
Caching フラグを設定する。
- setCaching(val, leaf=False)¶
Caching フラグを設定する。
- setChannelBox(val, leaf=False)¶
Keyable でなくてもチャンネルボックスに出すかどうかを設定する。
- setKey(**kwargs)¶
キーフレームをセットする。
- setKeyable(val, leaf=False)¶
Keyable フラグを設定する。
- setLocked(val=True, leaf=False)¶
ロック、又はアンロックする。
- パラメータ:
注釈
アンロックの場合は、プラグ階層上位や下位に対しても保証できる
unlock
メソッドが便利である。
- setu(val, safe=False)¶
アトリビュート値をUI設定単位でセットする。
None を指定することで、 データ型アトリビュートの Null もセットできる。 もちろん undo も可能。
- unlock(below=False, undoable=True)¶
このプラグと階層上位や、下位(オプション)のプラグをアンロックする。
実際にアンロックされたプラグが上位から並んだリストが返される。
注釈
ロック状態は上位から引き継がれるので、 上層をアンロックせずに下層の判定はできない。
- unmute(**kwargs)¶
ミュート解除する。