/// <summary> /// Imports traffic volume from older file versions still containing "Aufträge" /// </summary> /// <param name="fahrauftraege">List of all "Aufträge" to import</param> public void ImportOldTrafficVolumeData(List <Auftrag> fahrauftraege) { foreach (Auftrag a in fahrauftraege) { BunchOfNodes startBof = GetOrCreateEqualBoF(a.startNodes, startPoints); BunchOfNodes destinationBof = GetOrCreateEqualBoF(a.endNodes, destinationPoints); TrafficVolume tv = GetOrCreateTrafficVolume(startBof, destinationBof); switch (a.vehicleType) { case CityTrafficSimulator.Vehicle.IVehicle.VehicleTypes.CAR: tv.SetTrafficVolume((int)(tv.trafficVolumeCars + a.trafficDensity * 0.92), (int)(tv.trafficVolumeTrucks + a.trafficDensity * 0.08), tv.trafficVolumeBusses, tv.trafficVolumeTrams); break; case CityTrafficSimulator.Vehicle.IVehicle.VehicleTypes.BUS: tv.SetTrafficVolume(tv.trafficVolumeCars, tv.trafficVolumeTrucks, tv.trafficVolumeBusses + a.trafficDensity, tv.trafficVolumeTrams); break; case CityTrafficSimulator.Vehicle.IVehicle.VehicleTypes.TRAM: tv.SetTrafficVolume(tv.trafficVolumeCars, tv.trafficVolumeTrucks, tv.trafficVolumeBusses, tv.trafficVolumeTrams + a.trafficDensity); break; } } OnStartPointsChanged(new StartPointsChangedEventArgs()); OnDestinationPointsChanged(new DestinationPointsChangedEventArgs()); }
/// <summary> /// Stores the traffic volume into the current TrafficVolume record. /// </summary> private void UpdateTrafficVolume() { if (m_currentVolume != null && !ignoreUpdateEvent) { m_currentVolume.SetTrafficVolume((int)spinCarsVolume.Value, (int)spinTruckVolume.Value, (int)spinBusVolume.Value, (int)spinTramVolume.Value); } }