All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.ru.casperix.math.curve.ParametricCurve.kt Maven / Gradle / Ivy

package ru.casperix.math.curve

import ru.casperix.math.curve.float32.ParametricCurve2f
import ru.casperix.math.vector.api.AbstractVector

interface ParametricCurve> {
    fun getPosition(t: Param): Point

    fun getTangent(t: Param): Point

    fun getNormal(t: Param): Point

    fun getProjection(position: Point): Float

    fun invert(): ParametricCurve2f

    fun split(factors: List): List

    fun divide(t: Param): Pair
    fun length(): Float

    operator fun plus(other: Self): Self

    val start: Point

    val finish: Point

    fun grow(startOffset: Param, finishOffset: Param): Self

    fun grow(offset: Param): Self {
        return grow(offset, offset)
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy