From 12b21e1d27f43deaa748419919b40b80cedd0ddd Mon Sep 17 00:00:00 2001 From: Tim Dwyer Date: Wed, 12 Jul 2006 00:55:58 +0000 Subject: Previously graph layout was done using the Kamada-Kawai layout algorithm implemented in Boost. I am replacing this with a custom implementation of a constrained stress-majorization algorithm. The stress-majorization algorithm is more robust and has better convergence characteristics than Kamada-Kawai, and also simple constraints can be placed on node position (for example, to enforce downward-pointing edges, non-overlap constraints, or cluster constraints). Another big advantage is that we no longer need Boost. I've tested the basic functionality, but I have yet to properly handle disconnected graphs or to properly scale the resulting layout. This commit also includes significant refactoring... the quadratic program solver - libvpsc (Variable Placement with Separation Constraints) has been moved to src/libvpsc and the actual graph layout algorithm is in libcola. (bzr r1394) --- src/libvpsc/Makefile_insert | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/libvpsc/Makefile_insert (limited to 'src/libvpsc/Makefile_insert') diff --git a/src/libvpsc/Makefile_insert b/src/libvpsc/Makefile_insert new file mode 100644 index 000000000..78b825b13 --- /dev/null +++ b/src/libvpsc/Makefile_insert @@ -0,0 +1,26 @@ +## Makefile.am fragment sourced by src/Makefile.am. +libvpsc/all: libvpsc/libvpsc.a + +libvpsc/clean: + rm -f libvpsc/libvpsc.a $(libvpsc_libvpsc_a_OBJECTS) + +libvpsc_libvpsc_a_SOURCES = libvpsc/block.cpp\ + libvpsc/blocks.cpp\ + libvpsc/constraint.cpp\ + libvpsc/generate-constraints.cpp\ + libvpsc/pairingheap/PairingHeap.cpp\ + libvpsc/remove_rectangle_overlap.cpp\ + libvpsc/solve_VPSC.cpp\ + libvpsc/csolve_VPSC.cpp\ + libvpsc/variable.cpp\ + libvpsc/isnan.h\ + libvpsc/block.h\ + libvpsc/blocks.h\ + libvpsc/constraint.h\ + libvpsc/generate-constraints.h\ + libvpsc/pairingheap/PairingHeap.h\ + libvpsc/pairingheap/dsexceptions.h\ + libvpsc/remove_rectangle_overlap.h\ + libvpsc/solve_VPSC.h\ + libvpsc/csolve_VPSC.h\ + libvpsc/variable.h -- cgit v1.2.3