summaryrefslogtreecommitdiff
path: root/math/graphopt
diff options
context:
space:
mode:
Diffstat (limited to 'math/graphopt')
-rw-r--r--math/graphopt/DESCR24
-rw-r--r--math/graphopt/Makefile21
-rw-r--r--math/graphopt/PLIST4
-rw-r--r--math/graphopt/distinfo4
4 files changed, 53 insertions, 0 deletions
diff --git a/math/graphopt/DESCR b/math/graphopt/DESCR
new file mode 100644
index 00000000000..f1f86b35917
--- /dev/null
+++ b/math/graphopt/DESCR
@@ -0,0 +1,24 @@
+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.
diff --git a/math/graphopt/Makefile b/math/graphopt/Makefile
new file mode 100644
index 00000000000..044dede7472
--- /dev/null
+++ b/math/graphopt/Makefile
@@ -0,0 +1,21 @@
+# $NetBSD: Makefile,v 1.1.1.1 2003/01/23 19:27:12 wiz Exp $
+#
+
+DISTNAME= graphopt-0.1
+CATEGORIES= math graphics
+MASTER_SITES= http://switch.dl.sourceforge.net/sourceforge/graphopt/
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= wiz@netbsd.org
+HOMEPAGE= http://schmuhl.org/graphopt/
+COMMENT= optimize graph layouts
+
+USE_BUILDLINK2= YES
+GNU_CONFIGURE= YES
+
+post-install:
+ ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/graphopt
+ ${INSTALL_DATA} ${WRKSRC}/README ${PREFIX}/share/doc/graphopt
+
+.include "../../x11/gtk/buildlink2.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/math/graphopt/PLIST b/math/graphopt/PLIST
new file mode 100644
index 00000000000..21a5c58aaaa
--- /dev/null
+++ b/math/graphopt/PLIST
@@ -0,0 +1,4 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2003/01/23 19:27:12 wiz Exp $
+bin/graphopt
+share/doc/graphopt/README
+@dirrm share/doc/graphopt
diff --git a/math/graphopt/distinfo b/math/graphopt/distinfo
new file mode 100644
index 00000000000..9e67b364550
--- /dev/null
+++ b/math/graphopt/distinfo
@@ -0,0 +1,4 @@
+$NetBSD: distinfo,v 1.1.1.1 2003/01/23 19:27:12 wiz Exp $
+
+SHA1 (graphopt-0.1.tgz) = 8d75ba3edf34c01474201aee8586af9a4f243d5c
+Size (graphopt-0.1.tgz) = 75083 bytes