From 17c5d7d643554ff7e231ca010e8ed089a72376f5 Mon Sep 17 00:00:00 2001 From: jimonreal Date: Mon, 16 Apr 2018 15:50:34 +0100 Subject: [PATCH] Adding VehicleType --- .../movement/VehicleMovementModel.java | 4 ++++ .../traci/TraciSimulationController.java | 21 +++++++++++++------ .../xml/XMLSimulationController.java | 6 +++++- 3 files changed, 24 insertions(+), 7 deletions(-) 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 0c2aab8c..d6959eb9 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 fc6f8de8..e8407253 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 8868c914..c79a5904 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(); } - } -- GitLab