Package-leveldeclarations

Types

Abstract class for all geometric curve objects in 2D.

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.

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

Represents the sequential concatenation of the curveMembers.

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

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.

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.

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.

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

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.