Commit graph

10 commits

Author SHA1 Message Date
gavan
d50b33ce66 Set USE_GCC_SHLIB. Fixes linking on Solaris. 2003-11-07 14:59:42 +00:00
martti
f928be280d COMMENT should start with a capital letter. 2003-07-21 16:56:41 +00:00
grant
0155927c43 s/netbsd.org/NetBSD.org/ 2003-07-17 21:41:05 +00:00
wiz
43fa0c7cb6 PKGREVISION bump for libiconv update. 2003-07-13 13:50:19 +00:00
wiz
0a7ceee863 Update to 0.4.1:
* Changed pixmap directory to $prefix/share/pixmaps/graphopt
2003-05-07 15:29:47 +00:00
wiz
12c73410f8 Update to 0.4.
* Added postscript export
        * Made the pixmaps install correctly
2003-05-07 13:39:15 +00:00
wiz
7166660e08 Dependency bumps, needed because of devel/pth's major bump, and related
dependency bumps.
2003-05-02 11:53:34 +00:00
wiz
4a394a0df8 Update to 0.3.
v0.3
      * Changed default spring length to 0 and default spring constant to 1
      * Made dot file import more robust:
        * Reports if it doesn't seem to be a dot file rather than blindly
          trying to open it
        * Accounts for more dot syntax
        * doesn't segfault on any of the graphviz examples
      * Made graphopt file opening more robust:
        * Reports if it doesn't seem to be a graphopt file rather than
          blindly trying to open it

v0.2
      * Changed references to vector to std::vector, making compliant with
        latest c++ standards (a la gcc 3)
2003-03-20 11:14:50 +00:00
atatat
74e8f7e387 Properly install the xpm graphics that graphopt uses for the buttons. 2003-01-27 17:24:08 +00:00
wiz
29443a738c Initial import of graphopt-0.1, a graph layout optimizer:
In contrast to Graphviz and other graph optimizers, graphopt does
not use a heuristic approach to layout optimization.  Instead, it
uses basic principles of physics to iteratively determine optimal
layout.  Each node is given mass and an electric charge, and each
edge is represented as a spring.  Node mass, electric charge,
optimal spring length, and the spring constant are tweakable in
the gui in realtime.

For most graphs, this is all that is needed - hit 'go' and the
graph organizes itself much as the analagous real-life system would
if constrained to two dimensions.  For more complex graphs, some
fiddling with the physical parameters at different stages of
optimization usually does the trick.

To accomodate very large graphs, an additional mechanism called
layering was added.  When a graph is loaded, nodes are assigned to
layers based on their relative positions.  During optimization,
you can choose to hide any number of layers.  Any nodes assigned
to a layer lower than the selected layer are not only hidden, but
neither their electric charges nor the forces of the springs attached
to them are figured into the forces acting on the visible nodes.
In effect, those nodes cease to exist, and a smaller graph is
allowed to lay itself out without being constrained by an excessive
number of nodes.
2003-01-23 19:27:12 +00:00