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 )