diff options
| author | Jabier Arraiza <jabier.arraiza@marker.es> | 2017-11-19 22:54:21 +0000 |
|---|---|---|
| committer | Jabier Arraiza <jabier.arraiza@marker.es> | 2017-11-19 22:54:21 +0000 |
| commit | d91112f7116f50489bd93047f6e7bc0985512c68 (patch) | |
| tree | 29919bec74826788890efdeabea204255a683c4d /src/live_effects/parameter/powerstrokepointarray.cpp | |
| parent | Working on fix smooth draw (diff) | |
| download | inkscape-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.cpp | 16 |
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() |
