Object TRationalQuadraticBezierCurve
Unit
Declaration
type TRationalQuadraticBezierCurve = object(TObject)
Description
Quasi-standard rational quadratic Bezier curve. It has one control point c with a weight. To transform a rational quadratic Bezier curve with an affin transformation, you only have to transform the three points and leave the weight as it is.
Hierarchy
- TObject
- TRationalQuadraticBezierCurve
Overview
Fields
![]() |
c: TPointF; |
![]() |
p1: TPointF; |
![]() |
p2: TPointF; |
![]() |
weight: single; |
Methods
![]() |
function ComputeLength(AAcceptedDeviation: single = 0.1): single; |
![]() |
function ComputePointAt(t: single): TPointF; |
![]() |
function GetBounds: TRectF; |
![]() |
function ToPoints(AInfiniteBounds: TRectF; AAcceptedDeviation: single = 0.1; AIncludeFirstPoint: boolean = true): ArrayOfTPointF; overload; |
![]() |
function ToPoints(AAcceptedDeviation: single = 0.1; AIncludeFirstPoint: boolean = true): ArrayOfTPointF; overload; |
![]() |
procedure Split(out ALeft, ARight: TRationalQuadraticBezierCurve); |
Properties
![]() |
property IsInfinite: boolean read GetIsInfinite; |
Description
Fields
![]() |
c: TPointF; |
Control point |
![]() |
p1: TPointF; |
Starting point |
![]() |
p2: TPointF; |
End point |
![]() |
weight: single; |
A negative
|
Methods
![]() |
function ComputeLength(AAcceptedDeviation: single = 0.1): single; |
Compute the length of the curve |
![]() |
function ComputePointAt(t: single): TPointF; |
Compute a point at the specified time (t in [0; 1]). The curve is defined by: p = ((1-t)ˆ2 * p1 + 2 * t * (1-t) * weight * c + tˆ2*p2) / (1-t)ˆ2 + 2 * t * (1-t) * weight + tˆ2) |
![]() |
function GetBounds: TRectF; |
Compute the rectangular bounds of the curve |
![]() |
function ToPoints(AInfiniteBounds: TRectF; AAcceptedDeviation: single = 0.1; AIncludeFirstPoint: boolean = true): ArrayOfTPointF; overload; |
Computes the points of the curve by providing where the infinite curve can stop. |
![]() |
function ToPoints(AAcceptedDeviation: single = 0.1; AIncludeFirstPoint: boolean = true): ArrayOfTPointF; overload; |
Computes the points of the curve |
![]() |
procedure Split(out ALeft, ARight: TRationalQuadraticBezierCurve); |
|
Properties
![]() |
property IsInfinite: boolean read GetIsInfinite; |
Is the curve infinitely long |