History log of /inkscape/src/libcola/cycle_detector.h
Revision Date Author Comments Expand
62d835b4bbb0f1f046e30d9b67f8e9517cc6175c 04-Nov-2007 johanengelen <johanengelen@users.sourceforge.net>

Add virtual to a lot of the destructors. Note: perhaps it will have to be reverted for some files to keep them C-compatible.

/inkscape/src/2geom/path.h /inkscape/src/box3d-face.h /inkscape/src/color.h /inkscape/src/composite-undo-stack-observer.h /inkscape/src/conn-avoid-ref.h /inkscape/src/connection-pool.h /inkscape/src/console-output-undo-observer.h /inkscape/src/debug/event-tracker.h /inkscape/src/desktop.h /inkscape/src/display/canvas-axonomgrid.h /inkscape/src/display/canvas-grid.h /inkscape/src/display/nr-arena-shape.h /inkscape/src/display/nr-filter-slot.h /inkscape/src/display/nr-filter.h /inkscape/src/display/nr-light.h /inkscape/src/document.h /inkscape/src/dom/css.h /inkscape/src/dom/dom.h /inkscape/src/dom/domimpl.h /inkscape/src/dom/events.h /inkscape/src/dom/io/domstream.h /inkscape/src/dom/js/jscntxt.h /inkscape/src/dom/xpathparser.h /inkscape/src/event-log.h /inkscape/src/event.h /inkscape/src/extension/dependency.h /inkscape/src/extension/dxf2svg/read_dxf.h /inkscape/src/extension/execution-env.h /inkscape/src/extension/implementation/script.h /inkscape/src/extension/internal/cairo-render-context.h /inkscape/src/extension/internal/cairo-renderer.h /inkscape/src/extension/internal/pdfinput/pdf-parser.h /inkscape/src/extension/internal/pdfinput/svg-builder.h /inkscape/src/extension/paramcolor.h /inkscape/src/extension/paramenum.h /inkscape/src/extension/paramnotebook.h /inkscape/src/extension/paramradiobutton.h /inkscape/src/extension/paramstring.h /inkscape/src/extension/prefdialog.h /inkscape/src/extension/print.h /inkscape/src/extension/script/InkscapeScript.h /inkscape/src/extension/timer.h /inkscape/src/gradient-drag.h /inkscape/src/helper/unit-tracker.h /inkscape/src/io/inkscapestream.h /inkscape/src/io/xsltstream.h /inkscape/src/jabber_whiteboard/invitation-confirm-dialog.h /inkscape/src/jabber_whiteboard/message-aggregator.h /inkscape/src/jabber_whiteboard/message-node.h /inkscape/src/jabber_whiteboard/node-tracker.h /inkscape/src/jabber_whiteboard/session-file-selector.h /inkscape/src/jabber_whiteboard/tracker-node.h /inkscape/src/layer-manager.h /inkscape/src/libavoid/connector.h /inkscape/src/libavoid/graph.h /inkscape/src/libavoid/shape.h cola.h cycle_detector.h gradient_projection.h straightener.h /inkscape/src/libnrtype/FontFactory.h /inkscape/src/libnrtype/Layout-TNG-Scanline-Maker.h /inkscape/src/libnrtype/RasterFont.h /inkscape/src/libnrtype/TextWrapper.h /inkscape/src/libnrtype/font-instance.h /inkscape/src/libnrtype/font-lister.h /inkscape/src/libnrtype/raster-glyph.h /inkscape/src/libnrtype/raster-position.h /inkscape/src/libvpsc/block.h /inkscape/src/libvpsc/blocks.h /inkscape/src/libvpsc/constraint.h /inkscape/src/libvpsc/pairingheap/PairingHeap.h /inkscape/src/libvpsc/variable.h /inkscape/src/livarot/AVL.h /inkscape/src/livarot/AlphaLigne.h /inkscape/src/livarot/BitLigne.h /inkscape/src/livarot/MySeg.h /inkscape/src/livarot/Path.h /inkscape/src/livarot/Shape.h /inkscape/src/livarot/float-line.h /inkscape/src/livarot/int-line.h /inkscape/src/livarot/sweep-event-queue.h /inkscape/src/livarot/sweep-event.h /inkscape/src/livarot/sweep-tree-list.h /inkscape/src/livarot/sweep-tree.h /inkscape/src/live_effects/lpe-curvestitch.h /inkscape/src/live_effects/lpe-gears.h /inkscape/src/live_effects/lpe-pathalongpath.h /inkscape/src/live_effects/lpe-skeletalstrokes.h /inkscape/src/live_effects/lpe-skeleton.h /inkscape/src/live_effects/lpe-slant.h /inkscape/src/live_effects/lpe-test-doEffect-stack.h /inkscape/src/live_effects/lpeobject-reference.h /inkscape/src/live_effects/parameter/enum.h /inkscape/src/live_effects/parameter/path.h /inkscape/src/live_effects/parameter/point.h /inkscape/src/main-cmdlineact.h
6931de4f317866a8d4874fa7f08926b91f55debf 16-Jul-2006 tgdwyer <tgdwyer@users.sourceforge.net>

Layout algorithm is now applied to each connected component in the selection separately. Previously, behaviour of layout on disconnected graphs was... undefined!

1ec681f88b68c6186b267afcce12c7fd667cc9f8 12-Jul-2006 tgdwyer <tgdwyer@users.sourceforge.net>

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.

/inkscape/configure.ac /inkscape/mkinstalldirs /inkscape/src/Makefile.am /inkscape/src/Makefile_insert /inkscape/src/graphlayout/graphlayout.cpp Makefile_insert cola.cpp cola.h conjugate_gradient.cpp conjugate_gradient.h cycle_detector.cpp cycle_detector.h defs.h gradient_projection.cpp gradient_projection.h shortest_paths.cpp shortest_paths.h straightener.cpp straightener.h /inkscape/src/libvpsc/COPYING /inkscape/src/libvpsc/Makefile_insert /inkscape/src/libvpsc/block.cpp /inkscape/src/libvpsc/block.h /inkscape/src/libvpsc/blocks.cpp /inkscape/src/libvpsc/blocks.h /inkscape/src/libvpsc/constraint.cpp /inkscape/src/libvpsc/constraint.h /inkscape/src/libvpsc/csolve_VPSC.cpp /inkscape/src/libvpsc/csolve_VPSC.h /inkscape/src/libvpsc/generate-constraints.cpp /inkscape/src/libvpsc/generate-constraints.h /inkscape/src/libvpsc/isnan.h /inkscape/src/libvpsc/pairingheap/.dirstamp /inkscape/src/libvpsc/pairingheap/PairingHeap.cpp /inkscape/src/libvpsc/pairingheap/PairingHeap.h /inkscape/src/libvpsc/pairingheap/dsexceptions.h /inkscape/src/libvpsc/placement_SolveVPSC.h /inkscape/src/libvpsc/remove_rectangle_overlap.cpp /inkscape/src/libvpsc/remove_rectangle_overlap.h /inkscape/src/libvpsc/solve_VPSC.cpp /inkscape/src/libvpsc/solve_VPSC.h /inkscape/src/libvpsc/variable.cpp /inkscape/src/libvpsc/variable.h /inkscape/src/removeoverlap/Makefile_insert /inkscape/src/removeoverlap/pairingheap/.cvsignore /inkscape/src/removeoverlap/placement_SolveVPSC.cpp /inkscape/src/removeoverlap/remove_rectangle_overlap-test.cpp /inkscape/src/removeoverlap/removeoverlap.cpp