diff --git a/src/de/tud/kom/p2psim/impl/topology/movement/VehicleMovementModel.java b/src/de/tud/kom/p2psim/impl/topology/movement/VehicleMovementModel.java index 0c2aab8cec6e44ab592b7d33b2ab5521894f6f26..d6959eb9eface189ac6c3eedcc30183106caec25 100644 --- a/src/de/tud/kom/p2psim/impl/topology/movement/VehicleMovementModel.java +++ b/src/de/tud/kom/p2psim/impl/topology/movement/VehicleMovementModel.java @@ -394,4 +394,8 @@ public class VehicleMovementModel implements MovementModel, EventHandler { public static RoadNetwork getRoadNetwork() { return MOVEMENT._extractor.getRoadNetwork(); } + + public static String getVehicleType(String pVehicleID) { + return MOVEMENT._controller.getVehicleType(pVehicleID); + } } diff --git a/src/de/tud/kom/p2psim/impl/topology/movement/vehicular/sumo/simulation/controller/traci/TraciSimulationController.java b/src/de/tud/kom/p2psim/impl/topology/movement/vehicular/sumo/simulation/controller/traci/TraciSimulationController.java index fc6f8de8abaa59a6cd85fcb8fe7fb15f1893e096..e8407253dfc885ebe01c929deeb0352864447c24 100755 --- a/src/de/tud/kom/p2psim/impl/topology/movement/vehicular/sumo/simulation/controller/traci/TraciSimulationController.java +++ b/src/de/tud/kom/p2psim/impl/topology/movement/vehicular/sumo/simulation/controller/traci/TraciSimulationController.java @@ -38,12 +38,7 @@ import de.tudresden.sumo.cmd.Lane; import de.tudresden.sumo.cmd.Simulation; import de.tudresden.sumo.cmd.Vehicle; import de.tudresden.sumo.util.SumoCommand; -import de.tudresden.ws.container.SumoBoundingBox; -import de.tudresden.ws.container.SumoGeometry; -import de.tudresden.ws.container.SumoLink; -import de.tudresden.ws.container.SumoLinkList; -import de.tudresden.ws.container.SumoPosition2D; -import de.tudresden.ws.container.SumoStringList; +import de.tudresden.ws.container.*; import edu.emory.mathcs.backport.java.util.Collections; import it.polito.appeal.traci.SumoTraciConnection; @@ -250,6 +245,20 @@ public class TraciSimulationController implements VehicleController, SimulationS return false; } + public String getVehicleType(String pVehicleID) { + String vehicleType = "private"; + + SumoCommand typeCommand = Vehicle.getTypeID(pVehicleID); + + Object typeObject = requestObject(typeCommand); + + if (typeObject != null) { + vehicleType = (String) typeObject; + } + + return vehicleType; + } + private Location requestVehiclePosition(String pVehicleID) { if (_vehiclesOutOfRange.containsKey(pVehicleID)) { if (_vehiclesOutOfRange.get(pVehicleID) < _step) { diff --git a/src/de/tud/kom/p2psim/impl/topology/movement/vehicular/sumo/simulation/controller/xml/XMLSimulationController.java b/src/de/tud/kom/p2psim/impl/topology/movement/vehicular/sumo/simulation/controller/xml/XMLSimulationController.java index 8868c91414efbe0978bc6e2cf80f2c295e51f468..c79a5904d8f5a948789a73915f35c5f525431e93 100755 --- a/src/de/tud/kom/p2psim/impl/topology/movement/vehicular/sumo/simulation/controller/xml/XMLSimulationController.java +++ b/src/de/tud/kom/p2psim/impl/topology/movement/vehicular/sumo/simulation/controller/xml/XMLSimulationController.java @@ -205,9 +205,13 @@ public class XMLSimulationController implements VehicleController, SimulationSet throw new UnsupportedOperationException("This method is not supported for " + getClass().getSimpleName()); } + @Override + public String getVehicleType(String pVehicleID) { + return null; + } + @Override public double getVehicleSpeed(String pVehicleID) { return _vehicleDataInformationHandler.getVehiclePositions().get(pVehicleID).getSpeed(); } - }