summaryrefslogtreecommitdiffstats
path: root/src/live_effects/parameter/powerstrokepointarray.cpp
diff options
context:
space:
mode:
authorJabier Arraiza <jabier.arraiza@marker.es>2017-11-19 22:54:21 +0000
committerJabier Arraiza <jabier.arraiza@marker.es>2017-11-19 22:54:21 +0000
commitd91112f7116f50489bd93047f6e7bc0985512c68 (patch)
tree29919bec74826788890efdeabea204255a683c4d /src/live_effects/parameter/powerstrokepointarray.cpp
parentWorking on fix smooth draw (diff)
downloadinkscape-d91112f7116f50489bd93047f6e7bc0985512c68.tar.gz
inkscape-d91112f7116f50489bd93047f6e7bc0985512c68.zip
Working on coontinuing paths
Diffstat (limited to 'src/live_effects/parameter/powerstrokepointarray.cpp')
-rw-r--r--src/live_effects/parameter/powerstrokepointarray.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/live_effects/parameter/powerstrokepointarray.cpp b/src/live_effects/parameter/powerstrokepointarray.cpp
index 7e2da4cfd..289498498 100644
--- a/src/live_effects/parameter/powerstrokepointarray.cpp
+++ b/src/live_effects/parameter/powerstrokepointarray.cpp
@@ -90,18 +90,28 @@ PowerStrokePointArrayParam::recalculate_controlpoints_for_new_pwd2(Geom::Piecewi
}
/** call this method to recalculate the controlpoints when path is reversed.*/
-void
-PowerStrokePointArrayParam::reverse_controlpoints()
+std::vector<Geom::Point>
+PowerStrokePointArrayParam::reverse_controlpoints(bool write)
{
+ std::vector<Geom::Point> controlpoints;
if (!last_pwd2.empty()) {
Geom::Piecewise<Geom::D2<Geom::SBasis> > const & pwd2_in_reverse = reverse(last_pwd2);
for (unsigned int i = 0; i < _vector.size(); ++i) {
Geom::Point control_pos = last_pwd2.valueAt(_vector[i][Geom::X]);
double new_pos = Geom::nearest_time(control_pos, pwd2_in_reverse);
+ controlpoints.push_back(Geom::Point(new_pos,_vector[i][Geom::Y]));
_vector[i][Geom::X] = new_pos;
}
- write_to_SVG();
+ if (write) {
+ write_to_SVG();
+ _vector.clear();
+ _vector = controlpoints;
+ controlpoints.clear();
+ write_to_SVG();
+ return _vector;
+ }
}
+ return controlpoints;
}
float PowerStrokePointArrayParam::median_width()