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 static final long serialVersionUID = 1L;
22
23
24 private final LaneBasedStrategicalPlannerFactory<?> strategicalPlannerFactory;
25
26
27 private final Route route;
28
29
30 private final Node origin;
31
32
33 private final Node destination;
34
35
36 private final VehicleModel vehicleModel;
37
38
39
40
41
42
43
44
45
46
47
48 public LaneBasedGtuCharacteristics(final GtuCharacteristics gtuCharacteristics,
49 final LaneBasedStrategicalPlannerFactory<?> laneBasedStrategicalPlannerFactory, final Route route,
50 final Node origin, final Node destination, final VehicleModel vehicleModel)
51 {
52 super(gtuCharacteristics.getGtuType(), gtuCharacteristics.getLength(), gtuCharacteristics.getWidth(),
53 gtuCharacteristics.getMaximumSpeed(), gtuCharacteristics.getMaximumAcceleration(),
54 gtuCharacteristics.getMaximumDeceleration(), gtuCharacteristics.getFront());
55 this.strategicalPlannerFactory = laneBasedStrategicalPlannerFactory;
56 this.route = route;
57 this.origin = origin;
58 this.destination = destination;
59 this.vehicleModel = vehicleModel;
60 }
61
62
63
64
65 public final LaneBasedStrategicalPlannerFactory<?> getStrategicalPlannerFactory()
66 {
67 return this.strategicalPlannerFactory;
68 }
69
70
71
72
73 public final Route getRoute()
74 {
75 return this.route;
76 }
77
78
79
80
81 public Node getOrigin()
82 {
83 return this.origin;
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 }