lpe-powerstroke.cpp revision b8cc7b93e343f59c8deb70c7409974d385eb36ae
#define INKSCAPE_LPE_POWERSTROKE_CPP
/** \file
* @brief PowerStroke LPE implementation. Creates curves with modifiable stroke width.
*/
/* Authors:
* Johan Engelen <j.b.c.engelen@utwente.nl>
*
* Copyright (C) 2010 Authors
*
* Released under GNU GPL, read the file 'COPYING' for more information
*/
#include "live_effects/lpe-powerstroke.h"
#include "sp-shape.h"
/// @TODO Move this to 2geom
namespace Geom {
namespace Interpolate {
class Interpolator {
public:
Interpolator() {};
virtual ~Interpolator() {};
// virtual Piecewise<D2<SBasis> > interpolateToPwD2Sb(std::vector<Point> points) = 0;
private:
Interpolator(const Interpolator&);
Interpolator& operator=(const Interpolator&);
};
class Linear : public Interpolator {
public:
Linear() {};
virtual ~Linear() {};
}
return strokepath;
};
private:
};
} //namespace Interpolate
} //namespace Geom
namespace Inkscape {
namespace LivePathEffect {
sort_points(_("Sort points"), _("Sort offset points according to their time value along the curve."), "sort_points", &wr, this, true)
{
show_orig_path = true;
}
{
}
void
{
}
{
}
{
using namespace Geom;
// perhaps use std::list instead of std::vector?
// first and last point coincide with input path (for now at least)
}
if (sort_points) {
}
// create stroke path where points (x,y) = (t, offset)
strokepath.close();
// output = pwd2_in + n * offset;
// append_half_circle(output, pwd2_in.lastValue(), n.lastValue() * offset);
// output.continuousConcat(reverse(pwd2_in - n * offset));
// append_half_circle(output, pwd2_in.firstValue(), -n.firstValue() * offset);
return output;
}
/* ######################## */
} //namespace LivePathEffect
} /* namespace Inkscape */
/*
Local Variables:
mode:c++
c-file-style:"stroustrup"
c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
indent-tabs-mode:nil
fill-column:99
End:
*/
// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :