From 54226c4be5b48b9bc06e0f579f2a78db81cbaf10 Mon Sep 17 00:00:00 2001 From: Tobias Meuser Date: Thu, 19 Apr 2018 10:51:36 +0200 Subject: [PATCH] Provide heading in DefaultVehicleInformationComponent --- .../traci/TraciSimulationController.java | 5 ++++ .../DefaultVehicleInformationComponent.java | 26 +++++++++++++++++++ 2 files changed, 31 insertions(+) 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 ea2551a6..a8c2933e 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 @@ -220,6 +220,11 @@ public class TraciSimulationController implements VehicleController, SimulationS } @Override + public double getVehicleHeading(String pVehicleID) { + return _positons.get(pVehicleID).getHeading(); + } + + @Override public Location getVehiclePosition(double pStep, String pVehicleID) { if (pStep == _step) { return getVehiclePosition(pVehicleID); diff --git a/src/de/tud/kom/p2psim/impl/vehicular/DefaultVehicleInformationComponent.java b/src/de/tud/kom/p2psim/impl/vehicular/DefaultVehicleInformationComponent.java index da36b846..d4cdeb9d 100755 --- a/src/de/tud/kom/p2psim/impl/vehicular/DefaultVehicleInformationComponent.java +++ b/src/de/tud/kom/p2psim/impl/vehicular/DefaultVehicleInformationComponent.java @@ -88,6 +88,32 @@ public class DefaultVehicleInformationComponent implements VehicleInformationCom }); + siSComponent.provide().nodeState(SiSTypes.HEADING, new SiSDataCallback() { + + @Override + public Double getValue(INodeID pNodeID, + SiSProviderHandle pProviderHandle) + throws InformationNotAvailableException { + if (pNodeID == getHost().getId()) { + if (isValid()) { + return controller.getVehicleHeading(vehicleID); + } + } + return null; + } + + @Override + public Set getObservedNodes() { + return INodeID.getSingleIDSet(getHost().getId()); + } + + @Override + public SiSInfoProperties getInfoProperties() { + return new SiSInfoProperties(); + } + + }); + if (pRouteKnown) { siSComponent.provide().nodeState(SiSTypes.ROUTE, new SiSDataCallback() { -- GitLab