1 package org.opentrafficsim.road.gtu.lane;
2
3 import java.util.Set;
4
5 import org.djunits.value.vdouble.scalar.Speed;
6 import org.opentrafficsim.core.gtu.GTUCharacteristics;
7 import org.opentrafficsim.core.network.route.Route;
8 import org.opentrafficsim.road.gtu.strategical.LaneBasedStrategicalPlannerFactory;
9 import org.opentrafficsim.road.network.lane.DirectedLanePosition;
10
11
12
13
14
15
16
17
18
19
20
21 public class LaneBasedGTUCharacteristics extends GTUCharacteristics
22 {
23
24 private static final long serialVersionUID = 1L;
25
26
27 private final LaneBasedStrategicalPlannerFactory<?> strategicalPlannerFactory;
28
29
30 private final Route route;
31
32
33 private final Speed speed;
34
35
36 private final Set<DirectedLanePosition> initialLongitudinalPositions;
37
38
39
40
41
42
43
44
45
46 public LaneBasedGTUCharacteristics(final GTUCharacteristics gtuCharacteristics,
47 final LaneBasedStrategicalPlannerFactory<?> laneBasedStrategicalPlannerFactory, final Route route,
48 final Speed speed, final Set<DirectedLanePosition> initialLongitudinalPositions)
49 {
50 super(gtuCharacteristics.getGTUType(), gtuCharacteristics.getIdGenerator(), gtuCharacteristics.getLength(),
51 gtuCharacteristics.getWidth(), gtuCharacteristics.getMaximumSpeed(), gtuCharacteristics.getSimulator(),
52 gtuCharacteristics.getNetwork());
53 this.strategicalPlannerFactory = laneBasedStrategicalPlannerFactory;
54 this.route = route;
55 this.speed = speed;
56 this.initialLongitudinalPositions = initialLongitudinalPositions;
57 }
58
59
60
61
62 public final LaneBasedStrategicalPlannerFactory<?> getStrategicalPlannerFactory()
63 {
64 return this.strategicalPlannerFactory;
65 }
66
67
68
69
70 public final Route getRoute()
71 {
72 return this.route;
73 }
74
75
76
77
78 public final Speed getSpeed()
79 {
80 return this.speed;
81 }
82
83
84
85
86 public final Set<DirectedLanePosition> getInitialLongitudinalPositions()
87 {
88 return this.initialLongitudinalPositions;
89 }
90
91 }