Class TPiecewiseCubicBezier

DescriptionHierarchyFieldsMethodsProperties

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).

You can also explicitly convert it to a list of bezier curves using ToRationalBezierCurves.

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

Note that, while using this to calculate points on curve is OK, rendering this, and placing it on SceneManager.Items list, is deprecated. It is not portable to OpenGLES (that is: Android and iOS) and not very efficient. For portable and fast curves consider using X3D NURBS nodes (wrapped in a TCastleScene) instead. Or convert this curve to a TLineSetNode X3D node.

Hierarchy

Overview

Methods

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

Description

Methods

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

Generated by PasDoc 0.14.0.