Class RelativeLane
java.lang.Object
org.opentrafficsim.road.gtu.lane.perception.RelativeLane
- All Implemented Interfaces:
Serializable,Comparable<RelativeLane>
Defines a lane relative to the current lane.
Copyright (c) 2013-2024 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
- Author:
- Wouter Schakel
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final RelativeLaneCurrent lane.static final RelativeLaneLeft lane.static final RelativeLaneright lane.static final RelativeLaneSecond left lane.static final RelativeLaneSecond right lane. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal RelativeLaneadd(RelativeLane relativeLane) Returns the relative lane relative to this lane, for example "the left lane" of "the 3rd right lane" is "the 2nd right lane".final intcompareTo(RelativeLane rel) booleanfinal LateralDirectionalityReturns the lateral direction.final RelativeLanegetLeft()Returns the left hand relative lane of this relative lane.final intReturns the number of lanes in the lateral direction.final RelativeLanegetRight()Returns the right hand relative lane of this relative lane.inthashCode()final booleanReturns whether the current lane is referred to.final booleanisLeft()Returns whether the left lane is referred to.final booleanisRight()Returns whether the right lane is referred to.final booleanReturns whether the second left lane is referred to.final booleanReturns whether the second right lane is referred to.final StringtoString()
-
Field Details
-
SECOND_LEFT
Second left lane. -
LEFT
Left lane. -
CURRENT
Current lane. -
RIGHT
right lane. -
SECOND_RIGHT
Second right lane.
-
-
Constructor Details
-
RelativeLane
Constructor.- Parameters:
lat- LateralDirectionality; lateral direction (usenullfor the current lane)numLanes- int; number of lanes in the lateral direction (not important for the current lane)- Throws:
IllegalArgumentException- if numLanes is not at least 1, except iflat == null(current lane)IllegalArgumentException- if numLanes is not 0 iflat == null(current lane)
-
-
Method Details
-
getLateralDirectionality
Returns the lateral direction.- Returns:
- LateralDirectionality; the lateral direction
-
getNumLanes
public final int getNumLanes()Returns the number of lanes in the lateral direction.- Returns:
- int; number of lanes in the lateral direction
-
isSecondLeft
public final boolean isSecondLeft()Returns whether the second left lane is referred to.- Returns:
- whether the second left lane is referred to
-
isLeft
public final boolean isLeft()Returns whether the left lane is referred to.- Returns:
- whether the left lane is referred to
-
isCurrent
public final boolean isCurrent()Returns whether the current lane is referred to.- Returns:
- whether the current lane is referred to
-
isRight
public final boolean isRight()Returns whether the right lane is referred to.- Returns:
- whether the right lane is referred to
-
isSecondRight
public final boolean isSecondRight()Returns whether the second right lane is referred to.- Returns:
- whether the second right lane is referred to
-
getLeft
Returns the left hand relative lane of this relative lane.- Returns:
- left hand relative lane of this relative lane.
-
getRight
Returns the right hand relative lane of this relative lane.- Returns:
- right hand relative lane of this relative lane.
-
add
Returns the relative lane relative to this lane, for example "the left lane" of "the 3rd right lane" is "the 2nd right lane".- Parameters:
relativeLane- RelativeLane; relative lane to get of this lane- Returns:
- relative lane relative to this lane
-
hashCode
public int hashCode() -
equals
-
toString
-
compareTo
- Specified by:
compareToin interfaceComparable<RelativeLane>
-