class SpiralSegment2D: AbstractCurve2D

Spiral curve segment within a defined domain that is given by the curvatureFunction. See wikipedia article on Euler spiral.

Fields

Name Description
val domain: Range<Double>

definable domain

val tolerance: Double

tolerable threshold value

val affineSequence: AffineSequence2D

List of affine transformation matrices to move and rotate the geometric object.

Constructors

<init>

constructor(curvatureFunction: LinearFunction, tolerance: Double, affineSequence: AffineSequence2D, endBoundType: BoundType)

Spiral curve segment within a defined domain that is given by the curvatureFunction. See wikipedia article on Euler spiral.

Parameters

Name Description
curvatureFunction: LinearFunction

describes the curvature as a function of the curvePosition

tolerance: Double
affineSequence: AffineSequence2D
endBoundType: BoundType

bound type of the curve segment's end

Methods

calculatePointLocalCSUnbounded

protected fun calculatePointLocalCSUnbounded(curveRelativePoint: CurveRelativePoint1D): Result<Vector2D, Exception>

Returns the point in the cartesian coordinate system that is located on this curve and given by a point in the curve relative coordinate system.

Parameters

Name Description
curveRelativePoint: CurveRelativePoint1D

point in curve relative coordinates

ReturnValue

Name Description
Result<Vector2D, Exception>

point in cartesian coordinates

calculateRotationLocalCSUnbounded

protected fun calculateRotationLocalCSUnbounded(curveRelativePoint: CurveRelativePoint1D): Result<Rotation2D, Exception>

Returns the orientation in the local cartesian coordinate system that is tangential to this curve at a given point which is given in a curve relative coordinate system.

Parameters

Name Description
curveRelativePoint: CurveRelativePoint1D

point in curve relative coordinates for which the orientation is to be calculated

ReturnValue

Name Description
Result<Rotation2D, Exception>

orientation tangential to this curve