class cymel.core.cyobjects.dagnode_c.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
の別名。シェイプ下にアンダーワールドノード(カーブオンサーフェース等)を持つかどうか。
アンダーワールド(カーブオンサーフェース等)かどうか。
instance
(idx)インスタンス番号からインスタンスを得る。
インスタンス番号を得る。
instances
([noSelf])インスタンスのリストを返す。
isAncestorOf
(node[, exact, underWorld])指定ノードの上位ノードかどうか検査する。
インスタンス可能かどうか。
isInstanced
([indirect])インスタンスされているかどうか。
インターミディエイトオブジェクトかどうか。
isParentOf
(node[, exact, underWorld])指定ノードの親かどうか検査する。
isRoot
()ルートノードかどうか。
テンプレート化されているかどうか。
可視性を得る。
leaves
()階層下のリーフノードのリストを得る。
DAGパスを構成するノード数と、兄弟インデックスリストのペアを得る。
numChildren
([shapes, intermediates])DAGパス上の子ノードの数を得る。
numInstances
([indirect])インスタンス数を得る。
numParents
([indirect])このノードインスタンスを子に持つ親ノードの数を得る。
numShapes
([intermediates])設定されているオブジェクトカラーを得る。
parent
([step])DAGパスに沿った親ノードを得る。
アンダーワールド(カーブオンサーフェース等)における親空間シェイプを返す。
parents
([indirect])このノードインスタンスを子に持つ親ノードのリストを得る。
パーシャルパス名を得る。
DAGフルパスの長さを得る。
root
()DAGパスに沿ったルートノードを得る。
shape
([idx, intermediates])shape ノードを得る。
shapes
([intermediates])兄弟におけるインデックスを得る。
DAGパス中の全ノードの兄弟インデックスリストを得る。
siblings
()自分以外の兄弟ノードのリストを返す。
transform ノードを得る。
シェイプ下のアンダーワールドノード(カーブオンサーフェース等)のリストを得る。
オブジェクトカラーが使用される設定になっているかどうか。
Methods Details:
- child(idx, shapes=False, intermediates=False)¶
インデックス指定で子ノードを1つ得る。
シェイプからアンダーワールドノード(カーブオンサーフェース等)を 得ることはできないため、その場合は
underWorldNodes
を利用すること。
- children(shapes=False, intermediates=False)¶
DAGパス上の子ノードのリストを得る。
シェイプからアンダーワールドノード(カーブオンサーフェース等)を 得ることはできないため、その場合は
underWorldNodes
を利用すること。
- getJOQ(ws=False)¶
ノードの jointOrient までのクォータニオンを得る。
getQuaternion
の r=False 指定と同じ。- パラメータ:
ws (bool) -- ワールド空間で得るかどうか。
- 戻り値の型:
- getMatrix(ws=False, p=False, inv=False)¶
ノードのトランスフォーメーションのマトリックスを得る。
- 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=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 の影響は無視される。
- getSh(ws=False)¶
getShearing
の別名。
- getShearing(ws=False)¶
ノードのシアーの値を得る。
ws=False の場合は、 単に shear アトリビュートから得られ、 joint ノードのローカルマトリックスには含まれる inverseScale の影響は無視される。
- getT(ws=False, at=2)¶
getTranslation
の別名。
- getTransformation(ws=False)¶
ノードのトランスフォーメーション情報を得る。
transform 派生ノードの アトリビュート
xm
の値を得ることと同じだが、 オプションでワールドスペースの値を得ることもできる。- パラメータ:
ws (bool) -- ワールド空間で得るかどうか。
- 戻り値の型:
- getTranslation(ws=False, at=2)¶
ノードの位置を得る。
デフォルトでは回転ピボットの位置となり、 マトリックスからの分解結果とは一致しないが、 Maya の機能(Local Axis 表示位置やコンストレイン)が ノードの位置とする基準と一致する。
- getX(ws=False)¶
getTransformation
の別名。
- instanceIndex()¶
インスタンス番号を得る。
- 戻り値の型:
注釈
この番号は並び順の変更やインスタンス数の増減によって動的に変わる。 また、使用されているワールドスペースプラグのインデックスも それに合わせて変わる。
- isAncestorOf(node, exact=False, underWorld=True)¶
指定ノードの上位ノードかどうか検査する。
直接の親かどうかをチェックする場合は
isParentOf
が利用できる。
- isInstanced(indirect=True)¶
インスタンスされているかどうか。
- isParentOf(node, exact=False, underWorld=True)¶
指定ノードの親かどうか検査する。
直接の親に限らない上位ノードかどうかチェックする場合は
isAncestorOf
が利用できる。
- lengthAndSiblingIndices()¶
DAGパスを構成するノード数と、兄弟インデックスリストのペアを得る。
- 戻り値の型:
(int,
list
)
注釈
ノードリストをソートするキー関数として利用すると、 DAG階層の幅優先ソートとなる。
兄弟順保証が不要なら
pathLength
を、 深さ優先ならsiblingIndices
を利用する良い。
- numChildren(shapes=False, intermediates=False)¶
DAGパス上の子ノードの数を得る。
- numInstances(indirect=True)¶
インスタンス数を得る。
- numParents(indirect=False)¶
このノードインスタンスを子に持つ親ノードの数を得る。
- numShapes(intermediates=False)¶
- parent(step=1)¶
DAGパスに沿った親ノードを得る。
アンダーワールドノード(カーブオンサーフェース等)から 親シェイプを得ることもできる。
- parentWorld()¶
アンダーワールド(カーブオンサーフェース等)における親空間シェイプを返す。
本メソッドによって、カーブオンサーフェースから 親のサーフェースシェイプを得ることができる。
- 戻り値の型:
Shape
or None
- parents(indirect=False)¶
このノードインスタンスを子に持つ親ノードのリストを得る。
- pathLength()¶
DAGフルパスの長さを得る。
カーブオンサーフェースと親シェイプとの間に存在する シーン上では見えない『ワールド』ノードはカウントされないため、 API の MDagPath の length() とは異なる。
- 戻り値の型:
注釈
ノードリストをソートするキー関数として利用すると、 DAG階層の兄弟順保証無しの幅優先ソートとなる。
兄弟順保証するなら
lengthAndSiblingIndices
を 深さ優先ならsiblingIndices
を利用すると良い。
- root()¶
DAGパスに沿ったルートノードを得る。
自身がルートノードなら同じ参照が返される。
API の MDagPath の dagRoot() とは異なり、 見えない『ワールド』ノードではなく、 シーン上のルートノードが得られる。
- 戻り値の型:
Transform
or None
- shapes(intermediates=False)¶
- siblingIndices()¶
DAGパス中の全ノードの兄弟インデックスリストを得る。
- 戻り値の型:
注釈
ノードリストをソートするキー関数として利用すると、 DAG階層の深さ優先ソートとなる。
幅優先なら
lengthAndSiblingIndices
を 兄弟順保証しない幅優先ならpathLength
を使うと良い。