1
2
3
4
5
6
7
8
9
10
11 package nl.tudelft.simulation.traffic.controlpoint;
12
13 import nl.tudelft.simulation.dsol.animation.LocatableInterface;
14 import nl.tudelft.simulation.traffic.track.TrackInterface;
15 import nl.tudelft.simulation.traffic.vehicle.VehiclePhysicalInterface;
16
17 /***
18 * The ControlPointInterface defines the interface of controlpoints. By
19 * definition a controlpoint is a point on a track where something is happening
20 * that is relevant for a vehicle. A controlpoint enables the exchange of
21 * information between a vehicle and the infrastructure. <br>
22 * <br>
23 */
24 public interface ControlPointInterface extends LocatableInterface
25 {
26 /*** a trigger of the controlpoint with the front of the vehicle */
27 public static final String FRONT = "FRONT";
28
29 /*** a trigger of the controlpoint with the back of the vehicle */
30 public static final String BACK = "BACK";
31
32 /***
33 * This method returns the track on which the controlPoint is located
34 *
35 * @return track
36 */
37 public TrackInterface getTrack();
38
39 /***
40 * The getProgression() method returns progression where the controlPoint is
41 * located
42 *
43 * @return progression
44 */
45 public double getProgression();
46
47 /***
48 * This method handles actions of the controlPoint when the controlPoint is
49 * passed by a vehicle.
50 *
51 * @param vehicle that triggers the controlPoint
52 */
53 public void pass(VehiclePhysicalInterface vehicle);
54 }