class cymel.core.cyobjects.dagnode.DagNode

Inheritance diagram of 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] で呼び出すことと同じ。

パラメータ:
  • other (DagNode) -- 比較するDAGノード。

  • skipFirst (bool) -- 指定したノードの親を探索起点とするかどうか。 デフォルトでは指定したノード自身も結果となり得る。

戻り値の型:

DagNode or None

static findCommonAncestor(nodes=None, skipFirst=False)

指定したDAGノードに共通の先祖ノードを見つける。

パラメータ:
  • nodes (iterable) -- 1つ以上のDAGノード。省略時はカレントセレクション。

  • skipFirst (bool) -- 指定したノードの親を探索起点とするかどうか。 デフォルトでは指定したノード自身も結果となり得る。

戻り値の型:

DagNode or None

hide()

visibility アトリビュートを False にする。

iterBreadthFirst(shapes=False, intermediates=False, underWorld=False)

DAGノードツリーを幅優先反復する。

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

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

  • underWorld (bool) -- アンダーワールドノード(カーブオンサーフェース等)も含めるかどうか。

戻り値の型:

yeild DagNode

iterDepthFirst(shapes=False, intermediates=False, underWorld=False)

DAGノードツリーを深さ優先反復する。

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

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

  • underWorld (bool) -- アンダーワールドノード(カーブオンサーフェース等)も含めるかどうか。

戻り値の型:

yeild DagNode

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 でないと取得されない。

戻り値:

yield (DagNode, int)

整数値は次の値をとり、辿っている方向を示す。

  • 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 にする。