Inkscape
Vector Graphics Editor
|
#include <bezier-curve.h>
Private Member Functions | |
BezierCurveN () | |
Additional Inherited Members | |
![]() | |
std::pair< BezierCurveN, BezierCurveN > | subdivide (Coord t) const |
Divide a Bezier curve into two curves. | |
bool | isDegenerate () const override |
Check whether the curve has exactly zero length. | |
bool | isDegenerate () const |
Check whether the curve has exactly zero length. | |
bool | isLineSegment () const override |
Return false if there are at least 3 distinct control points, true otherwise. | |
bool | isLineSegment () const |
Return false if there are at least 3 distinct control points, true otherwise. | |
Curve * | duplicate () const override |
Create an exact copy of this curve. | |
Curve * | portion (Coord f, Coord t) const override |
Create a curve that corresponds to a part of this curve. | |
Curve * | reverse () const override |
Create a reversed version of this curve. | |
Curve * | derivative () const override |
Create a derivative of this curve. | |
Curve * | derivative () const |
Create a derivative of this curve. | |
Curve * | derivative () const |
Create a derivative of this curve. | |
Coord | nearestTime (Point const &p, Coord from=0, Coord to=1) const override |
Compute a time value at which the curve comes closest to a specified point. | |
Coord | nearestTime (Point const &, Coord, Coord) const |
Compute a time value at which the curve comes closest to a specified point. | |
Coord | nearestTime (Point const &p, Coord from, Coord to) const |
Compute a time value at which the curve comes closest to a specified point. | |
std::vector< CurveIntersection > | intersect (Curve const &other, Coord eps=EPSILON) const override |
Compute intersections with another curve. | |
std::vector< CurveIntersection > | intersect (Curve const &, Coord) const |
Compute intersections with another curve. | |
std::vector< CurveIntersection > | intersect (Curve const &, Coord) const |
Compute intersections with another curve. | |
std::vector< CurveIntersection > | intersect (Curve const &, Coord) const |
Compute intersections with another curve. | |
std::vector< CurveIntersection > | intersect (Curve const &other, Coord eps) const |
Compute intersections with another curve. | |
std::vector< CurveIntersection > | intersect (Curve const &other, Coord eps) const |
Compute intersections with another curve. | |
std::vector< CurveIntersection > | intersect (Curve const &other, Coord eps) const |
Compute intersections with another curve. | |
int | winding (Point const &p) const override |
Compute the partial winding number of this curve. | |
int | winding (Point const &) const |
Compute the partial winding number of this curve. | |
int | winding (Point const &p) const |
Compute the partial winding number of this curve. | |
void | feed (PathSink &sink, bool moveto_initial) const override |
Feed the curve to a PathSink. | |
void | feed (PathSink &sink, bool moveto_initial) const |
Feed the curve to a PathSink. | |
void | feed (PathSink &sink, bool moveto_initial) const |
Feed the curve to a PathSink. | |
void | feed (PathSink &sink, bool moveto_initial) const |
Feed the curve to a PathSink. | |
void | feed (PathSink &sink, bool moveto_initial) const |
Feed the curve to a PathSink. | |
void | feed (PathSink &sink, bool moveto_initial) const |
Feed the curve to a PathSink. | |
void | feed (PathSink &sink, bool moveto_initial) const |
Feed the curve to a PathSink. | |
void | expandToTransformed (Rect &bbox, Affine const &transform) const override |
Expand the given rectangle to include the transformed curve, assuming it already contains its initial point. | |
void | expandToTransformed (Rect &bbox, Affine const &transform) const |
Expand the given rectangle to include the transformed curve, assuming it already contains its initial point. | |
void | expandToTransformed (Rect &bbox, Affine const &transform) const |
Expand the given rectangle to include the transformed curve, assuming it already contains its initial point. | |
void | expandToTransformed (Rect &bbox, Affine const &transform) const |
Expand the given rectangle to include the transformed curve, assuming it already contains its initial point. | |
void | expandToTransformed (Rect &bbox, Affine const &transform) const |
Expand the given rectangle to include the transformed curve, assuming it already contains its initial point. | |
void | expandToTransformed (Rect &bbox, Affine const &transform) const |
Expand the given rectangle to include the transformed curve, assuming it already contains its initial point. | |
void | expandToTransformed (Rect &bbox, Affine const &transform) const |
Expand the given rectangle to include the transformed curve, assuming it already contains its initial point. | |
BezierCurveN () | |
Construct a Bezier curve of the specified order with all points zero. | |
BezierCurveN (D2< Bezier > const &x) | |
Construct from 2D Bezier polynomial. | |
BezierCurveN (Bezier x, Bezier y) | |
Construct from two 1D Bezier polynomials of the same order. | |
BezierCurveN (std::vector< Point > const &points) | |
Construct a Bezier curve from a vector of its control points. | |
BezierCurveN (Point c0, Point c1) | |
Construct a linear segment from its endpoints. | |
BezierCurveN (Point c0, Point c1, Point c2) | |
Construct a quadratic Bezier curve from its control points. | |
BezierCurveN (Point c0, Point c1, Point c2, Point c3) | |
Construct a cubic Bezier curve from its control points. | |
![]() | |
BezierCurve (D2< Bezier > const &b) | |
Point | initialPoint () const override |
Retrieve the start of the curve. | |
Point | finalPoint () const override |
Retrieve the end of the curve. | |
void | setInitial (Point const &v) override |
Change the starting point of the curve. | |
void | setFinal (Point const &v) override |
Change the ending point of the curve. | |
Rect | boundsFast () const override |
Quickly compute the curve's approximate bounding box. | |
Rect | boundsExact () const override |
Compute the curve's exact bounding box. | |
OptRect | boundsLocal (OptInterval const &i, unsigned deg) const override |
void | operator*= (Translate const &tr) override |
void | operator*= (Scale const &s) override |
void | operator*= (Affine const &m) override |
int | degreesOfFreedom () const override |
Return the number of independent parameters required to represent all variations of this curve. | |
std::vector< Coord > | roots (Coord v, Dim2 d) const override |
Computes time values at which the curve intersects an axis-aligned line. | |
Coord | length (Coord tolerance) const override |
Compute the arc length of this curve. | |
Point | pointAt (Coord t) const override |
Evaluate the curve at a specified time value. | |
std::vector< Point > | pointAndDerivatives (Coord t, unsigned n) const override |
Evaluate the curve and its derivatives. | |
Coord | valueAt (Coord t, Dim2 d) const override |
Evaluate one of the coordinates at the specified time value. | |
D2< SBasis > | toSBasis () const override |
Convert the curve to a symmetric power basis polynomial. | |
bool | isNear (Curve const &c, Coord precision) const override |
Test whether two curves are approximately the same. | |
std::vector< Coord > | timesWithRadiusOfCurvature (double radius) const |
Computes the times where the radius of curvature of the bezier curve equals the given radius. | |
virtual void | operator*= (Translate const &tr) |
virtual void | operator*= (Scale const &s) |
virtual void | operator*= (Rotate const &r) |
virtual void | operator*= (HShear const &hs) |
virtual void | operator*= (VShear const &vs) |
virtual void | operator*= (Zoom const &z) |
virtual void | operator*= (Affine const &m)=0 |
unsigned | order () const |
Get the order of the Bezier curve. | |
unsigned | size () const |
Get the number of control points. | |
Point | controlPoint (unsigned ix) const |
Access control points of the curve. | |
Point | operator[] (unsigned ix) const |
std::vector< Point > | controlPoints () const |
Get the control points. | |
D2< Bezier > const & | fragment () const |
void | setPoint (unsigned ix, Point const &v) |
Modify a control point. | |
virtual void | setPoints (std::vector< Point > const &ps) |
Set new control points. | |
![]() | |
virtual | ~Curve () |
virtual Interval | timeRange () const |
Get the interval of allowed time values. | |
virtual Point | operator() (Coord t) const |
Evaluate the function at the specified time value. | |
OptRect | boundsLocal (OptInterval const &a) const |
Compute the bounding box of a part of the curve. | |
void | transform (Affine const &m) |
Transform this curve by an affine transformation. | |
virtual Curve * | transformed (Affine const &m) const |
Create a curve transformed by an affine transformation. | |
Curve * | portion (Interval const &i) const |
A version of that accepts an Interval. | |
Coord | nearestTime (Point const &p, Interval const &i) const |
A version that takes an Interval. | |
virtual std::vector< Coord > | allNearestTimes (Point const &p, Coord from=0, Coord to=1) const |
Compute time values at which the curve comes closest to a specified point. | |
std::vector< Coord > | allNearestTimes (Point const &p, Interval const &i) |
A version that takes an Interval. | |
virtual std::vector< CurveIntersection > | intersectSelf (Coord eps=EPSILON) const |
Compute intersections of this curve with itself. | |
virtual Point | unitTangentAt (Coord t, unsigned n=3) const |
Compute a vector tangent to the curve. | |
bool | operator== (Curve const &c) const |
Test equality of two curves. | |
![]() | |
static BezierCurve * | create (std::vector< Point > const &pts) |
Construct a curve from a vector of control points. | |
![]() | |
BezierCurve () | |
BezierCurve (Bezier const &x, Bezier const &y) | |
BezierCurve (std::vector< Point > const &pts) | |
bool | _equalTo (Curve const &c) const override |
![]() | |
D2< Bezier > | inner |
![]() | |
Coord | bezier_length (std::vector< Point > const &points, Coord tolerance) |
Compute the length of a bezier curve given by a vector of its control points. | |
Definition at line 304 of file bezier-curve.h.
|
private |
References BezierCurveN().
Referenced by BezierCurveN().