summaryrefslogtreecommitdiffstats
path: root/src/live_effects
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2016-11-21 11:06:29 +0000
committerjabiertxof <info@marker.es>2016-11-21 11:06:29 +0000
commit8127e2371b76e7501b42c5114c511504526fc8d5 (patch)
treea9bff6790224af649278095fe8b8f7bedc3a4be8 /src/live_effects
parentPreserve selection of corner nodes for some corner operations. (diff)
downloadinkscape-8127e2371b76e7501b42c5114c511504526fc8d5.tar.gz
inkscape-8127e2371b76e7501b42c5114c511504526fc8d5.zip
Fix #1643408. Bug in pap LPE
Fixed bugs: - https://launchpad.net/bugs/1643408 (bzr r15263)
Diffstat (limited to 'src/live_effects')
-rw-r--r--src/live_effects/lpe-patternalongpath.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/live_effects/lpe-patternalongpath.cpp b/src/live_effects/lpe-patternalongpath.cpp
index 0785da235..f9bad0610 100644
--- a/src/live_effects/lpe-patternalongpath.cpp
+++ b/src/live_effects/lpe-patternalongpath.cpp
@@ -142,7 +142,7 @@ LPEPatternAlongPath::doEffect_pwd2 (Geom::Piecewise<Geom::D2<Geom::SBasis> > con
double xspace = spacing;
double noffset = normal_offset;
double toffset = tang_offset;
- if (prop_units.get_value() && pattBndsY){
+ if (prop_units.get_value()){
xspace *= pattBndsX->extent();
noffset *= pattBndsY->extent();
toffset *= pattBndsX->extent();
@@ -171,7 +171,7 @@ LPEPatternAlongPath::doEffect_pwd2 (Geom::Piecewise<Geom::D2<Geom::SBasis> > con
Piecewise<D2<SBasis> > uskeleton = arc_length_parametrization(path_i,2,.1);
uskeleton = remove_short_cuts(uskeleton,.01);
Piecewise<D2<SBasis> > n = rot90(derivative(uskeleton));
- n = force_continuity(remove_short_cuts(n,.1));
+ n = force_continuity(remove_short_cuts(n,.1),.01);
int nbCopies = 0;
double scaling = 1;
@@ -210,16 +210,14 @@ LPEPatternAlongPath::doEffect_pwd2 (Geom::Piecewise<Geom::D2<Geom::SBasis> > con
double pattWidth = pattBndsX->extent() * scaling;
- if (scaling != 1.0) {
- x*=scaling;
- }
+ x*=scaling;
if ( scale_y_rel.get_value() ) {
- y*=(scaling*prop_scale);
+ y*=(scaling * prop_scale);
} else {
- if (prop_scale != 1.0) y *= prop_scale;
+ y *= prop_scale;
}
x += toffset;
-
+
double offs = 0;
for (int i=0; i<nbCopies; i++){
if (fuse_tolerance > 0){