diff options
| author | Johan B. C. Engelen <jbc.engelen@swissonline.ch> | 2009-04-06 22:29:34 +0000 |
|---|---|---|
| committer | johanengelen <johanengelen@users.sourceforge.net> | 2009-04-06 22:29:34 +0000 |
| commit | 64e50f15e4a4fb6ffcd2aa3774f1b0dde990e99f (patch) | |
| tree | 0fae7298fc26ec9c39d73f1e9b33207c8bb0d9c2 /src/2geom/piecewise.h | |
| parent | noop: Rename argument from uri to filename for Extension::...::save implement... (diff) | |
| download | inkscape-64e50f15e4a4fb6ffcd2aa3774f1b0dde990e99f.tar.gz inkscape-64e50f15e4a4fb6ffcd2aa3774f1b0dde990e99f.zip | |
update 2geom. big commit as it has been a while. (2geom svn rev. 1870, i think)
i turned some optional compilation stuff *on* per default, to help building inkscape.
(bzr r7638)
Diffstat (limited to '')
| -rw-r--r-- | src/2geom/piecewise.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/2geom/piecewise.h b/src/2geom/piecewise.h index 144d7a9b2..a5be42587 100644 --- a/src/2geom/piecewise.h +++ b/src/2geom/piecewise.h @@ -531,6 +531,19 @@ Piecewise<T> operator*(Piecewise<T> const &a, double b) { return ret; } template<typename T> +Piecewise<T> operator*(Piecewise<T> const &a, T b) { + boost::function_requires<ScalableConcept<T> >(); + + if(a.empty()) return Piecewise<T>(); + + Piecewise<T> ret; + ret.segs.reserve(a.size()); + ret.cuts = a.cuts; + for(unsigned i = 0; i < a.size();i++) + ret.push_seg(a[i] * b); + return ret; +} +template<typename T> Piecewise<T> operator/(Piecewise<T> const &a, double b) { boost::function_requires<ScalableConcept<T> >(); @@ -753,10 +766,10 @@ Piecewise<T> reverse(Piecewise<T> const &f) { 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); + ret.push_cut(end - (x - start)); } for (unsigned i = 0; i < f.segs.size(); i++) - ret.segs[i] = reverse(f[f.segs.size() - i - 1]); + ret.push_seg(reverse(f[f.segs.size() - i - 1])); return ret; } |
