public abstract class AbstractLaneBasedTacticalPlanner extends Object implements org.opentrafficsim.core.gtu.plan.tactical.TacticalPlanner
Copyright (c) 2013-2015 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
Constructor and Description |
---|
AbstractLaneBasedTacticalPlanner()
Instantiated a tactical planner.
|
Modifier and Type | Method and Description |
---|---|
protected static List<Lane> |
buildLaneListForwardXXX(LaneBasedGTU gtu,
org.djunits.value.vdouble.scalar.Length.Rel maxHeadway,
Lane startLane,
double startLaneFractionalPosition,
org.opentrafficsim.core.gtu.GTUDirectionality startDirectionality)
Build a list of lanes forward, with a maximum headway.
|
static LanePathInfo |
buildLanePathInfo(LaneBasedGTU gtu,
Lane startLane,
org.djunits.value.vdouble.scalar.Length.Rel startPosition,
org.djunits.value.vdouble.scalar.Length.Rel maxHeadway)
Build a list of lanes forward, with a maximum headway relative to the reference point of the GTU.
|
static LanePathInfo |
buildLanePathInfo(LaneBasedGTU gtu,
org.djunits.value.vdouble.scalar.Length.Rel maxHeadway)
Build a list of lanes forward, with a maximum headway relative to the reference point of the GTU.
|
static LanePathInfo |
buildLanePathInfo(LaneBasedGTU gtu,
org.djunits.value.vdouble.scalar.Length.Rel maxHeadway,
Lane startLane,
double startLaneFractionalPosition,
org.opentrafficsim.core.gtu.GTUDirectionality startDirectionality)
Build a list of lanes forward, with a maximum headway relative to the reference point of the GTU.
|
protected static List<org.opentrafficsim.core.network.LinkDirection> |
buildLinkListForward(LaneBasedGTU gtu,
org.djunits.value.vdouble.scalar.Length.Rel maxHeadway)
Make a list of links on which to drive next, with a maximum headway relative to the reference point of the GTU.
|
protected static boolean |
connectsToPath(LaneBasedGTU gtu,
org.djunits.value.vdouble.scalar.Length.Rel maxHeadway,
Lane startLane,
double startLaneFractionalPosition,
org.opentrafficsim.core.gtu.GTUDirectionality startDirectionality,
org.opentrafficsim.core.network.Link linkAfterSplit)
Determine whether the lane is directly connected to our route, in other words: if we would (continue to) drive on the
given lane, can we take the right branch at the nextSplitNode without switching lanes?
|
static NextSplitInfo |
determineNextSplit(LaneBasedGTU gtu,
org.djunits.value.vdouble.scalar.Length.Rel maxHeadway)
Calculate the next location where the network splits, with a maximum headway relative to the reference point of the GTU.
|
static Lane |
getReferenceLane(LaneBasedGTU gtu)
The reference lane is the widest lane on which the reference point of the GTU is fully registered.
|
protected static boolean |
noLaneDrop(LaneBasedGTU gtu,
org.djunits.value.vdouble.scalar.Length.Rel maxHeadway,
Lane startLane,
double startLaneFractionalPosition,
org.opentrafficsim.core.gtu.GTUDirectionality startDirectionality)
Determine whether the lane does not drop, in other words: if we would (continue to) drive on the given lane, can we
continue to drive at the nextSplitNode without switching lanes?
|
public AbstractLaneBasedTacticalPlanner()
public static Lane getReferenceLane(LaneBasedGTU gtu) throws org.opentrafficsim.core.gtu.GTUException
gtu
- the GTU for which to determine the lane on which the GTU's reference point liesorg.opentrafficsim.core.gtu.GTUException
- when the GTU's positions cannot be determined or when the GTU is not registered on any lane.public static LanePathInfo buildLanePathInfo(LaneBasedGTU gtu, org.djunits.value.vdouble.scalar.Length.Rel maxHeadway) throws org.opentrafficsim.core.gtu.GTUException, org.opentrafficsim.core.network.NetworkException
gtu
- the gtu for which to calculate the lane listmaxHeadway
- the maximum length for which lanes should be returnedorg.opentrafficsim.core.gtu.GTUException
- when the vehicle is not on one of the lanes on which it is registeredorg.opentrafficsim.core.network.NetworkException
- when the strategic planner is not able to return a next node in the routepublic static LanePathInfo buildLanePathInfo(LaneBasedGTU gtu, Lane startLane, org.djunits.value.vdouble.scalar.Length.Rel startPosition, org.djunits.value.vdouble.scalar.Length.Rel maxHeadway) throws org.opentrafficsim.core.gtu.GTUException, org.opentrafficsim.core.network.NetworkException
gtu
- the gtu for which to calculate the lane liststartLane
- the lane in which the path startsstartPosition
- the start position on the start lane with the Vehicle's reference pointmaxHeadway
- the maximum length for which lanes should be returnedorg.opentrafficsim.core.gtu.GTUException
- when the vehicle is not on one of the lanes on which it is registeredorg.opentrafficsim.core.network.NetworkException
- when the strategic planner is not able to return a next node in the routepublic static LanePathInfo buildLanePathInfo(LaneBasedGTU gtu, org.djunits.value.vdouble.scalar.Length.Rel maxHeadway, Lane startLane, double startLaneFractionalPosition, org.opentrafficsim.core.gtu.GTUDirectionality startDirectionality) throws org.opentrafficsim.core.gtu.GTUException, org.opentrafficsim.core.network.NetworkException
gtu
- the gtu for which to calculate the lane liststartLane
- the lane in which the path startsstartLaneFractionalPosition
- the fractional position on the start lanestartDirectionality
- the driving direction on the start lanemaxHeadway
- the maximum length for which lanes should be returnedorg.opentrafficsim.core.gtu.GTUException
- when the vehicle is not on one of the lanes on which it is registeredorg.opentrafficsim.core.network.NetworkException
- when the strategic planner is not able to return a next node in the routeorg.opentrafficsim.core.gtu.GTUException
- when the vehicle is not on one of the lanes on which it is registeredorg.opentrafficsim.core.network.NetworkException
- when the strategic planner is not able to return a next node in the routeprotected static List<Lane> buildLaneListForwardXXX(LaneBasedGTU gtu, org.djunits.value.vdouble.scalar.Length.Rel maxHeadway, Lane startLane, double startLaneFractionalPosition, org.opentrafficsim.core.gtu.GTUDirectionality startDirectionality) throws org.opentrafficsim.core.gtu.GTUException, org.opentrafficsim.core.network.NetworkException
gtu
- the gtu for which to calculate the lane listmaxHeadway
- the maximum length for which lanes should be returnedstartLane
- the first lane in the liststartLaneFractionalPosition
- the fractional position on the start lanestartDirectionality
- the driving direction on the start laneorg.opentrafficsim.core.gtu.GTUException
- when the vehicle is not on one of the lanes on which it is registeredorg.opentrafficsim.core.network.NetworkException
- when the strategic planner is not able to return a next node in the routepublic static NextSplitInfo determineNextSplit(LaneBasedGTU gtu, org.djunits.value.vdouble.scalar.Length.Rel maxHeadway) throws org.opentrafficsim.core.gtu.GTUException, org.opentrafficsim.core.network.NetworkException
gtu
- the gtu for which to calculate the lane listmaxHeadway
- the maximum length for which lanes should be returnedorg.opentrafficsim.core.gtu.GTUException
- when the vehicle is not on one of the lanes on which it is registeredorg.opentrafficsim.core.network.NetworkException
- when the strategic planner is not able to return a next node in the routeprotected static boolean connectsToPath(LaneBasedGTU gtu, org.djunits.value.vdouble.scalar.Length.Rel maxHeadway, Lane startLane, double startLaneFractionalPosition, org.opentrafficsim.core.gtu.GTUDirectionality startDirectionality, org.opentrafficsim.core.network.Link linkAfterSplit) throws org.opentrafficsim.core.gtu.GTUException, org.opentrafficsim.core.network.NetworkException
gtu
- the GTU for which we have to determine the lane suitabilitymaxHeadway
- the maximum length for use in the calculationstartLane
- the first lane in the liststartLaneFractionalPosition
- the fractional position on the start lanestartDirectionality
- the driving direction on the start lanelinkAfterSplit
- the link after the split to which we should connectorg.opentrafficsim.core.gtu.GTUException
- when the vehicle is not on one of the lanes on which it is registeredorg.opentrafficsim.core.network.NetworkException
- when the strategic planner is not able to return a next node in the routeprotected static boolean noLaneDrop(LaneBasedGTU gtu, org.djunits.value.vdouble.scalar.Length.Rel maxHeadway, Lane startLane, double startLaneFractionalPosition, org.opentrafficsim.core.gtu.GTUDirectionality startDirectionality) throws org.opentrafficsim.core.gtu.GTUException, org.opentrafficsim.core.network.NetworkException
gtu
- the GTU for which we have to determine the lane suitabilitymaxHeadway
- the maximum length for use in the calculationstartLane
- the first lane in the liststartLaneFractionalPosition
- the fractional position on the start lanestartDirectionality
- the driving direction on the start laneorg.opentrafficsim.core.gtu.GTUException
- when the vehicle is not on one of the lanes on which it is registeredorg.opentrafficsim.core.network.NetworkException
- when the strategic planner is not able to return a next node in the routeprotected static List<org.opentrafficsim.core.network.LinkDirection> buildLinkListForward(LaneBasedGTU gtu, org.djunits.value.vdouble.scalar.Length.Rel maxHeadway) throws org.opentrafficsim.core.gtu.GTUException, org.opentrafficsim.core.network.NetworkException
gtu
- the gtu for which to calculate the link listmaxHeadway
- the maximum length for which links should be returnedorg.opentrafficsim.core.gtu.GTUException
- when the vehicle is not on one of the lanes on which it is registeredorg.opentrafficsim.core.network.NetworkException
- when the strategic planner is not able to return a next node in the routeCopyright © 2014–2016 Delft University of Technology. All rights reserved.