123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 |
- <html>
- <head>
- <title> Tcl Dot API (tcldot)</title>
- <link rev=made href="mailto:[email protected]">
- </head>
- <body>
- <h1> Tcl Dot API (tcldot)</h1>
- <p>(Tcl Dot also pulls in Gdtclft for writing to a gif image.)
- <p><hr>
- Create a new graph.
- <pre>
- <b>dotnew</b> <i>graphtype</i> ?<i>attributeName attributeValue</i>? ?...?
- -> <i>graphHandle</i>
- <i>graphtype</i>:= (<b>graph</b>|<b>digraph</b>|<b>graphstrict</b>|<b>digraphstrict</b>)
- </pre>
- Read a graph.
- <pre>
- <b>dotread</b> <i>fileHandle</i>
- -> <i>graphHandle</i>
- </pre>
- Add a node to a graph
- <pre>
- <i>graphHandle</i> <b>addnode</b> ?<i>nodeName</i>? ?<i>attributeName attributeValue</i>? ?...?
- -> <i>nodeHandle</i>
- If the <i>nodeName</i> parameter is omitted the name of the
- node defaults to <i>nodeHandle</i>.
- </pre>
- Add an edge to a graph
- <pre>
- <i>graphHandle</i> <b>addedge</b> <i>tailnode</i> <i>headnode</i> ?<i>attributeName attributeValue</i>? ?...?
- -> <i>edgeHandle</i>
- <i>tailnode</i> = (<i>tailnodeHandle</i>|<i>tailnodeName</i>)
- <i>headnode</i> = (<i>headnodeHandle</i>|<i>headnodeName</i>)
- NodeHandles take precedence, so if nodeName is of the form
- "node99" it may conflict. The precedence can be overridden
- with code such as:
- <i>graphHandle</i> <b>addedge</b> <b>\</b>
- <b>[</b><i>graphHandle</i> <b>findnode</b> <i>tailnodeName</i><b>]</b> <b>\</b>
- <b>[</b><i>graphHandle</i> <b>findnode</b> <i>headnodeName</i><b>]</b>
- </pre>
- Add a subgraph to a graph
- <pre>
- <i>graphHandle</i> <b>addsubgraph</b> ?<i>subgName</i>? ?<i>attributeName attributeValue</i>? ?...?
- -> <i>subgHandle</i>
- If the <i>subgName</i> parameter is omitted the name of the
- node defaults to <i>subgHandle</i>.
- Clusters are created by giving a subgraph a name that begins
- with "cluster".
- </pre>
- Add a edge to a node
- <pre>
- <i>tailnodeHandle</i> <b>addedge</b> <i>headnode</i> ?<i>attributeName attributeValue</i>? ?...?
- -> <i>edgeHandle</i>
- <i>headnode</i> = (<i>headnodeHandle</i>|<i>headnodeName</i>)
- </pre>
- Delete a graph/node/edge
- <pre>
- <i>graphHandle</i> <b>delete</b>
- <i>nodeHandle</i> <b>delete</b>
- <i>edgeHandle</i> <b>delete</b>
- </pre>
- Count nodes/edges
- <pre>
- <i>graphHandle</i> <b>countnodes</b>
- -> <i>integer</i>
- <i>graphHandle</i> <b>countedges</b>
- -> <i>integer</i>
- </pre>
- List subgraphs/nodes/edges
- <pre>
- <i>graphHandle</i> <b>listnodes</b>
- -> <i>{nodeHandle ... }</i>
- <i>nodeHandle</i> <b>listedges</b>
- -> <i>{edgeHandle ... }</i>
- <i>nodeHandle</i> <b>listoutedges</b>
- -> <i>{edgeHandle ... }</i>
- <i>nodeHandle</i> <b>listinedges</b>
- -> <i>{edgeHandle ... }</i>
- <i>edgeHandle</i> <b>listnodes</b>
- -> <i>tailnodeHandle</i> <i>headnodeHandle</i>
- <i>graphHandle</i> <b>listsubgraphs</b>
- -> <i>{graphHandle ... }</i>
- </pre>
- Find nodes/edges by nodename
- <pre>
- <i>graphHandle</i> <b>findnode</b> <i>nodename</i>
- -> <i>nodeHandle</i>
- <i>graphHandle</i> <b>findedge</b> <i>tailnodename</i> <i>headnodename</i>
- -> <i>edgeHandle</i>
- <i>nodeHandle</i> <b>findedge</b> <i>nodename</i>
- -> <i>edgeHandle</i>
- </pre>
- Show graph/node/edge name
- <pre>
- <i>graphHandle</i> <b>showname</b>
- -> <i>graphname</i>
- <i>nodeHandle</i> <b>showname</b>
- -> <i>nodename</i>
- <i>edgeHandle</i> <b>showname</b>
- -> <i>edgename</i>
- </pre>
- Set default node/edge attributes
- <pre>
- <i>graphHandle</i> <b>setnodeattributes</b> <i>attributeName attributeValue</i> ?...?
- <i>graphHandle</i> <b>setedgeattributes</b> <i>attributeName attributeValue</i> ?...?
- </pre>
- List node/edge attribute names
- <pre>
- <i>graphHandle</i> <b>listnodeattributes</b>
- -> <i>{attributeName ... }</i>
- <i>graphHandle</i> <b>listedgeattributes</b>
- -> <i>{attributeName ... }</i>
- </pre>
- Query default node/edge attributes
- <pre>
- <i>graphHandle</i> <b>querynodeattributes</b> <i>attributeName</i> ?...?
- -> <i>{attributeValue ... }</i>
- <i>graphHandle</i> <b>queryedgeattributes</b> <i>attributeName</i> ?...?
- -> <i>{attributeValue ... }</i>
- </pre>
- Set graph/node/edge attributes
- <pre>
- <i>graphHandle</i> <b>setattributes</b> <I>attributeName attributeValue</i> ?...?
- <i>nodeHandle</i> <b>setattributes</b> <i>attributeName attributeValue</i> ?...?
- <i>edgeHandle</i> <b>setattributes</b> <i>attributeName attributeValue</i> ?...?
- </pre>
- List graph/node/edge attribute names
- <pre>
- <i>graphHandle</i> <b>listattributes</b>
- -> <i>{attributeName ... }</i>
- <i>nodeHandle</i> <b>listattributes</b>
- -> <i>{attributeName ... }</i>
- <i>edgeHandle</i> <b>listattributes</b>
- -> <i>{attributeName ... }</i>
- </pre>
- Query graph/node/edge attribute values
- <pre>
- <i>graphHandle</i> <b>queryattributes</b> <i>attributeName</i> ?<i>attributeName</i>? ?...?
- -> <i>{attributeValue ... }</i>
- <i>nodeHandle</i> <b>queryattributes</b> <i>attributeName</i> ?<i>attributeName</i>? ?...?
- -> <i>{attributeValue ... }</i>
- <i>edgeHandle</i> <b>queryattributes</b> <i>attributeName</i> ?<i>attributeName</i>? ?...?
- -> <i>{attributeValue ... }</i>
- </pre>
- Layout nodes
- <pre>
- <i>graphHandle</i> <b>layoutNodes</b>
- <b>NOTE:</b> Not yet implemented. Use:
- <i>graphHandle</i> <b>layout</b>
- to layout both nodes and edges.
- </pre>
- Layout edges
- <pre>
- <i>graphHandle</i> <b>layoutEdges</b> -<i>style</i>
- <i>style</i>:= (<b>straight</b>|<b>spline</b>)
- <b>NOTE:</b> Not yet implemented. Use:
- <i>graphHandle</i> <b>layout</b>
- to layout both nodes and edges.
- </pre>
- Write graph to file
- <pre>
- <i>graphHandle</i> <b>write</b> <i>filehandle</i> <i>format</i>
- <i>format</i>:= (<b>ps</b>|<b>mif</b>|<b>gif</b>|<b>plain</b>|<b>dot</b>)
- </pre>
- Render graph to existing or new gifImage (see:
- <a href=http://guraldi.hgp.med.umich.edu/gdtcl.html>gdTcl</a>)
- <pre>
- <i>graphHandle</i> <b>rendergd</b> ?<i>gdHandle</i>?
- -> <i>gdHandle</i>
- </pre>
- Render graph to canvas (tkdot only)
- <pre>
- <i>graphHandle</i> <b>render</b> <i>canvashandle</i>
- <b>NOTE:</b> Not yet fully implemented. For now use:
- <b>set c</b> <i>canvasHandle</i>
- <b>eval [</b><i>graphHandle</i> <b>render]</b>
- </pre>
- </body>
- </html>
|