diff --git a/VectoCommon/VectoCommon/Models/RetarderType.cs b/VectoCommon/VectoCommon/Models/RetarderType.cs index 5094c03963974c4735e7254e073415fdf98545b3..cf17f5789741907cb96225e1f04d1037bfc58905 100644 --- a/VectoCommon/VectoCommon/Models/RetarderType.cs +++ b/VectoCommon/VectoCommon/Models/RetarderType.cs @@ -34,8 +34,9 @@ namespace TUGraz.VectoCommon.Models public enum RetarderType { None, - Primary, - Secondary, + TransmissionInputRetarder, + TransmissionOutputRetarder, + EngineRetarder, LossesIncludedInTransmission } } \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs index 8eed4136237b989b6dc397bbae616437b2d79918..6263b3a1eef2d730a0472127c4a45c88377274e5 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs @@ -34,6 +34,7 @@ using System.Collections.Generic; using System.Data; using System.Linq; using Newtonsoft.Json.Linq; +using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; @@ -148,10 +149,19 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON { get { - return - (RetarderType) - Enum.Parse(typeof(RetarderType), - Body.GetEx(JsonKeys.Vehicle_Retarder).GetEx<string>(JsonKeys.Vehicle_Retarder_Type), true); + var retarderType = Body.GetEx(JsonKeys.Vehicle_Retarder).GetEx<string>(JsonKeys.Vehicle_Retarder_Type); + try { + return retarderType.ParseEnum<RetarderType>(); + } catch (Exception) { + switch (retarderType.ToLower()) { + case "primary": + return RetarderType.TransmissionInputRetarder; + case "secondary": + return RetarderType.TransmissionOutputRetarder; + default: + throw new VectoException("Unknown retarder type {0}", retarderType); + } + } } } diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs index 9110544bd593abc67cc6a92ec33791d9fa658982..158ab2ae7272e7c57ec0e038c6090ccf4dc81566 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs @@ -89,8 +89,9 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter Type = data.Type, }; switch (retarder.Type) { - case RetarderType.Primary: - case RetarderType.Secondary: + //case RetarderType.EngineRetarder: + case RetarderType.TransmissionInputRetarder: + case RetarderType.TransmissionOutputRetarder: retarder.LossMap = RetarderLossMap.Create(data.LossMap); retarder.Ratio = data.Ratio; break; @@ -149,9 +150,9 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter try { axleLossMap = TransmissionLossMap.Create(data.LossMap, data.Ratio, "AxleGear"); } catch (InvalidFileFormatException) { - if (useEfficiencyFallback) + if (useEfficiencyFallback) { axleLossMap = TransmissionLossMap.Create(data.Efficiency, data.Ratio, "AxleGear"); - else { + } else { throw; } } diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs index 7b0dbf77772be552ac2007dc68d63f8e5e6fa539..175dd7d4e2d2426743674434802f2e061efd2d5e 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs @@ -36,7 +36,6 @@ using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.InputData.Reader.DataObjectAdaper; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.SimulationComponent.Data; diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/EngineOnlyVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/EngineOnlyVectoRunDataFactory.cs index a021cb8994b45400fbc5ea5ff7ccfcdb2d943f79..2d17c6f02a38d7a8c7553d64c76aa87421462ecc 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/EngineOnlyVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/EngineOnlyVectoRunDataFactory.cs @@ -33,7 +33,6 @@ using System.Collections.Generic; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; -using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.SimulationComponent.Data; diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringModeVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringModeVectoRunDataFactory.cs index 6ee20e09932ae21b6a9d40c6455e126df5eb6cab..5d9dc695b3a11313a6b87bc330858dc7f7fd8f5e 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringModeVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringModeVectoRunDataFactory.cs @@ -35,7 +35,6 @@ using System.Runtime.CompilerServices; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; -using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.SimulationComponent.Data; diff --git a/VectoCore/VectoCore/Models/Declaration/StandardBodies.cs b/VectoCore/VectoCore/Models/Declaration/StandardBodies.cs index a47daf0ee7c6af5fb460766087c23db7e44e638d..aeecd0fbeff54fdcaa1f3dca7d6ce6eeafa79b77 100644 --- a/VectoCore/VectoCore/Models/Declaration/StandardBodies.cs +++ b/VectoCore/VectoCore/Models/Declaration/StandardBodies.cs @@ -38,7 +38,7 @@ using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.Models.Declaration { - internal sealed class StandardBody + public sealed class StandardBody { public StandardBody(Kilogram curbWeight, Kilogram grossVehicleWeight, SquareMeter deltaCrossWindArea, Wheels.WheelsEntry wheels) @@ -79,7 +79,7 @@ namespace TUGraz.VectoCore.Models.Declaration /// DeltaCrossWindArea, /// Wheels /// </summary> - internal sealed class StandardBodies : LookupData<string, StandardBody> + public sealed class StandardBodies : LookupData<string, StandardBody> { private const string ResourceId = "TUGraz.VectoCore.Resources.Declaration.Body_Trailers_Weights.csv"; diff --git a/VectoCore/VectoCore/Utils/ProviderExtensions.cs b/VectoCore/VectoCore/Utils/ProviderExtensions.cs index 294757a699bc4cb6545a429ca14541f2e034520f..7abcea559cc15d88385754b5df0b4d5ed551c6a5 100644 --- a/VectoCore/VectoCore/Utils/ProviderExtensions.cs +++ b/VectoCore/VectoCore/Utils/ProviderExtensions.cs @@ -83,8 +83,9 @@ namespace TUGraz.VectoCore.Utils public static IPowerTrainComponent AddComponent(this IPowerTrainComponent prev, IPowerTrainComponent next) { - if (next == null) + if (next == null) { return prev; + } prev.InPort().Connect(next.OutPort()); return next; @@ -95,26 +96,26 @@ namespace TUGraz.VectoCore.Utils prev.InPort().Connect(next.OutPort()); var clutch = prev as IClutch; - if (clutch != null) + if (clutch != null) { next.IdleController.RequestPort = clutch.IdleControlPort; + } return next; } public static IPowerTrainComponent AddRetarderAndGearbox(this IPowerTrainComponent prev, RetarderData data, - IGearbox gearbox, - IVehicleContainer container) + IGearbox gearbox, IVehicleContainer container) { switch (data.Type) { - case RetarderType.Primary: + case RetarderType.TransmissionOutputRetarder: return prev.AddComponent(new Retarder(container, data.LossMap, data.Ratio)).AddComponent(gearbox); - case RetarderType.Secondary: + case RetarderType.TransmissionInputRetarder: return prev.AddComponent(gearbox).AddComponent(new Retarder(container, data.LossMap, data.Ratio)); case RetarderType.None: return prev.AddComponent(new DummyRetarder(container)).AddComponent(gearbox); case RetarderType.LossesIncludedInTransmission: return prev.AddComponent(new DummyRetarder(container)).AddComponent(gearbox); default: - throw new ArgumentOutOfRangeException(); + throw new ArgumentOutOfRangeException(data.Type.ToString()); } } } diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs index 3229e84b96db8dac694aa143d15d6ece4a6b45df..0e305dcc184d150f9b5dbed482297f48f469ca37 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs @@ -38,7 +38,6 @@ using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.Reader; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; -using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.Simulation.Impl; using TUGraz.VectoCore.Models.SimulationComponent.Data; diff --git a/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs b/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs index 8ad35333c5136035b52fe638715948ffb20bd2bf..422b40d4e1d867ea0c146466904dd2dfd1fa1254 100644 --- a/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs +++ b/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs @@ -34,7 +34,6 @@ using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.FileIO.JSON; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; -using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; using TUGraz.VectoCore.Models.SimulationComponent.Data; namespace TUGraz.VectoCore.Tests.Utils