data class Curve3D: AbstractCurve3D

A curve in 3D defined by a curve in 2D and a height function. Furthermore, the curve can have a torsion, which is relevant for pose and transformation matrix calculations along the curve. See the wikipedia article on torsion of a curve.

Fields

Name Description
val domain: Range<Double>

definable domain

val tolerance: Double

tolerable threshold value

val curveXY: AbstractCurve2D

the curve in the xy plane

val heightFunction: UnivariateFunction

the definition of the height, which must be defined where the curveXY is defined

val torsionFunction: UnivariateFunction

the torsion of the curve, which must be defined where the curveXY is defined

Constructors

<init>

constructor(curveXY: AbstractCurve2D, heightFunction: UnivariateFunction, torsionFunction: UnivariateFunction)

A curve in 3D defined by a curve in 2D and a height function. Furthermore, the curve can have a torsion, which is relevant for pose and transformation matrix calculations along the curve. See the wikipedia article on torsion of a curve.

Parameters

Name Description
curveXY: AbstractCurve2D

the curve in the xy plane

heightFunction: UnivariateFunction

the definition of the height, which must be defined where the curveXY is defined

torsionFunction: UnivariateFunction

the torsion of the curve, which must be defined where the curveXY is defined

Methods

calculatePointLocalCSUnbounded

protected fun calculatePointLocalCSUnbounded(curveRelativePoint: CurveRelativePoint1D): Result<Vector3D, 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<Vector3D, Exception>

point in cartesian coordinates

calculatePose

fun calculatePose(curveRelativePoint: CurveRelativePoint1D): Result<Pose3D, Exception>

Returns a pose at the position along the curve curveRelativePoint.

Parameters

Name Description
curveRelativePoint: CurveRelativePoint1D

pose is calculated on the curveRelativePoint

ReturnValue

Name Description
Result<Pose3D, Exception>

pose whereby the orientation is tangential to this curve and its torsion

calculateAffine

fun calculateAffine(curveRelativePoint: CurveRelativePoint1D): Result<Affine3D, Exception>

Returns an Affine3D at the position along the curve curveRelativePoint.

Parameters

Name Description
curveRelativePoint: CurveRelativePoint1D

affine transformation matrix is calculated on the curveRelativePoint

ReturnValue

Name Description
Result<Affine3D, Exception>

affine transformation matrix whereby the orientation is tangential to this curve and its torsion

equals

fun equals(other: Any?): Boolean

Parameters

Name Description
other: Any?

ReturnValue

Name Description
Boolean

hashCode

fun hashCode(): Int

ReturnValue

Name Description
Int