gv.3java 10 KB

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