summaryrefslogtreecommitdiffstats
path: root/src/live_effects
diff options
context:
space:
mode:
Diffstat (limited to 'src/live_effects')
-rw-r--r--src/live_effects/effect.cpp19
-rw-r--r--src/live_effects/lpe-angle_bisector.cpp1
-rw-r--r--src/live_effects/lpe-attach-path.cpp7
-rw-r--r--src/live_effects/lpe-bendpath.cpp16
-rw-r--r--src/live_effects/lpe-bounding-box.cpp4
-rw-r--r--src/live_effects/lpe-circle_3pts.cpp1
-rw-r--r--src/live_effects/lpe-circle_with_radius.cpp1
-rw-r--r--src/live_effects/lpe-constructgrid.cpp3
-rw-r--r--src/live_effects/lpe-copy_rotate.cpp4
-rw-r--r--src/live_effects/lpe-curvestitch.cpp8
-rw-r--r--src/live_effects/lpe-dynastroke.cpp6
-rw-r--r--src/live_effects/lpe-ellipse_5pts.cpp1
-rw-r--r--src/live_effects/lpe-envelope.cpp14
-rw-r--r--src/live_effects/lpe-extrude.cpp5
-rw-r--r--src/live_effects/lpe-fill-between-many.cpp3
-rw-r--r--src/live_effects/lpe-fill-between-strokes.cpp3
-rw-r--r--src/live_effects/lpe-fillet-chamfer.cpp5
-rw-r--r--src/live_effects/lpe-gears.cpp5
-rw-r--r--src/live_effects/lpe-interpolate.cpp3
-rw-r--r--src/live_effects/lpe-interpolate_points.cpp2
-rw-r--r--src/live_effects/lpe-jointype.cpp4
-rw-r--r--src/live_effects/lpe-knot.cpp7
-rw-r--r--src/live_effects/lpe-lattice.cpp14
-rw-r--r--src/live_effects/lpe-lattice2.cpp15
-rw-r--r--src/live_effects/lpe-line_segment.cpp4
-rw-r--r--src/live_effects/lpe-mirror_symmetry.cpp7
-rw-r--r--src/live_effects/lpe-offset.cpp4
-rw-r--r--src/live_effects/lpe-parallel.cpp4
-rw-r--r--src/live_effects/lpe-path_length.cpp2
-rw-r--r--src/live_effects/lpe-patternalongpath.cpp10
-rw-r--r--src/live_effects/lpe-perp_bisector.cpp3
-rw-r--r--src/live_effects/lpe-perspective-envelope.cpp1
-rw-r--r--src/live_effects/lpe-perspective_path.cpp5
-rw-r--r--src/live_effects/lpe-powerstroke.cpp15
-rw-r--r--src/live_effects/lpe-recursiveskeleton.cpp6
-rw-r--r--src/live_effects/lpe-rough-hatches.cpp8
-rw-r--r--src/live_effects/lpe-roughen.cpp5
-rw-r--r--src/live_effects/lpe-ruler.cpp4
-rw-r--r--src/live_effects/lpe-show_handles.cpp1
-rw-r--r--src/live_effects/lpe-simplify.cpp9
-rw-r--r--src/live_effects/lpe-skeleton.cpp4
-rw-r--r--src/live_effects/lpe-sketch.cpp8
-rw-r--r--src/live_effects/lpe-spiro.cpp3
-rw-r--r--src/live_effects/lpe-tangent_to_curve.cpp4
-rw-r--r--src/live_effects/lpe-taperstroke.cpp8
-rw-r--r--src/live_effects/lpe-test-doEffect-stack.cpp3
-rw-r--r--src/live_effects/lpe-transform_2pts.cpp3
-rw-r--r--src/live_effects/lpe-vonkoch.cpp2
-rw-r--r--src/live_effects/lpegroupbbox.cpp2
-rw-r--r--src/live_effects/lpeobject-reference.cpp1
-rw-r--r--src/live_effects/lpeobject.cpp3
-rw-r--r--src/live_effects/spiro.cpp1
52 files changed, 278 insertions, 3 deletions
diff --git a/src/live_effects/effect.cpp b/src/live_effects/effect.cpp
index ef807d586..1868ca43b 100644
--- a/src/live_effects/effect.cpp
+++ b/src/live_effects/effect.cpp
@@ -8,11 +8,12 @@
//#define LPE_ENABLE_TEST_EFFECTS //uncomment for toy effects
#ifdef HAVE_CONFIG_H
-#include <config.h>
+# include "config.h"
#endif
// include effects:
#include "live_effects/lpe-patternalongpath.h"
+#include "live_effects/effect.h"
#include "live_effects/lpe-angle_bisector.h"
#include "live_effects/lpe-attach-path.h"
#include "live_effects/lpe-bendpath.h"
@@ -63,14 +64,30 @@
#include "live_effects/lpe-vonkoch.h"
#include "xml/node-event-vector.h"
+#include "sp-object.h"
+#include "attributes.h"
#include "message-stack.h"
+#include "desktop.h"
+#include "inkscape.h"
+#include "document.h"
#include "document-private.h"
+#include "xml/document.h"
+#include <glibmm/i18n.h>
#include "ui/tools/pen-tool.h"
#include "ui/tools-switch.h"
#include "knotholder.h"
+#include "sp-lpe-item.h"
#include "live_effects/lpeobject.h"
+#include "live_effects/parameter/parameter.h"
+#include <glibmm/ustring.h>
#include "display/curve.h"
+#include <exception>
+
+#include <2geom/sbasis-to-bezier.h>
+#include <2geom/affine.h>
+#include <2geom/pathvector.h>
+
namespace Inkscape {
diff --git a/src/live_effects/lpe-angle_bisector.cpp b/src/live_effects/lpe-angle_bisector.cpp
index 9bfbf4ca8..900d29e3a 100644
--- a/src/live_effects/lpe-angle_bisector.cpp
+++ b/src/live_effects/lpe-angle_bisector.cpp
@@ -12,6 +12,7 @@
#include "live_effects/lpe-angle_bisector.h"
+#include <2geom/path.h>
#include <2geom/sbasis-to-bezier.h>
#include "sp-lpe-item.h"
diff --git a/src/live_effects/lpe-attach-path.cpp b/src/live_effects/lpe-attach-path.cpp
index d2b44dd4e..21459f322 100644
--- a/src/live_effects/lpe-attach-path.cpp
+++ b/src/live_effects/lpe-attach-path.cpp
@@ -10,9 +10,16 @@
#include "live_effects/lpe-attach-path.h"
#include "display/curve.h"
+#include "sp-item.h"
+#include "2geom/path.h"
#include "sp-shape.h"
#include "sp-text.h"
+#include "2geom/bezier-curve.h"
#include "2geom/path-sink.h"
+#include "parameter/parameter.h"
+#include "live_effects/parameter/point.h"
+#include "parameter/originalpath.h"
+#include "2geom/affine.h"
namespace Inkscape {
namespace LivePathEffect {
diff --git a/src/live_effects/lpe-bendpath.cpp b/src/live_effects/lpe-bendpath.cpp
index c24d38d7b..bc112285f 100644
--- a/src/live_effects/lpe-bendpath.cpp
+++ b/src/live_effects/lpe-bendpath.cpp
@@ -6,11 +6,27 @@
*/
#include "live_effects/lpe-bendpath.h"
+#include "sp-shape.h"
+#include "sp-item.h"
+#include "sp-path.h"
#include "sp-item-group.h"
+#include "svg/svg.h"
+#include "ui/widget/scalar.h"
+
+#include <2geom/sbasis.h>
+#include <2geom/sbasis-geometric.h>
+#include <2geom/bezier-to-sbasis.h>
+#include <2geom/sbasis-to-bezier.h>
+#include <2geom/d2.h>
+#include <2geom/piecewise.h>
#include "knot-holder-entity.h"
#include "knotholder.h"
+#include <glibmm/i18n.h>
+
+#include <algorithm>
+
using std::vector;
diff --git a/src/live_effects/lpe-bounding-box.cpp b/src/live_effects/lpe-bounding-box.cpp
index cfe1f5165..43a60d482 100644
--- a/src/live_effects/lpe-bounding-box.cpp
+++ b/src/live_effects/lpe-bounding-box.cpp
@@ -9,8 +9,12 @@
#include "live_effects/lpe-bounding-box.h"
#include "display/curve.h"
+#include "sp-item.h"
+#include "2geom/path.h"
#include "sp-shape.h"
#include "sp-text.h"
+#include "2geom/bezier-curve.h"
+#include "lpe-bounding-box.h"
namespace Inkscape {
namespace LivePathEffect {
diff --git a/src/live_effects/lpe-circle_3pts.cpp b/src/live_effects/lpe-circle_3pts.cpp
index 18252f6a0..dbb1f4b6b 100644
--- a/src/live_effects/lpe-circle_3pts.cpp
+++ b/src/live_effects/lpe-circle_3pts.cpp
@@ -15,6 +15,7 @@
#include "live_effects/lpe-circle_3pts.h"
// You might need to include other 2geom files. You can add them here:
+#include <2geom/path.h>
#include <2geom/circle.h>
#include <2geom/path-sink.h>
diff --git a/src/live_effects/lpe-circle_with_radius.cpp b/src/live_effects/lpe-circle_with_radius.cpp
index 6e03cb1ce..8f2156044 100644
--- a/src/live_effects/lpe-circle_with_radius.cpp
+++ b/src/live_effects/lpe-circle_with_radius.cpp
@@ -15,6 +15,7 @@
#include "display/curve.h"
// You might need to include other 2geom files. You can add them here:
+#include <2geom/pathvector.h>
#include <2geom/circle.h>
#include <2geom/path-sink.h>
diff --git a/src/live_effects/lpe-constructgrid.cpp b/src/live_effects/lpe-constructgrid.cpp
index 4af8891e8..b1e0edaac 100644
--- a/src/live_effects/lpe-constructgrid.cpp
+++ b/src/live_effects/lpe-constructgrid.cpp
@@ -14,6 +14,9 @@
#include "live_effects/lpe-constructgrid.h"
+#include <2geom/path.h>
+#include <2geom/transforms.h>
+
namespace Inkscape {
namespace LivePathEffect {
diff --git a/src/live_effects/lpe-copy_rotate.cpp b/src/live_effects/lpe-copy_rotate.cpp
index f28ab4b31..80f5bdafd 100644
--- a/src/live_effects/lpe-copy_rotate.cpp
+++ b/src/live_effects/lpe-copy_rotate.cpp
@@ -15,7 +15,11 @@
#include <2geom/path-intersection.h>
#include <2geom/sbasis-to-bezier.h>
#include "live_effects/lpe-copy_rotate.h"
+#include <2geom/path.h>
+#include <2geom/transforms.h>
+#include <2geom/angle.h>
+#include "knot-holder-entity.h"
#include "knotholder.h"
// TODO due to internal breakage in glibmm headers, this must be last:
#include <glibmm/i18n.h>
diff --git a/src/live_effects/lpe-curvestitch.cpp b/src/live_effects/lpe-curvestitch.cpp
index 3beedaf57..609447f26 100644
--- a/src/live_effects/lpe-curvestitch.cpp
+++ b/src/live_effects/lpe-curvestitch.cpp
@@ -17,11 +17,19 @@
#include "live_effects/lpe-curvestitch.h"
+#include "sp-item.h"
#include "sp-path.h"
#include "svg/svg.h"
#include "xml/repr.h"
+#include <2geom/path.h>
+#include <2geom/piecewise.h>
+#include <2geom/sbasis.h>
+#include <2geom/sbasis-geometric.h>
#include <2geom/bezier-to-sbasis.h>
+#include <2geom/sbasis-to-bezier.h>
+#include <2geom/d2.h>
+#include <2geom/affine.h>
namespace Inkscape {
namespace LivePathEffect {
diff --git a/src/live_effects/lpe-dynastroke.cpp b/src/live_effects/lpe-dynastroke.cpp
index 7e22f6e51..aeecd5d5c 100644
--- a/src/live_effects/lpe-dynastroke.cpp
+++ b/src/live_effects/lpe-dynastroke.cpp
@@ -14,8 +14,14 @@
#include "display/curve.h"
//# include <libnr/n-art-bpath.h>
+#include <2geom/path.h>
+#include <2geom/sbasis.h>
+#include <2geom/sbasis-geometric.h>
#include <2geom/bezier-to-sbasis.h>
+#include <2geom/sbasis-to-bezier.h>
+#include <2geom/d2.h>
#include <2geom/sbasis-math.h>
+#include <2geom/piecewise.h>
namespace Inkscape {
namespace LivePathEffect {
diff --git a/src/live_effects/lpe-ellipse_5pts.cpp b/src/live_effects/lpe-ellipse_5pts.cpp
index 8f0f8e18a..4c953bcda 100644
--- a/src/live_effects/lpe-ellipse_5pts.cpp
+++ b/src/live_effects/lpe-ellipse_5pts.cpp
@@ -15,6 +15,7 @@
// You might need to include other 2geom files. You can add them here:
#include <glibmm/i18n.h>
+#include <2geom/path.h>
#include <2geom/circle.h>
#include <2geom/ellipse.h>
#include <2geom/path-sink.h>
diff --git a/src/live_effects/lpe-envelope.cpp b/src/live_effects/lpe-envelope.cpp
index 0ce784877..e873c0b15 100644
--- a/src/live_effects/lpe-envelope.cpp
+++ b/src/live_effects/lpe-envelope.cpp
@@ -5,8 +5,22 @@
*/
#include "live_effects/lpe-envelope.h"
+#include "sp-shape.h"
+#include "sp-item.h"
+#include "sp-path.h"
+#include "sp-item-group.h"
#include "display/curve.h"
+#include "svg/svg.h"
+#include "ui/widget/scalar.h"
+#include <2geom/sbasis.h>
+#include <2geom/sbasis-geometric.h>
+#include <2geom/bezier-to-sbasis.h>
+#include <2geom/sbasis-to-bezier.h>
+#include <2geom/d2.h>
+#include <2geom/piecewise.h>
+
+#include <algorithm>
using std::vector;
namespace Inkscape {
diff --git a/src/live_effects/lpe-extrude.cpp b/src/live_effects/lpe-extrude.cpp
index 22cdf3c3e..8b3f4714a 100644
--- a/src/live_effects/lpe-extrude.cpp
+++ b/src/live_effects/lpe-extrude.cpp
@@ -15,6 +15,11 @@
#include <glibmm/i18n.h>
+#include <2geom/path.h>
+#include <2geom/piecewise.h>
+#include <2geom/transforms.h>
+#include <algorithm>
+
#include "sp-item.h"
namespace Inkscape {
diff --git a/src/live_effects/lpe-fill-between-many.cpp b/src/live_effects/lpe-fill-between-many.cpp
index ccb9cf56d..574ec3580 100644
--- a/src/live_effects/lpe-fill-between-many.cpp
+++ b/src/live_effects/lpe-fill-between-many.cpp
@@ -9,8 +9,11 @@
#include "live_effects/lpe-fill-between-many.h"
#include "display/curve.h"
+#include "sp-item.h"
+#include "2geom/path.h"
#include "sp-shape.h"
#include "sp-text.h"
+#include "2geom/bezier-curve.h"
#include <glibmm/i18n.h>
diff --git a/src/live_effects/lpe-fill-between-strokes.cpp b/src/live_effects/lpe-fill-between-strokes.cpp
index b1e328d18..89ea80545 100644
--- a/src/live_effects/lpe-fill-between-strokes.cpp
+++ b/src/live_effects/lpe-fill-between-strokes.cpp
@@ -9,8 +9,11 @@
#include "live_effects/lpe-fill-between-strokes.h"
#include "display/curve.h"
+#include "sp-item.h"
+#include "2geom/path.h"
#include "sp-shape.h"
#include "sp-text.h"
+#include "2geom/bezier-curve.h"
namespace Inkscape {
namespace LivePathEffect {
diff --git a/src/live_effects/lpe-fillet-chamfer.cpp b/src/live_effects/lpe-fillet-chamfer.cpp
index 24ee2ccc3..07760b172 100644
--- a/src/live_effects/lpe-fillet-chamfer.cpp
+++ b/src/live_effects/lpe-fillet-chamfer.cpp
@@ -17,16 +17,21 @@
#include <2geom/sbasis-to-bezier.h>
#include <2geom/elliptical-arc.h>
+#include <2geom/line.h>
+#include "desktop.h"
#include "display/curve.h"
#include "helper/geom-nodetype.h"
#include "helper/geom-curves.h"
#include "helper/geom.h"
+#include "live_effects/parameter/filletchamferpointarray.h"
+
// for programmatically updating knots
#include "ui/tools-switch.h"
// TODO due to internal breakage in glibmm headers, this must be last:
+#include <glibmm/i18n.h>
using namespace Geom;
namespace Inkscape {
diff --git a/src/live_effects/lpe-gears.cpp b/src/live_effects/lpe-gears.cpp
index 307fab6fd..d4d695542 100644
--- a/src/live_effects/lpe-gears.cpp
+++ b/src/live_effects/lpe-gears.cpp
@@ -8,9 +8,14 @@
#include "live_effects/lpe-gears.h"
+#include <vector>
+
#include <glibmm/i18n.h>
+#include <2geom/d2.h>
+#include <2geom/sbasis.h>
#include <2geom/bezier-to-sbasis.h>
+#include <2geom/path.h>
using std::vector;
using namespace Geom;
diff --git a/src/live_effects/lpe-interpolate.cpp b/src/live_effects/lpe-interpolate.cpp
index 43da4d105..74c7efd90 100644
--- a/src/live_effects/lpe-interpolate.cpp
+++ b/src/live_effects/lpe-interpolate.cpp
@@ -14,7 +14,10 @@
#include "live_effects/lpe-interpolate.h"
+#include <2geom/path.h>
#include <2geom/sbasis-to-bezier.h>
+#include <2geom/piecewise.h>
+#include <2geom/sbasis-geometric.h>
#include "sp-path.h"
#include "display/curve.h"
diff --git a/src/live_effects/lpe-interpolate_points.cpp b/src/live_effects/lpe-interpolate_points.cpp
index ab0576174..cf70832ee 100644
--- a/src/live_effects/lpe-interpolate_points.cpp
+++ b/src/live_effects/lpe-interpolate_points.cpp
@@ -13,6 +13,8 @@
#include "live_effects/lpe-interpolate_points.h"
+#include <2geom/path.h>
+
#include "live_effects/lpe-powerstroke-interpolators.h"
namespace Inkscape {
diff --git a/src/live_effects/lpe-jointype.cpp b/src/live_effects/lpe-jointype.cpp
index 3bfbd6288..fe42932be 100644
--- a/src/live_effects/lpe-jointype.cpp
+++ b/src/live_effects/lpe-jointype.cpp
@@ -10,12 +10,16 @@
#include "live_effects/parameter/enum.h"
#include "helper/geom-pathstroke.h"
+#include "sp-shape.h"
#include "style.h"
+#include "xml/repr.h"
+#include "sp-paint-server.h"
#include "svg/svg-color.h"
#include "desktop-style.h"
#include "svg/css-ostringstream.h"
#include "display/curve.h"
+#include <2geom/path.h>
#include <2geom/elliptical-arc.h>
#include "lpe-jointype.h"
diff --git a/src/live_effects/lpe-knot.cpp b/src/live_effects/lpe-knot.cpp
index 221d03ebf..a033a6c4a 100644
--- a/src/live_effects/lpe-knot.cpp
+++ b/src/live_effects/lpe-knot.cpp
@@ -16,6 +16,7 @@
#include "sp-path.h"
#include "display/curve.h"
#include "live_effects/lpe-knot.h"
+#include "svg/svg.h"
#include "style.h"
#include "knot-holder-entity.h"
#include "knotholder.h"
@@ -24,14 +25,20 @@
#include <gdk/gdk.h>
#include <2geom/sbasis-to-bezier.h>
+#include <2geom/sbasis.h>
+#include <2geom/d2.h>
+#include <2geom/path.h>
#include <2geom/bezier-to-sbasis.h>
#include <2geom/basic-intersection.h>
+#include <2geom/exception.h>
// for change crossing undo
#include "verbs.h"
#include "document.h"
#include "document-undo.h"
+#include <exception>
+
namespace Inkscape {
namespace LivePathEffect {
diff --git a/src/live_effects/lpe-lattice.cpp b/src/live_effects/lpe-lattice.cpp
index 091b6ddca..3c23e349e 100644
--- a/src/live_effects/lpe-lattice.cpp
+++ b/src/live_effects/lpe-lattice.cpp
@@ -6,7 +6,7 @@
* Authors:
* Johan Engelen <j.b.c.engelen@utwente.nl>
* Steren Giannini
- * No� Falzon
+ * Noé Falzon
* Victor Navez
*
* Copyright (C) 2007-2008 Authors
@@ -16,10 +16,22 @@
#include "live_effects/lpe-lattice.h"
+#include "sp-shape.h"
+#include "sp-item.h"
+#include "sp-path.h"
#include "display/curve.h"
+#include "svg/svg.h"
+#include <2geom/sbasis.h>
#include <2geom/sbasis-2d.h>
+#include <2geom/sbasis-geometric.h>
#include <2geom/bezier-to-sbasis.h>
+#include <2geom/sbasis-to-bezier.h>
+#include <2geom/d2.h>
+#include <2geom/piecewise.h>
+#include <2geom/transforms.h>
+
+#include "desktop.h" // TODO: should be factored out (see below)
using namespace Geom;
diff --git a/src/live_effects/lpe-lattice2.cpp b/src/live_effects/lpe-lattice2.cpp
index 9e9fc153a..bacbe5fa7 100644
--- a/src/live_effects/lpe-lattice2.cpp
+++ b/src/live_effects/lpe-lattice2.cpp
@@ -6,7 +6,7 @@
* Authors:
* Johan Engelen <j.b.c.engelen@utwente.nl>
* Steren Giannini
- * No� Falzon
+ * Noé Falzon
* Victor Navez
* ~suv
* Jabiertxo Arraiza
@@ -17,11 +17,24 @@
*/
#include "live_effects/lpe-lattice2.h"
+#include "sp-shape.h"
+#include "sp-item.h"
+#include "sp-path.h"
#include "display/curve.h"
+#include "svg/svg.h"
#include "helper/geom.h"
+#include <2geom/path.h>
+#include <2geom/sbasis.h>
#include <2geom/sbasis-2d.h>
+#include "helper/geom-curves.h"
+#include <2geom/sbasis-geometric.h>
#include <2geom/bezier-to-sbasis.h>
+#include <2geom/sbasis-to-bezier.h>
+#include <2geom/d2.h>
+#include <2geom/piecewise.h>
+#include <2geom/transforms.h>
// TODO due to internal breakage in glibmm headers, this must be last:
+#include <glibmm/i18n.h>
using namespace Geom;
diff --git a/src/live_effects/lpe-line_segment.cpp b/src/live_effects/lpe-line_segment.cpp
index 4c9edabd4..dfd8aea8f 100644
--- a/src/live_effects/lpe-line_segment.cpp
+++ b/src/live_effects/lpe-line_segment.cpp
@@ -14,6 +14,10 @@
#include "live_effects/lpe-line_segment.h"
#include "ui/tools/lpe-tool.h"
+#include <2geom/pathvector.h>
+#include <2geom/geom.h>
+#include <2geom/bezier-curve.h>
+
namespace Inkscape {
namespace LivePathEffect {
diff --git a/src/live_effects/lpe-mirror_symmetry.cpp b/src/live_effects/lpe-mirror_symmetry.cpp
index a7459faed..cf866ad6a 100644
--- a/src/live_effects/lpe-mirror_symmetry.cpp
+++ b/src/live_effects/lpe-mirror_symmetry.cpp
@@ -14,12 +14,19 @@
* Released under GNU GPL, read the file 'COPYING' for more information
*/
#include "live_effects/lpe-mirror_symmetry.h"
+#include <sp-path.h>
#include <display/curve.h>
#include <svg/path-string.h>
#include "helper/geom.h"
+#include <2geom/path.h>
#include <2geom/path-intersection.h>
+#include <2geom/transforms.h>
+#include <2geom/affine.h>
+#include "knot-holder-entity.h"
#include "knotholder.h"
+#include "inkscape.h"
// TODO due to internal breakage in glibmm headers, this must be last:
+#include <glibmm/i18n.h>
namespace Inkscape {
namespace LivePathEffect {
diff --git a/src/live_effects/lpe-offset.cpp b/src/live_effects/lpe-offset.cpp
index a0fa46c3f..d611b88a1 100644
--- a/src/live_effects/lpe-offset.cpp
+++ b/src/live_effects/lpe-offset.cpp
@@ -17,7 +17,11 @@
#include "sp-shape.h"
#include "display/curve.h"
+#include <2geom/path.h>
+#include <2geom/piecewise.h>
+#include <2geom/sbasis-geometric.h>
#include <2geom/elliptical-arc.h>
+#include <2geom/transforms.h>
namespace Inkscape {
namespace LivePathEffect {
diff --git a/src/live_effects/lpe-parallel.cpp b/src/live_effects/lpe-parallel.cpp
index 9cd8ecf46..23cd5e2e7 100644
--- a/src/live_effects/lpe-parallel.cpp
+++ b/src/live_effects/lpe-parallel.cpp
@@ -17,6 +17,10 @@
#include "sp-shape.h"
#include "display/curve.h"
+#include <2geom/path.h>
+#include <2geom/transforms.h>
+
+#include "knot-holder-entity.h"
#include "knotholder.h"
namespace Inkscape {
diff --git a/src/live_effects/lpe-path_length.cpp b/src/live_effects/lpe-path_length.cpp
index 8fbf9d420..4ca380c15 100644
--- a/src/live_effects/lpe-path_length.cpp
+++ b/src/live_effects/lpe-path_length.cpp
@@ -16,6 +16,8 @@
#include "live_effects/lpe-path_length.h"
#include "util/units.h"
+#include "2geom/sbasis-geometric.h"
+
namespace Inkscape {
namespace LivePathEffect {
diff --git a/src/live_effects/lpe-patternalongpath.cpp b/src/live_effects/lpe-patternalongpath.cpp
index 7d6ac10ac..911c410f9 100644
--- a/src/live_effects/lpe-patternalongpath.cpp
+++ b/src/live_effects/lpe-patternalongpath.cpp
@@ -6,12 +6,22 @@
#include "live_effects/lpe-patternalongpath.h"
#include "live_effects/lpeobject.h"
+#include "sp-shape.h"
#include "display/curve.h"
+#include "svg/svg.h"
+#include "ui/widget/scalar.h"
+#include <2geom/sbasis.h>
+#include <2geom/sbasis-geometric.h>
#include <2geom/bezier-to-sbasis.h>
+#include <2geom/sbasis-to-bezier.h>
+#include <2geom/d2.h>
+#include <2geom/piecewise.h>
+#include "knot-holder-entity.h"
#include "knotholder.h"
+#include <algorithm>
using std::vector;
diff --git a/src/live_effects/lpe-perp_bisector.cpp b/src/live_effects/lpe-perp_bisector.cpp
index f69dae6a1..660318c57 100644
--- a/src/live_effects/lpe-perp_bisector.cpp
+++ b/src/live_effects/lpe-perp_bisector.cpp
@@ -18,7 +18,10 @@
#include "display/curve.h"
#include "sp-path.h"
#include "line-geometry.h"
+#include "sp-lpe-item.h"
+#include <2geom/path.h>
+#include "knot-holder-entity.h"
#include "knotholder.h"
namespace Inkscape {
diff --git a/src/live_effects/lpe-perspective-envelope.cpp b/src/live_effects/lpe-perspective-envelope.cpp
index 8a6a95f2e..ae951dfc9 100644
--- a/src/live_effects/lpe-perspective-envelope.cpp
+++ b/src/live_effects/lpe-perspective-envelope.cpp
@@ -18,6 +18,7 @@
#include "live_effects/lpe-perspective-envelope.h"
#include "helper/geom.h"
#include "display/curve.h"
+#include "svg/svg.h"
#include <gsl/gsl_linalg.h>
using namespace Geom;
diff --git a/src/live_effects/lpe-perspective_path.cpp b/src/live_effects/lpe-perspective_path.cpp
index 6857d4363..c8cdd7912 100644
--- a/src/live_effects/lpe-perspective_path.cpp
+++ b/src/live_effects/lpe-perspective_path.cpp
@@ -15,13 +15,18 @@
#include "persp3d.h"
//#include "transf_mat_3x4.h"
+#include "document.h"
#include "document-private.h"
#include "live_effects/lpe-perspective_path.h"
#include "live_effects/lpeobject.h"
+#include "sp-item-group.h"
#include "knot-holder-entity.h"
#include "knotholder.h"
#include "desktop.h"
#include <util/units.h>
+#include "inkscape.h"
+
+#include <2geom/path.h>
namespace Inkscape {
namespace LivePathEffect {
diff --git a/src/live_effects/lpe-powerstroke.cpp b/src/live_effects/lpe-powerstroke.cpp
index 0de668847..66c8776b5 100644
--- a/src/live_effects/lpe-powerstroke.cpp
+++ b/src/live_effects/lpe-powerstroke.cpp
@@ -13,17 +13,32 @@
#include "live_effects/lpe-powerstroke.h"
#include "live_effects/lpe-powerstroke-interpolators.h"
+#include "sp-shape.h"
#include "style.h"
+#include "xml/repr.h"
+#include "sp-paint-server.h"
#include "svg/svg-color.h"
#include "desktop-style.h"
#include "svg/css-ostringstream.h"
#include "display/curve.h"
+#include <2geom/path.h>
+#include <2geom/piecewise.h>
+#include <2geom/sbasis-geometric.h>
+#include <2geom/transforms.h>
+#include <2geom/bezier-utils.h>
#include <2geom/elliptical-arc.h>
+#include <2geom/sbasis-to-bezier.h>
#include <2geom/path-sink.h>
#include <2geom/path-intersection.h>
+#include <2geom/crossing.h>
+#include <2geom/ellipse.h>
#include <2geom/circle.h>
+#include <2geom/math-utils.h>
#include "helper/geom.h"
+#include <math.h>
+
+#include "spiro.h"
namespace Geom {
// should all be moved to 2geom at some point
diff --git a/src/live_effects/lpe-recursiveskeleton.cpp b/src/live_effects/lpe-recursiveskeleton.cpp
index ed0c915ce..ac571d963 100644
--- a/src/live_effects/lpe-recursiveskeleton.cpp
+++ b/src/live_effects/lpe-recursiveskeleton.cpp
@@ -14,7 +14,13 @@
#include "live_effects/lpe-recursiveskeleton.h"
+#include <2geom/path.h>
+#include <2geom/sbasis.h>
+#include <2geom/sbasis-geometric.h>
#include <2geom/bezier-to-sbasis.h>
+#include <2geom/sbasis-to-bezier.h>
+#include <2geom/d2.h>
+#include <2geom/piecewise.h>
namespace Inkscape {
namespace LivePathEffect {
diff --git a/src/live_effects/lpe-rough-hatches.cpp b/src/live_effects/lpe-rough-hatches.cpp
index 2fb65b349..76421e0f0 100644
--- a/src/live_effects/lpe-rough-hatches.cpp
+++ b/src/live_effects/lpe-rough-hatches.cpp
@@ -18,10 +18,18 @@
#include "sp-item.h"
#include "sp-path.h"
+#include "svg/svg.h"
#include "xml/repr.h"
+#include <2geom/path.h>
+#include <2geom/piecewise.h>
+#include <2geom/sbasis.h>
#include <2geom/sbasis-math.h>
+#include <2geom/sbasis-geometric.h>
#include <2geom/bezier-to-sbasis.h>
+#include <2geom/sbasis-to-bezier.h>
+#include <2geom/d2.h>
+#include <2geom/affine.h>
namespace Inkscape {
diff --git a/src/live_effects/lpe-roughen.cpp b/src/live_effects/lpe-roughen.cpp
index 3a486ff10..13f2b7b51 100644
--- a/src/live_effects/lpe-roughen.cpp
+++ b/src/live_effects/lpe-roughen.cpp
@@ -14,10 +14,15 @@
*/
#include "live_effects/lpe-roughen.h"
+#include "desktop.h"
#include "display/curve.h"
+#include "live_effects/parameter/parameter.h"
#include <boost/functional/hash.hpp>
#include "helper/geom.h"
+#include "sp-item-group.h"
+#include <cmath>
// TODO due to internal breakage in glibmm headers, this must be last:
+#include <glibmm/i18n.h>
namespace Inkscape {
namespace LivePathEffect {
diff --git a/src/live_effects/lpe-ruler.cpp b/src/live_effects/lpe-ruler.cpp
index 3a2d78b2c..49b5faa2e 100644
--- a/src/live_effects/lpe-ruler.cpp
+++ b/src/live_effects/lpe-ruler.cpp
@@ -12,6 +12,10 @@
*/
#include "live_effects/lpe-ruler.h"
+#include <2geom/piecewise.h>
+#include <2geom/sbasis-geometric.h>
+#include "inkscape.h"
+#include "desktop.h"
namespace Inkscape {
diff --git a/src/live_effects/lpe-show_handles.cpp b/src/live_effects/lpe-show_handles.cpp
index 388ea176f..2d4666fe4 100644
--- a/src/live_effects/lpe-show_handles.cpp
+++ b/src/live_effects/lpe-show_handles.cpp
@@ -7,6 +7,7 @@
*/
#include "live_effects/lpe-show_handles.h"
+#include "live_effects/parameter/parameter.h"
#include <2geom/sbasis-to-bezier.h>
#include <2geom/svg-path-parser.h>
#include "helper/geom.h"
diff --git a/src/live_effects/lpe-simplify.cpp b/src/live_effects/lpe-simplify.cpp
index ec21e10d2..b0c1fbc23 100644
--- a/src/live_effects/lpe-simplify.cpp
+++ b/src/live_effects/lpe-simplify.cpp
@@ -4,11 +4,20 @@
#include "live_effects/lpe-simplify.h"
#include "display/curve.h"
+#include "live_effects/parameter/parameter.h"
#include "helper/geom.h"
+#include "livarot/Path.h"
+#include "splivarot.h"
#include <2geom/svg-path-parser.h>
+#include "desktop.h"
+#include "inkscape.h"
#include "svg/svg.h"
#include "ui/tools/node-tool.h"
+#include <2geom/d2.h>
+#include <2geom/generic-rect.h>
+#include <2geom/interval.h>
#include "ui/icon-names.h"
+#include "util/units.h"
// TODO due to internal breakage in glibmm headers, this must be last:
#include <glibmm/i18n.h>
diff --git a/src/live_effects/lpe-skeleton.cpp b/src/live_effects/lpe-skeleton.cpp
index 7d34db699..6e4afbe9b 100644
--- a/src/live_effects/lpe-skeleton.cpp
+++ b/src/live_effects/lpe-skeleton.cpp
@@ -21,9 +21,13 @@
#include "live_effects/lpe-skeleton.h"
// You might need to include other 2geom files. You can add them here:
+#include <2geom/path.h>
#include <glibmm/i18n.h>
+//#include "knot-holder-entity.h"
+//#include "knotholder.h"
+
namespace Inkscape {
namespace LivePathEffect {
diff --git a/src/live_effects/lpe-sketch.cpp b/src/live_effects/lpe-sketch.cpp
index 95e2f6f0d..82d343f6e 100644
--- a/src/live_effects/lpe-sketch.cpp
+++ b/src/live_effects/lpe-sketch.cpp
@@ -16,8 +16,16 @@
#include <glibmm/i18n.h>
// You might need to include other 2geom files. You can add them here:
+#include <2geom/path.h>
+#include <2geom/sbasis.h>
+#include <2geom/sbasis-geometric.h>
#include <2geom/sbasis-math.h>
#include <2geom/bezier-to-sbasis.h>
+#include <2geom/sbasis-to-bezier.h>
+#include <2geom/d2.h>
+#include <2geom/sbasis-math.h>
+#include <2geom/piecewise.h>
+#include <2geom/crossing.h>
#include <2geom/path-intersection.h>
namespace Inkscape {
diff --git a/src/live_effects/lpe-spiro.cpp b/src/live_effects/lpe-spiro.cpp
index 4a41dc5a0..0d42596b2 100644
--- a/src/live_effects/lpe-spiro.cpp
+++ b/src/live_effects/lpe-spiro.cpp
@@ -7,6 +7,9 @@
#include "live_effects/lpe-spiro.h"
#include "display/curve.h"
+#include <typeinfo>
+#include <2geom/pathvector.h>
+#include <2geom/affine.h>
#include <2geom/curves.h>
#include "helper/geom-nodetype.h"
#include "helper/geom-curves.h"
diff --git a/src/live_effects/lpe-tangent_to_curve.cpp b/src/live_effects/lpe-tangent_to_curve.cpp
index b308ef8d7..978ab57fb 100644
--- a/src/live_effects/lpe-tangent_to_curve.cpp
+++ b/src/live_effects/lpe-tangent_to_curve.cpp
@@ -19,6 +19,10 @@
#include "sp-path.h"
#include "display/curve.h"
+#include <2geom/path.h>
+#include <2geom/transforms.h>
+
+#include "knot-holder-entity.h"
#include "knotholder.h"
namespace Inkscape {
diff --git a/src/live_effects/lpe-taperstroke.cpp b/src/live_effects/lpe-taperstroke.cpp
index f6f6b33dc..f2ddd4929 100644
--- a/src/live_effects/lpe-taperstroke.cpp
+++ b/src/live_effects/lpe-taperstroke.cpp
@@ -13,20 +13,28 @@
#include "live_effects/lpe-taperstroke.h"
+#include <2geom/path.h>
+#include <2geom/path.h>
#include <2geom/circle.h>
#include <2geom/sbasis-to-bezier.h>
#include "helper/geom-nodetype.h"
#include "helper/geom-pathstroke.h"
#include "display/curve.h"
+#include "sp-shape.h"
#include "style.h"
+#include "xml/repr.h"
+#include "sp-paint-server.h"
#include "svg/svg-color.h"
#include "desktop-style.h"
#include "svg/css-ostringstream.h"
#include "svg/svg.h"
+#include "knot-holder-entity.h"
#include "knotholder.h"
+#include <glibmm/i18n.h>
+
template<typename T>
inline bool withinRange(T value, T low, T high) {
return (value > low && value < high);
diff --git a/src/live_effects/lpe-test-doEffect-stack.cpp b/src/live_effects/lpe-test-doEffect-stack.cpp
index c7ecf6481..2bcd4c136 100644
--- a/src/live_effects/lpe-test-doEffect-stack.cpp
+++ b/src/live_effects/lpe-test-doEffect-stack.cpp
@@ -8,6 +8,9 @@
#include "live_effects/lpe-test-doEffect-stack.h"
+#include <2geom/piecewise.h>
+#include <vector>
+#include <cstring>
using std::memcpy;
namespace Inkscape {
diff --git a/src/live_effects/lpe-transform_2pts.cpp b/src/live_effects/lpe-transform_2pts.cpp
index 2b03a4bb2..3c4ce0708 100644
--- a/src/live_effects/lpe-transform_2pts.cpp
+++ b/src/live_effects/lpe-transform_2pts.cpp
@@ -14,6 +14,9 @@
#include "live_effects/lpe-transform_2pts.h"
#include "display/curve.h"
+#include <2geom/transforms.h>
+#include <2geom/pathvector.h>
+#include "sp-path.h"
#include "ui/icon-names.h"
#include "svg/svg.h"
#include "verbs.h"
diff --git a/src/live_effects/lpe-vonkoch.cpp b/src/live_effects/lpe-vonkoch.cpp
index 2486f3366..7eda7446e 100644
--- a/src/live_effects/lpe-vonkoch.cpp
+++ b/src/live_effects/lpe-vonkoch.cpp
@@ -8,6 +8,8 @@
#include <glibmm/i18n.h>
+#include <2geom/transforms.h>
+
//using std::vector;
namespace Inkscape {
namespace LivePathEffect {
diff --git a/src/live_effects/lpegroupbbox.cpp b/src/live_effects/lpegroupbbox.cpp
index 3862ebcc8..2a1b70a6a 100644
--- a/src/live_effects/lpegroupbbox.cpp
+++ b/src/live_effects/lpegroupbbox.cpp
@@ -7,6 +7,8 @@
#include "live_effects/lpegroupbbox.h"
+#include "sp-item.h"
+
namespace Inkscape {
namespace LivePathEffect {
diff --git a/src/live_effects/lpeobject-reference.cpp b/src/live_effects/lpeobject-reference.cpp
index 1940806bd..d9de6e77f 100644
--- a/src/live_effects/lpeobject-reference.cpp
+++ b/src/live_effects/lpeobject-reference.cpp
@@ -8,6 +8,7 @@
#include <string.h>
+#include "enums.h"
#include "live_effects/lpeobject-reference.h"
#include "live_effects/lpeobject.h"
#include "uri.h"
diff --git a/src/live_effects/lpeobject.cpp b/src/live_effects/lpeobject.cpp
index b5b27c984..8e5ae568f 100644
--- a/src/live_effects/lpeobject.cpp
+++ b/src/live_effects/lpeobject.cpp
@@ -11,10 +11,13 @@
#include "xml/repr.h"
#include "xml/node-event-vector.h"
+#include "sp-object.h"
#include "attributes.h"
#include "document.h"
#include "document-private.h"
+#include <glibmm/i18n.h>
+
//#define LIVEPATHEFFECT_VERBOSE
static void livepatheffect_on_repr_attr_changed (Inkscape::XML::Node * repr, const gchar *key, const gchar *oldval, const gchar *newval, bool is_interactive, void * data);
diff --git a/src/live_effects/spiro.cpp b/src/live_effects/spiro.cpp
index a2ff4813e..0ac2815bf 100644
--- a/src/live_effects/spiro.cpp
+++ b/src/live_effects/spiro.cpp
@@ -29,6 +29,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
#include <string.h>
#include "display/curve.h"
+#include <2geom/math-utils.h>
#define SPIRO_SHOW_INFINITE_COORDINATE_CALLS