Introduction
Units
Class Hierarchy
Classes, Interfaces, Objects and Records
Types
Variables
Constants
Functions and Procedures
Identifiers
CastleCurves
type TCasScriptCurve = class(TCurve)
Curve defined by explicitly giving functions for Point(t) = x(t), y(t), z(t) as CastleScript expressions.
FTVariable: TCasScriptFloat;
FXFunction: TCasScriptExpression;
FYFunction: TCasScriptExpression;
FZFunction: TCasScriptExpression;
FBoundingBox: TBox3D;
function Point(const t: Float): TVector3Single; override;
function BoundingBox: TBox3D; override;
constructor Create(const ATBegin, ATEnd: Float; AXFunction, AYFunction, AZFunction: TCasScriptExpression; ATVariable: TCasScriptFloat; ASegmentsForBoundingBox: Cardinal = 100);
destructor Destroy; override;
property XFunction: TCasScriptExpression read FXFunction;
property YFunction: TCasScriptExpression read FYFunction;
property ZFunction: TCasScriptExpression read FZFunction;
property TVariable: TCasScriptFloat read FTVariable;
Simple bounding box. It is simply a BoundingBox of Point(i, SegmentsForBoundingBox) for i in [0 .. SegmentsForBoundingBox]. Subclasses may override this to calculate something more accurate.
BoundingBox
XFunction, YFunction, ZFunction references are copied here, and will be freed in destructor (so don't Free them yourself).
XFunction, YFunction, ZFunction are functions based on variable 't'.
XFunction
This is the variable controlling 't' value, embedded also in XFunction, YFunction, ZFunction.