Go to: Synopsis. Return value. Keywords. Related. Flags. Python examples.
dgInfo([allNodes=boolean], [connections=boolean], [dirty=boolean], [island=boolean], [nodes=boolean], [nonDeletable=boolean], [outputFile=string], [propagation=boolean], [short=boolean], [size=boolean], [subgraph=boolean], [type=string])
Note: Strings representing object names and arguments must be separated by commas. This is not depicted in the synopsis.
dgInfo is NOT undoable, NOT queryable, and NOT editable.
This command prints information about the DG in a text-oriented
manner. The scope of the information printed is the entire graph
if the -all flag is used, the nodes/plugs on the command line if
they were specified, and the selection list, in that order.
Each plug on a connection will have two pieces of state information
displayed together at the end of the line on which they are printed.
- CLEAN PROP is the normal state for a graph that has been
successfully evaluated. It indicates that the plug value in the node's
datablock is correct and that any successive changes to it (or values upstream
from it) are propagated to all plugs depending on it (e.g. downstream
connections or "affected" outputs).
- DIRTY BLOCK is the normal state for a plug whose upstream values have changed but
no evaluation request has come through for that plug's value. The DIRTY part indicates that
the current value of the plug held in the datablock may or may not be correct, depending on
how the upstream values affect it. Requesting it directly via a getAttr command or
indirectly via a request for values downstream of it will trigger a DG evaluation of all
upstream plugs. The BLOCK part is an optimization that prevents excessive dirty flag
propagation when many values are changing e.g. a frame change in an animated sequece. It means
that any changes to values upstream from this plug will not send any further dirty messages to
downstream/affected plugs.
- DIRTY PROP is a less common but still valid state for a plug whose upstream
values have changed but no evaluation request has come through for that plug's value.
Like the DIRTY BLOCK state it will trigger an evaluaton when it's value is requested.
Where it differs is that when another change comes through from an upstream plug this plug
will (again) propagate the dirty message to all downstream/affected plugs. You will only see
this state when the DG was not certain that all downstream plugs were notified of their dirty
status the last time this plug was marked dirty itself (e.g. if the dirty propagation was
intercepted by a node or the graph connections changed since the last dirty message).
- CLEAN BLOCK should never be seen in a valid DG. This indicates that while the
value of the plug is clean (i.e. valid) it will not propagate a dirty state when its
value changes. That means downstream nodes will not be notified that the graph is changing
and they will not evaluate properly. Recovering from this invalid state requires entering
the command dgdirty -a to mark everything dirty and restart proper evaluation. (Think
of this command as the CTL-ALT-DEL of the DG world.)
None
debug, dependency, graph, node, output, connection
dgdirty, dgeval
allNodes, connections, dirty, island, nodes, nonDeletable, outputFile, propagation, short, size, subgraph, type
Long name (short name) |
Argument types |
Properties |
connections(c)
|
boolean
|
|
|
Print the connection information
|
|
nodes(n)
|
boolean
|
|
|
Print the specified nodes (or the entire graph if -all is used)
|
|
island(island)
|
boolean
|
|
|
Print detailed debug information about the island for each node. Note that
this flag will typically generate a large amount of debug information, so it is
recommended that the list of nodes passed to the command be brief when using
the islandDetail flag.
The information includes the full list of nodes in the island, as well as all
islands connected to the island.
|
|
subgraph(sub)
|
boolean
|
|
|
Print the subgraph affected by the node or plugs (or all nodes
in the graph grouped in subgraphs if -all is used)
|
|
allNodes(all)
|
boolean
|
|
|
Use the entire graph as the context
|
|
short(s)
|
boolean
|
|
|
Print using short format instead of long
|
|
dirty(d)
|
boolean
|
|
|
Only print dirty/clean nodes/plugs/connections. Default is both
|
|
propagation(p)
|
boolean
|
|
|
Only print propagating/not propagating nodes/plugs/connections.
Default is both.
|
|
nonDeletable(nd)
|
boolean
|
|
|
Include non-deletable nodes as well (normally not of interest)
|
|
size(sz)
|
boolean
|
|
|
Show datablock sizes for all specified nodes. Return value is tuple of
all selected nodes (NumberOfNodes, NumberOfDatablocks, TotalDatablockMemory)
|
|
type(nt)
|
string
|
|
|
Filter output to only show nodes of type NODETYPE
|
|
outputFile(of)
|
string
|
|
|
Send the output to the file FILE instead of STDERR
|
|
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 node
cmds.createNode('transform',name='NODE')
cmds.setKeyframe('NODE.translate')
# Print all things connected to node NODE
cmds.dgInfo( 'NODE', c=True )
# Print all connections currently in the graph
cmds.dgInfo( c=True, all=True )
# Print the datablock size of all nodes currently in the graph
cmds.dgInfo( sz=True, all=True )
# Return: [12, 12, 12314]
# Print all connections to attribute tx on node NODE
cmds.dgInfo('NODE.tx',c=True)
# Print all dirty connections in the entire graph
cmds.dgInfo( c=True, all=True, d=True )