Go to: Synopsis. Return value. Flags. Python examples.
condition(
string
, [delete=boolean], [dependency=string], [initialize=boolean], [script=string], [state=boolean])
Note: Strings representing object names and arguments must be separated by commas. This is not depicted in the synopsis.
condition is undoable, queryable, and editable.
This command creates a new named condition object whose true/false
value is calculated by running a mel script. This new condition can
then be used for dimming, or controlling other scripts, or whatever.
None
In query mode, return type is based on queried flag.
delete, dependency, initialize, script, state
Long name (short name) |
Argument types |
Properties |
|
delete(delete)
|
boolean
|
|
|
dependency(d)
|
string
|
|
|
Each -dependency flag specifies another condition that the
new condition will be dependent on. When any of these conditions
change, the new-state-script will run, and the state of this
condition will be set accordingly. It is possible to define infinite loops,
but they will be caught and handled correctly at run-time.
|
|
initialize(i)
|
boolean
|
|
|
Initializes the condition, by forcing it to run its script
as soon as it is created. If this flag is not specified, the
script will not run until one of the dependencies is triggered.
|
|
script(s)
|
string
|
|
|
The script that determines the new state of
the condition.
|
|
state(st)
|
boolean
|
|
|
Sets the state of the condition. This can be used to create
a manually triggered condition: you could create a condition
without any dependencies and without a new-state-script. This
condition would only change state in response to the -st/state flag.
|
|
Flag can appear in Create mode of command
|
Flag can appear in Edit mode of command
|
Flag can appear in Query mode of command
|
Flag can have multiple arguments, passed either as a tuple or a list.
|
import maya.cmds as cmds
# Create a new condition, called "UndoNorRedo", which is true if
# and only if undo is not available and redo is not available:
def isUndoNorRedo() :
return not cmds.isTrue('UndoAvailable') and not cmds.isTrue('RedoAvailable')
cmds.condition('UndoNorRedo', initialize=True, d=['UndoAvailable', 'RedoAvailable'], s='isUndoNorRedo')
# Try out the new condition
#
if cmds.isTrue('UndoNorRedo') :
print 'Neither undo nor redo is available'
else :
print 'Undo or redo is available'
cmds.condition('UndoNorRedo', delete=True)