From 4289e1281e707090b4195dcb879cf1532d9ef03a Mon Sep 17 00:00:00 2001 From: "Johan B. C. Engelen" Date: Sat, 14 Jun 2008 15:01:19 +0000 Subject: update 2geom (bzr r5931) --- src/2geom/piecewise.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/2geom/piecewise.cpp') diff --git a/src/2geom/piecewise.cpp b/src/2geom/piecewise.cpp index dc91ab4a9..222152aa3 100644 --- a/src/2geom/piecewise.cpp +++ b/src/2geom/piecewise.cpp @@ -167,6 +167,22 @@ std::vector roots(Piecewise const &f){ return result; } +Piecewise reverse(Piecewise const &f) { + Piecewise ret = Piecewise(); + ret.cuts.resize(f.cuts.size()); + ret.segs.resize(f.segs.size()); + double start = f.cuts[0]; + double end = f.cuts.back(); + for (unsigned i = 0; i < f.cuts.size(); i++) { + double x = f.cuts[f.cuts.size() - 1 - i]; + ret.cuts[i] = end - (x - start); + } + for (unsigned i = 0; i < f.segs.size(); i++) + ret.segs[i] = reverse(f[f.segs.size() - i - 1]); + return ret; +} + + } /* Local Variables: -- cgit v1.2.3