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: number, radius1: number, bearing0: Angle, bearing1: Angle, arcLength: number): TransitionConditionalProperties | capture numeric or undefined values | |
applyScaleFactor(a: number): void | Apply a NONZERO scale factor to all distances. | |
clone(): TransitionConditionalProperties | clone with all properties (i.e. | |
getIsValidCompleteSet(): boolean | Return true if all components are defined and agree equationally. | |
isAlmostEqual(other?: TransitionConditionalProperties): 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: TransitionConditionalProperties, b: 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 | |
radius0 | undefined | number | radius (or 0 at start) | |
radius1 | undefined | number | radius (or 0) at end |
Defined in
Last Updated: 28 October, 2024
Found something wrong, missing, or unclear on this page?Raise an issue in our repo.