Go to: Synopsis. Return value. Flags. Python examples.

Synopsis

hyperGraph( [string] , [addBookmark=boolean], [addDependGraph=name], [addDependNode=name], [animateTransition=boolean], [attributeEditor=string], [bookmarkName=boolean], [clear=boolean], [collapseContainer=boolean], [connectionDrawStyle=string], [control=boolean], [defineTemplate=string], [deleteBookmark=string], [dependGraph=boolean], [dependNode=string], [docTag=string], [down=boolean], [downstream=boolean], [dragAndDropBehaviorCommand=string], [dropNode=string], [dropTargetNode=string], [edgeDblClickCommand=string], [edgeDimmedDblClickCommand=string], [enableAutomaticLayout=boolean], [exists=boolean], [expandContainer=boolean], [feedbackGadget=string], [feedbackNode=string], [filter=string], [filterDetail=[string, boolean]], [fitImageToHeight=boolean], [fitImageToWidth=boolean], [focusCommand=string], [fold=boolean], [forceMainConnection=string], [forceRefresh=boolean], [frame=boolean], [frameBranch=boolean], [frameGraph=boolean], [frameHierarchy=boolean], [freeform=boolean], [fromAttr=string], [getNodeList=boolean], [getNodePosition=string], [graphLayoutStyle=string], [graphType=string], [highlightConnection=string], [iconSize=string], [image=string], [imageEnabled=boolean], [imageForContainer=boolean], [imagePosition=[float, float]], [imageScale=float], [isHotkeyTarget=boolean], [layout=boolean], [layoutSelected=string], [lockMainConnection=boolean], [look=[float, float]], [mainListConnection=string], [mergeConnections=boolean], [navigateHome=boolean], [nextView=boolean], [nodeDropCommand=string], [nodePressCommand=string], [nodeReleaseCommand=string], [opaqueContainers=boolean], [orientation=string], [panel=string], [parent=string], [popupMenuScript=string], [previousView=boolean], [range=[float, float]], [rebuild=boolean], [removeNode=string], [rename=boolean], [resetFreeform=boolean], [restoreBookmark=string], [scrollUpDownNoZoom=boolean], [selectionConnection=string], [setNodePosition=[string, float, float]], [showConnectionFromSelected=boolean], [showConnectionToSelected=boolean], [showConstraints=boolean], [showDeformers=boolean], [showExpressions=boolean], [showInvisible=boolean], [showRelationships=boolean], [showShapes=boolean], [showUnderworld=boolean], [stateString=boolean], [transitionFrames=int], [unParent=boolean], [unfold=boolean], [unfoldAll=boolean], [unlockMainConnection=boolean], [updateMainConnection=boolean], [updateNodeAdded=boolean], [updateSelection=boolean], [upstream=boolean], [useFeedbackList=boolean], [useTemplate=string], [viewOption=string], [visibility=boolean], [zoom=float])

Note: Strings representing object names and arguments must be separated by commas. This is not depicted in the synopsis.

hyperGraph is undoable, queryable, and editable.

The following is an overview of the basic features of the hypergraph. A more detailed description is given in the user manuals.

The hypergraph provides the user with the ability to view and edit the maya scene graph. The hypergraph supports two types of graphs: the DAG or scene hierarchy and the dependency graph.

The default view of the hypergraph editor is the DAG view. The user can show the dependency graph for a collection of nodes by first selecting the nodes and navigating to the dependency graph using one of the graph options. The user can save any view by setting a bookmark to that view. The user can also show previous views using the view options provided.

The hypergraph supports a simple editing mechanism for editing hierarchy in the DAG view and connections in dependency graph view. In the DAG view, the user can reparent or reorder nodes in the graph using drag-and-drop. In the dependency graph view, the user can select connections and delete them or make new connections by dragging and dropping nodes or existing connections.

The hypergraph supports two layout modes in the DAG view: automatic and freeform. In automatic mode, the graph nodes are automatically positioned according to the layout preferences. In freeform mode, the user can position nodes manually. The node position is saved in the scene. A background image can be placed behind DG or DAG in freeform mode. This can be used as a template for positioning nodes in a user-defined layout.

Nodes in the DAG view can be expanded or collapsed. The state is saved in the scene. The performance of the graph drawing will increase as hierarchies are collapsed.

In addition to hierachy relationships, the hypergraph can show expression, constraint and deformation relationships in the DAG. These can be enabled/disabled through the options provided. There are also additional filters for showing shape nodes and invisible nodes. The amount of detail show may affect the speed of the display of the graph.

Most of the UI features of the hypergraph are addressable through the hypergraph command-line interface. The available command-line options are described in the next section.

Return value

stringthe name of the panel

In query mode, return type is based on queried flag.

Flags

addBookmark, addDependGraph, addDependNode, animateTransition, attributeEditor, bookmarkName, clear, collapseContainer, connectionDrawStyle, control, defineTemplate, deleteBookmark, dependGraph, dependNode, docTag, down, downstream, dragAndDropBehaviorCommand, dropNode, dropTargetNode, edgeDblClickCommand, edgeDimmedDblClickCommand, enableAutomaticLayout, exists, expandContainer, feedbackGadget, feedbackNode, filter, filterDetail, fitImageToHeight, fitImageToWidth, focusCommand, fold, forceMainConnection, forceRefresh, frame, frameBranch, frameGraph, frameHierarchy, freeform, fromAttr, getNodeList, getNodePosition, graphLayoutStyle, graphType, highlightConnection, iconSize, image, imageEnabled, imageForContainer, imagePosition, imageScale, isHotkeyTarget, layout, layoutSelected, lockMainConnection, look, mainListConnection, mergeConnections, navigateHome, nextView, nodeDropCommand, nodePressCommand, nodeReleaseCommand, opaqueContainers, orientation, panel, parent, popupMenuScript, previousView, range, rebuild, removeNode, rename, resetFreeform, restoreBookmark, scrollUpDownNoZoom, selectionConnection, setNodePosition, showConnectionFromSelected, showConnectionToSelected, showConstraints, showDeformers, showExpressions, showInvisible, showRelationships, showShapes, showUnderworld, stateString, transitionFrames, unParent, unfold, unfoldAll, unlockMainConnection, updateMainConnection, updateNodeAdded, updateSelection, upstream, useFeedbackList, useTemplate, viewOption, visibility, zoom
Long name (short name) Argument types Properties
exists(ex) boolean create
Returns true|false depending upon whether the specified object exists. Other flags are ignored.
defineTemplate(dt) string create
Puts a command in a mode where any other flags and args are parsed and added to the command template specified in the argument. They will be used as default arguments in any subsequent invocations of the command when templateName is set as the current template.
useTemplate(ut) string create
Force the command to use a command template other than the current one.
panel(pnl) string createquery
Specifies the panel that the editor belongs to. By default if an editor is created in the create callback of a scripted panel it will belong to that panel. If an editor doesn't belong to a panel it will be deleted when the window that it is in is deleted.
parent(p) string createqueryedit
Specifies the parent layout for this editor. This flag will only have an effect if the editor is currently un-parented.
unParent(up) boolean createedit
Specifies that the editor should be removed from its layout. This cannot be used with query.
control(ctl) boolean query
Query only. Returns the top level control for this editor. Usually used for getting a parent to attach popup menus. Caution: It is possible, at times, for an editor to exist without a control. This flag returns "NONE" if no control is present.
mainListConnection(mlc) string createqueryedit
Specifies the name of a selectionConnection object which the editor will use as its source of content. The editor will only display items contained in the selectionConnection object.
forceMainConnection(fmc) string createqueryedit
Specifies the name of a selectionConnection object which the editor will use as its source of content. The editor will only display items contained in the selectionConnection object. This is a variant of the -mainListConnection flag in that it will force a change even when the connection is locked. This flag is used to reduce the overhead when using the -unlockMainConnection , -mainListConnection, -lockMainConnection flags in immediate succession.
selectionConnection(slc) string createqueryedit
Specifies the name of a selectionConnection object which the editor will synchronize with its own selection list. As the user selects things in this editor, they will be selected in the selectionConnection object. If the object undergoes changes, the editor updates to show the change.
highlightConnection(hlc) string createqueryedit
Specifies the name of a selectionConnection object which the editor will synchronize with its highlight list. Not all editors have a highlight list. For those that do, it is a secondary selection list.
filter(f) string createqueryedit
Specifies the name of an itemFilter object to be placed on this editor. This filters the information coming onto the main list of the editor.
lockMainConnection(lck) boolean createedit
Locks the current list of objects within the mainConnection, so that only those objects are displayed within the editor. Further changes to the original mainConnection are ignored.
stateString(sts) boolean query
Query only flag. Returns the MEL command that will edit an editor to match the current editor state. The returned command string uses the string variable $editorName in place of a specific name.
unlockMainConnection(ulk) boolean createedit
Unlocks the mainConnection, effectively restoring the original mainConnection (if it is still available), and dynamic updates.
updateMainConnection(upd) boolean createedit
Causes a locked mainConnection to be updated from the orginal mainConnection, but preserves the lock state.
docTag(dtg) string createqueryedit
Attaches a tag to the Maya editor.
addBookmark(abk) boolean createedit
Create a bookmark for the current hypergraph view.
addDependNode(adn) name createedit
Add a dependency node to the dependency graph view
addDependGraph(adg) name createedit
Add a dependency graph starting at the named node to the view
animateTransition(atr) boolean createqueryedit
Turns animate transitions off and on.
attributeEditor(ae) string createedit
Launches attribute editor on selected node.
bookmarkName(bn) boolean query
Returns the bookmark name for the most recently created bookmark.
connectionDrawStyle(cds) string createedit
Specify how connections between nodes should be drawn. Valid values are "center" (draws connection lines from the center of one node to the center of the other) and "side" (draws connection lines from the right side of the source node to the left side of the destination node). The default is "center". This flag does not apply to Hypershade graphs, which are always drawn with the "side" connection draw style.
clear(clr) boolean createedit
Clears the current hypergraph view and deletes the graph UI. (see also -rebuild flag)
collapseContainer(cc) boolean createedit
Collapses containers selected in DG graph.
deleteBookmark(dbk) string createedit
Delete the bookmark with the corresponding node name.
dependGraph(dg) boolean createedit
Displays dependency graph iterated from specified node.
dependNode(dn) string createedit
Displays dependency node in view.
dropNode(dr) string query
Returns the name of the source node in a drag and drop connection, when called during processing of a drop.
dropTargetNode(drt) string query
Returns the name of the destination node in a drag and drop connection, when called during processing of a drop.
dragAndDropBehaviorCommand(ddc) string createedit
Mel proc called when a drag and drop onto a hyperGraph node has occurred. Proc signature is procName (string $editor, string $sourceNode, string $destinationNode).
edgeDblClickCommand(edc) string createedit
Mel proc called when an edge is double clicked. Proc signature is procName (string $editor, string $edge).
edgeDimmedDblClickCommand(edd) string createedit
Mel proc called when a dimmed edge is double clicked. Proc signature is procName (string $editor, string $edge).
enableAutomaticLayout(eal) boolean createedit
Rebuild the graph if a node is added or removed from the graph via drag and drop or dg messages. Default is true.
expandContainer(ec) boolean createedit
Expands containers selected in DG graph.
fromAttr(fat) string query
Returns the name of the source attribute in a drag and drop connection, when called during processing of a drop.
feedbackGadget(fbg) string query
Returns the name of the current gadget.
fitImageToWidth(fiw) boolean create
Changes position and scale of background image, so its width fits current editor view.
fitImageToHeight(fih) boolean create
Changes position and scale of background image, so its height fits current editor view.
feedbackNode(fbn) string query
Returns the name of the current feedback or highlight node.
focusCommand(fc) string createedit
Mel proc to be run when the mouse is clicked in the hyper graph. Primarily of use in setting the window focus.
filterDetail(fd) [string, boolean] createedit
This flag is obsolete. Use the showConstraints, showExpressions, showDeformer, showInvisible, showShapes and showUnderworld flags instead.
fold(fo) boolean createedit
Folds (Collapses) selected object.
forceRefresh(frf) boolean createedit
Forces the hypergraph to refresh (redraw) its contents.
frame(fr) boolean createedit
Frames the selected objects
frameBranch(frb) boolean createedit
Frames the the branch from the selected node on downward.
frameGraph(fg) boolean createedit
Frames the entire graph.
frameHierarchy(frh) boolean createedit
Frames the hierarchy that contains the selected node.
graphLayoutStyle(gls) string createqueryedit
Selects the graph layout style : "circularLayout"|"hierarchicalLayout"|"orthogonalLayout"|"symmetricLayout"|"treeLayout"
getNodeList(gnl) boolean query
Returns a string array that represents a list of all the nodes in the graph.
getNodePosition(gnp) string query
Returns the position of a specified node in x,y graph coords. This flag and its argument must be passed to the command before the -q flag (see examples).

In query mode, this flag can accept a value.

graphType(gt) string query
Returns the type name of the current graph in the view (either DAG or DG).
iconSize(ics) string createqueryedit
Set or query the icon size for this hyper graph editor. The currently allowed icon sizes are "small", "medium" and "large".
viewOption(vo) string createqueryedit
Set or query the view option for this hyper graph editor. The currently allowed views are "asIcons" and "asList".
isHotkeyTarget(iht) boolean query
For internal use.
image(img) string createqueryedit
Specify background image to be loaded from the project image directory.
imageEnabled(ime) boolean createqueryedit
Enable display of a loaded background image (Freeform DAG view or DG view)
imagePosition(imp) [float, float] createqueryedit
Position of the background image.
imageScale(ims) float createqueryedit
Uniform scale of the background image.
imageForContainer(ifc) boolean createqueryedit
Specify that the following flags work on selected containers instead of the whole image: -imageScale,-imagePosition, fitImageToWidth, -fitImageToHeight, -image
layout(lay) boolean createedit
Perform an automatic layout on the graph.
layoutSelected(lsl) string createedit
Perform an automatic layout on the selected object. "circularLayout"|"hierarchicalLayout"|"orthogonalLayout"|"symmetricLayout"|"treeLayout"
look(loo) [float, float] createedit
Look at a coordinate in the graph view
down(do) boolean createedit
Navigate down to the dependency graph containing the current selection. Shows upstream and downstream connections.
mergeConnections(mc) boolean createqueryedit
Merge groups of connections into 'fat' connections.
navigateHome(hom) boolean createedit
Navigate to the home (DAG) view.
nodeDropCommand(ndr) string createedit
Set the command to be called when a node is dropped in the hypergraph window.
nodePressCommand(np) string createedit
Set the command to be called when the user presses a mouse button while the cursor is over a node in the hypergraph window.
nodeReleaseCommand(nr) string createedit
Set the command to be called when the user releases a mouse button while the cursor is over a node in the hypergraph window.
nextView(nvw) boolean createedit
Changes the view to the next DAG view.
opaqueContainers(opc) boolean queryedit
Sets expanded container background opacity.
orientation(orientation) string createqueryedit
Selects orientation style of graph: "horiz"|"vert"
previousView(pvw) boolean createedit
Changes the view back to the previous DAG view.
popupMenuScript(pms) string createedit
Set the script to be called to register the popup menu with the control for this hypergraph. The script will be called with a string argument which gives the name of the hypergraph whose control the popup menu should be parented to.
range(rg) [float, float] createqueryedit
Limits the display of nodes to only those within the range. There are two float values expected, the first the lower threshold of the range and the second the upper threshold of the range. The values are absolute timing values, not percentages.
rebuild(rb) boolean createedit
Rebuilds graph
rename(rn) boolean createedit
Pops up text field over selected object for renaming
resetFreeform(rf) boolean createedit
Resets freeform position on all nodes.
freeform(fre) boolean createqueryedit
Enable freeform layout mode.
restoreBookmark(rbk) string createedit
Restore the view corresponding to the bookmark.
removeNode(rmn) string createedit
Removes the node identified by string from the graph.
scrollUpDownNoZoom(snz) boolean createedit
Specify if we want to be in the scroll along y only with no free zooming mode. By default, hyper graph editor allows user to pan left and right.
showConstraints(shc) boolean createqueryedit
Show constraint relationships in the DAG.
showExpressions(shx) boolean createqueryedit
Show expression relationships in the DAG.
showDeformers(shd) boolean createqueryedit
Show deformer or geometry filter relationships in the DAG.
showInvisible(shi) boolean createqueryedit
Show invisible nodes in the DAG.
showConnectionFromSelected(scf) boolean createqueryedit
Show the connects (constraints, expresions, and deformers - see showConstraints for example) leaving from selected nodes. This can be combined with showConnectionToSelected to show both arrive and leaving connects. If both flags are false then all the connections will be shown.
showConnectionToSelected(sct) boolean createqueryedit
Show the connects (constraints, expresions, and deformers - see showConstraints for example) arriving at selected nodes. This can be combined with showConnectionFromSelected to show both arrive and leaving connects. If both flags are false then all the connections will be shown.
showRelationships(shr) boolean createqueryedit
Show relationship (message) connections.
showShapes(shs) boolean createqueryedit
Show shape nodes in the DAG.
showUnderworld(shu) boolean createqueryedit
Show underworld graphs in the DAG.
setNodePosition(snp) [string, float, float] createedit
Sets the node identified by string to the (x,y) position in the window specified by the two floats. If the node is not in the graph than it will be added to the graph and then moved to the new position.
transitionFrames(tfr) int createqueryedit
Specify te number of transition frames for animate transitions.
unfold(uf) boolean createedit
Unfolds (expands) selected object.
unfoldAll(ua) boolean createedit
Unfolds everything under selected object.
updateNodeAdded(una) boolean createqueryedit
Update graph when a new node is added to the database
updateSelection(us) boolean createqueryedit
Update selection state in the graph when the selection state of database changes.
upstream(ups) boolean createedit
Show upstream dependency graph of selected node(s).
downstream(ds) boolean createedit
Show downstream dependency graph of selected node(s).
useFeedbackList(ufl) boolean createqueryedit
Use feedback or highlight list as the target selection when processing other hypergraph command-line options.
visibility(vis) boolean createedit
Set the visible state of the selected node(s).
zoom(zm) float createedit
Specify the zoom factor for animating transitions

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.

Python examples

import maya.cmds as cmds

# The hyperGraph command is not one which would commonly be used
# by the user.
cmds.polySphere( r=1, sx=20, sy=20, ax=(0, 1, 0), tx=2, ch=1 )

# Gets the position of the node in the graph.
maya.mel.eval( "HypergraphHierarchyWindow" )
position = cmds.hyperGraph( 'hyperGraphPanel1HyperGraphEd', query=True, getNodePosition='pSphere1' )
print position