public interface Lane
Modifier and Type | Method and Description |
---|---|
boolean |
contains(Point2D pos)
Whether or not the provided point can be considered "in" this Lane.
|
double |
distanceAlongLane(Point2D pos)
Get the distance along the Lane from the start of the Lane to the Point
in the center of the Lane nearest the given Point.
|
Point2D |
getEndPoint()
Get the ending point of the Lane.
|
double |
getHeadingAtNormalizedDistance(double normalizedDistance)
Get the heading of the Lane at a particular normalized distance from the
start of the Lane.
|
int |
getId()
Get the unique ID number of this Lane.
|
double |
getInitialHeading()
Get the heading of this Lane at its starting point.
|
LaneIM |
getLaneIM()
Get the LaneIM object that helps to locate the intersection managers on
a lane.
|
Point2D |
getLeadPoint(Point2D pos,
double leadDist)
Get a point further down the Lane from the nearest point to the given
position.
|
Lane |
getLeftNeighbor()
Get the left neighbor of this Lane.
|
double |
getLength()
Get the length of this Lane.
|
Lane |
getNextLane()
Get the Lane into which this Lane leads, or
null if none. |
Point2D |
getPointAtNormalizedDistance(double normalizedDistance)
Get a point in the center of the lane at a particular normalized distance
from the start of the Lane.
|
Lane |
getPrevLane()
Get the Lane which leads into this Lane, or
null if none. |
Lane |
getRightNeighbor()
Get the right neighbor of this Lane.
|
Shape |
getShape()
Get a Shape describing this Lane, including its width.
|
Shape |
getShape(double startFraction,
double endFraction)
Get a Shape describing an interval of this lane, using normalized
distances.
|
double |
getSpeedLimit()
Get the speed limit of this Lane, in meters per second.
|
Point2D |
getStartPoint()
Get the starting point of the Lane.
|
double |
getTerminalHeading()
Get the heading of this Lane at its ending point.
|
double |
getWidth()
Get the width of this Lane, in meters.
|
boolean |
hasLeftNeighbor()
Whether the Lane has another Lane immediately to its left travelling in
the same direction.
|
boolean |
hasNextLane()
Whether or not this Lane flows into another Lane.
|
boolean |
hasPrevLane()
Whether or not another Lane flows into this Lane.
|
boolean |
hasRightNeighbor()
Whether the Lane has another Lane immediately to its right travelling in
the same direction.
|
Point2D |
intersectionPoint(Line2D l)
The point at which the the given Line intersects the center of this Lane.
|
Shape |
leftBorder()
Get a Shape representing the left border of this Lane.
|
Point2D |
leftIntersectionPoint(Line2D l)
The point at which the the given Line intersects the left border of this
Lane.
|
double |
nearestDistance(Point2D pos)
Get the distance from a point to the center of the Lane.
|
Point2D |
nearestPoint(Point2D p)
Get the point in the center of the Lane nearest to the provided point.
|
double |
normalizedDistance(double distance)
Get the normalized distance at the distance from the starting point.
|
double |
normalizedDistanceAlongLane(Point2D pos)
Get the normalized distance to the point in the center of the lane
nearest the provided point.
|
double |
remainingDistanceAlongLane(Point2D pos)
Get the amount of distance left in this Lane from the point on the Lane
nearest to the given point.
|
Shape |
rightBorder()
Get a Shape representing the right border of this Lane.
|
Point2D |
rightIntersectionPoint(Line2D l)
The point at which the the given Line intersects the right border of this
Lane.
|
void |
setId(int id)
Set the unique ID number of this Lane.
|
void |
setLeftNeighbor(Lane ln)
Register another Lane as a left neighbor to this Lane.
|
void |
setNextLane(Lane nextLane)
Set the Lane into which this Lane leads.
|
void |
setPrevLane(Lane prevLane)
Set the Lane which leads into this Lane.
|
void |
setRightNeighbor(Lane ln)
Register another Lane as a right neighbor to this Lane.
|
int getId()
void setId(int id)
id
- the ID number of this lanedouble getSpeedLimit()
LaneIM getLaneIM()
boolean hasNextLane()
Lane getNextLane()
null
if none.null
if nonevoid setNextLane(Lane nextLane)
nextLane
- the Lane into which this Lane leadsboolean hasPrevLane()
Lane getPrevLane()
null
if none.null
if nonevoid setPrevLane(Lane prevLane)
prevLane
- the Lane which leads into this Laneboolean hasLeftNeighbor()
Lane getLeftNeighbor()
null
if none
existsvoid setLeftNeighbor(Lane ln)
ln
- the Lane to set as this Lane's left neighborboolean hasRightNeighbor()
Lane getRightNeighbor()
null
if none
existsvoid setRightNeighbor(Lane ln)
ln
- the Lane to set as this Lane's right neighbordouble getLength()
Point2D getStartPoint()
Point2D getEndPoint()
Point2D getPointAtNormalizedDistance(double normalizedDistance)
normalizedDistance
- the normalized distance (between 0 and 1) from
the start of the LanePoint2D nearestPoint(Point2D p)
p
- the point to which the nearest point in the center of the Lane
should be founddouble nearestDistance(Point2D pos)
pos
- the point from which to find the distance to the LanePoint2D getLeadPoint(Point2D pos, double leadDist)
pos
- the position from which to calculate the nearest point in
the LaneleadDist
- the lead distance further down the Lane, in metersleadDist
further down the Lane from
the closest point in the Lane to pos
double distanceAlongLane(Point2D pos)
pos
- the point to which to find the distance along the Lanedouble remainingDistanceAlongLane(Point2D pos)
pos
- the point nearest which to find the distance to the end of the
Lanedouble normalizedDistanceAlongLane(Point2D pos)
pos
- the point near to which to find the normalized distancedouble normalizedDistance(double distance)
distance
- the distance along the center of the lane.double getInitialHeading()
double getTerminalHeading()
double getHeadingAtNormalizedDistance(double normalizedDistance)
normalizedDistance
- the normalized distance (between 0 and 1) from
the start of the LanePoint2D intersectionPoint(Line2D l)
l
- the Line with which to find the intersectionnull
if it doesn't intersectdouble getWidth()
Shape getShape()
Shape getShape(double startFraction, double endFraction)
startFraction
- the normalized distance from the start of the lane
to the start of the segment which the Shape
representsendFraction
- the normalized distance from the start of the lane
to the end of the segment which the Shape representsIllegalArgumentException
- if startFraction
or
endFraction
are not between
0 and 1boolean contains(Point2D pos)
pos
- the point to checkShape leftBorder()
Shape rightBorder()
Point2D leftIntersectionPoint(Line2D l)
l
- the Line with which to find the intersectionnull
if it doesn't intersectPoint2D rightIntersectionPoint(Line2D l)
l
- the Line with which to find the intersectionnull
if it doesn't intersectCopyright © 2013. All rights reserved.