ジャンプ先: 概要. 戻り値.
関連項目. フラグ. Python 例.
isDirty( string... , [connection=boolean], [datablock=boolean])
注意:
オブジェクト名や引数を表す文字列はカンマで区切ります。これは概要には示されていません。
isDirty は 「元に戻す」が可能、「照会」が不可能、「編集」が不可能 です。
isDirty コマンドは、プラグがダーティかどうかのチェックに使用されます。ダーティでない場合は 0、ダーティな場合は
1 が返されます。 複数のフラグが指定されている場合は、すべてのオブジェクトの論理積が返されます。つまり、ダーティなフラグが 1
つでもあれば、1 を返します。
boolean |
プラグはダーティですか? 複数のプラグを指定した場合、ダーティ状態にあるすべての論理和が返されます。 |
attributeQuery, getClassification, isConnected, nodeType, objExists, objectType
connection, datablock
: コマンドの作成モードで使用可能なフラグ |
: コマンドの編集モードで使用可能なフラグ |
: コマンドの照会モードで使用可能なフラグ |
: タプルまたはリストとして渡された複数の引数を持てるフラグ |
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 #