Class TPiecewiseCubicBezier

Unit

Declaration

type TPiecewiseCubicBezier = class(TControlPointsCurve)

Description

Piecewise (composite) cubic Bezier curve. Each segment (ControlPoints[i]..ControlPoints[i+1]) is a cubic Bezier curve (Bezier with 4 control points, 2 points in the middle are auto-calculated for max smoothness).

This is a cubic B-spline. Which is equivalent to C2 continuous composite Bézier curves. See https://en.wikipedia.org/wiki/Spline_%28mathematics%29 . Aka Cubic B-Spline (piecewise C2-Smooth Cubic Bezier).

ControlPoints.Count may be 1 (in general, for TControlPointsCurve, it must be >= 2).

Hierarchy

Overview

Methods

Public constructor Create;
Public destructor Destroy; override;
Public procedure UpdateControlPoints; override;
Public function Point(const t: Float): TVector3; override;
Public function BoundingBox: TBox3D; override;

Description

Methods

Public constructor Create;

This item has no description.

Public destructor Destroy; override;

This item has no description.

Public procedure UpdateControlPoints; override;

This item has no description. Showing description inherited from TControlPointsCurve.UpdateControlPoints.

Always after changing ControlPoints or TBegin or TEnd and before calling Point (or anything that uses Point, like BoundingBox) call this method. It recalculates necessary things. ControlPoints.Count must be >= 2.

When overriding: always call inherited first.

Public function Point(const t: Float): TVector3; override;

This item has no description. Showing description inherited from TCurve.Point.

Curve function, for each parameter value determine the 3D point. This determines the actual shape of the curve. This is the simplest approach to calculate points on a curve.

Public function BoundingBox: TBox3D; override;

This item has no description. Showing description inherited from TControlPointsCurve.BoundingBox.

Bounding box of the curve. In this class, it is simply a BoundingBox of ControlPoints.


Generated by PasDoc 0.16.0-snapshot.