TransitionConditionalProperties Class

A true transition spiral is a curve defined by its curvature, with the curvature function symmetric about midpoint.

• The symmetry condition creates a relationship among the following 4 quantities:

** curvature0 = curvature (i.e. 1/radius) at start ** curvature1 = curvature (i.e. 1/radius) at end ** sweepRadians = signed turning angle from start to end ** arcLength = length of curve

• The relationship is the equation

** sweepRadians = arcLength * average Curvature = arcLength * 0.5 * (curvature0 + curvature1)

• That is, regardless of any curvature properties other than symmetry, specifying any 3 of the quantities fully determines the remaining one.

Methods

Name Description
constructor(radius0: undefined | number, radius1: undefined | number, bearing0: undefined | Angle, bearing1: undefined | Angle, arcLength: undefined | number): capture numeric or undefined values
applyScaleFactor(a: number): void Apply a NONZERO scale factor to all distances.
clone(): clone with all properties (i.e.
getIsValidCompleteSet(): boolean Return true if all components are defined and agree equationally.
isAlmostEqual(): boolean Test if this and other have matching numeric and undefined members.
numDefinedProperties(): number return the number of defined values among the 5 properties.
tryResolveAnySingleUnknown(): boolean Examine which properties are defined and compute the (single) undefined.
areAlmostEqual(a: undefined | TransitionConditionalProperties, b: undefined | TransitionConditionalProperties): boolean Static

Properties

Name Type Description
bearing0 undefined | Angle bearing at start, measured from x towards y
bearing1 undefined | Angle bearing at end, measured from x towards y
curveLength undefined | number curve length