From 3bdf3f3eefb1b840e5d608720f21546acd2ee395 Mon Sep 17 00:00:00 2001 From: jfbarraud Date: Mon, 15 Sep 2008 22:03:54 +0000 Subject: [PATCH] minor bug fix in portion(pw,a,b) when b is a cut of pw. --- src/2geom/piecewise.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/2geom/piecewise.h b/src/2geom/piecewise.h index 73fc76e2f..3979643b2 100644 --- a/src/2geom/piecewise.h +++ b/src/2geom/piecewise.h @@ -372,13 +372,14 @@ Piecewise portion(const Piecewise &pw, double from, double to) { unsigned i = pw.segN(from); ret.push_cut(from); - if(i == pw.size() - 1 || to < pw.cuts[i + 1]) { //to/from inhabit the same segment + if(i == pw.size() - 1 || to <= pw.cuts[i + 1]) { //to/from inhabit the same segment ret.push(elem_portion(pw, i, from, to), to); return ret; } ret.push_seg(portion( pw[i], pw.segT(from, i), 1.0 )); i++; unsigned fi = pw.segN(to, i); + if (to == pw.cuts[fi]) fi-=1; ret.segs.insert(ret.segs.end(), pw.segs.begin() + i, pw.segs.begin() + fi); //copy segs ret.cuts.insert(ret.cuts.end(), pw.cuts.begin() + i, pw.cuts.begin() + fi + 1); //and their cuts -- 2.30.2