History log of /inkscape/src/libcola/straightener.cpp
Revision Date Author Comments Expand
4ac75371c2e64267435b1b8731affefad5e77e00 16-Oct-2013 Kris <Kris.De.Gussem@hotmail.com>

static code analysis: performance

a9d37853c02e66733322f766054015b27ecf9133 27-Sep-2013 Kris <Kris.De.Gussem@hotmail.com>

cppcheck: performance + variable type

ef648bb6492c3940130d52f01ad30742b256676b 20-Nov-2012 Campbell Barton <ideasman42@gmail.com>

code cleanup: quiet warnings with gcc.

eb500326b7e1b1c966ed013c0dcc6dbf627e78ed 23-Oct-2011 Jon A. Cruz <jon@joncruz.org>

Documentation update pass.

/inkscape/src/bind/javabind.cpp /inkscape/src/composite-undo-stack-observer.cpp /inkscape/src/composite-undo-stack-observer.h /inkscape/src/console-output-undo-observer.cpp /inkscape/src/console-output-undo-observer.h /inkscape/src/libavoid/vpsc.h straightener.cpp /inkscape/src/libvpsc/blocks.h /inkscape/src/libvpsc/constraint.cpp /inkscape/src/libvpsc/constraint.h /inkscape/src/libvpsc/generate-constraints.cpp /inkscape/src/libvpsc/generate-constraints.h /inkscape/src/ui/dialog/glyphs.cpp /inkscape/src/ui/dialog/glyphs.h /inkscape/src/widgets/dash-selector.h /inkscape/src/widgets/eek-preview.cpp /inkscape/src/widgets/eek-preview.h /inkscape/src/widgets/ege-paint-def.cpp /inkscape/src/widgets/ege-paint-def.h /inkscape/src/widgets/sp-attribute-widget.cpp /inkscape/src/widgets/sp-attribute-widget.h /inkscape/src/widgets/stroke-style.cpp /inkscape/src/widgets/stroke-style.h /inkscape/src/widgets/toolbox.h
b66f8f34e58ad2e32b18272abbd175f7e5e4caea 27-Jun-2011 Jon A. Cruz <jon@joncruz.org>

Remove "using namespace" from libcola headers.

b2296609507c2d79d585f1076b058730a6ec9239 25-Jun-2011 Campbell Barton <ideasman42@gmail.com>

warning cleanup (no functional changes) - enclose && / || with brackets to avoid ambiguity. - don't cast from booleans to pointers.

66632b492f9cd54e5667fd4e1fca8e457f59b282 31-Jan-2008 bryce <bryce@users.sourceforge.net>

Applying fixes for gcc 4.3 build issues (closes LP: #169115)

/inkscape/src/color-profile.cpp /inkscape/src/conn-avoid-ref.cpp /inkscape/src/connector-context.cpp /inkscape/src/desktop-style.cpp /inkscape/src/dialogs/object-attributes.cpp /inkscape/src/dir-util.cpp /inkscape/src/display/canvas-grid.h /inkscape/src/display/curve.cpp /inkscape/src/display/nr-arena-item.cpp /inkscape/src/display/nr-filter-gaussian.cpp /inkscape/src/display/nr-filter.cpp /inkscape/src/document-undo.cpp /inkscape/src/document.cpp /inkscape/src/dyna-draw-context.cpp /inkscape/src/event-context.cpp /inkscape/src/gc.cpp /inkscape/src/gradient-drag.cpp /inkscape/src/graphlayout/graphlayout.cpp /inkscape/src/inkjar/jar.cpp /inkscape/src/inkscape.cpp /inkscape/src/io/gzipstream.cpp /inkscape/src/io/simple-sax.cpp /inkscape/src/io/uristream.cpp /inkscape/src/libavoid/connector.cpp /inkscape/src/libavoid/makepath.cpp /inkscape/src/libavoid/router.cpp /inkscape/src/libavoid/visibility.cpp straightener.cpp /inkscape/src/libnr/n-art-bpath.h /inkscape/src/libnr/nr-matrix.cpp /inkscape/src/libnr/nr-pixblock.cpp /inkscape/src/libvpsc/csolve_VPSC.cpp /inkscape/src/libvpsc/generate-constraints.cpp /inkscape/src/livarot/BitLigne.cpp /inkscape/src/livarot/PathCutting.cpp /inkscape/src/livarot/Shape.cpp /inkscape/src/livarot/ShapeDraw.cpp /inkscape/src/livarot/ShapeMisc.cpp /inkscape/src/livarot/ShapeSweep.cpp /inkscape/src/livarot/float-line.cpp /inkscape/src/livarot/int-line.cpp /inkscape/src/main.cpp /inkscape/src/marker.cpp /inkscape/src/message-stack.cpp /inkscape/src/node-context.cpp /inkscape/src/nodepath.cpp /inkscape/src/path-chemistry.cpp /inkscape/src/pedro/pedroconfig.cpp /inkscape/src/pedro/pedroxmpp.cpp /inkscape/src/pen-context.cpp /inkscape/src/prefix.cpp /inkscape/src/rect-context.cpp /inkscape/src/select-context.cpp /inkscape/src/selection-chemistry.cpp /inkscape/src/seltrans.cpp /inkscape/src/shortcuts.cpp /inkscape/src/sp-clippath.cpp /inkscape/src/sp-conn-end-pair.cpp /inkscape/src/sp-conn-end.cpp /inkscape/src/sp-cursor.cpp /inkscape/src/sp-filter.cpp /inkscape/src/sp-flowtext.cpp /inkscape/src/sp-gradient.cpp /inkscape/src/sp-guide.cpp /inkscape/src/sp-image.cpp /inkscape/src/sp-item-group.cpp /inkscape/src/sp-item-rm-unsatisfied-cns.cpp /inkscape/src/sp-mask.cpp /inkscape/src/sp-namedview.cpp /inkscape/src/sp-object.cpp /inkscape/src/sp-offset.cpp /inkscape/src/sp-pattern.cpp /inkscape/src/sp-root.cpp /inkscape/src/sp-star.cpp /inkscape/src/sp-symbol.cpp /inkscape/src/sp-tspan.cpp /inkscape/src/sp-use-reference.cpp /inkscape/src/sp-use.cpp /inkscape/src/spiral-context.cpp /inkscape/src/splivarot.cpp /inkscape/src/star-context.cpp /inkscape/src/streams-gzip.cpp /inkscape/src/streams-zlib.cpp /inkscape/src/streq.h /inkscape/src/style.cpp /inkscape/src/svg/gnome-canvas-bpath-util.cpp /inkscape/src/svg/itos.cpp /inkscape/src/svg/strip-trailing-zeros.cpp /inkscape/src/svg/svg-affine.cpp /inkscape/src/svg/svg-color.cpp /inkscape/src/svg/svg-length.cpp /inkscape/src/svg/svg-path.cpp /inkscape/src/svg/svg.h /inkscape/src/text-chemistry.cpp /inkscape/src/text-editing.cpp /inkscape/src/tools-switch.cpp /inkscape/src/ui/widget/style-swatch.cpp /inkscape/src/uri-references.cpp /inkscape/src/verbs.cpp /inkscape/src/verbs.h /inkscape/src/widgets/dash-selector.cpp /inkscape/src/widgets/icon.cpp /inkscape/src/widgets/layer-selector.cpp /inkscape/src/widgets/paint-selector.cpp /inkscape/src/widgets/ruler.cpp /inkscape/src/widgets/sp-color-notebook.cpp /inkscape/src/widgets/sp-color-wheel.cpp /inkscape/src/widgets/sp-xmlview-attr-list.cpp /inkscape/src/widgets/sp-xmlview-content.cpp /inkscape/src/widgets/sp-xmlview-tree.cpp /inkscape/src/widgets/spw-utilities.cpp /inkscape/src/widgets/toolbox.cpp /inkscape/src/xml/composite-node-observer.cpp /inkscape/src/xml/croco-node-iface.cpp /inkscape/src/xml/node-fns.cpp /inkscape/src/xml/quote-test.cpp /inkscape/src/xml/quote.cpp /inkscape/src/xml/repr-action-test.cpp /inkscape/src/xml/repr-css.cpp /inkscape/src/xml/repr-io.cpp /inkscape/src/xml/repr-util.cpp /inkscape/src/xml/repr.cpp /inkscape/src/xml/simple-node.cpp
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