Package-level declarations

Types

Link copied to clipboard

Abstract class for all geometric curve objects in 2D.

Link copied to clipboard
class Arc2D(val curvature: Double, length: Double, val tolerance: Double, val affineSequence: AffineSequence2D = AffineSequence2D.EMPTY, endBoundType: BoundType = BoundType.OPEN) : AbstractCurve2D

Represents an arc of a circle with a certain curvature which starts at the coordinates origin and continues in the direction of the x axis. See the wikipedia article on an arc.

Link copied to clipboard
data class CompositeCurve2D(val curveMembers: List<AbstractCurve2D>, absoluteDomains: List<Range<Double>>, absoluteStarts: List<Double>) : AbstractCurve2D

Represents the sequential concatenation of the curveMembers.

Link copied to clipboard
class CubicCurve2D(val coefficients: DoubleArray, length: Double, val tolerance: Double, val affineSequence: AffineSequence2D = AffineSequence2D.EMPTY, endBoundType: BoundType = BoundType.OPEN) : AbstractCurve2D

Represents a parametric cubic curve of the following form: y = f(x) = c0 + c1x + c2x^2 + c3*x^3

Link copied to clipboard
data class LateralTranslatedCurve2D(baseCurve: AbstractCurve2D, lateralTranslationFunction: UnivariateFunction, val tolerance: Double) : AbstractCurve2D

Laterally translates a baseCurve by a lateralTranslationFunction. This enables for example the representation of the baseCurve moved two units to the left.

Link copied to clipboard
class LineSegment2D(length: Double, val tolerance: Double, val affineSequence: AffineSequence2D = AffineSequence2D.EMPTY, endBoundType: BoundType = BoundType.OPEN) : AbstractCurve2D

Line segment starting in the origin in the direction of the x axis. It has a given length and is moved by means of the affineSequence.

Link copied to clipboard
data class ParameterTransformedCurve2D(baseCurve: AbstractCurve2D, transformationFunction: (CurveRelativeVector1D) -> CurveRelativeVector1D, val domain: Range<Double>) : AbstractCurve2D

Transforms the parameter (curveRelativePoint) by means of the transformationFunction function, before calculating the cartesian coordinates of the baseCurve.

Link copied to clipboard
class ParametricCubicCurve2D(coefficientsX: DoubleArray, coefficientsY: DoubleArray, length: Double, val tolerance: Double, val affineSequence: AffineSequence2D = AffineSequence2D.EMPTY, endBoundType: BoundType = BoundType.OPEN) : AbstractCurve2D

Represents a parametric cubic curve of the following form: x = fx(t) = x0 + x1t + x2t^2 + x3t^3 y = fy(t) = y0 + y1t + y2t^2 + y3t^3

Link copied to clipboard
class SectionedCurve2D(completeCurve: AbstractCurve2D, section: Range<Double>) : AbstractCurve2D

Cuts out a section from the completeCurve. The resulting domain of the SectionedCurve2D starts at 0.0 and ends at the length of the section.

Link copied to clipboard
data class Spiral2D(val cDot: Double)

Represents a spiral of the form: x(l) = A * sqrt(pi) * int_0^l cos( (pit^2) / 2 ) dt y(l) = A * sqrt(pi) * int_0^l sin( (pit^2) / 2 ) dt Asymptotic points at (Asqrt(pi)/2, Asqrt(pi)/2) and (-Asqrt(pi)/2, -Asqrt(pi)/2).

Link copied to clipboard
class SpiralSegment2D(curvatureFunction: LinearFunction, val tolerance: Double, val affineSequence: AffineSequence2D = AffineSequence2D.EMPTY, endBoundType: BoundType = BoundType.OPEN) : AbstractCurve2D

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

Functions

Link copied to clipboard
fun LinearFunction.Companion.ofSpiralCurvature(curvatureStart: Double, curvatureEnd: Double, length: Double): LinearFunction