class Road: Any

Representation of an actual road (without road objects) containing the surface and information on the lane topology as well as attributes.

Fields

Name Description
val id: RoadspaceIdentifier

identifier of this road (each roadspace has exactly one road)

val surface: AbstractCurveRelativeSurface3D

surface geometry of the road with torsion applied

val surfaceWithoutTorsion: AbstractCurveRelativeSurface3D

surface geometry of the road without torsion applied

val laneOffset: UnivariateFunction

lateral lane offset to road reference line

val laneSections: List<LaneSection>

lane sections of this road

val linkage: RoadLinkage

link information to other roads and junctions

Constructors

<init>

constructor(id: RoadspaceIdentifier, surface: AbstractCurveRelativeSurface3D, surfaceWithoutTorsion: AbstractCurveRelativeSurface3D, laneOffset: UnivariateFunction, laneSections: List<LaneSection>, linkage: RoadLinkage)

Representation of an actual road (without road objects) containing the surface and information on the lane topology as well as attributes.

Parameters

Name Description
id: RoadspaceIdentifier

identifier of this road (each roadspace has exactly one road)

surface: AbstractCurveRelativeSurface3D

surface geometry of the road with torsion applied

surfaceWithoutTorsion: AbstractCurveRelativeSurface3D

surface geometry of the road without torsion applied

laneOffset: UnivariateFunction

lateral lane offset to road reference line

laneSections: List<LaneSection>

lane sections of this road

linkage: RoadLinkage

link information to other roads and junctions

Methods

getAllLaneIdentifiers

fun getAllLaneIdentifiers(): List<LaneIdentifier>

Returns the identifiers of all lanes as a flattened list.

ReturnValue

Name Description
List<LaneIdentifier>

getAllLaneSectionIdentifiers

fun getAllLaneSectionIdentifiers(): List<LaneSectionIdentifier>

Returns the identifiers of all lane sections as a list.

ReturnValue

Name Description
List<LaneSectionIdentifier>

getLaneReferenceLine

fun getLaneReferenceLine(): AbstractCurve3D

Returns the lane reference line which is a laterally translated road reference line.

ReturnValue

Name Description
AbstractCurve3D

getLaneSection

fun getLaneSection(laneSectionIdentifier: LaneSectionIdentifier): (laneSectionIdentifier: LaneSectionIdentifier)

Returns the lane section with the laneSectionIdentifier; if it does not exist, an Result.Failure is returned.

Parameters

Name Description
laneSectionIdentifier: LaneSectionIdentifier

ReturnValue

Name Description
(laneSectionIdentifier: LaneSectionIdentifier)

getLane

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

Returns an individual lane referenced by laneIdentifier; if it does not exist, an Result.Failure is returned.

Parameters

Name Description
laneIdentifier: LaneIdentifier

ReturnValue

Name Description
Result<Lane, IllegalArgumentException>

getAllLanes

fun getAllLanes(step: Double): List<Result, Exception><Triple<LaneIdentifier, AbstractSurface3D, AttributeList>, Exception>>

Returns all lane surfaces contained in this road.

Parameters

Name Description
step: Double

discretization step size

ReturnValue

Name Description
List<Result, Exception><Triple<LaneIdentifier, AbstractSurface3D, AttributeList>, Exception>>

a triple of the lane identifier, the lane surface geometry and the lane's attribute list

getAllCenterLanes

fun getAllCenterLanes(): List<Triple<LaneIdentifier, AbstractCurve3D, AttributeList>>

Returns the center line of the road

ReturnValue

Name Description
List<Triple<LaneIdentifier, AbstractCurve3D, AttributeList>>

getAllLeftLaneBoundaries

fun getAllLeftLaneBoundaries(): List<Pair<LaneIdentifier, AbstractCurve3D>>

Returns the left boundary of all lanes contained in this road.

ReturnValue

Name Description
List<Pair<LaneIdentifier, AbstractCurve3D>>

a triple of the lane identifier, the curve geometry and the lane's id attribute list

getAllRightLaneBoundaries

fun getAllRightLaneBoundaries(): List<Pair<LaneIdentifier, AbstractCurve3D>>

Returns the right boundary of all lanes contained in this road.

ReturnValue

Name Description
List<Pair<LaneIdentifier, AbstractCurve3D>>

a triple of the lane identifier, the curve geometry and the lane's id attribute list

getAllCurvesOnLanes

fun getAllCurvesOnLanes(factor: Double): List<Pair<LaneIdentifier, AbstractCurve3D>>

Returns a lane curve for all lanes contained in this road.

Parameters

Name Description
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; if the factor is 0.5, the center line of the lane is returned

ReturnValue

Name Description
List<Pair<LaneIdentifier, AbstractCurve3D>>

a triple of the lane identifier, the curve geometry and the lane's id attribute list

getAllLateralFillerSurfaces

fun getAllLateralFillerSurfaces(step: Double): List<Pair<LaneIdentifier, AbstractSurface3D>>

Returns all lateral filler surfaces of this road.

Parameters

Name Description
step: Double

discretization step size

ReturnValue

Name Description
List<Pair<LaneIdentifier, AbstractSurface3D>>

lane identifier and the filler surface to the left of the respective lane

getAllRoadMarkings

fun getAllRoadMarkings(step: Double): List<Result, Exception><Triple<LaneIdentifier, AbstractGeometry3D, AttributeList>, Exception>>

Returns all road markings of all lanes and center lanes.

Parameters

Name Description
step: Double

discretization step size

ReturnValue

Name Description
List<Result, Exception><Triple<LaneIdentifier, AbstractGeometry3D, AttributeList>, Exception>>

list of the road markings containing it's identifier, geometry and attribute list

getLeftLaneBoundary

fun getLeftLaneBoundary(laneIdentifier: LaneIdentifier): Result<AbstractCurve3D, Exception>

Returns the left boundary of an individual lane with laneIdentifier.

Parameters

Name Description
laneIdentifier: LaneIdentifier

ReturnValue

Name Description
Result<AbstractCurve3D, Exception>

getRightLaneBoundary

fun getRightLaneBoundary(laneIdentifier: LaneIdentifier): Result<AbstractCurve3D, Exception>

Returns the right boundary of an individual lane with laneIdentifier.

Parameters

Name Description
laneIdentifier: LaneIdentifier

ReturnValue

Name Description
Result<AbstractCurve3D, Exception>

getLaneSurface

fun getLaneSurface(laneIdentifier: LaneIdentifier, step: Double): Result<AbstractSurface3D, Exception>

Returns the surface of an individual lane with laneIdentifier and a certain discretization step size.

Parameters

Name Description
laneIdentifier: LaneIdentifier
step: Double

ReturnValue

Name Description
Result<AbstractSurface3D, Exception>

isInFirstLaneSection

fun isInFirstLaneSection(laneIdentifier: LaneIdentifier): Boolean

Returns true, if the lane with laneIdentifier is contained in the last lane section of the road.

Parameters

Name Description
laneIdentifier: LaneIdentifier

ReturnValue

Name Description
Boolean

isInLastLaneSection

fun isInLastLaneSection(laneIdentifier: LaneIdentifier): Boolean

Returns true, if the lane with laneIdentifier is contained in the last lane section of the road.

Parameters

Name Description
laneIdentifier: LaneIdentifier

ReturnValue

Name Description
Boolean

numberOfLaneSections

fun numberOfLaneSections(): Int

Returns the number of contained lane sections.

ReturnValue

Name Description
Int