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

« back to all changes in this revision

Viewing changes to tclpkg/gv/gv.3perl

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