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 ea2551a65697b816d2ae6e10296401aa1419bdcd..a8c2933e7b2c16efc4ff2a5411c4ab393fd3a74a 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 da36b8463a9a4c9edf91fcc79a695f5ff039a1ad..d4cdeb9deea07c90d7cf6da708d56ad9e45f9e51 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() {