class cymel.core.cyobjects.plug.Plug

Inheritance diagram of 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 も保証する。

処理したプラグが下位から並んだリストが返される (既に存在している場合は空リストとなる)。

パラメータ:

idx (int) -- 自身がマルチのとき、調べるインデックスを指定する。 自身が要素(実在は不明)のときは省略できる。 省略してもしなくても上位はチェックされる。

戻り値の型:

list

animCurve(dk=False, direct=False)

アトリビュートに接続された animCurve を1つ得る。

パラメータ:
  • dk (bool) -- ドリブンキーも含めるかどうか。

  • direct (bool) -- 直接接続された animCurve に限定して得るかどうか。 デフォルトでは、 pairBlendmute や アニメーションレイヤーの状態(レイヤー選択や Solo 設定など)が考慮された最適な animCurve が得られる。

戻り値の型:

AnimCurve 派生タイプ or None

animCurves(dk=False)

アトリビュートに接続された全 animCurve のリストを得る。

アニメーションレイヤーによって複数の animCurve を 持っている場合は、それら全てを得られる。

パラメータ:

dk (bool) -- ドリブンキーも含めるかどうか。

戻り値の型:

list

animLayers(selected=False, exact=False)

プラグが属するアニメーションレイヤー名リストを得る。

layeredPlug に all=True を指定した場合と同様に レイヤー並びの降順に得られる。

パラメータ:
  • selected (bool) -- セレクト状態のレイヤーに限定する。 ただし、ベースレイヤーだけは、 デフォルトでは状態にかかわらず得られる。

  • exact (bool) -- selected=True の場合に、 ベースレイヤーもセレクト状態に限定するかどうか。

戻り値の型:

list

belongsToLayer(layer)

指定したアニメーションレイヤーのメンバーかどうか。

パラメータ:

layer (str) -- アニメーションレイヤー名 (文字列か、文字列として評価してノード名になるもの)。 ベースレイヤーは実体が無いため指定出来ない。

戻り値の型:

bool

connect(src, force=False, f=False, lock=False, l=False, nextAvailable=False, na=False)

指定プラグからこのプラグへ接続する。

いかなる場合でも完全な undo をサポートしている。

常に出力側プラグが返され、 nextAvailable が False の場合はこのプラグ、 True の場合は決定した要素プラグとなる。

パラメータ:
  • src (Plug) -- 入力元のアトリビュート。

  • f|force (bool) -- 他の接続やロックなどのエラー要因を回避して接続する。

  • l|lock (bool) -- 接続後にロックする。

  • na|nextAvailable (bool) -- 次に利用可能なインデックスに接続する。 isIndexMatters 設定に限らず利用できる。 接続された要素プラグが返される。

戻り値の型:

Plug or None

注釈

オプション指定は出来ないが、 演算子 << でも同様の操作が可能。

警告

disconnect と統一性を持たせるため、 出力に対して入力を指定する仕様になっており、 pymel の connect とは指定方向が逆である。 pymel と同じ指定方向のものとして connectTo も利用できる。

connectTo(dst, **kwargs)

このプラグから指定プラグへ接続する。

パラメータ:
  • dst (Plug) -- 出力先のアトリビュート。

  • kwargs -- その他に connect のオプションを指定可能。

戻り値の型:

Plug

注釈

オプション指定は出来ないが、 演算子 >> でも同様の操作が可能。

createAnimCurve(unitless=False, cls=<class 'cymel.core.cyobjects.cyobject.CyObject'>)

アトリビュート型に応じた animCurve ノードを生成する。

アトリビュートへの接続はしない。

パラメータ:
  • unitless (bool) -- ドリブンキー用の animCurve を生成する。

  • cls -- 得たいオブジェクトのクラス。 通常はデフォルトのままで良い。 str を指定すれば名前のまま得られる。

戻り値の型:

AnimCurve 派生タイプ

delete(force=False)

ダイナミックアトリビュートを削除する。

パラメータ:

f|force (bool) -- コネクションがあったり、ロックされていたりなどの エラー要因を回避して削除する。

disconnect(src=None, force=False, f=False, nextAvailable=False, na=False)

入力コネクションを切断する。

いかなる場合でも完全な undo をサポートしている。

nextAvailable が False の場合は 切断した入力側プラグが返され、 True の場合は出力側プラグのリストが返される。

パラメータ:
  • src (Plug) -- 切断する入力プラグ。省略可能。

  • f|force (bool) -- ロックされていても極力エラーを回避して切断する (一時的にアンロックして元に戻す)。

  • na|nextAvailable (bool) -- マルチプラグと src を指定した場合に、 接続されている要素を探して切断する。 複数あれば全て切断され、そのリストが返される。 isIndexMatters 設定に限らず利用できる。

戻り値の型:

Plug or list

注釈

オプション指定は出来ないが、 演算子 // でも同様の操作が可能。

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

プラグ階層下(マルチ要素、コンパウンドの子)をイテレーションする。

パラメータ:
  • evaluate (bool) -- マルチ要素を収集する際、マルチプラグを評価する。

  • connected (bool) -- マルチ要素を収集する際、コネクションを元にする。

  • checker (callable) -- プラグを1つ受け bool を返す関数を指定する。 False を返すところから下層には降りない。

layeredPlug(layer=None, selected=False, exact=False, best=False, all=False, asPair=False, allowNonLayer=False)

アニメーションレイヤーによる代理プラグを得る。

allowNonLayer=True とすることで、 アニメーションレイヤーが使われていなくても その他の仕組み( pairBlendmute を想定 )による代理プラグを得る手段としても利用できる。

オプションの組み合わせ例を以下に示す。

  • 属する最上位のレイヤーのプラグを得る : デフォルト

  • 現在の状態でキーを打つ際に対象となるレイヤーのプラグを得る : 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 チェックでの 絞り込みはされる)のプラグが取得される。

  • asPair (bool) -- True を指定すると Plug と、それが対応するレイヤー名のペアが返される。

  • allowNonLayer (bool) -- プラグがベースレイヤーにしか属しておらず(レイヤーブレンドされていない)、 それ以外のスイッチ系のノードが挟まっている場合、その入力プラグを得る。 pairBlendmute を想定している。

戻り値:

Plug や (Plug, str) 、又はそれらの list

listEnum(reverse=False)

enum アトリビュートの名前と値のペアのリストを得る。

パラメータ:

reverse (bool) -- ペアの並び順を入れ替え、 (名前, 値) ではなく (値, 名前) にする。

戻り値の型:

list

lock(val=True, leaf=False)

setLocked の別名。

mute(**kwargs)

ミュートする。

pairBlendPlug(in1=True, in2=False, cur=False, inUse=False, byWeight=False)

pairBlend の入力プラグを得る。

パラメータ:
  • in1 (bool) -- 入力 1 のプラグを得る。

  • in2 (bool) -- 入力 2 のプラグを得る。

  • cur (bool) -- in1 と in2 の指定は無視して、 pairBlend の currentDriver をチェックして 1 か 2 を得る。

  • inUse (bool) -- 得たい入力系統が使用されている場合にのみ得る。

  • byWeight (bool) -- in1, in2, cur, そして inUse の指定を全て無視して、 pairBlend の mode や weight をチェックして、 利用されている入力のタプルを得る。

戻り値の型:

byWeight が True の場合は tuple 、 in1 と in2 が両方 True の場合は tuple 、 そうでない場合は単一の Plug か None。

remove(b=False, f=False, force=False)

自身がマルチアトリビュートの要素プラグの場合にそれを削除する。

removeElement にインデックスを指定しない場合と同じだが、 こちらの場合は要素プラグ以外で使用するとエラーになる。

削除された要素の数が返される。 ただし、それにはアトリビュート階層下の マルチアトリビュート要素の数も含まれる。

パラメータ:
  • b (bool) -- コネクションがあってもエラーにならずに削除する。

  • f|force (bool) -- コネクションだけでなく、ロックされていたりなどの エラー要因を可能な限り回避する。 こちらのオプションだけで b=True も兼ねる。

戻り値の型:

int

removeAllElements(b=False, f=False, force=False)

自身がマルチアトリビュートのマルチプラグの場合にその全要素を削除する。

removeElement にインデックスを指定しない場合と同じだが、 こちらの場合はマルチプラグ以外で使用するとエラーになる。

削除された要素の数が返される。 ただし、それにはアトリビュート階層下の マルチアトリビュート要素の数も含まれる。

パラメータ:
  • b (bool) -- コネクションがあってもエラーにならずに削除する。

  • f|force (bool) -- コネクションだけでなく、ロックされていたりなどの エラー要因を可能な限り回避する。 こちらのオプションだけで b=True も兼ねる。

戻り値の型:

int

removeElement(idx=None, b=False, f=False, force=False)

マルチアトリビュートの要素を削除する。

削除された要素の数が返される。 ただし、それにはアトリビュート階層下の マルチアトリビュート要素の数も含まれる。

パラメータ:
  • idx (int) -- 自身がマルチのとき、削除するインデックスを指定する。 省略すると、自身が要素ならそれが、 マルチなら全ての要素が削除される。

  • b (bool) -- コネクションがあってもエラーにならずに削除する。

  • f|force (bool) -- コネクションだけでなく、ロックされていたりなどの エラー要因を可能な限り回避する。 こちらのオプションだけで b=True も兼ねる。

戻り値の型:

int

reset()

デフォルト値にリセットする。

set(val, safe=False)

アトリビュート値を内部単位でセットする。

None を指定することで、 データ型アトリビュートの Null もセットできる。 もちろん undo も可能。

パラメータ:
  • val -- セットする値。

  • safe (bool) -- アトリビュートがロックされていているなどのために セットできない場合もエラーにならない。 また、 double3 などの数値系コンパウンドの場合は セットできる箇所だけセットされる。 セットに失敗したアトリビュートの数が返される。

戻り値の型:

None or int

setAlias(name=None)

プラグの別名を設定、又は削除する。

パラメータ:

name (str) -- 設定する別名。 None や空文字を指定すると、既存の設定を削除する。

setCached(val, leaf=False)

Caching フラグを設定する。

パラメータ:
  • val (bool) -- True だと有効、 False だと無効。

  • leaf (bool) -- プラグがコンパウンドの場合に True にすると、そのプラグは 処理されず、コンパウンド階層のリーフが探され纏めて処理される。

setCaching(val, leaf=False)

Caching フラグを設定する。

パラメータ:
  • val (bool) -- True だと有効、 False だと無効。

  • leaf (bool) -- プラグがコンパウンドの場合に True にすると、そのプラグは 処理されず、コンパウンド階層のリーフが探され纏めて処理される。

setChannelBox(val, leaf=False)

Keyable でなくてもチャンネルボックスに出すかどうかを設定する。

パラメータ:
  • val (bool) -- True だと有効、 False だと無効。

  • leaf (bool) -- プラグがコンパウンドの場合に True にすると、そのプラグは 処理されず、コンパウンド階層のリーフが探され纏めて処理される。

setKey(**kwargs)

キーフレームをセットする。

setKeyable(val, leaf=False)

Keyable フラグを設定する。

パラメータ:
  • val (bool) -- True だと有効、 False だと無効。

  • leaf (bool) -- プラグがコンパウンドの場合に True にすると、そのプラグは 処理されず、コンパウンド階層のリーフが探され纏めて処理される。

setLocked(val=True, leaf=False)

ロック、又はアンロックする。

パラメータ:
  • val (bool) -- True だとロック、 False だとアンロック。

  • leaf (bool) -- プラグがコンパウンドの場合に True にすると、そのプラグは 処理されず、コンパウンド階層のリーフが探され纏めて処理される。

注釈

アンロックの場合は、プラグ階層上位や下位に対しても保証できる unlock メソッドが便利である。

setu(val, safe=False)

アトリビュート値をUI設定単位でセットする。

None を指定することで、 データ型アトリビュートの Null もセットできる。 もちろん undo も可能。

パラメータ:
  • val -- セットする値。

  • safe (bool) -- アトリビュートがロックされていているなどのために セットできない場合もエラーにならない。 また、 double3 などの数値系コンパウンドの場合は セットできる箇所だけセットされる。 セットに失敗したアトリビュートの数が返される。

戻り値の型:

None or int

toggle()

アトリビュート値をトグルする。

現在の値の否定をセットするだけなので、 型が bool でなくとも動作はする。

戻り値の型:

bool

unlock(below=False, undoable=True)

このプラグと階層上位や、下位(オプション)のプラグをアンロックする。

実際にアンロックされたプラグが上位から並んだリストが返される。

パラメータ:
  • below (bool) -- これより下層もアンロックする。

  • undoable (bool) -- undoの可否。

戻り値の型:

list

注釈

ロック状態は上位から引き継がれるので、 上層をアンロックせずに下層の判定はできない。

unmute(**kwargs)

ミュート解除する。