1 package org.opentrafficsim.road.gtu.generator.od;
2
3 import org.opentrafficsim.core.gtu.GTUException;
4 import org.opentrafficsim.core.network.Node;
5 import org.opentrafficsim.road.gtu.lane.tactical.following.IDMPlusFactory;
6 import org.opentrafficsim.road.gtu.lane.tactical.lmrs.DefaultLMRSPerceptionFactory;
7 import org.opentrafficsim.road.gtu.lane.tactical.lmrs.LMRSFactory;
8 import org.opentrafficsim.road.gtu.strategical.LaneBasedStrategicalPlannerFactory;
9 import org.opentrafficsim.road.gtu.strategical.od.Category;
10 import org.opentrafficsim.road.gtu.strategical.route.LaneBasedStrategicalRoutePlannerFactory;
11 import org.opentrafficsim.road.gtu.strategical.route.RouteSupplier;
12
13 import nl.tudelft.simulation.jstats.streams.StreamInterface;
14
15
16
17
18
19
20
21
22
23
24
25
26 public interface StrategicalPlannerFactorySupplierOD
27 {
28
29 StrategicalPlannerFactorySupplierOD LMRS = new StrategicalPlannerFactorySupplierOD()
30 {
31 @Override
32 public LaneBasedStrategicalPlannerFactory<?> getFactory(final Node origin, final Node destination,
33 final Category category, final StreamInterface randomStream) throws GTUException
34 {
35 return new LaneBasedStrategicalRoutePlannerFactory(
36 new LMRSFactory(new IDMPlusFactory(randomStream), new DefaultLMRSPerceptionFactory()),
37 RouteSupplier.getDefaultRouteSupplier(randomStream));
38 }
39 };
40
41
42
43
44
45
46
47
48
49
50 LaneBasedStrategicalPlannerFactory<?> getFactory(Node origin, Node destination, Category category,
51 StreamInterface randomStream) throws GTUException;
52
53 }