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.road.gtu.lane.perception.LanePerceptionFull;
8 import org.opentrafficsim.road.gtu.strategical.LaneBasedStrategicalPlanner;
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 final LanePerceptionFull perception;
25
26
27 final LaneBasedStrategicalPlanner strategicalPlanner;
28
29
30 final Speed velocity;
31
32
33 final Set<DirectedLanePosition> initialLongitudinalPositions;
34
35
36
37
38
39
40
41
42
43 public LaneBasedGTUCharacteristics(final GTUCharacteristics gtuCharacteristics, LanePerceptionFull lanePerceptionFull,
44 LaneBasedStrategicalPlanner laneBasedStrategicalPlanner, Speed velocity,
45 Set<DirectedLanePosition> initialLongitudinalPositions)
46 {
47 super(gtuCharacteristics.getGTUType(), gtuCharacteristics.getIdGenerator(), gtuCharacteristics.getLength(),
48 gtuCharacteristics.getWidth(), gtuCharacteristics.getMaximumVelocity(), gtuCharacteristics.getSimulator(),
49 gtuCharacteristics.getNetwork());
50 this.perception = lanePerceptionFull;
51 this.strategicalPlanner = laneBasedStrategicalPlanner;
52 this.velocity = velocity;
53 this.initialLongitudinalPositions = initialLongitudinalPositions;
54 }
55
56
57
58
59 public LanePerceptionFull getPerception()
60 {
61 return this.perception;
62 }
63
64
65
66
67 public LaneBasedStrategicalPlanner getStrategicalPlanner()
68 {
69 return this.strategicalPlanner;
70 }
71
72
73
74
75 public Speed getVelocity()
76 {
77 return this.velocity;
78 }
79
80
81
82
83 public Set<DirectedLanePosition> getInitialLongitudinalPositions()
84 {
85 return this.initialLongitudinalPositions;
86 }
87
88 }