ジャンプ先: 概要. 戻り値. 関連項目. フラグ. Python 例.

概要

isDirty( string... , [connection=boolean], [datablock=boolean])

注意: オブジェクト名や引数を表す文字列はカンマで区切ります。これは概要には示されていません。

isDirty は 「元に戻す」が可能、「照会」が不可能「編集」が不可能 です。

isDirty コマンドは、プラグがダーティかどうかのチェックに使用されます。ダーティでない場合は 0、ダーティな場合は 1 が返されます。 複数のフラグが指定されている場合は、すべてのオブジェクトの論理積が返されます。つまり、ダーティなフラグが 1 つでもあれば、1 を返します。

戻り値

boolean プラグはダーティですか? 複数のプラグを指定した場合、ダーティ状態にあるすべての論理和が返されます。

関連項目

attributeQuery, getClassification, isConnected, nodeType, objExists, objectType

フラグ

connection, datablock
ロング ネーム(ショート ネーム) 引数型 プロパティ
datablock(d) boolean create
プラグのデータブロック エントリをチェックします。
connection(c) boolean create
プラグのコネクションをチェックします(デフォルト)。

: コマンドの作成モードで使用可能なフラグ : コマンドの編集モードで使用可能なフラグ
: コマンドの照会モードで使用可能なフラグ : タプルまたはリストとして渡された複数の引数を持てるフラグ

Python 例

import maya.cmds as cmds

# Create a plusMinusAverage node and a transform. We set the 'skipSelect'
# flag so that they are not displayed in the Attribute Editor because
# that would force an evaluation and cause the plugs to become clean.
import maya.cmds as cmds
cmds.createNode('plusMinusAverage', n='pma', skipSelect=True)
cmds.createNode('transform', n='t', skipSelect=True)

# Hide the transform so that Maya's draw won't force an evaluation which
# would clean its plugs.
cmds.hide('t')

# Connect the transform's 'tx' to one of the plusMinusAverage node's
# inputs.
cmds.connectAttr('t.tx', 'pma.input1D[0]')

# Set the value of the transform's 'tx' and check that the
# target of the connection has become dirty.
cmds.setAttr('t.tx', 13)
cmds.isDirty('pma.input1D[0]')
# Result: 1 #

# If we retrieve the value of the destination attribute
# then the connection becomes clean.
cmds.getAttr('pma.input1D[0]')
# Result: 13.0 #
cmds.isDirty('pma.input1D[0]')
# Result: 0 #

# A plusMinusAverage node's 'output1D' attribute depends
# upon the values in its 'input1D' array. Since we haven't
# retrieved its value yet, it should still be dirty. However,
# it seems to be clean:
cmds.isDirty('pma.output1D')
# Result: 0 #

# The reason for this is that the 'isDirty' command
# by default only checks connections and 'output1D' has
# no connection to be dirty. If we instead check its
# value in the datablock, we get the expected result:
cmds.isDirty('pma.output1D', d=True)
# Result: 1 #

# The output value will remain dirty until we
# force its evaluation by retrieving it.
cmds.getAttr('pma.output1D')
# Result: 13.0 #
cmds.isDirty('pma.output1D', d=True)
# Result: 0 #