class cymel.core.cyobjects.dagnode_c.DagNodeMixin

Inheritance diagram of DagNodeMixin
class cymel.core.cyobjects.dagnode_c.DagNodeMixin

ベースクラス: object

DagNode クラスでサポートする機能の中核。

Methods:

allRoots()

このノードインスタンスを階層下に持つ全ルートノードのリストを得る。

boundingBox([ws])

バウンディングボックスを得る。

child(idx[, shapes, intermediates])

インデックス指定で子ノードを1つ得る。

children([shapes, intermediates])

DAGパス上の子ノードのリストを得る。

fullPath()

フルパス名を得る。

getJOQ([ws])

ノードの jointOrient までのクォータニオンを得る。

getM([ws, p, inv])

getMatrix の別名。

getMatrix([ws, p, inv])

ノードのトランスフォーメーションのマトリックスを得る。

getQ([ws, ra, r, jo])

getQuaternion の別名。

getQuaternion([ws, ra, r, jo])

ノードの回転のクォータニオンを得る。

getS([ws])

getScaling の別名。

getScaling([ws])

ノードのスケーリングの値を得る。

getSh([ws])

getShearing の別名。

getShearing([ws])

ノードのシアーの値を得る。

getT([ws, at])

getTranslation の別名。

getTransformation([ws])

ノードのトランスフォーメーション情報を得る。

getTranslation([ws, at])

ノードの位置を得る。

getX([ws])

getTransformation の別名。

hasUnderWorldNodes()

シェイプ下にアンダーワールドノード(カーブオンサーフェース等)を持つかどうか。

inUnderWorld()

アンダーワールド(カーブオンサーフェース等)かどうか。

instance(idx)

インスタンス番号からインスタンスを得る。

instanceIndex()

インスタンス番号を得る。

instances([noSelf])

インスタンスのリストを返す。

isAncestorOf(node[, exact, underWorld])

指定ノードの上位ノードかどうか検査する。

isInstanceable()

インスタンス可能かどうか。

isInstanced([indirect])

インスタンスされているかどうか。

isIntermediateObject()

インターミディエイトオブジェクトかどうか。

isParentOf(node[, exact, underWorld])

指定ノードの親かどうか検査する。

isRoot()

ルートノードかどうか。

isTemplated()

テンプレート化されているかどうか。

isVisible()

可視性を得る。

leaves()

階層下のリーフノードのリストを得る。

lengthAndSiblingIndices()

DAGパスを構成するノード数と、兄弟インデックスリストのペアを得る。

numChildren([shapes, intermediates])

DAGパス上の子ノードの数を得る。

numInstances([indirect])

インスタンス数を得る。

numParents([indirect])

このノードインスタンスを子に持つ親ノードの数を得る。

numShapes([intermediates])

transform の持つ shape ノード数を得る。

objectColor()

設定されているオブジェクトカラーを得る。

parent([step])

DAGパスに沿った親ノードを得る。

parentWorld()

アンダーワールド(カーブオンサーフェース等)における親空間シェイプを返す。

parents([indirect])

このノードインスタンスを子に持つ親ノードのリストを得る。

partialPath()

パーシャルパス名を得る。

pathLength()

DAGフルパスの長さを得る。

root()

DAGパスに沿ったルートノードを得る。

shape([idx, intermediates])

shape ノードを得る。

shapes([intermediates])

transform の持つ shape ノードのリストを得る。

siblingIndex()

兄弟におけるインデックスを得る。

siblingIndices()

DAGパス中の全ノードの兄弟インデックスリストを得る。

siblings()

自分以外の兄弟ノードのリストを返す。

transform()

transform ノードを得る。

underWorldNodes()

シェイプ下のアンダーワールドノード(カーブオンサーフェース等)のリストを得る。

useObjectColor()

オブジェクトカラーが使用される設定になっているかどうか。

Methods Details:

allRoots()

このノードインスタンスを階層下に持つ全ルートノードのリストを得る。

自身がルートノードなら同じ参照が返される。

戻り値の型:

list

boundingBox(ws=False)

バウンディングボックスを得る。

パラメータ:

ws (bool) -- ワールド空間で得るかどうか。

戻り値の型:

BoundingBox

child(idx, shapes=False, intermediates=False)

インデックス指定で子ノードを1つ得る。

シェイプからアンダーワールドノード(カーブオンサーフェース等)を 得ることはできないため、その場合は underWorldNodes を利用すること。

パラメータ:
  • idx (int) -- インデックス。 shapes や intermediates オプションによって、 同じインデックスでも得られるものが変わることがある。 無効なインデックスを指定するとエラーではなく None となる。

  • shapes (bool) -- シェイプも含めるかどうか。

  • intermediates (bool) -- shapes=True のとき、さらに インターミディエイトオブジェクトも含めるかどうか。

戻り値の型:

DagNode or None

children(shapes=False, intermediates=False)

DAGパス上の子ノードのリストを得る。

シェイプからアンダーワールドノード(カーブオンサーフェース等)を 得ることはできないため、その場合は underWorldNodes を利用すること。

パラメータ:
  • shapes (bool) -- シェイプも含めるかどうか。

  • intermediates (bool) -- shapes=True のとき、さらに インターミディエイトオブジェクトも含めるかどうか。

戻り値の型:

list

fullPath()

フルパス名を得る。

戻り値の型:

str

getJOQ(ws=False)

ノードの jointOrient までのクォータニオンを得る。

getQuaternion の r=False 指定と同じ。

パラメータ:

ws (bool) -- ワールド空間で得るかどうか。

戻り値の型:

Quaternion

getM(ws=False, p=False, inv=False)

getMatrix の別名。

getMatrix(ws=False, p=False, inv=False)

ノードのトランスフォーメーションのマトリックスを得る。

パラメータ:
  • ws (bool) -- ワールド空間で得るかどうか。

  • p (bool) -- 親のマトリックスを得るかどうか。

  • inv (bool) -- 逆行列を得るかどうか。

戻り値の型:

Matrix

getQ(ws=False, ra=False, r=True, jo=True)

getQuaternion の別名。

getQuaternion(ws=False, ra=False, r=True, jo=True)

ノードの回転のクォータニオンを得る。

デフォルトでは rotateAxis を含んでいない回転となり、 マトリックスからの分解結果とは一致しないが、 Maya の機能(Local Axis 表示やコンストレイン)が ノードの回転方向とする基準と一致する。

ws=False の場合は、 3種の回転アトリビュートのみから合成された結果が得られ、 joint ノードのローカルマトリックスには含まれる inverseScale の影響は無視される。

パラメータ:
  • ws (bool) -- ワールド空間で得るかどうか。

  • ra (bool) -- rotateAxis を含めるかどうか。

  • r (bool) -- rotate を含めるかどうか。

  • jo (bool) -- jointOrient を含めるかどうか。

戻り値の型:

Quaternion

注釈

ws=True の場合の親までの非一様 scale や shear による影響や ws=False の場合の jointOrient は、 xform コマンドや MTransformationMatrix では考慮されないが、本メソッドでは考慮されている。

ws=True の結果は Legacy Viewport での Local Axis 表示と常に一致するが、 上位階層に 非一様 scale や shear が含まれる場合、 orientConstraint や parentConstraint の結果とは一致しない場合がある。 これは、コンストレイン側で考慮が足りていないからである。 ただし、segmentScaleCompensate で常に非一様 scale が打ち消されていれば一致する。

ws=False の結果は、上位階層に非一様 scale や shear が無いか、 segmentScaleCompensate で常に非一様 scale が打ち消されていれば、 親の getQ(ws=True, ra=True) を乗じた結果は getQ(ws=True) と一致する。

警告

以下のオプションの組み合わせはエラーになる。

  • ws=False, ra=True, r=False, jo=True

  • ws=True, ra=True, r=False

  • ws=True, ra=True, jo=False

  • ws=True, r=True, jo=False

getS(ws=False)

getScaling の別名。

getScaling(ws=False)

ノードのスケーリングの値を得る。

ws=False の場合は、 単に scale アトリビュートから得られ、 joint ノードのローカルマトリックスには含まれる inverseScale の影響は無視される。

パラメータ:

ws (bool) -- ワールド空間で得るかどうか。

戻り値の型:

Vector

getSh(ws=False)

getShearing の別名。

getShearing(ws=False)

ノードのシアーの値を得る。

ws=False の場合は、 単に shear アトリビュートから得られ、 joint ノードのローカルマトリックスには含まれる inverseScale の影響は無視される。

パラメータ:

ws (bool) -- ワールド空間で得るかどうか。

戻り値の型:

Vector

getT(ws=False, at=2)

getTranslation の別名。

getTransformation(ws=False)

ノードのトランスフォーメーション情報を得る。

transform 派生ノードの アトリビュート xm の値を得ることと同じだが、 オプションでワールドスペースの値を得ることもできる。

パラメータ:

ws (bool) -- ワールド空間で得るかどうか。

戻り値の型:

Transformation

getTranslation(ws=False, at=2)

ノードの位置を得る。

デフォルトでは回転ピボットの位置となり、 マトリックスからの分解結果とは一致しないが、 Maya の機能(Local Axis 表示位置やコンストレイン)が ノードの位置とする基準と一致する。

パラメータ:
  • ws (bool) -- ワールド空間で得るかどうか。

  • at (int) --

    どのアトリビュートに相当する位置を得るか。

    • 0 だとローカル原点(親の matrix 位置)。

    • 1 だと translate の位置。

    • 2 だと rotatePivot の位置。

    • 3 だと scalePivot の位置。

    • 4 以上だと matrix の位置。

戻り値の型:

Vector

getX(ws=False)

getTransformation の別名。

hasUnderWorldNodes()

シェイプ下にアンダーワールドノード(カーブオンサーフェース等)を持つかどうか。

戻り値の型:

bool

inUnderWorld()

アンダーワールド(カーブオンサーフェース等)かどうか。

戻り値の型:

bool

instance(idx)

インスタンス番号からインスタンスを得る。

パラメータ:

idx (int) -- インスタンス番号。

戻り値の型:

DagNode or None

instanceIndex()

インスタンス番号を得る。

戻り値の型:

int

注釈

この番号は並び順の変更やインスタンス数の増減によって動的に変わる。 また、使用されているワールドスペースプラグのインデックスも それに合わせて変わる。

instances(noSelf=False)

インスタンスのリストを返す。

パラメータ:

noSelf (bool) -- 自身を含めないようにする。

戻り値の型:

list

isAncestorOf(node, exact=False, underWorld=True)

指定ノードの上位ノードかどうか検査する。

直接の親かどうかをチェックする場合は isParentOf が利用できる。

パラメータ:
  • node (DagNode) -- チェックするノード。

  • exact -- インスタンス関係は考慮せず、DAGパスに沿った判定のみとするかどうか。

  • underWorld (bool) -- アンダーワールド(カーブオンサーフェース)の親シェイプも判定する。

戻り値の型:

bool

isInstanceable()

インスタンス可能かどうか。

戻り値の型:

bool

isInstanced(indirect=True)

インスタンスされているかどうか。

パラメータ:

indirect (bool) -- 直接インスタンス化されたポイント以外も含めるかどうか。

戻り値の型:

bool

isIntermediateObject()

インターミディエイトオブジェクトかどうか。

戻り値の型:

bool

isParentOf(node, exact=False, underWorld=True)

指定ノードの親かどうか検査する。

直接の親に限らない上位ノードかどうかチェックする場合は isAncestorOf が利用できる。

パラメータ:
  • node (DagNode) -- チェックするノード。

  • exact -- インスタンス関係は考慮せず、DAGパスに沿った判定のみとするかどうか。

  • underWorld (bool) -- アンダーワールド(カーブオンサーフェース)の親シェイプも判定する。

戻り値の型:

bool

isRoot()

ルートノードかどうか。

戻り値の型:

bool

isTemplated()

テンプレート化されているかどうか。

戻り値の型:

bool

isVisible()

可視性を得る。

戻り値の型:

bool

leaves()

階層下のリーフノードのリストを得る。

アンダーワールドノード(カーブオンサーフェース等)に 下ることはされない。

戻り値の型:

list

lengthAndSiblingIndices()

DAGパスを構成するノード数と、兄弟インデックスリストのペアを得る。

戻り値の型:

(int, list)

注釈

ノードリストをソートするキー関数として利用すると、 DAG階層の幅優先ソートとなる。

兄弟順保証が不要なら pathLength を、 深さ優先なら siblingIndices を利用する良い。

numChildren(shapes=False, intermediates=False)

DAGパス上の子ノードの数を得る。

パラメータ:
  • shapes (bool) -- シェイプも含めるかどうか。

  • intermediates (bool) -- shapes=True のとき、さらに インターミディエイトオブジェクトも含めるかどうか。

戻り値の型:

int

numInstances(indirect=True)

インスタンス数を得る。

パラメータ:

indirect (bool) -- 直接インスタンス化されたポイント以外も含めるかどうか。

戻り値の型:

int

numParents(indirect=False)

このノードインスタンスを子に持つ親ノードの数を得る。

パラメータ:

indirect (bool) -- インスタンスポイント以外も含まれる親のパス全てを得る。

戻り値の型:

int

numShapes(intermediates=False)

transform の持つ shape ノード数を得る。

パラメータ:

intermediates (bool) -- インターミディエイトオブジェクトも含めるかどうか。

戻り値の型:

int

objectColor()

設定されているオブジェクトカラーを得る。

戻り値の型:

int

parent(step=1)

DAGパスに沿った親ノードを得る。

アンダーワールドノード(カーブオンサーフェース等)から 親シェイプを得ることもできる。

パラメータ:

step (int) -- 遡るノード数。 API の MDagPath の pop とは異なり、 カーブオンサーフェースと親シェイプとの間に存在する シーン上では見えない『ワールド』ノードはカウントしない。

戻り値の型:

DagNode or None

parentWorld()

アンダーワールド(カーブオンサーフェース等)における親空間シェイプを返す。

本メソッドによって、カーブオンサーフェースから 親のサーフェースシェイプを得ることができる。

戻り値の型:

Shape or None

parents(indirect=False)

このノードインスタンスを子に持つ親ノードのリストを得る。

パラメータ:

indirect (bool) -- インスタンスポイント以外も含まれる親のパス全てを得る。

戻り値の型:

list

partialPath()

パーシャルパス名を得る。

name と同じ。

戻り値の型:

str

pathLength()

DAGフルパスの長さを得る。

カーブオンサーフェースと親シェイプとの間に存在する シーン上では見えない『ワールド』ノードはカウントされないため、 API の MDagPath の length() とは異なる。

戻り値の型:

int

注釈

ノードリストをソートするキー関数として利用すると、 DAG階層の兄弟順保証無しの幅優先ソートとなる。

兄弟順保証するなら lengthAndSiblingIndices を 深さ優先なら siblingIndices を利用すると良い。

root()

DAGパスに沿ったルートノードを得る。

自身がルートノードなら同じ参照が返される。

API の MDagPath の dagRoot() とは異なり、 見えない『ワールド』ノードではなく、 シーン上のルートノードが得られる。

戻り値の型:

Transform or None

shape(idx=0, intermediates=False)

shape ノードを得る。

自身がシェイプの場合は自身が、 transform の場合はそのシェイプが得られる。

パラメータ:
  • idx (int) --

    得たいシェイプのインデックス。 自身がシェイプの場合は無視される。

    intermediates オプションによって、 同じインデックスでも得られるものが変わることがある。 無効なインデックスを指定するとエラーではなく None となる。

    Python的な負のインデックスも指定可能。

  • intermediates (bool) -- インターミディエイトオブジェクトも含めるかどうか。

戻り値の型:

Shape or None

shapes(intermediates=False)

transform の持つ shape ノードのリストを得る。

パラメータ:

intermediates (bool) -- インターミディエイトオブジェクトも含めるかどうか。

戻り値の型:

list

siblingIndex()

兄弟におけるインデックスを得る。

戻り値の型:

int

siblingIndices()

DAGパス中の全ノードの兄弟インデックスリストを得る。

戻り値の型:

list

注釈

ノードリストをソートするキー関数として利用すると、 DAG階層の深さ優先ソートとなる。

幅優先なら lengthAndSiblingIndices を 兄弟順保証しない幅優先なら pathLength を使うと良い。

siblings()

自分以外の兄弟ノードのリストを返す。

戻り値の型:

list

transform()

transform ノードを得る。

自身が transform の場合は自身が、

shape の場合はその親が得られる。

戻り値の型:

Transform or None

underWorldNodes()

シェイプ下のアンダーワールドノード(カーブオンサーフェース等)のリストを得る。

戻り値の型:

list

useObjectColor()

オブジェクトカラーが使用される設定になっているかどうか。

戻り値の型:

bool