1 package org.opentrafficsim.road.gtu.generator.characteristics;
2
3 import org.opentrafficsim.core.gtu.GtuCharacteristics;
4 import org.opentrafficsim.core.network.Node;
5 import org.opentrafficsim.core.network.route.Route;
6 import org.opentrafficsim.road.gtu.lane.VehicleModel;
7 import org.opentrafficsim.road.gtu.strategical.LaneBasedStrategicalPlannerFactory;
8
9
10
11
12
13
14
15
16
17
18 public class LaneBasedGtuCharacteristics extends GtuCharacteristics
19 {
20
21 private final LaneBasedStrategicalPlannerFactory<?> strategicalPlannerFactory;
22
23
24 private final Route route;
25
26
27 private final Node origin;
28
29
30 private final Node destination;
31
32
33 private final VehicleModel vehicleModel;
34
35
36
37
38
39
40
41
42
43
44 public LaneBasedGtuCharacteristics(final GtuCharacteristics gtuCharacteristics,
45 final LaneBasedStrategicalPlannerFactory<?> laneBasedStrategicalPlannerFactory, final Route route,
46 final Node origin, final Node destination, final VehicleModel vehicleModel)
47 {
48 super(gtuCharacteristics.getGtuType(), gtuCharacteristics.getLength(), gtuCharacteristics.getWidth(),
49 gtuCharacteristics.getMaximumSpeed(), gtuCharacteristics.getMaximumAcceleration(),
50 gtuCharacteristics.getMaximumDeceleration(), gtuCharacteristics.getFront());
51 this.strategicalPlannerFactory = laneBasedStrategicalPlannerFactory;
52 this.route = route;
53 this.origin = origin;
54 this.destination = destination;
55 this.vehicleModel = vehicleModel;
56 }
57
58
59
60
61
62 public final LaneBasedStrategicalPlannerFactory<?> getStrategicalPlannerFactory()
63 {
64 return this.strategicalPlannerFactory;
65 }
66
67
68
69
70
71 public final Route getRoute()
72 {
73 return this.route;
74 }
75
76
77
78
79
80 public Node getOrigin()
81 {
82 return this.origin;
83 }
84
85
86
87
88
89 public Node getDestination()
90 {
91 return this.destination;
92 }
93
94
95
96
97
98 public VehicleModel getVehicleModel()
99 {
100 return this.vehicleModel;
101 }
102
103 }