VehicleFilter.java

Go to the documentation of this file.
00001 package ns2;
00002 
00003 import java.util.List;
00004 import java.util.Map;
00005 
00013 public class VehicleFilter {
00023     public static void filter(
00024             List<String> vehicleId, 
00025             List<String> wantedVehicle,
00026             Map<String, Double> vehicleFirstOcc, 
00027             Map<String, Double> vehicleLastOcc,
00028             double begin,
00029             double end) {
00030         for (String id: vehicleId) {
00031             // vehicle too late
00032             if (vehicleFirstOcc.get(id) > end) {
00033                 wantedVehicle.remove(id); // id is an object
00034             }
00035             // begin == end means end is end of sumo simulation, see Parser.java
00036             if (begin != end) {
00037                 // vehicle too early
00038                 if (vehicleLastOcc.get(id) < begin) {
00039                     wantedVehicle.remove(id); // id is an object
00040                 }
00041             } else {
00042                 // update stop time of ns2 simulation
00043                 end = Math.max(end, vehicleLastOcc.get(id));
00044             }
00045         }
00046         // change occurence times for use in ns2
00047         for (String id: wantedVehicle) {
00048             if (vehicleFirstOcc.get(id) < begin) {
00049                 vehicleFirstOcc.put(id, begin);
00050             }
00051             if (vehicleLastOcc.get(id) > end) {
00052                 vehicleLastOcc.put(id, end);
00053             }
00054         }
00055     }
00056             
00057 }

Generated on Wed May 5 00:06:37 2010 for Sumo - Simulation of Urban MObility by  doxygen 1.5.6