35 double this_angle_L2 =
Geom::L2(deriv_1);
36 double next_angle_L2 =
Geom::L2(deriv_2);
37 double both_angles_L2 =
Geom::L2(deriv_1 + deriv_2);
38 if ( (this_angle_L2 > 1e-6) &&
39 (next_angle_L2 > 1e-6) &&
40 ((this_angle_L2 + next_angle_L2 - both_angles_L2) < 1e-3) )
Abstract continuous curve on a plane defined on [0,1].
virtual Curve * reverse() const
Create a reversed version of this curve.
virtual Point unitTangentAt(Coord t, unsigned n=3) const
Compute a vector tangent to the curve.
virtual Point pointAt(Coord t) const
Evaluate the curve at a specified time value.
Two-dimensional point that doubles as a vector.
Specific nodetype geometry functions for Inkscape, not provided my lib2geom.
Various utility functions.
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_SMOOTH
This node continuously joins two segments, with continuous unit tangent.
NodeType get_nodetype(Curve const &c_incoming, Curve const &c_outgoing)
SBasis L2(D2< SBasis > const &a, unsigned k)
bool are_near(Affine const &a1, Affine const &a2, Coord eps=EPSILON)