2#define INKSCAPE_LPE_SPIRO_C
15namespace LivePathEffect {
42 for(
const auto & path_it : original_pathv) {
60 while ( curve_it2 != curve_endit )
78 if (this_is_line && !next_is_line) {
80 }
else if (next_is_line && !this_is_line) {
98 if (path_it.closed()) {
107 path[0].
ty = path[ip].
ty =
'v';
111 path[0].
ty = path[ip].
ty =
'c';
Two-dimensional point that doubles as a vector.
void doEffect(Geom::PathVector &curve) override
LPESpiro(LivePathEffectObject *lpeobject)
Specific curve type functions for Inkscape, not provided by lib2geom.
bool is_straight_curve(Geom::BezierCurve const &c)
Specific nodetype geometry functions for Inkscape, not provided my lib2geom.
NodeType
What kind of node is this? This is the value for the node->type field.
@ NODE_NONE
Discontinuous node, usually either start or endpoint of a path.
@ NODE_CUSP
This node continuously joins two segments, but the unit tangent is discontinuous.
@ NODE_SYMM
This node is symmetric.
@ NODE_SMOOTH
This node continuously joins two segments, with continuous unit tangent.
NodeType get_nodetype(Curve const &c_incoming, Curve const &c_outgoing)
void sp_spiro_do_effect(Geom::PathVector &curve)
Helper class to stream background task notifications as a series of messages.
Geom::Path spiro_run(const spiro_cp *src, int src_len)
C implementation of third-order polynomial spirals.