Class ConflictBuilder
- java.lang.Object
-
- org.opentrafficsim.road.network.lane.conflict.ConflictBuilder
-
public final class ConflictBuilder extends Object
Copyright (c) 2013-2020 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.- Version:
- $Revision$, $LastChangedDate$, by $Author$, initial version 11 dec. 2016
- Author:
- Alexander Verbraeck, Peter Knoppers, Wouter Schakel
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classConflictBuilder.FixedWidthGeneratorGenerator with fixed width.static classConflictBuilder.RelativeWidthGeneratorGenerator with width factor on actual lane width.static interfaceConflictBuilder.WidthGeneratorGenerator for width.
-
Field Summary
Fields Modifier and Type Field Description static ConflictBuilder.WidthGeneratorDEFAULT_WIDTH_GENERATORDefault width generator for conflicts which uses 80% of the lane width.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidbuildConflicts(List<Lane> lanes, GTUType gtuType, DEVSSimulatorInterface.TimeDoubleUnit simulator, ConflictBuilder.WidthGenerator widthGenerator)Build conflicts on list of lanes.static voidbuildConflicts(List<Lane> lanes, GTUType gtuType, DEVSSimulatorInterface.TimeDoubleUnit simulator, ConflictBuilder.WidthGenerator widthGenerator, LaneCombinationList ignoreList, LaneCombinationList permittedList, String conflictId)Build conflicts on list of lanes.static voidbuildConflicts(Lane lane1, GTUDirectionality dir1, Lane lane2, GTUDirectionality dir2, GTUType gtuType, DEVSSimulatorInterface.TimeDoubleUnit simulator, ConflictBuilder.WidthGenerator widthGenerator)Build conflict on single lane pair.static voidbuildConflicts(Lane lane1, GTUDirectionality dir1, Lane lane2, GTUDirectionality dir2, GTUType gtuType, DEVSSimulatorInterface.TimeDoubleUnit simulator, ConflictBuilder.WidthGenerator widthGenerator, boolean permitted)Build conflict on single lane pair.static voidbuildConflicts(OTSRoadNetwork network, GTUType gtuType, DEVSSimulatorInterface.TimeDoubleUnit simulator, ConflictBuilder.WidthGenerator widthGenerator)Build conflicts on network.static voidbuildConflicts(OTSRoadNetwork network, GTUType gtuType, DEVSSimulatorInterface.TimeDoubleUnit simulator, ConflictBuilder.WidthGenerator widthGenerator, LaneCombinationList ignoreList, LaneCombinationList permittedList)Build conflicts on network.static voidbuildConflictsParallel(List<Lane> lanes, GTUType gtuType, DEVSSimulatorInterface.TimeDoubleUnit simulator, ConflictBuilder.WidthGenerator widthGenerator)Build conflicts on list of lanes; parallel implementation.static voidbuildConflictsParallel(OTSRoadNetwork network, Map<String,Set<Link>> conflictCandidateMap, GTUType gtuType, DEVSSimulatorInterface.TimeDoubleUnit simulator, ConflictBuilder.WidthGenerator widthGenerator)Build conflicts on network using only the groups of links that have been identified as candidates with conflicts; parallel implementation.static voidbuildConflictsParallel(OTSRoadNetwork network, GTUType gtuType, DEVSSimulatorInterface.TimeDoubleUnit simulator, ConflictBuilder.WidthGenerator widthGenerator)Build conflicts on network; parallel implementation.static voidbuildConflictsParallel(OTSRoadNetwork network, GTUType gtuType, DEVSSimulatorInterface.TimeDoubleUnit simulator, ConflictBuilder.WidthGenerator widthGenerator, LaneCombinationList ignoreList, LaneCombinationList permittedList)Build conflicts on network; parallel implementation.static voidbuildConflictsParallelBig(List<Lane> lanes, GTUType gtuType, DEVSSimulatorInterface.TimeDoubleUnit simulator, ConflictBuilder.WidthGenerator widthGenerator, LaneCombinationList ignoreList, LaneCombinationList permittedList)Build conflicts on list of lanes; parallel implementation.static voidbuildConflictsParallelSmall(List<Lane> lanes, GTUType gtuType, DEVSSimulatorInterface.TimeDoubleUnit simulator, ConflictBuilder.WidthGenerator widthGenerator, LaneCombinationList ignoreList, LaneCombinationList permittedList)Build conflicts on list of lanes; parallel implementation.
-
-
-
Field Detail
-
DEFAULT_WIDTH_GENERATOR
public static final ConflictBuilder.WidthGenerator DEFAULT_WIDTH_GENERATOR
Default width generator for conflicts which uses 80% of the lane width.
-
-
Method Detail
-
buildConflicts
public static void buildConflicts(OTSRoadNetwork network, GTUType gtuType, DEVSSimulatorInterface.TimeDoubleUnit simulator, ConflictBuilder.WidthGenerator widthGenerator) throws OTSGeometryException
Build conflicts on network.- Parameters:
network- OTSRoadNetwork; networkgtuType- GTUType; gtu typesimulator- DEVSSimulatorInterface.TimeDoubleUnit; simulatorwidthGenerator- WidthGenerator; width generator- Throws:
OTSGeometryException- in case of geometry exception
-
buildConflicts
public static void buildConflicts(OTSRoadNetwork network, GTUType gtuType, DEVSSimulatorInterface.TimeDoubleUnit simulator, ConflictBuilder.WidthGenerator widthGenerator, LaneCombinationList ignoreList, LaneCombinationList permittedList) throws OTSGeometryException
Build conflicts on network.- Parameters:
network- OTSRoadNetwork; networkgtuType- GTUType; gtu typesimulator- DEVSSimulatorInterface.TimeDoubleUnit; simulatorwidthGenerator- WidthGenerator; width generatorignoreList- LaneCombinationList; lane combinations to ignorepermittedList- LaneCombinationList; lane combinations that are permitted by traffic control- Throws:
OTSGeometryException- in case of geometry exception
-
buildConflicts
public static void buildConflicts(List<Lane> lanes, GTUType gtuType, DEVSSimulatorInterface.TimeDoubleUnit simulator, ConflictBuilder.WidthGenerator widthGenerator) throws OTSGeometryException
Build conflicts on list of lanes.- Parameters:
lanes- List<Lane>; lanesgtuType- GTUType; gtu typesimulator- DEVSSimulatorInterface.TimeDoubleUnit; simulatorwidthGenerator- WidthGenerator; width generator- Throws:
OTSGeometryException- in case of geometry exception
-
buildConflicts
public static void buildConflicts(List<Lane> lanes, GTUType gtuType, DEVSSimulatorInterface.TimeDoubleUnit simulator, ConflictBuilder.WidthGenerator widthGenerator, LaneCombinationList ignoreList, LaneCombinationList permittedList, String conflictId) throws OTSGeometryException
Build conflicts on list of lanes.- Parameters:
lanes- List<Lane>; list of LanesgtuType- GTUType; the GTU typesimulator- DEVSSimulatorInterface.TimeDoubleUnit; the simulatorwidthGenerator- WidthGenerator; the width generatorignoreList- LaneCombinationList; lane combinations to ignorepermittedList- LaneCombinationList; lane combinations that are permitted by traffic controlconflictId- String; identification of the conflict (null value permitted)- Throws:
OTSGeometryException- in case of geometry exception
-
buildConflicts
public static void buildConflicts(Lane lane1, GTUDirectionality dir1, Lane lane2, GTUDirectionality dir2, GTUType gtuType, DEVSSimulatorInterface.TimeDoubleUnit simulator, ConflictBuilder.WidthGenerator widthGenerator) throws OTSGeometryException
Build conflict on single lane pair. Connecting lanes are determined.- Parameters:
lane1- Lane; lane 1dir1- GTUDirectionality; gtu direction 1lane2- Lane; lane 2dir2- GTUDirectionality; gtu direction 2gtuType- GTUType; gtu typesimulator- DEVSSimulatorInterface.TimeDoubleUnit; simulatorwidthGenerator- WidthGenerator; width generator- Throws:
OTSGeometryException- in case of geometry exception
-
buildConflicts
public static void buildConflicts(Lane lane1, GTUDirectionality dir1, Lane lane2, GTUDirectionality dir2, GTUType gtuType, DEVSSimulatorInterface.TimeDoubleUnit simulator, ConflictBuilder.WidthGenerator widthGenerator, boolean permitted) throws OTSGeometryException
Build conflict on single lane pair. Connecting lanes are determined.- Parameters:
lane1- Lane; lane 1dir1- GTUDirectionality; gtu direction 1lane2- Lane; lane 2dir2- GTUDirectionality; gtu direction 2gtuType- GTUType; gtu typesimulator- DEVSSimulatorInterface.TimeDoubleUnit; simulatorwidthGenerator- WidthGenerator; width generatorpermitted- boolean; conflict permitted by traffic control- Throws:
OTSGeometryException- in case of geometry exception
-
buildConflictsParallel
public static void buildConflictsParallel(OTSRoadNetwork network, GTUType gtuType, DEVSSimulatorInterface.TimeDoubleUnit simulator, ConflictBuilder.WidthGenerator widthGenerator) throws OTSGeometryException
Build conflicts on network; parallel implementation.- Parameters:
network- OTSRoadNetwork; networkgtuType- GTUType; gtu typesimulator- DEVSSimulatorInterface.TimeDoubleUnit; simulatorwidthGenerator- WidthGenerator; width generator- Throws:
OTSGeometryException- in case of geometry exception
-
buildConflictsParallel
public static void buildConflictsParallel(OTSRoadNetwork network, GTUType gtuType, DEVSSimulatorInterface.TimeDoubleUnit simulator, ConflictBuilder.WidthGenerator widthGenerator, LaneCombinationList ignoreList, LaneCombinationList permittedList) throws OTSGeometryException
Build conflicts on network; parallel implementation.- Parameters:
network- OTSRoadNetwork; networkgtuType- GTUType; gtu typesimulator- DEVSSimulatorInterface.TimeDoubleUnit; simulatorwidthGenerator- WidthGenerator; width generatorignoreList- LaneCombinationList; lane combinations to ignorepermittedList- LaneCombinationList; lane combinations that are permitted by traffic control- Throws:
OTSGeometryException- in case of geometry exception
-
buildConflictsParallel
public static void buildConflictsParallel(List<Lane> lanes, GTUType gtuType, DEVSSimulatorInterface.TimeDoubleUnit simulator, ConflictBuilder.WidthGenerator widthGenerator) throws OTSGeometryException
Build conflicts on list of lanes; parallel implementation.- Parameters:
lanes- List<Lane>; lanesgtuType- GTUType; gtu typesimulator- DEVSSimulatorInterface.TimeDoubleUnit; simulatorwidthGenerator- WidthGenerator; width generator- Throws:
OTSGeometryException- in case of geometry exception
-
buildConflictsParallelSmall
public static void buildConflictsParallelSmall(List<Lane> lanes, GTUType gtuType, DEVSSimulatorInterface.TimeDoubleUnit simulator, ConflictBuilder.WidthGenerator widthGenerator, LaneCombinationList ignoreList, LaneCombinationList permittedList) throws OTSGeometryException
Build conflicts on list of lanes; parallel implementation. Small jobs.- Parameters:
lanes- List<Lane>; list of LanesgtuType- GTUType; the GTU typesimulator- DEVSSimulatorInterface.TimeDoubleUnit; the simulatorwidthGenerator- WidthGenerator; the width generatorignoreList- LaneCombinationList; lane combinations to ignorepermittedList- LaneCombinationList; lane combinations that are permitted by traffic control- Throws:
OTSGeometryException- in case of geometry exception
-
buildConflictsParallelBig
public static void buildConflictsParallelBig(List<Lane> lanes, GTUType gtuType, DEVSSimulatorInterface.TimeDoubleUnit simulator, ConflictBuilder.WidthGenerator widthGenerator, LaneCombinationList ignoreList, LaneCombinationList permittedList) throws OTSGeometryException
Build conflicts on list of lanes; parallel implementation. Big jobs.- Parameters:
lanes- List<Lane>; list of LanesgtuType- GTUType; the GTU typesimulator- DEVSSimulatorInterface.TimeDoubleUnit; the simulatorwidthGenerator- WidthGenerator; the width generatorignoreList- LaneCombinationList; lane combinations to ignorepermittedList- LaneCombinationList; lane combinations that are permitted by traffic control- Throws:
OTSGeometryException- in case of geometry exception
-
buildConflictsParallel
public static void buildConflictsParallel(OTSRoadNetwork network, Map<String,Set<Link>> conflictCandidateMap, GTUType gtuType, DEVSSimulatorInterface.TimeDoubleUnit simulator, ConflictBuilder.WidthGenerator widthGenerator) throws OTSGeometryException
Build conflicts on network using only the groups of links that have been identified as candidates with conflicts; parallel implementation.- Parameters:
network- OTSRoadNetwork; networkconflictCandidateMap- Map<String, Set<Link>>; the map of the conflicting links to implementgtuType- GTUType; gtu typesimulator- DEVSSimulatorInterface.TimeDoubleUnit; simulatorwidthGenerator- WidthGenerator; width generator- Throws:
OTSGeometryException- in case of geometry exception
-
-