summaryrefslogtreecommitdiffstats
path: root/src/removeoverlap/constraint.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2006-07-12Previously graph layout was done using the Kamada-Kawai layout algorithm Tim Dwyer1-47/+0
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)
2006-05-10Apparently a problem was reported with one of the test cases. Tim Dwyer1-5/+23
I can't reproduce the problem, however solve_VPSC code in inkscape was getting quite out of date with that in www.sf.net/projects/adaptagrams. I've updated the code, which may fix the problem, or at least if it's reported again then I'll know it's still an issue. (bzr r803)
2006-02-06DBL_MIN replaced by -DBL_MAX which is what I meant all along.Tim Dwyer1-1/+1
Fixes bug. (bzr r89)
2006-01-26Constructor cleaned up a bit.Tim Dwyer1-9/+6
(bzr r31)
2006-01-26Fixed bug to do with comparison of invalid constraints in pairing heaps.Tim Dwyer1-1/+4
Also numerical problem with constraint generation fixed. (bzr r30)