CompositePositionPath

@Serializable
@SerialName(value = "CompositePositionPath")
data class CompositePositionPath<Param : DualParameter> @JvmOverloads constructor(val paths: List<PositionPath<Param>>, val offsets: List<Double> = paths.scan(0.0) { acc, path -> acc + path.length() }) : PositionPath<Param>

Constructors

Link copied to clipboard
constructor(paths: List<PositionPath<Param>>, offsets: List<Double> = paths.scan(0.0) { acc, path -> acc + path.length() })

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
open fun begin(n: Int): Vector2dDual<Param>
Link copied to clipboard
open fun end(n: Int): Vector2dDual<Param>
Link copied to clipboard
open operator override fun get(param: Double, n: Int): Vector2dDual<Param>
Link copied to clipboard
open override fun length(): Double
Link copied to clipboard
open fun project(query: Vector2d, init: Double = 0.0): Double
Link copied to clipboard

Creates a PosePath using this path for position and constant heading.

Link copied to clipboard
open fun withLinearHeading(startHeading: Rotation2d, endHeading: Rotation2d): HeadingPosePath
open fun withLinearHeading(startHeading: Double, endHeading: Double): HeadingPosePath

Creates a PosePath using this path for position and a linear interpolation between startHeading and endHeading for heading.

Link copied to clipboard
open fun withSplineHeading(startHeading: Rotation2d, endHeading: Rotation2d): HeadingPosePath
open fun withSplineHeading(startHeading: Double, endHeading: Double): HeadingPosePath

Creates a PosePath using this path for position and a linear interpolation between startHeading and endHeading for heading.

Link copied to clipboard

Creates a PosePath using this path for position and its tangent for heading.