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
Modifier and TypeFieldDescriptionstatic final RelativeLane
Current lane.static final RelativeLane
Left lane.static final RelativeLane
right lane.static final RelativeLane
Second left lane.static final RelativeLane
Second right lane. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionfinal RelativeLane
add
(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 int
compareTo
(RelativeLane rel) boolean
final LateralDirectionality
Returns the lateral direction.final RelativeLane
getLeft()
Returns the left hand relative lane of this relative lane.final int
Returns the number of lanes in the lateral direction.final RelativeLane
getRight()
Returns the right hand relative lane of this relative lane.int
hashCode()
final boolean
Returns whether the current lane is referred to.final boolean
isLeft()
Returns whether the left lane is referred to.final boolean
isRight()
Returns whether the right lane is referred to.final boolean
Returns whether the second left lane is referred to.final boolean
Returns whether the second right lane is referred to.final String
toString()
-
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 (usenull
for 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:
compareTo
in interfaceComparable<RelativeLane>
-