Inkscape
Vector Graphics Editor
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages Concepts
Geom::BezierCurveN< 0 > Class Reference

#include <bezier-curve.h>

Inheritance diagram for Geom::BezierCurveN< 0 >:
Geom::BezierCurveN< 1 > Geom::BezierCurve Geom::Curve

Private Member Functions

 BezierCurveN ()
 

Additional Inherited Members

- Public Member Functions inherited from Geom::BezierCurveN< 1 >
std::pair< BezierCurveN, BezierCurveNsubdivide (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.
 
Curveduplicate () const override
 Create an exact copy of this curve.
 
Curveportion (Coord f, Coord t) const override
 Create a curve that corresponds to a part of this curve.
 
Curvereverse () const override
 Create a reversed version of this curve.
 
Curvederivative () const override
 Create a derivative of this curve.
 
Curvederivative () const
 Create a derivative of this curve.
 
Curvederivative () 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< CurveIntersectionintersect (Curve const &other, Coord eps=EPSILON) const override
 Compute intersections with another curve.
 
std::vector< CurveIntersectionintersect (Curve const &, Coord) const
 Compute intersections with another curve.
 
std::vector< CurveIntersectionintersect (Curve const &, Coord) const
 Compute intersections with another curve.
 
std::vector< CurveIntersectionintersect (Curve const &, Coord) const
 Compute intersections with another curve.
 
std::vector< CurveIntersectionintersect (Curve const &other, Coord eps) const
 Compute intersections with another curve.
 
std::vector< CurveIntersectionintersect (Curve const &other, Coord eps) const
 Compute intersections with another curve.
 
std::vector< CurveIntersectionintersect (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.
 
- Public Member Functions inherited from Geom::BezierCurve
 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< Coordroots (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< PointpointAndDerivatives (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< SBasistoSBasis () 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< CoordtimesWithRadiusOfCurvature (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< PointcontrolPoints () 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.
 
- Public Member Functions inherited from Geom::Curve
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 Curvetransformed (Affine const &m) const
 Create a curve transformed by an affine transformation.
 
Curveportion (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< CoordallNearestTimes (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< CoordallNearestTimes (Point const &p, Interval const &i)
 A version that takes an Interval.
 
virtual std::vector< CurveIntersectionintersectSelf (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 Public Member Functions inherited from Geom::BezierCurve
static BezierCurvecreate (std::vector< Point > const &pts)
 Construct a curve from a vector of control points.
 
- Protected Member Functions inherited from Geom::BezierCurve
 BezierCurve ()
 
 BezierCurve (Bezier const &x, Bezier const &y)
 
 BezierCurve (std::vector< Point > const &pts)
 
bool _equalTo (Curve const &c) const override
 
- Protected Attributes inherited from Geom::BezierCurve
D2< Bezierinner
 

Detailed Description

Definition at line 304 of file bezier-curve.h.

Constructor & Destructor Documentation

◆ BezierCurveN()

Geom::BezierCurveN< 0 >::BezierCurveN ( )
private

References BezierCurveN().

Referenced by BezierCurveN().


The documentation for this class was generated from the following file: