RectifiedPath3D

class RectifiedPath3D(contour: Path3D, distanceTolerance: Double = 0.5, lengthScale: Double = 1.0) : RectifiedPath<Vector3> (source)

Constructors

Link copied to clipboard
constructor(contour: Path3D, distanceTolerance: Double = 0.5, lengthScale: Double = 1.0)

Properties

Link copied to clipboard

Lazy-evaluated list of parameter intervals corresponding to the points property, used for mapping and inverse mapping of parameter values.

Link copied to clipboard
val originalPath: Path<Vector3>

The underlying path being rectified.

Link copied to clipboard
val path: Path3D
Link copied to clipboard
val points: List<Pair<Vector3, Double>>

Final list of points used in the rectification process, possibly including an additional point to close the loop if the original path is closed.

Functions

Link copied to clipboard

Evaluate curvature for t

Link copied to clipboard
fun direction(t: Double): Vector3
Link copied to clipboard
fun RectifiedPath3D.frames(ascendingTs: List<Double>, up0: Vector3, analyticalDirections: Boolean = true): List<Matrix44>

Computes a list of frame transformation matrices along a 3D rectified path using parallel transport.

Link copied to clipboard

Computes an inverse rectified t-value for the given normalized t parameter. This method determines the original parameter space value from a rectified (uniformly distributed) parameter space value.

Link copied to clipboard
fun RectifiedPath3D.mix(other: RectifiedPath3D, blendFunction: (Double) -> Double): Path3D

Produces a blended 3D path by mixing two rectified paths using a custom blending function.

Link copied to clipboard
fun position(t: Double): Vector3
Link copied to clipboard

computes a rectified t-value for originalPath

Link copied to clipboard
open override fun splitAt(ascendingTs: List<Double>, weldEpsilon: Double): List<Path3D>

Split contour at ascendingTs

Link copied to clipboard
Link copied to clipboard
open override fun sub(t0: Double, t1: Double): Path3D