18#include <glibmm/i18n.h>
21namespace LivePathEffect {
36 _(
"Interpolator type:"),
37 _(
"Determines which kind of interpolator will be used to interpolate between stroke width along the path"),
53 for(
const auto & path_it : path_in) {
57 if (path_it.closed()) {
58 g_warning(
"Interpolate points LPE currently ignores whether path is closed or not.");
61 std::vector<Geom::Point> pts;
62 pts.push_back(path_it.initialPoint());
65 pts.push_back((*it).finalPoint());
68 Geom::Path path = interpolator->interpolateToPath(pts);
static Interpolator * create(InterpolatorType type)
void push_back(Path const &path)
Append a path at the end.
Sequence of contiguous curves, aka spline.
void registerParameter(Parameter *param)
~LPEInterpolatePoints() override
LPEInterpolatePoints(LivePathEffectObject *lpeobject)
Geom::PathVector doEffect_path(Geom::PathVector const &path_in) override
EnumParam< unsigned > interpolator_type
Simplified management of enumerations of svg items with UI labels.
LPE interpolate_points implementation, see lpe-interpolate_points.cpp.
Interpolators for lists of points.
@ INTERP_CUBICBEZIER_JOHAN
@ INTERP_CENTRIPETAL_CATMULLROM
Various utility functions.
static const Util::EnumData< unsigned > InterpolatorTypeData[]
static const Util::EnumDataConverter< unsigned > InterpolatorTypeConverter(InterpolatorTypeData, sizeof(InterpolatorTypeData)/sizeof(*InterpolatorTypeData))
Helper class to stream background task notifications as a series of messages.
Simplified management of enumerations of svg items with UI labels.