Object TCubicBezierCurve
Unit
Declaration
type TCubicBezierCurve = object(TObject)
Description
Definition of a Bézier curve of order 3. It has two control points c1 and c2. Those are not reached by the curve in general.
Hierarchy
- TObject
- TCubicBezierCurve
Overview
Fields
c1: TPointF; |
|
c2: TPointF; |
|
p1: TPointF; |
|
p2: TPointF; |
Methods
function ComputeLength(AAcceptedDeviation: single = 0.1): single; |
|
function ComputePointAt(t: single): TPointF; |
|
function GetBounds: TRectF; |
|
function ToPoints(AAcceptedDeviation: single = 0.1; AIncludeFirstPoint: boolean = true): ArrayOfTPointF; |
|
procedure CopyToPath(ADest: IBGRAPath); |
|
procedure Split(out ALeft, ARight: TCubicBezierCurve); |
Description
Fields
c1: TPointF; |
|
First control point (not reached by the curve) |
c2: TPointF; |
|
Second control point (not reached by the curve) |
p1: TPointF; |
|
Starting point (reached) |
p2: TPointF; |
|
Ending point (reached) |
Methods
function ComputePointAt(t: single): TPointF; |
|
Computes the point at time t, varying from 0 to 1 |
function GetBounds: TRectF; |
|
Computes the rectangular bounds |
function ToPoints(AAcceptedDeviation: single = 0.1; AIncludeFirstPoint: boolean = true): ArrayOfTPointF; |
|
Computes a polygonal approximation of the curve. AAcceptedDeviation indicates the maximum orthogonal distance that is ignored and approximated by a straight line. AIncludeFirstPoint indicates if the first point must be included in the array |
procedure CopyToPath(ADest: IBGRAPath); |
|
Copy the curve to the given path |
procedure Split(out ALeft, ARight: TCubicBezierCurve); |
|
|