ScenePath class abstract

A curve through 3D space, independent of any geometry or rendering.

A ScenePath is an immutable value type. Subclasses (PolylinePath, CatmullRomPath, BezierPath) define the curve; this base class adds arc-length measurement and rotation-minimizing frames on top.

Two parameter spaces are available. The natural parameter t runs 0..1 and is spaced evenly per segment (positionAt, tangentAt, frameAt). Arc-length distance d runs 0..length and is spaced evenly along the curve (positionAtDistance, frameAtDistance); use it when spacing must stay uniform around bends, such as for dashes or a swept profile.

Implementers

Constructors

ScenePath()

Properties

hashCode int
The hash code for this object.
no setterinherited
length double
The total arc length of the curve.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

frameAt(double t) ScenePathFrame
An oriented frame at natural parameter t (clamped to 0..1).
frameAtDistance(double d) ScenePathFrame
An oriented frame at arc-length distance d (clamped to 0..length).
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
parameterAtDistance(double d) double
The natural parameter at arc-length distance d (clamped to 0..length).
positionAt(double t) → Vector3
The point on the curve at natural parameter t (clamped to 0..1).
positionAtDistance(double d) → Vector3
The point at arc-length distance d (clamped to 0..length).
sample(int count, {bool evenlySpaced = false}) List<Vector3>
Returns count points along the curve.
sampleParameters() List<double>
The natural parameters at which the curve is sampled when baking the arc-length and frame tables. Strictly increasing, starting at 0 and ending at 1.
tangentAt(double t) → Vector3
The unit tangent at natural parameter t (clamped to 0..1).
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited