View Javadoc

1   /*
2    * Created on Dec 4, 2003
3    * 
4    * Copyright (c) 2003, 2004 Delft University of Technology Jaffalaan 5, 2628 BX
5    * Delft, the Netherlands All rights reserved.
6    * 
7    * This software is proprietary information of Delft University of Technology
8    * The code is published under the General Public License
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  }