~ubuntu-branches/ubuntu/precise/graphviz/precise-security

« back to all changes in this revision

Viewing changes to tclpkg/gv/gv.3guile

  • Committer: Bazaar Package Importer
  • Author(s): David Claughton
  • Date: 2010-03-24 22:45:18 UTC
  • mfrom: (1.2.7 upstream) (6.1.7 sid)
  • Revision ID: james.westby@ubuntu.com-20100324224518-do441tthbqjaqjzd
Tags: 2.26.3-4
Add patch to fix segfault in circo. Backported from upstream snapshot
release.  Thanks to Francis Russell for his work on this.
(Closes: #575255)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
.TH gv 3guile "26 January 2010"
 
2
 
 
3
.SH NAME
 
4
 
 
5
gv_guile - graph manipulation in guile
 
6
 
 
7
.SH SYNOPSIS
 
8
 
 
9
(load-extension "./libgv.so" "SWIG_init")
 
10
 
 
11
.SH USAGE
 
12
 
 
13
 
 
14
 
 
15
.SH INTRODUCTION
 
16
 
 
17
.B gv_guile
 
18
is a dynamically loaded extension for
 
19
.B guile
 
20
that provides access to the graph facilities of
 
21
.B graphviz.
 
22
 
 
23
.SH COMMANDS
 
24
 
 
25
.TP
 
26
\fBNew graphs\fR
 
27
.br
 
28
.TP
 
29
New empty graph
 
30
.br
 
31
\fIgraph_handle\fR \fBgv.graph\fR \fI(name);\fR
 
32
.br
 
33
\fIgraph_handle\fR \fBgv.digraph\fR \fI(name);\fR
 
34
.br
 
35
\fIgraph_handle\fR \fBgv.strictgraph\fR \fI(name);\fR
 
36
.br
 
37
\fIgraph_handle\fR \fBgv.strictdigraph\fR \fI(name);\fR
 
38
.br
 
39
.TP
 
40
New graph from a dot-syntax string or file
 
41
.br
 
42
\fIgraph_handle\fR \fBgv.readstring\fR \fI(string);\fR
 
43
.br
 
44
\fIgraph_handle\fR \fBgv.read\fR \fI(string filename);\fR
 
45
.br
 
46
\fIgraph_handle\fR \fBgv.read\fR \fI(channel);\fR
 
47
.br
 
48
.TP
 
49
Add new subgraph to existing graph
 
50
.br
 
51
\fIgraph_handle\fR \fBgv.graph\fR \fI(graph_handle, name);\fR
 
52
.br
 
53
.TP
 
54
\fBNew nodes\fR
 
55
.br
 
56
.TP
 
57
Add new node to existing graph
 
58
.br
 
59
\fInode_handle\fR \fBgv.node\fR \fI(graph_handle, name);\fR
 
60
.br
 
61
.TP
 
62
\fBNew edges\fR
 
63
.br
 
64
.TP
 
65
Add new edge between existing nodes
 
66
.br
 
67
\fIedge_handle\fR \fBgv.edge\fR \fI(tail_node_handle, head_node_handle);\fR
 
68
.br
 
69
.TP
 
70
Add a new edge between an existing tail node, and a named head node which will be induced in the graph if it doesn't already exist
 
71
.br
 
72
\fIedge_handle\fR \fBgv.edge\fR \fI(tail_node_handle, head_name);\fR
 
73
.br
 
74
.TP
 
75
Add a new edge between an existing head node, and a named tail node which will be induced in the graph if it doesn't already exist
 
76
.br
 
77
\fIedge_handle\fR \fBgv.edge\fR \fI(tail_name, head_node_handle);\fR
 
78
.br
 
79
.TP
 
80
Add a new edge between named tail  and head nodes which will be induced in the graph if they don't already exist
 
81
.br
 
82
\fIedge_handle\fR \fBgv.edge\fR \fI(graph_handle, tail_name, head_name);\fR
 
83
.br
 
84
.TP
 
85
\fBSetting attribute values\fR
 
86
.br
 
87
.TP
 
88
Set value of named attribute of graph/node/edge - creating attribute if necessary
 
89
.br
 
90
\fIstring\fR \fBgv.setv\fR \fI(graph_handle, attr_name, attr_value);\fR
 
91
.br
 
92
\fIstring\fR \fBgv.setv\fR \fI(node_handle, attr_name, attr_value);\fR
 
93
.br
 
94
\fIstring\fR \fBgv.setv\fR \fI(edge_handle, attr_name, attr_value);\fR
 
95
.br
 
96
.TP
 
97
Set value of existing attribute of graph/node/edge (using attribute handle)
 
98
.br
 
99
\fIstring\fR \fBgv.setv\fR \fI(graph_handle, attr_handle, attr_value);\fR
 
100
.br
 
101
\fIstring\fR \fBgv.setv\fR \fI(node_handle, attr_handle, attr_value);\fR
 
102
.br
 
103
\fIstring\fR \fBgv.setv\fR \fI(edge_handle, attr_handle, attr_value);\fR
 
104
.br
 
105
.TP
 
106
\fBGetting attribute values\fR
 
107
.br
 
108
.TP
 
109
Get value of named attribute of graph/node/edge
 
110
.br
 
111
\fIstring\fR \fBgv.getv\fR \fI(graph_handle, attr_name);\fR
 
112
.br
 
113
\fIstring\fR \fBgv.getv\fR \fI(node_handle, attr_name);\fR
 
114
.br
 
115
\fIstring\fR \fBgv.getv\fR \fI(edge_handle, attr_name);\fR
 
116
.br
 
117
.TP
 
118
Get value of attribute of graph/node/edge (using attribute handle)
 
119
.br
 
120
\fIstring\fR \fBgv.getv\fR \fI(graph_handle, attr_handle);\fR
 
121
.br
 
122
\fIstring\fR \fBgv.getv\fR \fI(node_handle, attr_handle);\fR
 
123
.br
 
124
\fIstring\fR \fBgv.getv\fR \fI(edge_handle, attr_handle);\fR
 
125
.br
 
126
.TP
 
127
\fBObtain names from handles\fR
 
128
.br
 
129
\fIstring\fR \fBgv.nameof\fR \fI(graph_handle);\fR
 
130
.br
 
131
\fIstring\fR \fBgv.nameof\fR \fI(node_handle);\fR
 
132
.br
 
133
\fIstring\fR \fBgv.nameof\fR \fI(attr_handle);\fR
 
134
.br
 
135
.TP
 
136
\fBFind handles from names\fR
 
137
.br
 
138
\fIgraph_handle\fR \fBgv.findsubg\fR \fI(graph_handle, name);\fR
 
139
.br
 
140
\fInode_handle\fR \fBgv.findnode\fR \fI(graph_handle, name);\fR
 
141
.br
 
142
\fIedge_handle\fR \fBgv.findedge\fR \fI(tail_node_handle, head_node_handle);\fR
 
143
.br
 
144
\fIattribute_handle\fR \fBgv.findattr\fR \fI(graph_handle, name);\fR
 
145
.br
 
146
\fIattribute_handle\fR \fBgv.findattr\fR \fI(node_handle, name);\fR
 
147
.br
 
148
\fIattribute_handle\fR \fBgv.findattr\fR \fI(edge_handle, name);\fR
 
149
.br
 
150
.TP
 
151
\fBMisc graph navigators returning handles\fR
 
152
.br
 
153
\fInode_handle\fR \fBgv.headof\fR \fI(edge_handle);\fR
 
154
.br
 
155
\fInode_handle\fR \fBgv.tailof\fR \fI(edge_handle);\fR
 
156
.br
 
157
\fIgraph_handle\fR \fBgv.graphof\fR \fI(graph_handle);\fR
 
158
.br
 
159
\fIgraph_handle\fR \fBgv.graphof\fR \fI(edge_handle);\fR
 
160
.br
 
161
\fIgraph_handle\fR \fBgv.graphof\fR \fI(node_handle);\fR
 
162
.br
 
163
\fIgraph_handle\fR \fBgv.rootof\fR \fI(graph_handle);\fR
 
164
.br
 
165
.TP
 
166
\fBObtain handles of proto node/edge for setting default attribute values\fR
 
167
.br
 
168
\fInode_handle\fR \fBgv.protonode\fR \fI(graph_handle);\fR
 
169
.br
 
170
\fIedge_handle\fR \fBgv.protoedge\fR \fI(graph_handle);\fR
 
171
.br
 
172
.TP
 
173
\fBIterators\fR
 
174
.br
 
175
.TP
 
176
Iteration termination tests
 
177
.br
 
178
\fIbool\fR \fBgv.ok\fR \fI(graph_handle);\fR
 
179
.br
 
180
\fIbool\fR \fBgv.ok\fR \fI(node_handle);\fR
 
181
.br
 
182
\fIbool\fR \fBgv.ok\fR \fI(edge_handle);\fR
 
183
.br
 
184
\fIbool\fR \fBgv.ok\fR \fI(attr_handle);\fR
 
185
.br
 
186
.TP
 
187
Iterate over subgraphs of a graph
 
188
.br
 
189
\fIgraph_handle\fR \fBgv.firstsubg\fR \fI(graph_handle);\fR
 
190
.br
 
191
\fIgraph_handle\fR \fBgv.nextsubg\fR \fI(graph_handle, subgraph_handle);\fR
 
192
.br
 
193
.TP
 
194
Iterate over supergraphs of a graph (obscure and rarely useful)
 
195
.br
 
196
\fIgraph_handle\fR \fBgv.firstsupg\fR \fI(graph_handle);\fR
 
197
.br
 
198
\fIgraph_handle\fR \fBgv.nextsupg\fR \fI(graph_handle, subgraph_handle);\fR
 
199
.br
 
200
.TP
 
201
Iterate over edges of a graph
 
202
.br
 
203
\fIedge_handle\fR \fBgv.firstedge\fR \fI(graph_handle);\fR
 
204
.br
 
205
\fIedge_handle\fR \fBgv.nextedge\fR \fI(graph_handle, edge_handle);\fR
 
206
.br
 
207
.TP
 
208
Iterate over outedges of a graph
 
209
.br
 
210
\fIedge_handle\fR \fBgv.firstout\fR \fI(graph_handle);\fR
 
211
.br
 
212
\fIedge_handle\fR \fBgv.nextout\fR \fI(graph_handle, edge_handle);\fR
 
213
.br
 
214
.TP
 
215
Iterate over edges of a node
 
216
.br
 
217
\fIedge_handle\fR \fBgv.firstedge\fR \fI(node_handle);\fR
 
218
.br
 
219
\fIedge_handle\fR \fBgv.nextedge\fR \fI(node_handle, edge_handle);\fR
 
220
.br
 
221
.TP
 
222
Iterate over out-edges of a node
 
223
.br
 
224
\fIedge_handle\fR \fBgv.firstout\fR \fI(node_handle);\fR
 
225
.br
 
226
\fIedge_handle\fR \fBgv.nextout\fR \fI(node_handle, edge_handle);\fR
 
227
.br
 
228
.TP
 
229
Iterate over head nodes reachable from out-edges of a node
 
230
.br
 
231
\fInode_handle\fR \fBgv.firsthead\fR \fI(node_handle);\fR
 
232
.br
 
233
\fInode_handle\fR \fBgv.nexthead\fR \fI(node_handle, head_node_handle);\fR
 
234
.br
 
235
.TP
 
236
Iterate over in-edges of a graph
 
237
.br
 
238
\fIedge_handle\fR \fBgv.firstin\fR \fI(graph_handle);\fR
 
239
.br
 
240
\fIedge_handle\fR \fBgv.nextin\fR \fI(node_handle, edge_handle);\fR
 
241
.br
 
242
.TP
 
243
Iterate over in-edges of a node
 
244
.br
 
245
\fIedge_handle\fR \fBgv.firstin\fR \fI(node_handle);\fR
 
246
.br
 
247
\fIedge_handle\fR \fBgv.nextin\fR \fI(graph_handle, edge_handle);\fR
 
248
.br
 
249
.TP
 
250
Iterate over tail nodes reachable from in-edges of a node
 
251
.br
 
252
\fInode_handle\fR \fBgv.firsttail\fR \fI(node_handle);\fR
 
253
.br
 
254
\fInode_handle\fR \fBgv.nexttail\fR \fI(node_handle, tail_node_handle);\fR
 
255
.br
 
256
.TP
 
257
Iterate over nodes of a graph
 
258
.br
 
259
\fInode_handle\fR \fBgv.firstnode\fR \fI(graph_handle);\fR
 
260
.br
 
261
\fInode_handle\fR \fBgv.nextnode\fR \fI(graph_handle, node_handle);\fR
 
262
.br
 
263
.TP
 
264
Iterate over nodes of an edge
 
265
.br
 
266
\fInode_handle\fR \fBgv.firstnode\fR \fI(edge_handle);\fR
 
267
.br
 
268
\fInode_handle\fR \fBgv.nextnode\fR \fI(edge_handle, node_handle);\fR
 
269
.br
 
270
.TP
 
271
Iterate over attributes of a graph
 
272
.br
 
273
\fIattribute_handle\fR \fBgv.firstattr\fR \fI(graph_handle);\fR
 
274
.br
 
275
\fIattribute_handle\fR \fBgv.nextattr\fR \fI(graph_handle, attr_handle);\fR
 
276
.br
 
277
.TP
 
278
Iterate over attributes of an edge
 
279
.br
 
280
\fIattribute_handle\fR \fBgv.firstattr\fR \fI(edge_handle);\fR
 
281
.br
 
282
\fIattribute_handle\fR \fBgv.nextattr\fR \fI(edge_handle, attr_handle);\fR
 
283
.br
 
284
.TP
 
285
Iterate over attributes of a node
 
286
.br
 
287
\fIattribute_handle\fR \fBgv.firstattr\fR \fI(node_handle);\fR
 
288
.br
 
289
\fIattribute_handle\fR \fBgv.nextattr\fR \fI(node_handle, attr_handle);\fR
 
290
.br
 
291
.TP
 
292
\fBRemove graph objects\fR
 
293
.br
 
294
\fIbool\fR \fBgv.rm\fR \fI(graph_handle);\fR
 
295
.br
 
296
\fIbool\fR \fBgv.rm\fR \fI(node_handle);\fR
 
297
.br
 
298
\fIbool\fR \fBgv.rm\fR \fI(edge_handle);\fR
 
299
.br
 
300
.TP
 
301
\fBLayout\fR
 
302
.br
 
303
.TP
 
304
Annotate a graph with layout attributes and values using a specific layout engine
 
305
.br
 
306
\fIbool\fR \fBgv.layout\fR \fI(graph_handle, string engine);\fR
 
307
.br
 
308
.TP
 
309
\fBRender\fR
 
310
.br
 
311
.TP
 
312
Render a layout into attributes of the graph
 
313
.br
 
314
\fIbool\fR \fBgv.render\fR \fI(graph_handle);\fR
 
315
.br
 
316
.TP
 
317
Render a layout to stdout
 
318
.br
 
319
\fIbool\fR \fBgv.render\fR \fI(graph_handle, string format);\fR
 
320
.br
 
321
.TP
 
322
Render to an open file
 
323
.br
 
324
\fIbool\fR \fBgv.render\fR \fI(graph_handle, string format, channel fout);\fR
 
325
.br
 
326
.TP
 
327
Render a layout to an unopened file by name
 
328
.br
 
329
\fIbool\fR \fBgv.render\fR \fI(graph_handle, string format, string filename);\fR
 
330
.br
 
331
.TP
 
332
Render to an open channel
 
333
.br
 
334
\fIbool\fR \fBgv.renderchannel\fR \fI(graph_handle, string format, string channelname);\fR
 
335
.br
 
336
.TP
 
337
Render to a string result
 
338
.br
 
339
\fBgv.renderresult\fR \fI(graph_handle, string format, string outdata);\fR
 
340
.br
 
341
.TP
 
342
Render a layout to a malloc'ed string, to be free'd by the caller
 
343
.br
 
344
.TP
 
345
(deprecated - too easy to leak memory)
 
346
.br
 
347
.TP
 
348
(still needed for "eval [gv::renderdata $G tk]" )
 
349
.br
 
350
\fIstring\fR \fBgv.renderdata\fR \fI(graph_handle, string format);\fR
 
351
.br
 
352
.TP
 
353
Writing graph back to file
 
354
.br
 
355
\fIbool\fR \fBgv.write\fR \fI(graph_handle, string filename);\fR
 
356
.br
 
357
\fIbool\fR \fBgv.write\fR \fI(graph_handle, channel);\fR
 
358
.br
 
359
 
 
360
.SH KEYWORDS
 
361
 
 
362
graph, dot, neato, fdp, circo, twopi, guile.
 
363