data class LaneSection: Any

Represents the section of a road in which the number of lanes and their attributes do not change.

Fields

Name Description
val curvePositionStart: get() = CurveRelativePoint1D(curvePositionDomain.lowerEndpointOrNull()!!)
val laneList: get() = lanes.toList().sortedBy { it.first }.map { it.second }
val id: LaneSectionIdentifier

identifier of the lane section

val curvePositionDomain: Range<Double>

domain of the curve position of this lane section in comparison of the road

val lanes: Map<Int, Lane>

lanes collection whereby the lane id is used as the map's key

val centerLane: CenterLane

center lane of the lane section, which has no width

Constructors

<init>

constructor(id: LaneSectionIdentifier, curvePositionDomain: Range<Double>, lanes: List<Lane>, centerLane: CenterLane)

Parameters

Name Description
id: LaneSectionIdentifier
curvePositionDomain: Range<Double>
lanes: List<Lane>
centerLane: CenterLane

<init>

constructor(id: LaneSectionIdentifier, curvePositionDomain: Range<Double>, lanes: Map<Int, Lane>, centerLane: CenterLane)

Represents the section of a road in which the number of lanes and their attributes do not change.

Parameters

Name Description
id: LaneSectionIdentifier

identifier of the lane section

curvePositionDomain: Range<Double>

domain of the curve position of this lane section in comparison of the road

lanes: Map<Int, Lane>

lanes collection whereby the lane id is used as the map's key

centerLane: CenterLane

center lane of the lane section, which has no width

Methods

getLane

fun getLane(laneId: Int): Result<Lane, IllegalArgumentException>

Parameters

Name Description
laneId: Int

ReturnValue

Name Description
Result<Lane, IllegalArgumentException>

getLane

fun getLane(laneIdentifier: LaneIdentifier): Result<Lane, IllegalArgumentException>

Parameters

Name Description
laneIdentifier: LaneIdentifier

ReturnValue

Name Description
Result<Lane, IllegalArgumentException>

getLateralLaneOffset

fun getLateralLaneOffset(laneId: Int, factor: Double): Result<UnivariateFunction, Exception>

Returns the lateral offset function located on a lane with laneId.

Parameters

Name Description
laneId: Int

id of requested lane

factor: Double

if the factor is 0.0 the inner lane boundary is returned. If the factor is 1.0 the outer lane boundary is returned. An offset function within the middle of the lane is achieved by a factor of 0.5.

ReturnValue

Name Description
Result<UnivariateFunction, Exception>

getLaneHeightOffset

fun getLaneHeightOffset(laneIdentifier: LaneIdentifier, factor: Double): Result<UnivariateFunction, IllegalArgumentException>

Returns the height offset function located on lane with laneIdentifier.

Parameters

Name Description
laneIdentifier: LaneIdentifier

id of requested lane

factor: Double

If the factor is 0.0 the height offset of the inner lane boundary is returned. If the factor is 1.0 the height offset of the outer lane boundary is returned. A height offset function within the middle of the lane is achieved by a factor of 0.5.

ReturnValue

Name Description
Result<UnivariateFunction, IllegalArgumentException>