pymel.core.system.dgInfo

dgInfo(*args, **kwargs)

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 PROPis 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 BLOCKis the normal state for a plug whose upstream values have changed but no evaluation request has come through for that plug’s value. The DIRTYpart 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 getAttrcommand or indirectly via a request for values downstream of it will trigger a DG evaluation of all upstream plugs. The BLOCKpart 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 PROPis 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 BLOCKstate 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 BLOCKshould 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 -ato mark everything dirty and restart proper evaluation. (Think of this command as the CTL-ALT-DELof the DG world.)

Flags:
Long name (short name) Argument Types Properties
allNodes (all) bool ../../../_images/create.gif
 
Use the entire graph as the context
connections (c) bool ../../../_images/create.gif
 
Print the connection information
dirty (d) bool ../../../_images/create.gif
 
Only print dirty/clean nodes/plugs/connections. Default is both
island (island) bool ../../../_images/create.gif
 

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.

nodes (n) bool ../../../_images/create.gif
 
Print the specified nodes (or the entire graph if -all is used)
nonDeletable (nd) bool ../../../_images/create.gif
 
Include non-deletable nodes as well (normally not of interest)
outputFile (of) unicode ../../../_images/create.gif
 
Send the output to the file FILE instead of STDERRFlag can appear in Create mode of commandFlag can have multiple arguments, passed either as a tuple or a list.
propagation (p) bool ../../../_images/create.gif
 
Only print propagating/not propagating nodes/plugs/connections. Default is both.
short (s) bool ../../../_images/create.gif
 
Print using short format instead of long
size (sz) bool ../../../_images/create.gif
 
Show datablock sizes for all specified nodes. Return value is tuple of all selected nodes (NumberOfNodes, NumberOfDatablocks, TotalDatablockMemory)
subgraph (sub) bool ../../../_images/create.gif
 
Print the subgraph affected by the node or plugs (or all nodes in the graph grouped in subgraphs if -all is used)
type (nt) unicode ../../../_images/create.gif
 
Filter output to only show nodes of type NODETYPE

Derived from mel command maya.cmds.dgInfo

Example:

import pymel.core as pm

import maya.cmds as cmds

# create a node
pm.createNode('transform',name='NODE')
# Result: nt.Transform(u'NODE') #
pm.setKeyframe('NODE.translate')
# Result: 3 #
# Print all things connected to node NODE
pm.dgInfo( 'NODE', c=True )
# Print all connections currently in the graph
pm.dgInfo( c=True, all=True )
# Print the datablock size of all nodes currently in the graph
pm.dgInfo( sz=True, all=True )
# Result: [279, 279, 37976] #
# Return: [12, 12, 12314]
# Print all connections to attribute tx on node NODE
pm.dgInfo('NODE.tx',c=True)
# Print all dirty connections in the entire graph
pm.dgInfo( c=True, all=True, d=True )

Previous topic

pymel.core.system.devicePanel

Next topic

pymel.core.system.dgdirty

Core

Core Modules

Other Modules

This Page