41 c.feed(*
this, moveto_initial);
50 for (; iter != last; ++iter) {
51 iter->feed(*
this,
false);
60 for (
const auto & i : pv) {
80 arcTo(r, r, 0,
false,
false, b);
81 arcTo(r, r, 0,
false,
false, a);
Defines the different types of exceptions that 2geom can throw.
Set of all points at a fixed distance from the center.
Abstract continuous curve on a plane defined on [0,1].
virtual Point initialPoint() const =0
Retrieve the start of the curve.
Set of points with a constant sum of distances from two foci.
Angle rotationAngle() const
Get the angle the X ray makes with the +X axis.
Point pointAt(Coord t) const
Evaluate a point on the ellipse.
Coord ray(Dim2 d) const
Get one ray of the ellipse.
CPoint corner(unsigned i) const
Return the n-th corner of the rectangle.
virtual void arcTo(Coord rx, Coord ry, Coord angle, bool large_arc, bool sweep, Point const &p)=0
Output an elliptical arc segment.
virtual void flush()=0
Flush any internal state of the generator.
virtual void lineTo(Point const &p)=0
Output a line segment.
virtual void feed(Curve const &c, bool moveto_initial=true)
virtual void closePath()=0
Close the current path with a line segment.
virtual void moveTo(Point const &p)=0
Move to a different point without creating a segment.
Sequence of contiguous curves, aka spline.
bool closed() const
Check whether the path is closed.
const_iterator end_open() const
Curve const & front() const
Access the first curve in the path.
const_iterator begin() const
Two-dimensional point that doubles as a vector.
Axis aligned, non-empty rectangle.
double Coord
Floating point type used to store coordinates.
Various utility functions.
callback interface for SVG path data
Conversion between SBasis and Bezier basis polynomials.