class cymel.core.cyobjects.dagnode.DagNode¶
- class cymel.core.cyobjects.dagnode.DagNode(*args, **kwargs)¶
ベースクラス:
DagNodeMixin
,Entity
dagNode ノードタイプラッパークラス。
固定引数無しでのクラスインスタンス生成時のノード生成をサポート。
Methods:
commonAncestor
(other[, skipFirst])指定したノードとの共通の先祖ノードを得る。
findCommonAncestor
([nodes, skipFirst])指定したDAGノードに共通の先祖ノードを見つける。
hide
()visibility アトリビュートを False にする。
iterBreadthFirst
([shapes, intermediates, ...])DAGノードツリーを幅優先反復する。
iterDepthFirst
([shapes, intermediates, ...])DAGノードツリーを深さ優先反復する。
iterPath
([end, includeStart, includeEnd, ...])DAGパスをたどるイテレータ。
setParent
([parent, r, add, avoidJointShear, ...])親ノードを変更する。
show
()visibility アトリビュートを True にする。
Attributes:
- TYPE_BITS = 1¶
クラスでサポートしているノードの特徴を表す。
Methods Details:
- commonAncestor(other, skipFirst=False)¶
指定したノードとの共通の先祖ノードを得る。
findCommonAncestor
を [self, other] で呼び出すことと同じ。
- static findCommonAncestor(nodes=None, skipFirst=False)¶
指定したDAGノードに共通の先祖ノードを見つける。
- hide()¶
visibility アトリビュートを False にする。
- iterBreadthFirst(shapes=False, intermediates=False, underWorld=False)¶
DAGノードツリーを幅優先反復する。
- iterDepthFirst(shapes=False, intermediates=False, underWorld=False)¶
DAGノードツリーを深さ優先反復する。
- iterPath(end=None, includeStart=True, includeEnd=True, includeTurn=False)¶
DAGパスをたどるイテレータ。
- パラメータ:
end -- 終点とする DAG ノード。 省略時はルートまでイテレーションする。
includeStart (int) --
始点ノードを含めるかどうか。
上昇のみ(始点が終点の子孫)の場合は、 さらに includeTurn も True である必要がある。
includeEnd (int) --
終点ノードを含めるかどうか。
下降のみ(始点が終点の先祖)の場合は、 さらに includeTurn も True である必要がある。
終点省略時はこの指定は無視され、シーン上の最上位ノードまで常に含める。
includeTurn (bool) --
上昇から下降への折り返し点を含めるかどうか。
折り返し点とは、イテレーション中の最上位に位置するノードのことで、
commonAncestor
で取得できるものと同じく、始点と終点の共通の先祖である。下降のみ(始点が終点の先祖)の場合の始点や 上昇のみ(始点が終点の子孫)の場合の終点は、 始点や終点であると同時に折り返し点でもあるという扱いになる。 それらは、includeStart か includeEnd に加えて includeTurn も True でないと取得されない。
- 戻り値:
-
整数値は次の値をとり、辿っている方向を示す。
0 - 下降。
1 - 上昇。
2 - 上昇から下降への折り返し点(イテレーション中の最上位点)。
注釈
終点ノード空間の始点ノードのローカルマトリックス配列を得る場合、 デフォルト設定で使用し、 返される整数値が 0 なら inverseMatrix、1 なら matrix を参照すれば良い。
- setParent(parent=None, r=False, add=False, avoidJointShear=False, unmaintainIS=False)¶
親ノードを変更する。
- パラメータ:
parent -- 親の
Transform
や名前。省略すればペアレント解除。r (bool) -- 現在のローカル変換を維持するかどうか。 デフォルトではワールド空間で維持される。
add (bool) -- 移動ではなくパスを追加する(インスタンス)。
avoidJointShear (bool) -- このノードが joint で、ワールド姿勢の維持のために shear が必要な場合に、その使用を避けるための transform が 追加されるようにする。 これは本来の Maya の挙動だが、このメソッドのデフォルトでは joint の shear を使用することで transform を追加しない。
unmaintainIS (bool) -- このノードが joint の場合に inverseScale 接続・切断の 保守をしない。
警告
2019 全てと 2020.0 では、joint の shear は機能しないため、 avoidJointShear=True を指定しないと姿勢を維持できない場合がある。 この問題は 2020.1 以降はバグとして修正されている。
- show()¶
visibility アトリビュートを True にする。