summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/adaptagrams/libavoid/doc/description.doc
blob: 8a3655fff51a891b832e79818b8e247c6708b552 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/*!

\if LIBAVOID_DOC
@mainpage libavoid: Object-avoiding orthogonal and polyline connector routing library
\endif

\if ADAPTAGRAMS_DOC
@page libavoid libavoid — Overview
\endif

libavoid is a cross-platform C++ library providing fast, object-avoiding 
orthogonal and polyline connector routing for use in interactive diagram 
editors.

libavoid is part of the 
<a href="http://www.adaptagrams.org/">Adaptagrams project</a>. 
There are no official releases yet, though the code is stable and 
available from the Adaptagrams 
<a href="https://github.com/mjwybrow/adaptagrams">GitHub
repository</a>.

The API is documented using Doxygen.  The documentation you are currently 
reading can be obtained by running doxygen in the cola or libavoid directory. 
There is also 
a simple <a href="libavoid_example.html">documented example</a> to help you get started.

libavoid is written and maintained by 
<a href="http://users.monash.edu/~mwybrow/">Michael Wybrow</a>,
a member of <a href="http://ialab.it.monash.edu/">Immersive Analytics Lab</a> at Monash University, Australia.

The algorithms used for the connector routing are described in the following papers.  If you use libavoid, please cite the relevant paper.
-  M. Wybrow, K. Marriott, and P.J. Stuckey. Orthogonal connector 
   routing.\n
   In Proceedings of 17th International Symposium on Graph Drawing 
   (GD '09),\n
   LNCS 5849, pages 219–231. Spring-Verlag, 2010.
   [<a href="http://dx.doi.org/10.1007/978-3-642-11805-0_22">DOI</a>]
   [<a href="http://users.monash.edu/~mwybrow/papers/wybrow-gd-2009.pdf">PDF</a>]
-  M. Wybrow, K. Marriott, and P.J. Stuckey. Incremental connector 
   routing.\n
   In Proceedings of 13th International Symposium on Graph Drawing 
   (GD '05),\n
   LNCS 3843, pages 446—457. Springer-Verlag, 2006. 
   [<a href="http://dx.doi.org/10.1007/11618058_40">DOI</a>]
   [<a href="http://users.monash.edu/~mwybrow/papers/wybrow-gd-2005.pdf">PDF</a>]
-  M. Wybrow, K. Marriott and P.J. Stuckey.  Orthogonal hyperedge routing.\n
   In Proceedings of 7th International Conference on the Theory and Application of Diagrams (Diagrams 2012),\n 
   LNCS (LNAI) 7352, pages 51&ndash;64. Springer-Verlag, 2012.
   [<a href="http://dx.doi.org/10.1007/978-3-642-31223-6_10">DOI</a>]
   [<a href="http://users.monash.edu/~mwybrow/papers/wybrow-diagrams-2012.pdf">PDF</a>]
-  K. Marriott, P.J. Stuckey, and M. Wybrow.  Seeing Around Corners: Fast Orthogonal Connector Routing.\n
   In Proceedings of the 8th International Conference on the Theory and Application of Diagrams (Diagrams 2014),\n
   LNCS 8578, pages 31&ndash;37. Springer-Verlag, 2014.
   [<a href="http://doi.acm.org/10.1007/978-3-662-44043-8_4">DOI</a>]
   [<a href="http://users.monash.edu/~mwybrow/papers/marriott-diagrams-2014.pdf">PDF</a>]

libavoid is currently used in the following software:
-  A commercial circuit diagram editor;
-  <a href="http://users.monash.edu/~mwybrow/dunnart/">Dunnart</a>, a prototype research 
   constraint-based diagram editor;
-  <a href="http://www.inkscape.org/">Inkscape</a>, the popular Open 
   Source vector graphics editor;
-  <a href="http://arcadiapathways.sourceforge.net/">Arcadia</a>, a 
   visualisation tool for metabolic pathways;
-  <a href="http://gaphor.sourceforge.net/">Gaphas</a>, an open source diagramming widget for GTK+, written in Python;
-  <a href="http://brlcad.org/">BRL-CAD</a>, Constructive Solid Geometry (CSG) solid modeling system;
-  <a href="http://www.qxorm.com/">QxOrm</a>, a C++ library designed to provide Object Relational Mapping (ORM) feature to C++ users; and
-  <a href="http://www.qxorm.com/">QxEntityEditor</a>, a graphic editor for QxOrm library, providing a graphic way to manage a data model.


*/