Castle Game Engine: CastleCurves: Class TSmoothInterpolatedCurve

# Class TSmoothInterpolatedCurve
Description | Hierarchy | Fields | Methods | Properties
## Unit CastleCurves ## Declaration `type TSmoothInterpolatedCurve = class(TInterpolatedCurve)` ## Description Smooth interpolated curve, each segment (ControlPoints[i]..ControlPoints[i+1]) is converted to a rational Bezier curve (with 4 control points) when rendering. You can also explicitly convert it to a list of bezier curves using ToRationalBezierCurves. Here too ControlPoints.Count MAY be 1. (For TControlPointsCurve it must be >= 2) ## Hierarchy TComponent T3D TCurve TControlPointsCurve TInterpolatedCurve TSmoothInterpolatedCurve ## Overview ### Methods
| `function Point(const t: Float): TVector3Single; override;`
| `function ToRationalBezierCurves(ResultOwnsCurves: boolean): TRationalBezierCurveList;`
| `procedure UpdateControlPoints; override;`
| `class function NiceClassName: string; override;`
| `constructor Create(const ATBegin, ATEnd: Float); override;`
| `destructor Destroy; override;`
## Description ### Methods
| `function Point(const t: Float): TVector3Single; override;`
| `function ToRationalBezierCurves(ResultOwnsCurves: boolean): TRationalBezierCurveList;`
convert this to a list of TRationalBezierCurve. From each line segment ControlPoint[i] ... ControlPoint[i+1] you get one TRationalBezierCurve with 4 control points, where ControlPoint[0] and ControlPoint[3] are taken from ours ControlPoint[i] ... ControlPoint[i+1] and the middle ControlPoint[1], ControlPoint[2] are calculated so that all those bezier curves join smoothly. All Weights are set to 1.0 (so actually these are all normal Bezier curves; but I'm treating normal Bezier curves as Rational Bezier curves everywhere here)
| `procedure UpdateControlPoints; override;`
| `class function NiceClassName: string; override;`
| `constructor Create(const ATBegin, ATEnd: Float); override;`
| `destructor Destroy; override;`
Generated by PasDoc 0.13.0 on 2013-08-17 21:27:12