History log of /inkscape/src/libcola/gradient_projection.cpp
Revision Date Author Comments Expand
a9d37853c02e66733322f766054015b27ecf9133 27-Sep-2013 Kris <Kris.De.Gussem@hotmail.com>

cppcheck: performance + variable type

40742313779ee5e43be93a9191f1c86412cf183b 23-Jun-2011 Krzysztof KosiƄski <tweenk.pl@gmail.com>

Update 2Geom to pull in integer rectangle class

/inkscape/src/2geom/Makefile_insert /inkscape/src/2geom/affine.cpp /inkscape/src/2geom/affine.h /inkscape/src/2geom/angle.h /inkscape/src/2geom/basic-intersection.h /inkscape/src/2geom/bezier-curve.cpp /inkscape/src/2geom/bezier-curve.h /inkscape/src/2geom/bezier-to-sbasis.h /inkscape/src/2geom/bezier-utils.cpp /inkscape/src/2geom/bezier-utils.h /inkscape/src/2geom/bezier.h /inkscape/src/2geom/choose.h /inkscape/src/2geom/circle.h /inkscape/src/2geom/circulator.h /inkscape/src/2geom/concepts.h /inkscape/src/2geom/conic_section_clipper_impl.cpp /inkscape/src/2geom/conicsec.cpp /inkscape/src/2geom/conjugate_gradient.h /inkscape/src/2geom/convex-cover.h /inkscape/src/2geom/coord.h /inkscape/src/2geom/crossing.h /inkscape/src/2geom/curve.cpp /inkscape/src/2geom/curves.h /inkscape/src/2geom/d2-sbasis.h /inkscape/src/2geom/d2.h /inkscape/src/2geom/forward.h /inkscape/src/2geom/generic-interval.h /inkscape/src/2geom/generic-rect.h /inkscape/src/2geom/hvlinesegment.h /inkscape/src/2geom/int-interval.h /inkscape/src/2geom/int-point.h /inkscape/src/2geom/int-rect.h /inkscape/src/2geom/interval.h /inkscape/src/2geom/isnan.h /inkscape/src/2geom/line.h /inkscape/src/2geom/linear.h /inkscape/src/2geom/math-utils.h /inkscape/src/2geom/ord.h /inkscape/src/2geom/path-intersection.h /inkscape/src/2geom/path.h /inkscape/src/2geom/pathvector.h /inkscape/src/2geom/piecewise.h /inkscape/src/2geom/point.cpp /inkscape/src/2geom/point.h /inkscape/src/2geom/poly.h /inkscape/src/2geom/quadtree.h /inkscape/src/2geom/ray.h /inkscape/src/2geom/rect.cpp /inkscape/src/2geom/rect.h /inkscape/src/2geom/region.h /inkscape/src/2geom/sbasis-2d.h /inkscape/src/2geom/sbasis-curve.h /inkscape/src/2geom/sbasis-to-bezier.h /inkscape/src/2geom/sbasis.cpp /inkscape/src/2geom/sbasis.h /inkscape/src/2geom/sturm.h /inkscape/src/2geom/svg-elliptical-arc.h /inkscape/src/2geom/sweep.h /inkscape/src/2geom/toposweep.cpp /inkscape/src/2geom/toposweep.h /inkscape/src/2geom/transforms.cpp /inkscape/src/2geom/transforms.h /inkscape/src/2geom/utils.h /inkscape/src/connector-context.cpp /inkscape/src/display/nr-arena-image.cpp /inkscape/src/display/nr-filter-composite.cpp /inkscape/src/display/nr-filter-gaussian.cpp /inkscape/src/dyna-draw-context.cpp /inkscape/src/eraser-context.cpp /inkscape/src/helper/recthull.h cola.cpp gradient_projection.cpp /inkscape/src/libnr/nr-point-fns.cpp /inkscape/src/libnr/nr-types.cpp /inkscape/src/libvpsc/generate-constraints.cpp /inkscape/src/live_effects/lpe-spiro.cpp /inkscape/src/object-edit.cpp /inkscape/src/selection-chemistry.cpp /inkscape/src/selection.cpp /inkscape/src/sp-item.cpp /inkscape/src/spray-context.cpp /inkscape/src/style.cpp /inkscape/src/tweak-context.cpp /inkscape/src/widgets/desktop-widget.cpp
f5b6a31c52761f10431371b96c6a8db0970edc47 22-Jun-2008 mjwybrow <mjwybrow@users.sourceforge.net>

* src/2geom/isnan.h, src/libcola/cola.cpp, src/style.cpp, src/seltrans.cpp, src/libcola/gradient_projection.cpp, src/libvpsc/generate-constraints.cpp, src/libnr/nr-types.cpp, src/libnr/nr-point-fns-test.cpp, src/isnan.h, src/libnr/nr-point-fns.cpp, src/libnr/in-svg-plane-test.cpp, src/doxygen-main.cpp, src/display/nr-filter-composite.cpp, src/display/nr-filter-merge.cpp, src/display/nr-filter-gaussian.cpp, src/display/bezier-utils.cpp, src/Makefile_insert, src/eraser-context.cpp, src/dyna-draw-context.cpp, src/tweak-context.cpp, src/sp-namedview.cpp, src/libnr/in-svg-plane-test.h, src/libnr/nr-point-fns-test.h, src/mod360-test.h, src/CMakeLists.txt, src/2geom/linear.h: Properly fix the conflicting isnan.h problem: 1) Update src/2geom/isnan.h to match newest Inkscape src/isnana.h (Also commited this change to lib2geom project repository) 2) Remove Inkscape's src/isnan.h 3) Update all files to include src/2geom/isnan.h instead of src/isnan.h

/inkscape/src/2geom/isnan.h /inkscape/src/2geom/linear.h /inkscape/src/CMakeLists.txt /inkscape/src/Makefile_insert /inkscape/src/display/bezier-utils.cpp /inkscape/src/display/nr-filter-composite.cpp /inkscape/src/display/nr-filter-gaussian.cpp /inkscape/src/display/nr-filter-merge.cpp /inkscape/src/doxygen-main.cpp /inkscape/src/dyna-draw-context.cpp /inkscape/src/eraser-context.cpp /inkscape/src/isnan.h cola.cpp gradient_projection.cpp /inkscape/src/libnr/in-svg-plane-test.cpp /inkscape/src/libnr/in-svg-plane-test.h /inkscape/src/libnr/nr-point-fns-test.cpp /inkscape/src/libnr/nr-point-fns-test.h /inkscape/src/libnr/nr-point-fns.cpp /inkscape/src/libnr/nr-types.cpp /inkscape/src/libvpsc/generate-constraints.cpp /inkscape/src/mod360-test.h /inkscape/src/seltrans.cpp /inkscape/src/sp-namedview.cpp /inkscape/src/style.cpp /inkscape/src/tweak-context.cpp
dda97aeba7480d08320ebceecae13b8531db1b81 06-Jun-2008 johanengelen <johanengelen@users.sourceforge.net>

merge gsoc2008_johan_path2geom into trunk

/inkscape/src/display/bezier-utils.cpp /inkscape/src/display/canvas-bpath.cpp /inkscape/src/display/curve.cpp /inkscape/src/display/curve.h /inkscape/src/display/nr-arena-shape.cpp /inkscape/src/display/nr-filter-composite.cpp /inkscape/src/display/nr-filter-gaussian.cpp /inkscape/src/draw-context.cpp /inkscape/src/dyna-draw-context.cpp /inkscape/src/eraser-context.cpp /inkscape/src/isnan.h cola.cpp gradient_projection.cpp /inkscape/src/libnr/in-svg-plane-test.cpp /inkscape/src/libnr/in-svg-plane-test.h /inkscape/src/libnr/n-art-bpath-2geom.cpp /inkscape/src/libnr/n-art-bpath-2geom.h /inkscape/src/libnr/nr-convert2geom.h /inkscape/src/libnr/nr-point-fns-test.cpp /inkscape/src/libnr/nr-point-fns-test.h /inkscape/src/libnr/nr-point-fns.cpp /inkscape/src/libnr/nr-types.cpp /inkscape/src/libvpsc/generate-constraints.cpp /inkscape/src/live_effects/effect.cpp /inkscape/src/live_effects/effect.h /inkscape/src/live_effects/lpe-curvestitch.cpp /inkscape/src/live_effects/lpe-knot.h /inkscape/src/live_effects/lpe-test-doEffect-stack.cpp /inkscape/src/live_effects/lpe-test-doEffect-stack.h /inkscape/src/live_effects/lpe-vonkoch.cpp /inkscape/src/live_effects/parameter/parameter.h /inkscape/src/live_effects/parameter/path.cpp /inkscape/src/nodepath.cpp /inkscape/src/path-chemistry.cpp /inkscape/src/pen-context.cpp /inkscape/src/sp-ellipse.cpp /inkscape/src/sp-item-group.cpp /inkscape/src/sp-namedview.cpp /inkscape/src/sp-path.cpp /inkscape/src/sp-polygon.cpp /inkscape/src/sp-polygon.h /inkscape/src/sp-shape.cpp /inkscape/src/sp-spiral.cpp /inkscape/src/sp-star.cpp /inkscape/src/style.cpp /inkscape/src/svg/svg-path.cpp /inkscape/src/svg/svg.h /inkscape/src/ui/clipboard.cpp
e1c41c8df483b1f32fc319d8c5286c4e4c81a461 01-May-2007 jiho-sf <jiho-sf@users.sourceforge.net>

committed patch 1710682 by jfaith - in src/libcola/cola.cpp, isnan is used and not the cross-platform definition isNaN defined in isnan.h => replaced isnan by isNaN and included isnan.h - add math.h include in src/libcola/gradient_projection.cpp This was necessary because libcola does not compile for OS X 10.3.9

444eb57880794d9aaa75ab6fc0a584dbe60662b9 01-Mar-2007 schwarzenberg <schwarzenberg@users.sourceforge.net>

commited Solaris 2.8 / gcc-3.2.3 fixes

4f818baab8a232b03f5b4802094ce598ff2e56fb 14-Jul-2006 tgdwyer <tgdwyer@users.sourceforge.net>

- Connectors with end-markers now constrained to point downwards in graph layout - vpsc namespace added to libvpsc

/inkscape/src/connector-context.cpp /inkscape/src/graphlayout/graphlayout.cpp cola.cpp cola.h gradient_projection.cpp gradient_projection.h straightener.h /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/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/removeoverlap.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