Curve3D

data class Curve3D(val curveXY: AbstractCurve2D, val heightFunction: UnivariateFunction, val torsionFunction: UnivariateFunction = LinearFunction.X_AXIS) : 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.

Parameters

curveXY

the curve in the xy plane

heightFunction

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

torsionFunction

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

Constructors

Link copied to clipboard
constructor(curveXY: AbstractCurve2D, heightFunction: UnivariateFunction, torsionFunction: UnivariateFunction = LinearFunction.X_AXIS)

Properties

Link copied to clipboard

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

Link copied to clipboard
Link copied to clipboard
open override val domain: Range<Double>

definable domain

Link copied to clipboard

BoundType at the end of the curve

Link copied to clipboard
Link copied to clipboard

Length of the curve

Link copied to clipboard
open override val tolerance: Double

tolerable threshold value

Link copied to clipboard

Functions

Link copied to clipboard
open override fun accept(visitor: Geometry3DVisitor)

Accepting function so that a geometry visitor can pass by.

Link copied to clipboard

Returns an Affine3D at the position along the curve curveRelativePoint.

Link copied to clipboard

Returns the end point in the global cartesian coordinate system that is located on this curve.

Link copied to clipboard

Returns a discretized curve as a LineString3D.

Link copied to clipboard

Returns the point in the global cartesian coordinate system that is located on this curve and given by a point in the curve relative coordinate system. An error is returned, if the requested point is not within this curve's domain.

Link copied to clipboard

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

Link copied to clipboard
fun calculatePointListGlobalCS(step: Double, includeEndPoint: Boolean = true): Either<GeometryException.ValueNotContainedInDomain, NonEmptyList<Vector3D>>

Returns a list of points on the curve with a step size of step.

Link copied to clipboard

Returns the point in the local cartesian coordinate system that is located on this curve and given by a point in the curve relative coordinate system. An error is returned, if the requested point is not within this curve's domain.

Link copied to clipboard
fun calculatePose(curveRelativePoint: CurveRelativeVector1D): Pose3D

Returns a pose at the position along the curve curveRelativePoint.

Link copied to clipboard

Returns the start point in the global cartesian coordinate system that is located on this curve.

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
fun transform(curveRelativeLineSegment: CurveRelativeLineSegment3D): Either<Exception, LineSegment3D>

Transforms the curveRelativeLineSegment (relative to this curve) to a LineSegment3D in cartesian coordinates.

fun transform(curveRelativePoint: CurveRelativeVector3D): Vector3D

Transforms the curveRelativePoint (relative to this curve) to a Vector3D in cartesian coordinates.