diff --git a/Generic Vehicles/Declaration Mode/40t Long Haul Truck/40t_Long_Haul_Truck.vveh b/Generic Vehicles/Declaration Mode/40t Long Haul Truck/40t_Long_Haul_Truck.vveh index 1e5f25b84078ac5f1013aa8521baad175faf82a9..f15b1d9b3edd413801299d9a018bc15158cdfd31 100644 --- a/Generic Vehicles/Declaration Mode/40t Long Haul Truck/40t_Long_Haul_Truck.vveh +++ b/Generic Vehicles/Declaration Mode/40t Long Haul Truck/40t_Long_Haul_Truck.vveh @@ -1,7 +1,7 @@ { "Header": { "CreatedBy": " ()", - "Date": "12.07.2016 11:30:47", + "Date": "12.07.2016 12:53:40", "AppVersion": "2.2", "FileVersion": 7 }, @@ -21,10 +21,10 @@ "Retarder": { "Type": "Secondary", "Ratio": 1.0, - "File": "Retarder.vrlm" + "File": "<NOFILE>" }, "AngularGear": { - "Type": "Separate", + "Type": "SeparateAngularGear", "Ratio": 1.0, "LossMap": "AngularGear.vtlm" }, diff --git a/VECTO/GUI/F_VEH.vb b/VECTO/GUI/F_VEH.vb index ef7d6a4570c77f045dd821253e2ff53f3b38f519..4b047c81eb4cfdea55dbf53eab6f06952a3cb9e8 100644 --- a/VECTO/GUI/F_VEH.vb +++ b/VECTO/GUI/F_VEH.vb @@ -12,6 +12,7 @@ Option Infer On Imports System.IO Imports System.Text.RegularExpressions +Imports TUGraz.VectoCommon.Models ''' <summary> ''' Vehicle Editor. @@ -390,7 +391,7 @@ Public Class F_VEH veh.RtRatio = CSng(fTextboxToNumString(TbRtRatio.Text)) veh.RtFile.Init(fPATH(file), TbRtPath.Text) - veh.AngularGearType = CType(cbAngularGearType.SelectedIndex, tAngularGearType) + veh.AngularGearType = CType(cbAngularGearType.SelectedIndex, AngularGearType) veh.AngularGearRatio = CSng(fTextboxToNumString(tbAngularGearRatio.Text)) veh.AngularGearLossMapFile.Init(fPATH(file), tbAngularGearLossMapPath.Text) @@ -758,10 +759,11 @@ Public Class F_VEH Select Case cbAngularGearType.SelectedIndex Case 1 'Separate Angular Gear tbAngularGearRatio.Enabled = True + tbAngularGearRatio.Text = "1.0" btAngularGearLossMapBrowse.Enabled = True tbAngularGearLossMapPath.Enabled = True Case Else 'Losses included in Transmission, None - tbAngularGearRatio.Text = "0" + tbAngularGearRatio.Text = "" tbAngularGearRatio.Enabled = False btAngularGearLossMapBrowse.Enabled = False tbAngularGearLossMapPath.Text = "" diff --git a/VECTO/Input Files/cVEH.vb b/VECTO/Input Files/cVEH.vb index b3be987ff02821b18a5c7ba2f6c8b14e7b04680c..6f3c86d70010715f375a2d827020acb1d6ddaf8b 100644 --- a/VECTO/Input Files/cVEH.vb +++ b/VECTO/Input Files/cVEH.vb @@ -13,6 +13,8 @@ Option Infer On Imports System.Collections.Generic Imports System.IO Imports System.Linq +Imports TUGraz.VectoCommon.Models +Imports TUGraz.VectoCommon.Utils Public Class cVEH @@ -57,7 +59,7 @@ Public Class cVEH Private _myFileList As List(Of String) Public SavedInDeclMode As Boolean - Public AngularGearType As tAngularGearType '0=None, 1=Separate, 2=Included + Public AngularGearType As AngularGearType '0=None, 1=Separate, 2=Included Public AngularGearRatio As Single Public AngularGearLossMapFile As cSubPath @@ -86,7 +88,7 @@ Public Class cVEH End If 'Angular Gear - If AngularGearType <> tAngularGearType.None Then + If AngularGearType <> AngularGearType.None Then _myFileList.Add(AngularGearLossMapFile.FullPath) End If @@ -131,7 +133,7 @@ Public Class cVEH RtFile.Clear() AngularGearLossMapFile.Clear() - AngularGearType = tAngularGearType.None + AngularGearType = AngularGearType.None AngularGearLossMapFile.Clear() AngularGearRatio = 1 @@ -226,9 +228,9 @@ Public Class cVEH End If If body("AngularGear") Is Nothing Then - AngularGearType = tAngularGearType.None + AngularGearType = AngularGearType.None Else - AngularGearType = AngularGearTypeConverter(body("AngularGear")("Type").ToString) + AngularGearType = body("AngularGear")("Type").ToString.ParseEnum(Of AngularGearType)() If Not body("AngularGear")("Ratio") Is Nothing Then AngularGearRatio = body("AngularGear")("Ratio") End If @@ -304,7 +306,7 @@ Public Class cVEH {"Ratio", RtRatio}, {"File", RtFile.PathOrDummy}}}, {"AngularGear", New Dictionary(Of String, Object) From { - {"Type", AngularGearTypeConverter(AngularGearType)}, + {"Type", AngularGearType.ToString()}, {"Ratio", AngularGearRatio}, {"LossMap", AngularGearLossMapFile.PathOrDummy}}}, {"AxleConfig", New Dictionary(Of String, Object) From { diff --git a/VECTO/VECTO_Global.vb b/VECTO/VECTO_Global.vb index 146dd4d0ae99339b00d251917380f5482dbe1a32..0115a892e99a4c19c184779f0dd9303fbebd6ccb 100644 --- a/VECTO/VECTO_Global.vb +++ b/VECTO/VECTO_Global.vb @@ -11,6 +11,7 @@ Imports System.ComponentModel Imports System.IO Imports System.Text +Imports TUGraz.VectoCommon.Models Imports vectolic Module VECTO_Global @@ -390,29 +391,6 @@ Module VECTO_Global End Select End Function - Public Function AngularGearTypeConverter(type As tAngularGearType) As String - Select Case type - Case tAngularGearType.SeparateAngularGear - Return "Separate" - Case tAngularGearType.IncludedInTransmission - Return "Included" - Case Else - Return "None" - End Select - End Function - - Public Function AngularGearTypeConverter(type As String) As tAngularGearType - Select Case type - Case "Separate" - Return tAngularGearType.SeparateAngularGear - Case "Included" - Return tAngularGearType.IncludedInTransmission - Case Else - Return tAngularGearType.None - End Select - End Function - - Public Function RtTypeConv(rtType As String) As tRtType Select Case UCase(Trim(rtType)) Case "PRIMARY" diff --git a/VECTO/VECTO_Types.vb b/VECTO/VECTO_Types.vb index 53bc7b0c64eeaaac61aa70ce1fa2af8d8c44e6be..e9e8b68d66453f78707c16e05a38309963e1ed37 100644 --- a/VECTO/VECTO_Types.vb +++ b/VECTO/VECTO_Types.vb @@ -111,12 +111,6 @@ Public Enum tRtType Secondary = 2 End Enum -Public Enum tAngularGearType - None = 0 - SeparateAngularGear = 1 - IncludedInTransmission = 2 -End Enum - Public Enum tGearbox Manual = 0 SemiAutomatic = 1 diff --git a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs index 3f101c0fa89ff5659b35cc36a98923b71f638400..5b3cc4529f9cde9b63b40c63569a0b6aecad4e25 100644 --- a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs +++ b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs @@ -108,12 +108,6 @@ namespace TUGraz.VectoCommon.InputData /// cf. VECTO Input Parameters.xlsx /// </summary> IList<IAxleDeclarationInputData> Axles { get; } - - /// <summary> - /// P053 - /// cf. VECTO Input Parameters.xlsx - /// </summary> - double RetarderRatio { get; } } public interface IRetarderInputData : IComponentInputData @@ -122,14 +116,29 @@ namespace TUGraz.VectoCommon.InputData /// P052 /// cf. VECTO Input Parameters.xlsx /// </summary> - RetarderType Type { get; } + RetarderType RetarderType { get; } + + /// <summary> + /// P053 + /// cf. VECTO Input Parameters.xlsx + /// </summary> + double RetarderRatio { get; } /// <summary> /// P054 /// P057, P058 /// cf. VECTO Input Parameters.xlsx /// </summary> - DataTable LossMap { get; } + DataTable RetarderLossMap { get; } + } + + public interface IAngularGearInputData : IComponentInputData + { + AngularGearType AngularGearType { get; } + + double AngularGearRatio { get; } + + DataTable AngularGearLossMap { get; } } public interface IAxleDeclarationInputData : IComponentInputData diff --git a/VectoCommon/VectoCommon/Models/AngularGearType.cs b/VectoCommon/VectoCommon/Models/AngularGearType.cs index d53ef48f2748bb401a92d5f8084d43e7b5bbb3f6..45e934b4aeccb2f0c8e7844fac54afff3b09df19 100644 --- a/VectoCommon/VectoCommon/Models/AngularGearType.cs +++ b/VectoCommon/VectoCommon/Models/AngularGearType.cs @@ -3,7 +3,7 @@ public enum AngularGearType { None, - SeparateAngleGear, - LossesIncludedInTransmission, + SeparateAngularGear, + LossesIncludedInGearbox, } } \ 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 827910db8f650d7f961fc3e8fb247dab10d42637..162107cc4fb475d091584e586e977a937338ef13 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs @@ -41,7 +41,7 @@ using TUGraz.VectoCore.InputData.Impl; namespace TUGraz.VectoCore.InputData.FileIO.JSON { - public class JSONVehicleDataV7 : JSONFile, IVehicleEngineeringInputData, IRetarderInputData + public class JSONVehicleDataV7 : JSONFile, IVehicleEngineeringInputData, IRetarderInputData, IAngularGearInputData { public JSONVehicleDataV7(JObject data, string fileName) : base(data, fileName) {} @@ -140,17 +140,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON get { return ReadTableData(Body.GetEx<string>("CdCorrFile"), "CrosswindCorrection File"); } } - - public virtual double RetarderRatio - { - get { return Body.GetEx(JsonKeys.Vehicle_Retarder).GetEx<double>(JsonKeys.Vehicle_Retarder_Ratio); } - } - #endregion #region IRetarderInputData - public virtual RetarderType Type + public virtual RetarderType RetarderType { get { @@ -161,19 +155,55 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON } } + public virtual double RetarderRatio + { + get { return Body.GetEx(JsonKeys.Vehicle_Retarder).GetEx<double>(JsonKeys.Vehicle_Retarder_Ratio); } + } - public virtual DataTable LossMap + public virtual DataTable RetarderLossMap { get { return - ReadTableData(Body.GetEx(JsonKeys.Vehicle_Retarder).GetEx<string>(JsonKeys.Vehicle_Retarder_LossMapFile), + ReadTableData( + Body.GetEx(JsonKeys.Vehicle_Retarder) + .GetEx<string>(JsonKeys.Vehicle_Retarder_LossMapFile), "LossMap"); } } #endregion + #region IAngularGearInputData + + public AngularGearType AngularGearType + { + get + { + return Body.GetEx(JsonKeys.Vehicle_AngularGear) + .GetEx<string>(JsonKeys.Vehicle_AngularGear_Type) + .ParseEnum<AngularGearType>(); + } + } + + public double AngularGearRatio + { + get { return Body.GetEx(JsonKeys.Vehicle_AngularGear).GetEx<double>(JsonKeys.Vehicle_AngularGear_Ratio); } + } + + public DataTable AngularGearLossMap + { + get + { + return ReadTableData( + Body.GetEx(JsonKeys.Vehicle_AngularGear) + .GetEx<string>(JsonKeys.Vehicle_AngularGear_LossMapFile), + "LossMap"); + } + } + + #endregion + public string Vendor { get { return "N/A"; } diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs index 375727b677541273cfd5e4a100a79d508de9b663..6cf4e5d2091b9be99a7dfc9f0acbc06b78649f71 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs @@ -41,7 +41,7 @@ using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine; using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox; using TUGraz.VectoCore.Utils; -namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdaper +namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter { public abstract class AbstractSimulationDataAdapter : LoggingObject { @@ -86,13 +86,13 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdaper TypeId = data.TypeId, DigestValue = data.DigestValue, IntegrityStatus = data.IntegrityStatus, - Type = data.Type, + Type = data.RetarderType, }; switch (retarder.Type) { case RetarderType.Primary: case RetarderType.Secondary: - retarder.LossMap = RetarderLossMap.Create(data.LossMap); - retarder.Ratio = vehicle.RetarderRatio; + retarder.LossMap = RetarderLossMap.Create(data.RetarderLossMap); + retarder.Ratio = data.RetarderRatio; break; case RetarderType.None: case RetarderType.LossesIncludedInTransmission: diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs index c5b20e4b95ba08eae68ebc1cb8b6e6ff3d35a52a..f8a949140f48c016c4ff08a0ea0f60a427c866eb 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs @@ -37,6 +37,7 @@ using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.SimulationComponent.Data; diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs index 8bd1a0e5d17f4e9cecca9afb8d11274ae0522dca..16df52c79ad97bab1ebfff6e6582842b42423a17 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs @@ -36,6 +36,7 @@ using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.SimulationComponent.Data; diff --git a/VectoCore/VectoCore/JsonKeys.Designer.cs b/VectoCore/VectoCore/JsonKeys.Designer.cs index 0386442b3556624b2764e422b53e9eec7cf12012..b41bdc8f9ba7ed5a644a38312239d0c1a869e85d 100644 --- a/VectoCore/VectoCore/JsonKeys.Designer.cs +++ b/VectoCore/VectoCore/JsonKeys.Designer.cs @@ -1,33 +1,12 @@ -/* -* This file is part of VECTO. -* -* Copyright © 2012-2016 European Union -* -* Developed by Graz University of Technology, -* Institute of Internal Combustion Engines and Thermodynamics, -* Institute of Technical Informatics -* -* VECTO is licensed under the EUPL, Version 1.1 or - as soon they will be approved -* by the European Commission - subsequent versions of the EUPL (the "Licence"); -* You may not use VECTO except in compliance with the Licence. -* You may obtain a copy of the Licence at: -* -* https://joinup.ec.europa.eu/community/eupl/og_page/eupl -* -* Unless required by applicable law or agreed to in writing, VECTO -* distributed under the Licence is distributed on an "AS IS" basis, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the Licence for the specific language governing permissions and -* limitations under the Licence. -* -* Authors: -* Stefan Hausberger, hausberger@ivt.tugraz.at, IVT, Graz University of Technology -* Christian Kreiner, christian.kreiner@tugraz.at, ITI, Graz University of Technology -* Michael Krisper, michael.krisper@tugraz.at, ITI, Graz University of Technology -* Raphael Luz, luz@ivt.tugraz.at, IVT, Graz University of Technology -* Markus Quaritsch, markus.quaritsch@tugraz.at, IVT, Graz University of Technology -* Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology -*/ +//------------------------------------------------------------------------------ +// <auto-generated> +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// </auto-generated> +//------------------------------------------------------------------------------ namespace TUGraz.VectoCore { using System; @@ -549,6 +528,42 @@ namespace TUGraz.VectoCore { } } + /// <summary> + /// Looks up a localized string similar to AngularGear. + /// </summary> + internal static string Vehicle_AngularGear { + get { + return ResourceManager.GetString("Vehicle_AngularGear", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to LossMap. + /// </summary> + internal static string Vehicle_AngularGear_LossMapFile { + get { + return ResourceManager.GetString("Vehicle_AngularGear_LossMapFile", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Ratio. + /// </summary> + internal static string Vehicle_AngularGear_Ratio { + get { + return ResourceManager.GetString("Vehicle_AngularGear_Ratio", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Type. + /// </summary> + internal static string Vehicle_AngularGear_Type { + get { + return ResourceManager.GetString("Vehicle_AngularGear_Type", resourceCulture); + } + } + /// <summary> /// Looks up a localized string similar to AxleConfig. /// </summary> diff --git a/VectoCore/VectoCore/JsonKeys.resx b/VectoCore/VectoCore/JsonKeys.resx index c48f74a6bab08d2a851597a2acddd4628a1dc28e..0635bc64f3ba5f68c418d99891b0b2443a2b349f 100644 --- a/VectoCore/VectoCore/JsonKeys.resx +++ b/VectoCore/VectoCore/JsonKeys.resx @@ -172,6 +172,18 @@ </data> <data name="Vehicle_Retarder_LossMapFile" xml:space="preserve"> <value>File</value> + </data> + <data name="Vehicle_AngularGear" xml:space="preserve"> + <value>AngularGear</value> + </data> + <data name="Vehicle_AngularGear_Type" xml:space="preserve"> + <value>Type</value> + </data> + <data name="Vehicle_AngularGear_Ratio" xml:space="preserve"> + <value>Ratio</value> + </data> + <data name="Vehicle_AngularGear_LossMapFile" xml:space="preserve"> + <value>LossMap</value> </data> <data name="Engine_ModelName" xml:space="preserve"> <value>ModelName</value> diff --git a/VectoCore/VectoCoreTest/FileIO/JsonTest.cs b/VectoCore/VectoCoreTest/FileIO/JsonTest.cs index 136dcd3818d2d39e55887e9488cec76f90aed29d..422c8c8d4d9d25de51fbe7aeecc085bb975259eb 100644 --- a/VectoCore/VectoCoreTest/FileIO/JsonTest.cs +++ b/VectoCore/VectoCoreTest/FileIO/JsonTest.cs @@ -183,7 +183,7 @@ namespace TUGraz.VectoCore.Tests.FileIO var angleGearType = angleGear.ParseEnum<AngularGearType>(); - Assert.AreEqual(AngularGearType.LossesIncludedInTransmission, angleGearType); + Assert.AreEqual(AngularGearType.LossesIncludedInGearbox, angleGearType); Assert.Fail("not implemented"); } diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponentData/GearboxDataTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponentData/GearboxDataTest.cs index 5fb49a88f6115bbb4770a794e69471e66f3935a8..d73ae6f18aaf052c80f7cb6ef68f970ff15b3d57 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponentData/GearboxDataTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponentData/GearboxDataTest.cs @@ -37,6 +37,7 @@ using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.Reader; using TUGraz.VectoCore.InputData.Reader.DataObjectAdaper; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine; using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox; using TUGraz.VectoCore.Tests.Utils;